在Linux中使用lsusb
命令我已经了解了总线和设备号,以及新连接的USB设备的名称。
但是如何才能知道USB设备在Linux上使用命令行连接到哪个设备目录(/ dev / *)?
答案 0 :(得分:3)
并非每个设备都必须直接显示在/ dev /下,但某些设备类将嵌套在/ dev /
内的子目录下USB设备驱动程序有点不同, 如果连接有效的USB设备,USB HCI将读取VID:PID并告诉usb-core已连接具有VID:PID组合的设备。
如果usbcore检测到VID:PID组合的任何注册驱动程序,它会将其与设备耦合,并相应地创建设备文件
即使相应的驱动程序不存在,设备也会显示在/ dev / bus / usb / ..中,表示设备已被检测到。
您需要设备驱动程序才能让设备处于运行/操作状态。
您可以通过
验证设备驱动程序是否已连接到设备cat / sys / kernel / debug / usb / devices
每个检测到的USB设备都有一个条目,并显示“Driver =”字段,以显示与您的设备关联的驱动程序。
现在,IFF有一个驱动程序,它在相应的/ dev树中创建一个条目,你会在那里找到它。
并非每个设备都会直接显示在第一级/ dev /中。 比如,您的鼠标/键盘不会直接显示在/ dev下,而是显示在/ dev / input /
中同样,如果连接的USB设备是char / block设备,它可能会显示在那里,也有异常。
如果您的设备是以太网/ wifi设备,接口设备将不会显示在/ dev /下,与您现有的eth0,wlan0交叉检查,它们不会直接出现在/ dev /下,而是会在/ proc中/净/装置
sda / b / c直接显示在/ dev下,因为它们是块设备并由udev管理,因此。
答案 1 :(得分:2)
以下是我的笔记本电脑上lsusb
输出的示例:
Bus 004 Device 123: ID 2001:3c1b D-Link Corp. DWA-127 Wireless N 150 High-Gain Adapter(rev.A1) [Ralink RT3070]
这是004总线上的设备123. /dev/bus/usb/004/123
只是感兴趣设备的文件。
路径可能因不同的内核而异。上面的结果适用于内核3.15.2