最近项目功能要求,需要将插入设备的串口设备占用的端口号固定住,这里记录一下设置过程方便以后查阅。
linux固定串口别名
- 配置过程
- 相关补充
配置过程
列出当前插入USB端口的设备:
lsusb
查看当前设备的端口号:
ls dev/
查看当前设备的具体端口信息:
sudo udevadm info -a -n /dev/ttyUSB0
新建一个规则文件:
sudo vim /etc/udev/rules.d/rplidar_port.rules
将如下信息接入文件:
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{bcdDevice}=="8233", MODE:="0777", SYMLINK+="lora"
KERNEL==”tty” tty代表tty开头的USB端口总称
ATTRS{idVendor}==”1a86” "10c4"对串口模块端口信息中ID 10c4:ea60中:前的地址
ATTRS{idProduct}==”7523” "ea60"对串口模块端口信息中ID 10c4:ea60中:后的地址
ATTRS{bcdDevice}=="8233" bcdDevice字段用于表示USB设备的版本号
MODE:=”0777” MODE代表赋予串口端口的权限,"0777"是具体的权限
SYMLINK+=”lora” SYMLINK代表别名,"lora"=是具体的别名
保存并关闭规则文件,然后执行如下代码:
sudo udevadm control --reload
然后重启设备使上述配置生效。
重启后执行如下代码,查看配置效果:
ls -l /dev | grep ttyUSB
完整的设备配置如下所示:
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55d3", ATTRS{bcdDevice}=="0445", MODE:="0777", SYMLINK+="openbci"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{bcdDevice}=="8233", MODE:="0777", SYMLINK+="lora"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{bcdDevice}=="0264", MODE:="0777", SYMLINK+="emg"
相关补充
USB设备描述符是每个USB设备所必需包含的,并且一个USB设备只能有一个设备描述符。USB设备描述符用于表示USB设备的总体信息,包括USB规范版本号、产品ID、供应商ID、设备版本号等信息。USB设备描述符中的信息对于整个设备是完全有效的,而无关配置和接口的数量。