如何在Linux中查看USB设备的驱动加载 Linux排查USB无法识别的方法

千辰君_5334

千辰君_5334

2026-05-22

728人浏览

原创

先查驱动绑定状态,关键看dmesg中是否有“ch341-uart converter now attached to ttyusb0”等串口驱动初始化日志,而非仅依赖lsmod或lsusb;常见芯片需手动加载对应驱动:ch340→ch341,cp2202→cp210x,ft232→ftdi_sio。

如何在linux中查看usb设备的驱动加载 linux排查usb无法识别的方法

lsusb 能看到设备但 /dev/ttyUSB* 没出现?先查驱动绑定状态

这说明内核已枚举成功,但没走通到用户空间设备节点这一步。关键不是“有没有驱动”,而是“哪个驱动绑定了、是否匹配设备类”。

  • lsusb -v -d VID:PID 2>/dev/null | grep -i "bInterfaceClass\|bInterfaceSubClass" 看接口类:串口设备常见为 bInterfaceClass 02(CDC Communication)或 ff(Vendor Specific),后者往往需要专用驱动
  • usb-devices | grep -A 5 -B 5 "ID VID:PID" 查 Driver= 字段:若显示 Driver=(none),说明虽有硬件 ID,但无驱动主动 claim;若显示 Driver=usbserial 却没生成 /dev/ttyUSB*,大概率是子驱动(如 ch341)没加载
  • 常见芯片对应驱动必须手动加载:CH340 → ch341,CP2102 → cp210x,FT232 → ftdi_sio,PL2303 → pl2303。仅加载 usbserial 不够

dmesg 显示 “new USB device” 但没后续?卡在描述符读取阶段

这是最典型的“通信建立但握手失败”场景,lsusb 不会显示该设备,因为枚举流程中断在早期——连设备 ID 都没读全。

  • 执行 dmesg | tail -30 插拔设备后立刻运行,重点找:device descriptor read/64, error -71(供电不足或接触不良)、error -110(超时,多见于劣质线缆或 USB 3.0 口兼容问题)、device not accepting address(固件未响应,常见于山寨 CH340 或雷电转接器)
  • 不要只盯着 “USB device found”,要看它后面有没有 configuration #1 chosen、interface 0, alt 0, class 这类后续日志。没有,说明设备没通过基础描述符交换
  • 此时换 USB 2.0 口、直连主板、换线缆比重装驱动更有效;lspci | grep -i usb 可确认 xhci_hcd/ehci_hcd 是否正常加载,避免主控层面故障

udev 规则没生效?权限和命名不等于驱动问题

驱动加载正确、/dev/ttyUSB0 已存在,但普通用户无法访问或设备名不稳定(比如有时是 ttyUSB0,有时是 ttyUSB1),这才是 udev 的管辖范围。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • udevadm info --name=/dev/ttyUSB0 | grep -E "(ID_VENDOR_ID|ID_MODEL_ID|ID_SERIAL_SHORT)" 确认设备唯一标识,用于写规则
  • 规则文件如 /etc/udev/rules.d/99-usb-serial.rules 应包含类似:SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="my_ch340",注意用 ATTRS(父设备属性),不是 ATTR
  • 写完规则后必须运行 sudo udevadm control --reload-rules && sudo udevadm trigger,否则不会生效;测试用 udevadm test $(udevadm info -q path -n /dev/ttyUSB0) 查是否匹配

为什么 lsusb -t 里 Driver=xxx 却 still no /dev/ttyUSB*?

因为 lsusb -t 显示的是 USB 子系统层的驱动(如 hub、usbhid),不是串口转换芯片对应的字符设备驱动。它告诉你“物理链路通了”,但不保证上层协议栈就绪。

  • lsusb -t 中的 Driver=hub 表示这是个集线器,Driver=usbhid 表示被识别为 HID 设备(比如键盘鼠标),它们和 /dev/ttyUSB* 完全无关
  • 真正要盯的是 dmesg 里有没有类似 ch341-uart converter now attached to ttyUSB0 或 ftdi_sio ttyUSB0: FTDI USB Serial Device converter 这样的行——这才是串口驱动完成初始化并创建节点的证据
  • 如果 lsmod | grep ftdi 有输出,但 dmesg 没这句,说明驱动模块加载了,却因 VID/PID 不匹配或固件版本太旧而跳过了该设备

驱动加载是否成功,不能只看 lsmod 有没有模块,也不能只信 lsusb 有没有设备行——必须交叉验证 dmesg 的初始化日志、usb-devices 的绑定状态、以及最终 /dev/ 下的节点是否存在。三者缺一,设备就不可用。

相关文章

驱动精灵
驱动精灵

驱动精灵基于驱动之家十余年的专业数据积累,驱动支持度高,已经为数亿用户解决了各种电脑驱动问题、系统故障,是目前有效的驱动软件,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

linux

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

相关专题

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

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

2023.06.21

4190

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3533

10

linux find
linux find

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

2023.06.30

2773

5

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

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

2023.07.05

6770

7

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

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

2023.07.06

6422

7

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

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

2023.07.20

3693

8

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

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

2023.07.20

3205

4

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

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

2023.07.25

3419

6

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

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

2023.07.31

297

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

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

共0课时 | 0人学习