2025年linux固定串口别名的两种方法

linux固定串口别名的两种方法方法一 根据设备芯片的设备 ID 来确定插入设备的名字 第一步 创建自定义 rules sudo vim etc udev rules d port rules 第二步 按照 Udev 规则写入 rules KERNEL ttyUSB ATTRS idVendor

大家好,我是讯享网,很高兴认识大家。

方法一:

根据设备芯片的设备ID来确定插入设备的名字


讯享网

 第一步:创建自定义rules

sudo vim /etc/udev/rules.d/port.rules

讯享网

 第二步:按照Udev规则写入rules

讯享网KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="ea60", MODE:="6001", SYMLINK+="water"

 注:KERNEL==”ttyUSB*” ,kernel代表设备在内核的名称,ttyUSB*代表ttyUSB开头的USB端口总称

ATTRS{idVendor}==”0403” ,"0403"对应水位计串口模块端口信息中ID 0403:6001中:前的地址

ATTRS{idProduct}==”6001” , "6001"对应水位计串口模块端口信息中ID 0403:6001中:后的地址

MODE:=”0777” ,MODE代表赋予串口端口的权限,"0777"是具体的权限

SYMLINK+=”water” ,SYMLINK代表别名,"water"=是具体的别名

第三步:重新插拔串口,就可以使用水位计的别名water了

例如:ROS launch文件里的名字<type=“string” value="/dev/ttyUSB1"/>改为type=“string” value="/dev/water"/>

方法二:

有时同厂家的产品,设备对应的VID和PID(供应商ID和产品识别ID)一致,无法通过上述方式绑定USB口,可采用如下方式。

# 查看usb口对应的kernels udevadm info --attribute-walk --name=/dev/ttyUSB0 |grep KERNELS

在/etc/udev/rules.d目录下,创建usb.rules规则文件

讯享网sudo vim /etc/udev/rules.d/usb.rules

 写入如下内容:

KERNEL=="ttyUSB*",KERNELS==“1-12:1.0”, MODE:=“0777”, GROUP:="dialout",SYMLINK+=“water” KERNEL=="ttyUSB*",KERNELS==“1-10:1.0”, MODE:=“0777”, GROUP:="dialout",SYMLINK+=“voltage”

运行以下命令使修改立即生效:

讯享网sudo service udev reload sudo service udev restart # 上面两个命令不管用,可采用如下命令,本人尝试上述命令不管用, # 又尝试下面这条命令,但仍不管用 sudo udevadm trigger

 本人尝试上述各种方法,都不能生效,后创建规则文件后直接拔插USB,竟然可以了。

运行以下命令查看USB设备名更改情况,出现如下即为更改成功。

ls -l /dev |grep ttyUSB

采用以上方式,依次绑定所有的设备

参考链接 Linux系统下,绑定USB串口设备号,解决上电USBID随机情况_干拉白给然后玩手机的博客-CSDN博客

linux固定串口别名的两种方法_beiguodexuecsdn的博客-CSDN博客

ubuntu下绑定USB设备的串口名称(KERNELS硬件端口号绑定)_对神明认栽xb.的博客-CSDN博客_ubuntu绑定usb端口

linux系统USB端口序号绑定,相同或不同设备厂家都可 - 灰信网(软件开发博客聚合)

小讯
上一篇 2025-03-27 20:58
下一篇 2025-02-15 23:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/15203.html