概述
1 为什么绑定USB端口号
USB端口号会随设备的插拔发生变化,不方便测试,因此需要将USB端口号绑定。
2 如何绑定USB端口号
将端口重映射到新的固定的名字,并且设置其权限为可读。
2.1 查询USB设备端口信息
在未插入USB设备前,打开终端,执行以下命令查看USB端口信息:
lausb
1
输出如下:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 13d3:56a6 IMC Networks
Bus 001 Device 003: ID 0bda:b023 Realtek Semiconductor Corp.
Bus 001 Device 114: ID 413c:301a Dell Computer Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
1
2
3
4
5
然后,插入设备,再次在终端执行命令:
lsusb
1
输出如下:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 13d3:56a6 IMC Networks
Bus 001 Device 003: ID 0bda:b023 Realtek Semiconductor Corp.
Bus 001 Device 114: ID 413c:301a Dell Computer Corp.
Bus 001 Device 123: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
1
2
3
4
5
6
可以看出,新插入设备的端口信息为:
Bus 001 Device 123: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
1
其中:
ID 10c4:ea60:表示USB设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备)
10c4:usb_device_descriptor.idVendor
ea60:usb_device_descriptor.idProduct
2.2 创建usb_device.rules文件
切换到/etc/udev/rules.d,新建IMU.rules并打开:
cd /etc/udev/rules.d
sudo touch IMU.rules
sudo gedit IMU.rules
1
2
3
添加:
KERNEL==“ttyUSB*”, ATTRS{idVendor}“10c4”, ATTRS{idProduct}“ea60”, MODE:=“0777”, SYMLINK+=“IMU”
1
其中:
ATTRS{idVendor}和ATTRS{idProduct}对应2.1中的设备ID
MODE为读写权限
SYMLINK为想要绑定的USB设备的名字
保存IMU.rules后,重新插拔USB设备。
2.3 验证
打开终端,执行命令:
ls -l /dev |grep ttyUSB
1
输出:
lrwxrwxrwx 1 root root 7 11月 19 17:59 IMU -> ttyUSB0
crwxrwxrwx 1 root root 188, 0 11月 19 17:59 ttyUSB0
这样就说明USB端口号就绑定成功了,USB设备的端口号就是/dev/IMU。
3 参考
https://www.cnblogs.com/CZM-/p/6113475.html
最后
以上就是隐形苗条为你收集整理的Ubuntu系统上的USB端口号绑定的全部内容,希望文章能够帮你解决Ubuntu系统上的USB端口号绑定所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复