解决 ubuntu 重启串口号变化

在多个串口设备连接ubuntu时,每次开机,串口号总是互相串,导致无法正常使用

解决这个问题的办法就是将串口的唯一序号和他的符号链接进行绑定,即可每次开机保证串口是唯一的

例如现在有两个串口

复制代码
jetson@nano:~$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1

通过这个命令查看USB0串口的唯一序号

复制代码
jetson@nano:~$ udevadm info -a -n /dev/ttyUSB0 | grep -E "idVendor|idProduct|serial|manufacturer"
    SUBSYSTEMS=="usb-serial"
    ATTRS{idProduct}=="7523"
    ATTRS{idVendor}=="1a86"
    ATTRS{idProduct}=="5411"
    ATTRS{idVendor}=="0bda"
    ATTRS{manufacturer}=="Generic"
    ATTRS{manufacturer}=="Linux 4.9.253-tegra xhci-hcd"
    ATTRS{idProduct}=="0002"
    ATTRS{serial}=="70090000.xusb"  <---这个就是串口唯一序号
    ATTRS{idVendor}=="1d6b"

USB 1 同理,记录其串口唯一序号

然后创建udev rules文件

复制代码
sudo touch /etc/udev/rules.d/99-serial.rules

编辑它

复制代码
sudo gedit /etc/udev/rules.d/99-serial.rules

输入内容

复制代码
SUBSYSTEM=="tty", ATTRS{serial}=="70090000.xusb", SYMLINK+="imu"

SUBSYSTEM=="tty", ATTRS{serial}=="0001", SYMLINK+="lidar"

ATTRS{serial}= 填写串口唯一序号

SYMLINK+= "" 双引号内填写串口符号链接名称 例如 "imu" ,那么符号链接就是 /dev/imu

编写完成后重新载入

复制代码
sudo udevadm control --reload-rules

sudo udevadm trigger

拔插串口,查看符号链接是否生效

复制代码
jetson@nano:~$ ls /dev/imu 
/dev/imu
jetson@nano:~$ ls /dev/lidar 
/dev/lidar

搞定!

相关推荐
LadyKaka22616 小时前
【IMX6ULL驱动学习】PWM驱动
linux·stm32·单片机·学习
一匹电信狗16 小时前
【MySQL】数据库基础
linux·运维·服务器·数据库·mysql·ubuntu·小程序
FL162386312916 小时前
VMware运行python脚本提示libGL error: MESA-LOADER: failed to open swrast
linux·运维·服务器
致宏Rex16 小时前
Docker 完整教程 | 从基础到实战 (1-2)
运维·docker·容器
東雪蓮☆16 小时前
Dockerfile 镜像构建实战
linux·运维·docker
小跌—16 小时前
Linux:了解Socket编程
linux·网络
未来之窗软件服务16 小时前
操作系统应用开发(十四)RustDesk服务器配置——东方仙盟筑基期
运维·服务器·远程桌面·rustdesk·仙盟创梦ide·东方仙盟
此生只爱蛋16 小时前
【Linux】线程控制
linux
海琴烟Sunshine17 小时前
leetcode 28. 找出字符串中第一个匹配项的下标 python
linux·python·leetcode
東雪蓮☆18 小时前
Docker 资源限制与性能优化(CPU / 内存 / IO 管控实战)
linux·运维·docker