USB核中有关类驱动程序和HCD的信息存储在哪里,以供检查?

阿克沙伊

这个问题很明显,USB内核是否具有存储所有类驱动程序信息和HCD信息(名称或某种数字)的阵列或某物(可能是链表),以便在以下情况下检查并分配所需的信息:设备已插入?

西尔文·皮诺(Sylvain Pineau)

在Linux内核中,检测到新设备时会唤醒模块加载程序。它传递了一个“ modalias ”字符串,该字符串标识该设备,对于USB设备,其外观类似于以下内容:

usb:v058Fp6387d0103dc00dsc00dp00ic08isc06ip50in00

您可以使用以下命令找到设备的设备别名(和HCD驱动程序):

udevadm info --export-db

这是与我的USB驱动器有关的部分:

P: /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0
E: DEVTYPE=usb_interface
E: DRIVER=usb-storage
E: ID_MODEL_FROM_DATABASE=Flash Drive
E: ID_VENDOR_FROM_DATABASE=Alcor Micro Corp.
E: INTERFACE=8/6/80
E: MODALIAS=usb:v058Fp6387d0103dc00dsc00dp00ic08isc06ip50in00
E: PRODUCT=58f/6387/103
E: SUBSYSTEM=usb
E: TYPE=0/0/0
E: USEC_INITIALIZED=530904794

此字符串包含设备类别(usb)和特定于类别的信息(供应商/产品/序列号,设备类别等)。每个内核驱动程序包含一行,例如:

MODULE_ALIAS("usb:...")

必须与usbalias匹配(通配符用于匹配多个设备)。如果modalias与驱动程序支持的模块匹配,则将加载该驱动程序(或通知新设备,如果已有的话)。

您可以通过以下方式查看受支持的设备(按modalias)及其关联的模块

more /lib/modules/`uname -r`/modules.alias

如果您使用grep表示usb-storage设备驱动程序,则会看到该设备具有按供应商和设备ID支持的某些特定设备,并且还将尝试支持具有正确(存储)类的任何设备,无论供应商/设备如何。

USB Modalias可以这样解码:

usb:
v   vendor_id (4 hex)
p   product_id (4 hex)
d   revision (4 hex)
dc  class (2 hex)
dsc subclass (2 hex)
dp  protocol (2 hex)
ic  interface_class (2 hex)
isc interface_subclass (2 hex)
ip  interface_protocol (2 hex)

来源

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有关硬/软链接的信息存储在哪里?

有关磁盘可用空间的信息存储在哪里?

iTunes在哪里存储有关收听歌曲和播放次数的信息?

Exception中有关解决方案路径设置的信息在哪里?

在哪里可以找到有关自定义USB描述符类型的信息

Windows 7在哪里存储有关.LNK的“警告”信息?(以及如何删除警告)

使用datastax驱动程序检索有关Cassandra集群数据中心的信息

在哪里可以找到有关vulkan实例层和扩展的信息?

在哪里获取有关主题和xml属性的信息

在哪里可以找到有关软件包下载和依赖关系的统计信息?

在哪里可以了解有关WPF和情节提要的更多信息?

Azure服务总线中继和TrackingId:在哪里可以找到有关错误的更多信息

在哪里可以找到有关Windows的信息?

在哪里放置有关填充长度的信息?

Laravel在哪里存储Memcached会话驱动程序的配置?

有关窗口位置的信息存储在哪里?

我需要有关为微控制器编写设备驱动程序的信息

google app引擎chunkSize和prefetchSize-我在哪里可以阅读有关它的详细信息?

使用 .mdf 文件时,在哪里可以找到有关 MDF 文件结构以及“组”和“索引”的信息?

在TCL中,“。list”和“ .desc”语法的用途是什么?在哪里可以了解更多有关它们的信息?

Laravel中有关模型的信息

标准中有关“基本构造函数中的虚拟函数调用”的部分在哪里?

在哪里可以找到Matplotlib中有关AxesSubplot的文档?

ASP.NET Identity在哪里存储有关外部身份验证提供程序的信息?

在哪里可以找到有关JavaScript语法类型的更多信息?

在哪里可以找到有关xxx.d文件夹的更多信息?

在哪里可以找到有关无人值守升级的日志/信息(apt)?

在哪里可以找到有关ec2关闭的信息的日志

在哪里可以找到有关 Android 标签栏图标大小的最新信息?