实验一:Ubuntu系统中的USB设备绑定实验
- 一、实验目的
- 二、实验原理
- 三、实验环境
- 四、实验步骤
- 任务 1:绑定不同USB设备
- 任务 2:绑定多个相同设ID的串口设备
- 五、注意事项
- 六、拓展练习
一、实验目的
- 学习Ubuntu中USB设备命名方法;
- 掌握不同USB设备绑定方法;
- 掌握相同串口USB设备绑定方法
二、实验原理
一般情况,在Ubuntu系统中会有多个USB设备连接到主机上,如果仅仅用端口序号识别设备的话,因为序号分配是随机的,一旦出现断电或者重新插拔设备情况,代码就会出现找不到设备或者找错设备的错误。为了解决这个问题,采用将不同设备的属性信息绑定到usb序号上,通过绑定后的别名去查找设备。
本实验的主要内容是实现不同USB设备的绑定以及相同串口的USB设备的绑定。
三、实验环境
电脑笔记本,ROS开发环境。
四、实验步骤
任务 1:绑定不同USB设备
(1)使用lsusb查看接入设备名称;
lsusb
(2)使用dmesg | grep usb命令,找到刚查看的设备kernel和id;
dmesg | grep
(3)在/etc/udev/rules.d文件夹下新建规则文件xxxx.rules(xxxx为自定义命名);
sudo vi/etc/udev/rules.d/usb.rules
(4)在文件中添加以下字段后保存;
KERNEL=="ttyUSB*",ATTRS{idVendor}=="10c4",ATTRS{idProduct}=="ea60", MODE:="0777",SYMLINK+="lds1"
也可以使用终端直接输入:
echo'KERNELS=="ttyUSB*",ATTRS{idVendor}=="10c4",ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="lds1"' >/etc/udev/rules.d/xxxx.rules
(5)使用以下命令重新加载dev规则
sudo udevadm control --reload-rules && udevadm trigger
(6)将USB端口重新插拔,使用sudo ls -l /dev | grep xxxx查看是否绑定成功(xxxx为绑定的新名称)。
sudo ls -l /dev | grep xxx
任务 2:绑定多个相同设ID的串口设备
(1)dmesg – 打印 USB 设备名。查看每个串口设备对应的kernel和id
(2)在udev文件中加入如下代码
KERNELS=="2-7.3",MODE:="0666",GROUP:="dialout", SYMLINK+="ttyUSB001";
(3)重新加载udev文件。
sudo udevadm control --reload-rules && udevadm trigger
五、注意事项
可以在同一个.rules文件中添加多个绑定哟,适用同一主机接入多个不同设备
六、拓展练习
1.学习启用USB/IP通过网络共享USB设备。