前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux USB 设备基础理论

Linux USB 设备基础理论

作者头像
宋天伦
发布2023-10-20 13:44:58
4010
发布2023-10-20 13:44:58
举报
文章被收录于专栏:frytea

本文 首发于 🌱 煎茶,请注明 来源。

通过扫描以下目录获取物理节点所有 USB 设备:

代码语言:javascript
复制
/sys/bus/usb/devices/usb*
/sys/bus/usb/devices/usb*/$busnum-*

从该文件系统收集某一个设备的主要信息如下:

代码语言:javascript
复制
{
    "busnum": 1,
    "class": 0,
    "devnum": 2,
    "level": 1,
    "manufacturer": "QEMU",
    "port": 0,
    "prodid": "0001",
    "product": "QEMU USB Tablet",
    "speed": "12",
    "usbpath": "1",
    "vendid": "0627"
}

文件含义#

目录下部分文件含义如下:

  • busnum: 总线号
  • devnum: 设备号(该总线的第几台设备)
  • speed: 速率
  • bDeviceClass: 设备类型
  • idVendor: 设备的生产商ID,由USB设备生产商向USB-IF官方来统一管理和申请
  • idProduct: 该生产商生产的产品编号,同一厂商下的不同idProduct代表着该公司不同的产品系列
  • product: 制造商
  • manufacturer: 产品
  • serial: USB 硬件设备序列号 ,例如 0000:00:01.2

定位方法#

定位某一个 USB 设备的方法有两种:

  • busnum + devnum
  • idVendor + idProduct

设备类型bDeviceClass#

类代码

用法

描述

00h

设备描述符

Use class information in the interface Descriptors

01h

接口描述符

音频

02h

设备描述符、接口描述符

通讯设备,如电话,moden等等

03h

接口描述符

HID设备

05h

接口描述符

Physical

06h

接口描述符

Image

07h

接口描述符

打印机

08h

接口描述符

大容量存储

09h

设备描述符

Hub USB集线器

0Ah

接口描述符

CDC-Data

0Bh

接口描述符

Smart Card

0Dh

接口描述符

Content Security

0Eh

接口描述符

UVC视频/CAMERA

0Fh

接口描述符

Personal Healthcare

10h

接口描述符

音视频设备

11h

设备描述符

Billboard Device Class

12h

接口描述符

USB Type-C Bridge Class

DCh

设备描述符、接口描述符

Diagnostic Device

E0h

接口描述符

无线控制器

EFh

设备描述符、接口描述符

Miscellaneous

FEh

接口描述符

Application Specific

FFh

设备描述符、接口描述符

厂商用自定义

参考文献#

注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件含义#
  • 定位方法#
  • 设备类型bDeviceClass#
  • 参考文献#
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档