参考博客
单个USB设备读取路径及权限设置
查看USB端口的状态命令:
ls -l /dev |grep ttyUSB
生成rplidar.rules 文件:
sudo gedit /etc/udev/rules.d/rplidar.rules
然后编辑文件:
# set the udev rule , make the device_port be fixed by rplidar
#
KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar"
然后拔插雷达的USB口,重新执行查看命令看到
hri@hri-Lenovo-Gaming:~$ ls -l /dev |grep ttyUSB
lrwxrwxrwx 1 root root 7 11月 20 17:07 rplidar -> ttyUSB0
lrwxrwxrwx 1 root root 7 11月 20 17:07 kobuki -> ttyUSB1
crwxrwxrwx 1 root dialout 188, 0 11月 20 17:07 ttyUSB0
crw-rw-rw- 1 root dialout 188, 1 11月 20 17:07 ttyUSB1
使用hub 链接多个USB设备
sudo gedit /etc/udev/rules.d/slam_hub.rules
然后编辑:
SUBSYSTEMS=="usb"
DRIVERS=="cp210x"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}=="00"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{bNumEndpoints}=="02"
ATTRS{supports_autosuspend}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="00"
ATTRS{interface}=="CP2102 USB to UART Bridge Controller"
KERNEL=="ttyUSB*", KERNELS=="3-2.3", MODE:="0777",SYMLINK+="slamtec_base_"
KERNEL=="ttyUSB*", KERNELS=="3-2.4", MODE:="0777",SYMLINK+="slamtec_laser_"
最后查看
hri@hri-Lenovo-Gaming:~$ ls -l /dev |grep ttyUSB
lrwxrwxrwx 1 root root 7 11月 20 17:07 kobuki -> ttyUSB1
lrwxrwxrwx 1 root root 7 11月 20 17:07 rplidar -> ttyUSB0
lrwxrwxrwx 1 root root 7 11月 20 17:07 slamtec_base_ -> ttyUSB1
lrwxrwxrwx 1 root root 7 11月 20 17:07 slamtec_laser_ -> ttyUSB0
crwxrwxrwx 1 root dialout 188, 0 11月 20 17:07 ttyUSB0
crw-rw-rw- 1 root dialout 188, 1 11月 20 17:07 ttyUSB1