ubuntu系统中给usb设备设置别名udev规则,解决每次启动设备的时候就得给设备ttyUSB0赋权限或着插拔的现象。

udevadm info --query=all --name=/dev/ttyUSB1

查看usb对应得设备信息

我输入以上命令后,我的终端出现以下内容

a@ubuntu:~$ udevadm info --query=all --name=/dev/ttyUSB1
P: /devices/platform/3610000.xhci/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/ttyUSB1/tty/ttyUSB1
N: ttyUSB1
L: 0
S: serial/by-path/platform-3610000.xhci-usb-0:1.4.1:1.0-port0
S: serial/by-id/usb-1a86_USB_Serial-if00-port0
E: DEVPATH=/devices/platform/3610000.xhci/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/ttyUSB1/tty/ttyUSB1
E: DEVNAME=/dev/ttyUSB1
E: MAJOR=188

### 如何在 Ubuntu 系统中为串口配置别名符号链接 #### 创建 udev 规则文件 为了给串口创建持久性的名称,通常的做法是在 `/etc/udev/rules.d` 目录下新建一个自定义的 `.rules` 文件。这个方法能够确保即使硬件位置发生变化,指定的名字依然保持不变。 ```bash sudo nano /etc/udev/rules.d/99-serial-link.rules ``` #### 编写规则内容 在这个新建立的文件里输入如下格式的内容: ```plaintext SUBSYSTEM=="tty", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", SYMLINK+="my_serial_port" ``` 其中 `ATTRS{idVendor}` 和 `ATTRS{idProduct}` 需要用实际设备的信息替换掉 `"xxxx"` 和 `"yyyy"`。这些信息可以通过命令 `lsusb` 者查阅文档获得。而 `SYMLINK+=` 后面的部分则是希望赋予的新名字,在这里例子中是 `my_serial_port`[^1]。 #### 获取 Vendor ID 和 Product ID 如果不知道具体的 Vendor ID 和 Product ID, 可以先插入 USB 设备并执行下面这条指令来查找: ```bash dmesg | grep ttyUSB ``` 者更直观的方式是使用 `ls -l /sys/class/tty/ttyUSB*/device` 命令查看连接到系统的各个TTY设备详情,并从中提取所需属性值。 #### 应用更改 保存编辑好的规则文件之后,为了让新的规则生效,需要重新加载 udev 规则: ```bash sudo udevadm control --reload-rules && sudo udevadm trigger ``` 此时应该可以在 `/dev` 路径下看到名为 `my_serial_port` 的软链指向真实的 TTY 设备节点了。 #### 测试设置 最后一步就是验证是否成功设置别名。可以尝试打开终端程序如 minicom screen 来测试通信功能: ```bash screen /dev/my_serial_port 115200 ``` 这将会按照设定波特率(这里是 115200 bps)连接至目标串行端口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值