LINUX固定USB设备名称

devtools/2024/10/18 16:50:16/

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

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

以下是一种方法:

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

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

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

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

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

# /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串口设备连接到系统时分配的设备文件名是什么,你都可以通过固定的符号链接来引用它。


http://www.ppmy.cn/devtools/10008.html

相关文章

抖音ip切片带货靠谱吗?抖音切片带货怎么拿授权?切片视频带货详细教程来了,单条视频收益500~800

今天分享一个真正做到让关注我们的粉丝朋友,学到、学懂、能落地,每一次项目分享都秉承高收益、低风险,可行性,有结果的原则,新手朋友可以直接按照我们分享的流程快速上手操作项目,项目老鸟们能够掌握更多信…

【Web前端笔记14】函数与对象

提示:本文开始正式进入JavaScript的重点学习,各位友友们看完别忘了点赞收藏哦,以防下次找不到咯! 文章目录 前言一、函数概述1.函数的声明2.函数名的提升3.函数的属性和方法4.函数作用域5.函数参数6.函数返回值7.自执行函数二、对象概述

【Spring Cloud】服务容错中间件Sentinel进阶——五大规则

文章目录 Sentinel的概念和功能基本概念资源规则 重要功能流量控制熔断降级系统负载保护 SentineI 规则流控规则简单配置配置流控模式直接流控模式关联流控模式链路流控模式 配置流控效果 熔断规则慢调用比例异常比例异常数 热点规则热点规则简单使用热点规则增强使用 授权规则…

类似nohup在windows通过cmd后台运行进程方法

Linux后台运行进程时,通常使用如下方法: nohup "运行的内容" &windows相应功能的命令行如下(此方法进程有页面,可能会在桌面展示,关闭窗口后进程消失。 call start /min "n" "运行的内容"cmd…

WEB攻防-ASP安全-ASP后门植入连接

windows2003环境搭建,可参考上一篇WEB攻防-ASP安全-MDB下载-CSDN博客 将aspcms解压到C:\inetpub\wwwroot,创建网站并赋予internet来宾用户权限 配置启用父路径和主页指向 上一篇文章提到,数据库文件后缀为asp、asa会被执行解析,所以当进行访…

03-JAVA设计模式-中介者模式

中介者模式 什么是中介者模式 中介者模式(Mediator Pattern)是一种行为设计模式,用于减少对象之间的直接依赖关系,降低它们之间的耦合度,并使得一个对象改变时,所有依赖于它的对象都得到通知并自动更新。…

OpenHarmony实战开发-文件上传下载性能提升指导。

概述 在开发应用时,要实现高效的客户端跟服务器之间数据交换,文件传输的性能是至关重要的。一个数据交换性能较低的应用会导致其在加载过程中耗费较长时间,在很多的场景造成页面卡顿,极大的影响了用户体验。相反,一个…

【c++20】学习笔记:priority_queue

基于c++20 编译,参考:pair vs tuple大神的文章:基本就两种比较方式 < less than ,降序排列,大顶堆greater than, 升序排列,小顶堆 例子代码 #include <functional> #include <iostream>