最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux如何查看USB设备信息 Linux下lsusb命令应用详解
时间:2026-06-03 12:30:01 编辑:袖梨 来源:一聚教程网
USB设备连接后系统是否成功识别?无需急于更换线缆或重启设备,借助lsusb指令可快速获知内核识别状态,其响应速度甚至优于通过dmesg | grep usb查阅日志,能更精准定位具体硬件。
设备没被识别?先别急着换线或重启,lsusb 能立刻告诉你系统“看没看见”——而且比 dmesg | grep usb 更快定位到具体设备。
怎么一眼确认USB设备是否被内核识别
执行不带参数的 lsusb 是最直接的操作。该命令输出的是内核已完成枚举、分配了总线号和设备号的设备快照,并非在插入瞬间即刻产生,而是在枚举完成后才予以显示。若插入后无反应,可等待2至3秒再次运行。
- 输出行包含类似
Bus 001 Device 005: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB的信息,表明设备已被识别,其ID与描述皆能正确对应。 - 若未出现新行,而
dmesg | tail -10却显示usb 1-1: new high-speed USB device,说明硬件通信成功,但厂商或产品ID未被/usr/share/hwdata/usb.ids收录,此时描述可能为空或显示为 “Unknown”。 - CentOS或RHEL 7默认未安装
usbutils,直接运行lsusb会报错command not found,需先执行yum install usbutils。
怎么查清设备插在哪个物理口、走的是USB几.0
利用 lsusb -t 查看树状结构,这是判断物理连接及速率的关键。每条分支末尾的 12M、480M、5000M 代表真实协商速率,而非标称规格。
-
12M:对应于USB 1.1,常见于旧式键盘、鼠标;若新设备仅显示12M,很可能连接至USB 1.1 Hub下游或存在接触不良问题。 -
480M:对应USB 2.0,多数U盘、摄像头工作于此档位。若设备标称USB 3.0但仅显示480M,需检查是否插入蓝色接口(USB 3.0)而非黑色接口(通常为USB 2.0)。 -
5000M:对应USB 3.0(即USB 3.1 Gen1),需注意并非所有标注“USB 3.0”的线缆均支持全速,劣质线缆可能导致速率降至480M。 - 树中显示
Driver=usb-storage或Driver=usbhid,表明驱动已绑定;若显示Driver=(none),则说明缺少匹配的内核驱动,需检查模块是否加载(如执行modprobe uas)或设备是否需要专有固件。
怎么快速定位某个特定U盘或摄像头
依靠肉眼逐一扫描列表效率较低,建议使用 -d 或 -s 进行直接过滤。厂商ID与产品ID(例如 0951:1665)可从 lsusb 的首行内容直接获取,无需查阅文档。
- 查询Kingston U盘:运行
lsusb -d 0951:1665,匹配成功仅输出一行;失败则无输出(返回值显示为1)。 - 查询总线002上的所有设备:执行
lsusb -s 002:(注意冒号不可省略)。 - 查询总线001设备003:使用
lsusb -s 001:003,此组合可用于后续lsusb -D获取原始描述符。 - 同时查询多个设备ID:
lsusb不支持OR逻辑,只能编写脚本循环或借助grep -E,示例:lsusb | grep -E '0951:1665|046d:c52b'。
为什么 lsusb -v 有时卡住或权限拒绝
lsusb -v 会尝试读取设备全部描述符,包括配置、接口、端点等信息,但部分设备(特别是带有安全芯片或自定义固件的)可能拒绝非特权访问,或因响应超时而导致卡顿。
- 权限问题:普通用户运行
lsusb -v时,部分字段可能为空或报错libusb:error [udev_hotplug_event] ignoring udev event for unknown device。添加sudo通常可解决,但日常排查中并非必须,只需获取基础信息即可。 - 卡在某设备:使用
lsusb -v 2>&1 | head -n 50截取前50行查看,确认是否停滞于特定设备。若确定某设备导致问题,可用-s参数跳过该设备后再试。 - 真正需要详细描述符时(如调试驱动兼容性),优先采用
lsusb -D /dev/bus/usb/BBB/DDD(其中BBB代表总线号,DDD代表设备号)。此法绕过libusb层直接读取设备文件,稳定性更高,但必须拥有root权限。
值得注意的是,设备插入后lsusb显示正常并不等同于设备功能正常。例如,U盘虽显示Mass Storage,但通过fdisk -l却无法看到分区,此时问题可能在于存储协议(BOT与UAS差异)或内核模块(uas模块未启用)。lsusb仅能反映设备是否已连接,无法判断其是否可用。
相关文章
- 侠盗飞车如何开飞机 侠盗飞车:自由城故事中的空中冒险 06-05
- nba2k13mc存档:NBA 2K13 MC存档全面解析:打造你的篮球传奇 06-05
- 超凡先锋牧狼人任务怎么完成 超凡先锋牧狼人任务操作流程分享 06-05
- 概率电路:快速且富有表现力的多字节预测 06-05
- 超凡先锋瞄具属性有哪些 超凡先锋瞄具属性详细介绍 06-05
- 超凡先锋黑屏闪退怎么办 超凡先锋黑屏闪退方法介绍 06-05