如何解释“ lsusb”的输出-这些Linux Foundation根集线器是什么?


18

我最近在对耳机问题进行故障排除时发现了有关lsusb命令的信息。

我的笔记本电脑运行的是debian,目前没有任何东西插入USB,但是当我运行“ lsusb”命令时,我仍然得到很多输出:

root@t500:~# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 0a5c:2145 Broadcom Corp. Bluetooth with Enhanced Data Rate II
Bus 004 Device 002: ID 08ff:2810 AuthenTec, Inc. AES2810
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0781:b6d0 SanDisk Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

有人可以详细解释这是什么意思吗?

SanDisk卡通过PCMCIA而非USB连接。lsusb中是否同时列出了PC卡和USB设备?

我没有连接任何外部蓝牙,为什么会显示该屏幕?

为什么有一些根集线器1.1和一些2.0?这是否意味着我的某些USB端口是2.0,而另一些不是?

根集线器到底是什么,只是一个空的USB端口?

Answers:


7

USB集线器是一种设备,它的一根电缆可插入一个USB端口,但提供多个USB端口供您将设备插入。它本质上是一个USB多路复用器。

根集线器AFAIK是内部的USB集线器。例如,主板上可能只有一个USB插槽,但是有多个外部端口,因为主板上插入了一个内部根集线器。(当然,这是简化的。我不是硬件专家。)

蓝牙设备是计算机内部的芯片,可以实际广播蓝牙无线电流量。可能是通过计算机机箱内的USB端口进行接线的。

关于“ Linux Foundation”的显示,我猜想那就是驱动程序的来源。但我不确定。


1
许多设备都作为USB设备进行了有线连接,但没有像计算机外部的端口那样连接到“端口”。它们只是通过USB进行逻辑连接(例如,设备和USB集线器之间的路径可能直接在系统的主板上,例如Raspberry Pi上的有线网络端口)。它们的工作方式就像插入标准USB端口一样,但是当然不能删除。
Jim MacKenzie

21

“根集线器”是一个伪装,代表总线本身。在任何总线上,它的设备号始终为1。“制造商”始终是1d6b,即“ Linux Foundation”,但是据我所知,这仅仅是为树的“分支”创建“根”(如您从lsusb -t中看到的那样,瓦格纳)。总线的性质(版本1.1、2.0、3.0)反映为设备ID(0001、0002、0003)。

(一个微妙的地方-实际上有一个“ USB主机控制器”是物理设备-但它本身不是USB设备!它通常是PCI设备。例如,在我的机器上,我有两个USB总线,两个lspci命令可见的USB主机控制器,它们是由Intel而不是Linux Foundation制造的。“ USB根集线器”代表物理PCI设备。我相信整个“ Linux Foundation”都是因为物理设备具有PCI,而不是USB,标识符。http://www.usblyzer.com/usb-topology.htm

SanDisk设备可能以PCMCIA插槽的形式向外界展示(我猜是这样),但在内部将其连接到USB总线001。(同样,它被标记为Device 002,因为总线本身就是Device001。)

同样,蓝牙设备位于内部(如前面所述),并再次连接到USB总线,在本例中为Bus 004,它是USB 1.1(低速)总线。这是有道理的,因为蓝牙速度相对较低。同一条总线上的是AuthenTec设备,它是指纹扫描仪,再次是低速的。

因此,此输出表明您有八个(!)内置USB总线,并且已连接三个设备。您有两个高速USB总线和六个低速总线。其中一些或全部可能具有用于插入各种USB外部设备的外部端口。您可以尝试插入设备并再次运行lsusb,以查看哪个端口连接到哪个总线。


1
PS-看起来MS Windows也在使用USB根集线器的PCI标识符在此问题上作弊。我想没有很好的解决方案,因此“ Linux Foundation”是合理的。MSW解决方案具有与真实USB设备ID冲突的风险,同时具有能够在PCI注册表中查找它的优点。(事实证明,英特尔针对USB和PCI的供应商ID为8086。)
John F

7

检查这个

lsusb -t

-t将物理USB设备层次结构转储为树

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.