Linux 系统 ubuntu22.04 发行版本 固定 USB 设备端口号

前言:

项目中为了解决 usb 设备屏幕上电顺序导致屏幕偏移、触屏出现偏移等问题。

一、方法1:使用设备 ID 号

步骤:

  1. 查看 USB 设备的供应商ID和产品ID

    Bus 001 Device 003: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive

    1d6b:0003:090c是供应商ID,1000 是产品ID。

  2. 创建 udev 规则文件 /etc/udev/rules.d/01-usb-screen.rules (名字可以随便命,这里写01,可以被系统第一个处理),并添加以下内容

    在/dev目录下创建一个名为COM1的符号链接,指向设备/dev/ttyUSB*。

    SUBSYSTEM=="ttyUSB*", ATTRS{idVendor}=="1d6b", ATTRS{idProduct}=="0003", MODE:="0777" , SYMLINK+="COM1"

    不用在意这个 USB 设备生成的节点是 ttyUSB*, 因为 COM1 会一直指向这个设备的 ID 号,所以你只需要访问 /dev/COM1 就可以了。

  3. 重新加载udev规则并重启udev服务

    sudo udevadm control --reload-rules
    sudo service udev restart

  4. 查询

    插入的 USB 设备能够自动映射到指定的串口号。

    bobo@thj:~$ ls -l /dev/COM1
    lrwxrwxrwx 1 root root 7 Jan 30 10:39 /dev/COM1 -> ttyUSB0

二、方法2:使用硬件序列号(防止相同生产商生产的相同USB串口)

步骤:

  1. 查看硬件序列号

    udevadm info --attribute-walk --name=/dev/ttyUSB0

  2. 添加规则到文件 /etc/udev/rules.d/01-usb-screen.rules

    ATTRS{seria1}=="这个是刚刚查询到的硬件序列号", MODE:="0777", GROUP:="dialout", SMLINK+="COM2"

  3. 查询

    插入的 USB 设备能够自动映射到指定的串口号。

    bobo@thj:~$ ls -l /dev/COM2
    lrwxrwxrwx 1 root root 7 Jan 30 10:39 /dev/COM2 -> ttyUSB0

相关推荐
木白CPP35 分钟前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
RisunJan1 小时前
Linux命令-times(进程累计时间显示)
linux·运维·chrome
Titan20243 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习
皮皮蟹虾饺3 小时前
NCCL 源码解析:通信器从出生到消亡的完整一生
linux·人工智能·ubuntu·语言模型·kubernetes
Java&Develop3 小时前
QuantDinger 宝塔 Linux 部署完整指南
linux·运维·状态模式
RisunJan4 小时前
Linux命令-tcpdump(网络数据包捕获)
linux·网络·tcpdump
Titan20244 小时前
Linux网络学习:套接字、UDP的封装与应用
linux·服务器·开发语言·网络·c++
.冰块.4 小时前
两套完整 Linux 建站实战:Wordpress 博客(LAMP)+ECShop 电商(LNMP)全套手册
linux·运维·项目实战·lnmp·lamp·电商平台·博客平台
杨云龙UP4 小时前
生产环境MySQL多实例XtraBackup全量备份与rsync异地自动传输实践
linux·运维·数据库·mysql·xtrabackup·主从复制·备份恢复
拂拉氏5 小时前
【知识讲解】 Linux中vim编辑器的学习与使用
linux·编辑器·vim