zl程序教程

您现在的位置是:首页 >  工具

当前栏目

usb控制器和usb port之间有什么联系-usbview工具的使用?

工具 什么 之间 USB 控制器 联系 port 使用
2023-09-11 14:15:47 时间

usbview 是一个可以查看usb 拓扑的工具,可以通过这个工具查看当前USB Host控制器的个数和连接device信息.

UBUNTU系统上安装usbview:

我用的小米笔记本,可以看到,有两个HOST,一个是480Mb的 USB2.0另一个是10 Gbps的USB3.2,3.2支持10G BPS。这和配置相符.

设备的描述符信息展示:

这是另外一台PC的USB 控制器配置,它也有两个USB 主机控制器,分别是2.0,3.0

 同一个接口,插入USB3.0和2.0设备时表现:

3.0 PSSD:

 2.0TF卡

上面用的是PC上支持USB3.0的接口,现在用usb2.0的接口接3.0设备,发现接到了2.0的控制器上。

 所以,看起来,3.0的接口可以兼容2.0的设备,方法是将接口路由到2.0 controller.也就是说,PC上,接口和主机控制器之间没有绑定关系,一个物理接口,可以根据链接设备的不同,被不同的host controller接管。

USB 的各个版本是兼容的。每个 USB2.0 控制器带有 3 个芯片,根据设备的识别方式将信 号发送到正确的控制芯片。我们可以将 1.1 设备连接到 2.0 的控制器上使用,不过它只能 达到 1.1 的速度。同时也可以将 2.0 的设备连接到 1.1 的控制器上,不过不能指望它能以 2.0 的速度运行。
向上的话,USB控制器连接到PCIE的插槽上,对应了PCIE设备拓扑结构中的1个PCIE设备(USB2.0,USB3.o同时属于这1个PCIE设备)。

印证了USB3.0 下面的拓扑结构

上图中的PSSD设备支持两个接口,subclass 0x50 的 bulk msc和 subclass 0x62的,0x62是UAS设备,3.0支持的超速运行。

USB无线网卡的例子

型号为ax88179_178a无线网卡:

根据驱动名,找到驱动文件,注意这里的BUS, Address相当于lsusb输出中的Bus和Dev. lsusb中的 Port即是物理USB Port口,和Dev设备号是一一对应的。

使用modinfo命令,可以查看到此网卡依赖的模块,比如这里我们知道了,此网卡驱动依赖mii.ko, usbnet.ko两个模块文件。

$ modinfo ax88179_178a
filename:       /lib/modules/5.4.0-131-generic/kernel/drivers/net/usb/ax88179_178a.ko
license:        GPL
description:    ASIX AX88179/178A based USB 3.0/2.0 Gigabit Ethernet Devices
srcversion:     DB4426E16E22CE0222515D8
alias:          usb:v050Dp0128d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v17EFp304Bd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v04E8pA100d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0DF6p0072d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2001p4A00d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v04B4p3610d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0B95p178Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0B95p1790d*dc*dsc*dp*ic*isc*ip*in*
depends:        usbnet,mii
retpoline:      Y
intree:         Y
name:           ax88179_178a
vermagic:       5.4.0-131-generic SMP mod_unload modversions
signat:         PKCS#7
signer:
sig_key:
sig_hashalgo:   md4


结束!