解决 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

搞定!

相关推荐
wazmlp0018873694 小时前
控制器管理
linux·运维·服务器
薛定猫AI4 小时前
【深度解析】DeepSeek Harness:可插拔智能体运行时如何连接大模型与真实计算机
java·运维·网络
学linux的QQ蛋4 小时前
Linux 文件 IO:系统调用 open/read/write 完整总结
linux·运维·算法
sg_knight4 小时前
openCode 安装与初始化配置(Windows / macOS / Linux)
linux·windows·macos·llm·agent·ai编程·opencode
Rei22484 小时前
使用llama.cpp的Qwen3.6-27B-Q8本地部署详解【Linux GPU】
linux·运维·llama
ComputerInBook4 小时前
Linux内核之概观
linux·linux内核代码结构·linux内核结构
裕晟资质规划4 小时前
首次办理军工保密资质:咨询服务选择要点与全流程交付清单(评估框架)
大数据·运维·服务器·网络·数据库·经验分享
超龄超能程序猿5 小时前
实战优化:.NET 8 容器 Debian 源+时间同步企业级 Dockerfile
运维·debian·.net
运维全栈笔记8 小时前
Vue + Spring Boot 前后端分离项目部署笔记(若依 RuoYi-Vue 3.9.2)
运维·服务器·vue.js·spring boot·笔记·开源·开源软件
专注API从业者13 小时前
告别人工盯品!借助 Open Claw 搭建电商商品自动化监控与数据分析系统(完整可运行源码)
大数据·运维·数据库·数据分析·自动化