红联Linux门户
Linux帮助

如何解决Linux下USB设备节点名不固定问题

发布时间:2015-10-08 15:12:42来源:linux网站作者:kangear

以USB转串口为例,通常设备节点名为ttyUSBx(x为0~n),Linux内核会根据插入设备的先后顺序进行编号的分配,比如第一个插入的设备编号为0,然后依此加1。

如果仅仅以设备节点ttyUSBn来区别具体是哪个设备,因为末位的编号是随时会变的,所以就会造成混乱。无法保证A设备就是0,B设备就是1。其实这个问题在LDD3上已经提到过,目前的内核早已经解决类似的问题,将所以有USB设备都导致到sys文件系统中,其实每个USB端口都有唯一的端口号,相当于每个门店的门牌号。只要我们依据端口号来进行设备的区分,那么问题就迎刃而解了。


比如当前设备插入两个USB转串口设备后,查看ttyUSBn所在端口的端口号:

root@android:/ $ ls -l /sys/class/tty/
...
lrwxrwxrwx root     root  ttyUSB0 -> ../../devices/ff540000.usb/usb3/3-1/3-1.1/3-1.1:1.0/ttyUSB0/tty/ttyUSB0
lrwxrwxrwx root     root   ttyUSB1 -> ../../devices/ff540000.usb/usb3/3-1/3-1.2/3-1.2:1.0/ttyUSB1/tty/ttyUSB1
root@android:/ $

其中ttyUSB0所在的端口号为3-1.1,而ttyUSB1所在的端口号为3-1.2。


其它类型USB设备同理,以上思路清理完毕。


Virtualbox识别USB设备:http://www.linuxdiyf.com/linux/13723.html

Ubuntu中VM VirtualBox不能识别USB的解决办法:http://www.linuxdiyf.com/linux/9026.html

Ubuntu 15.04启动Virtualbox USB设备支持:http://www.linuxdiyf.com/linux/12799.html

使用mkusb来制作U盘启动安装Ubuntu 15.04:http://www.linuxdiyf.com/linux/12719.html

Ubuntu Kylin 15.04下禁用USB的方法:http://www.linuxdiyf.com/linux/12118.html