在 Ubuntu 中,可以通过创建 udev 规则为 USB 设备设置别名。这样你可以通过自定义的别名访问设备,而不是使用随机分配的设备节点(例如 /dev/ttyUSB0)。
1. 确认设备信息
首先,你需要找到设备的相关信息(如 idVendor 和 idProduct)。你可以使用 lsusb 或 udevadm 命令来获取这些信息。
bash
lsusb
这个命令会列出所有 USB 设备,输出可能是这样的:
Bus 002 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
假设你想给 PL2303 Serial Port 设备设置别名,这里的 idVendor 是 067b,idProduct 是 2303。
接着,使用 udevadm 查看更详细的信息:
udevadm info -a -n /dev/ttyUSB0
输出会包含诸如 idVendor 和 idProduct 这样的字段。
2. 创建 udev 规则
编辑或创建一个新的 udev 规则文件:
bash
sudo vim /etc/udev/rules.d/99-usb-serial.rules
在文件中添加类似于以下的内容:
bash
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="usb_serial"
其中:
ATTRS{idVendor}和ATTRS{idProduct}是你从lsusb或udevadm获取的设备信息。SYMLINK+="usb_serial"表示为这个设备创建一个符号链接(别名)/dev/usb_serial。
你可以将 usb_serial 替换为你想要的别名。
3. 重新加载 udev 规则
保存并关闭文件后,重新加载 udev 规则:
bash
sudo udevadm control --reload-rules
sudo udevadm trigger
4. 验证
插入设备后,你可以使用 ls -l /dev/ 来查看是否创建了符号链接 /dev/usb_serial:
bash
ls -l /dev/usb_serial
如果一切正常,应该能看到 /dev/usb_serial 指向对应的设备节点(如 /dev/ttyUSB0)。