本文介绍Ubuntu环境下为串口设置别名。
Ubuntu环境下,有时候开发调试会使用到USB转串口,本文介绍在不同使用场景下为串口设置别名的方法。主要分为绑定设备ID和绑定USB端口号。
1.绑定设备ID
绑定设备ID适用于USB转串口的设备ID唯一的情况,这时为了程序编写的方便,为串口指定一个特殊的名称作标识。具体方法如下:
1)查看设备ID
要绑定到具体的串口设备,必须知道其VID,PID。命令行下输入:
lsusb
显示:
查看到我们要操作的USB转串口的VID:0403,PID:6001。
2)编写udev规则
命令行下输入:
sudo vi /etc/udev/rules.d/89-usb-serial.rules
“89-usb-serial.rules”名称可根据实际情况自行指定,在此文件中增加:
KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666", SYMLINK+="myserial"
PID,VID为我们在步骤1)中查看到的,“myserial”为我们为此串口设备起的别名,可根据实际情况指定。
3)重新加载udev规则
命令行下输入:
sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger
4)查看
命令行下输入:
ls /dev/my*
显示:
这样,绑定设备ID给USB转串口起别名功能就实现好了。这里要注意,因绑定的是USB转串口的设备ID,因此同一种USB转串口是不能同时使用的(它们的ID相同)。
2.绑定USB端口号
绑定设备ID有个缺陷,当使用多个相同厂家的USB转串口设备时会出现问题,因为他们的VID,PID是一样的。这时就需要绑定到具体的USB端口号,毕竟端口号是可以唯一确定的。具体方法如下:
1)查看USB设备信息
命令行下输入:
ls /dev/ttyUSB*
显示:
2)查看USB转串口信息
命令行下输入:
udevadm info -a -n /dev/ttyUSB0
显示:
我们可以将USB转串口的别名绑定到“1-4:1.0”这个层级,名称根据实际情况不同。
2)编写udev规则
命令行下输入:
sudo vi /etc/udev/rules.d/89-usb-serial.rules
“89-usb-serial.rules”名称可根据实际情况自行指定,在此文件中增加:
KERNELS=="1-4:1.0", SUBSYSTEMS=="usb", MODE:="0666", SYMLINK+="my-serial"
“myserial”为我们为此串口设备起的别名,可根据实际情况指定。
4)重新加载udev规则
命令行下输入:
sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger
4)查看
命令行下输入:
ls /dev/my*
显示:
这样,绑定USB端口号给USB转串口起别名功能就实现好了。这里要注意,USB口接口不能随意变动,否则会引起问题。
总结,本文介绍Ubuntu环境下为串口设置别名的方法,可根据实际使用场景进行选择。