LINUX固定USB设备名称

在Linux系统中,USB串口设备的名称通常是根据设备连接的顺序动态分配的。因此,当设备重新连接时,它可能会被分配不同的设备文件名(如/dev/ttyUSB0/dev/ttyUSB1等)。要固定USB串口设备的名称,可以使用udev规则。

规则文件以.rules为扩展名,并且通常存储在/etc/udev/rules.d/目录中

1、查找USB串口设备的唯一标识符:通常,USB串口设备具有唯一的标识符,可以通过lsusb命令来查看。你需要找到与你的USB串口设备相关的信息,比如厂商ID(Vendor ID)和产品ID(Product ID)。

lsusb

例如:Bus 003 Device 024: ID 1234:5678 Silicon Labs CP210x UART Bridge

其中1234是厂商ID,5678是产品ID 

2、创建udev规则:创建一个udev规则文件,以根据设备的唯一标识符来创建符号链接。这样,无论设备连接到系统时分配的设备文件名是什么,都可以通过这个符号链接来引用它。

sudo vim /etc/udev/rules.d/99-usb-serial.rules

以下是一个示例udev规则文件(假设你的USB串口设备的厂商ID为1234,产品ID为5678):

SUBSYSTEM=="tty", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", SYMLINK+="my_usb_serial"

# /etc/udev/rules.d/99-usb-serial.rules

SUBSYSTEM=="tty", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", SYMLINK+="my_usb_serial"

在这个例子中,当具有指定厂商ID和产品ID的USB串口设备连接到系统时,会创建一个名为my_usb_serial的符号链接。

3、重新加载udev规则:完成规则文件的编写后,重新加载udev规则,使其生效。你可以通过执行以下命令来实现:

sudo udevadm control --reload-rules

4、使用固定的设备文件名:现在,你可以在代码中使用这个固定的符号链接(例如/dev/my_usb_serial)来打开USB串口设备,而不用担心设备文件名变化的问题。

这样,无论USB串口设备连接到系统时分配的设备文件名是什么,你都可以通过固定的符号链接来引用它。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laocui1

你的鼓励是我创作的最大动了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值