Linux怎么查看USB控制器的详细信息

云宇吖_6858

云宇吖_6858

2026-06-15

273人浏览

原创

linux查看usb控制器详细信息需结合lspci定位pci芯片型号及驱动状态,通过/sys/bus/usb/devices/usbx查看root hub的bcddevice、speed等属性确认协议版本与能力,并用lsmod/dmesg验证xhci_hcd等内核驱动是否加载,避免仅依赖lsusb导致混淆物理控制器与逻辑设备。

linux怎么查看usb控制器的详细信息

Linux 查看 USB 控制器详细信息,不能只靠 lsusb 看“设备”,得定位到控制器本身(即 root hub 和 host controller),并区分内核驱动、PCI 总线归属、USB 协议版本和实际能力。

查 USB 控制器对应的 PCI 设备及厂商型号

USB 控制器本质是 PCIe 设备,lspci 是唯一能直接看到物理芯片型号、厂商、Revision 和驱动绑定状态的命令。USB 子系统依赖它启动,但 lsusb 完全不暴露这一层。

  • lspci -nn | grep -i usb 可列出所有 USB 相关 PCI 设备,输出形如:00:14.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 02)
  • [0c03] 是 PCI 类别码(USB controller),[8086:2934] 是 vendor:device ID,可用于查芯片手册
  • 注意区分 UHCI/OHCI/EHCI/XHCI:UHCI/OHCI 对应 USB 1.1,EHCI 是 USB 2.0,XHCI 是 USB 3.0+;现代主板基本只有 XHCI(3.0 或 3.1)和可能并存的 EHCI(用于向后兼容)
  • 若某控制器显示 Kernel driver in use: xhci_hcd,说明已启用;若为 unused,可能是 BIOS 关闭了该端口或内核未启用对应模块

看 root hub 的协议版本与供电能力

每个 USB 控制器在 /sys/bus/usb/devices/ 下都挂载一个 root hub(如 usb1、usb2),它不是普通设备,而是控制器的软件抽象。它的属性反映控制器真实能力。

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载
  • 先确认控制器编号:lsusb -t 输出顶部的 /: Bus 01/ 行就是 root hub,对应 /sys/bus/usb/devices/usb1
  • cat /sys/bus/usb/devices/usb1/bcdDevice 显示固件版本,例如 0310 表示 USB 3.1
  • cat /sys/bus/usb/devices/usb1/speed 显示当前运行速率(5000 = USB 3.0,480 = USB 2.0),但 root hub 永远报告其最大支持速率
  • cat /sys/bus/usb/devices/usb1/bMaxPower 是 hub 自身功耗上限(单位 mA),非下游端口供电能力;真正给设备供电的是 bHubContrCurrent(需用 lsusb -v -s X:1 查,其中 :1 是 root hub 的设备号)

确认内核是否加载对应 host controller 驱动

即使 lspci 显示控制器存在,若驱动未加载,整个 USB 子树都不会工作。关键不是看有没有 /dev/bus/usb/,而是看 lsmod 和 dmesg。

  • lsmod | grep -E "(xhci|ehci|uhci|ohci)_hcd":XHCI 驱动名是 xhci_hcd,EHCI 是 ehci_hcd,UHCI/OHCI 是 uhci_hcd/ohci_hcd;没有输出即驱动未加载
  • dmesg | grep -i "xhci\|ehci":正常启动应有类似 xhci_hcd 0000:00:14.0: xHCI Host Controller 的行;若出现 can't setup 或 init fail,说明硬件初始化失败
  • 某些 ARM 平台(如树莓派)使用自定义驱动(如 dwc2 + libcomposite),此时要查 lsmod | grep dwc 和 cat /sys/class/udc/*
  • BIOS 中禁用 USB 3.0 时,XHCI 可能完全不被 PCI 枚举,lspci 里就看不到对应条目

区分 root hub 和普通 hub 的设备路径

/sys/bus/usb/devices/ 下的 usbX 是 root hub,而 X-Y、X-Y.Z 是下游设备。混淆这两者会导致误判控制器能力。

  • usb1 是总线 1 的 root hub,1-1 是插在它的 Port 1 上的设备(可能是另一个 hub 或终端设备)
  • 1-1:1.0 表示该设备的第一个接口(interface 0),1-1.1 才是级联在 1-1 Port 1 上的子设备
  • root hub 的 idVendor 和 idProduct 通常为 1d6b:0002(USB 2.0)、1d6b:0003(USB 3.0),这是 Linux Foundation 的虚拟 ID,不代表真实芯片
  • 想确认某个 USB 端口物理归属哪个控制器?用 lsusb -t 看分支起点,再结合 lspci -vv -s 00:14.0 | grep Bus 查该 PCI 设备管理的 USB 总线号

最易忽略的一点:USB 控制器能力 ≠ 插口标称规格。主板上标“USB 3.2 Gen 2x2”的 Type-C 口,可能由单独的第三方控制器(如 VIA VL822)提供,lspci 里会多出一条记录,且驱动是 usbcore + via_vt6655 类模块——不查 PCI,只看 lsusb -t 会误以为它是主芯片直连。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3650

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3173

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2233

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5330

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5002

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2993

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2505

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2719

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习