linux固定串口设备号

1.创建 udev 规则文件


获取设备标识符:

udevadm info -a /dev/ttyUSB0

udevadm info -a /dev/ttyUSB1
  • udevadm:这是 Udev 的管理命令行工具,用于管理和查询设备信息。
  • info:这个子命令用于显示设备的信息。
  • -a:这个选项表示显示所有的属性,包括父设备的信息。
  • /dev/ttyUSB0:这是你要查询的设备的路径。

在 /etc/udev/rules.d 目录下创建一个以 .rules 结尾的文件,命名规则为 xx-your-rules-name.rules,其中 xx 代表规则文件的顺序,your-rules-name 代表规则名称,可以根据实际情况自行定义。例如:

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

添加内容:

KERNELS=="1-2.1:1.0", SUBSYSTEMS=="usb", MODE:="0666", SYMLINK+="IMU100C"
KERNELS=="1-2.2:1.0", SUBSYSTEMS=="usb", MODE:="0666", SYMLINK+="RTC"

2.授予权限

sudo chmod 777 /etc/udev/rules.d/99-serial-usb.rules

3.应用

sudo service udev reload

sudo service udev restart

sudo udevadm trigger
  • SUBSYSTEMS=="usb"

  • 这个条件确保规则仅适用于 USB 设备。

  • KERNELS=="1-2.2:1.0"KERNELS=="1-2.1:1.0"

  • 这些表示 USB 设备的路径,1-2.2:1.01-2.1:1.0 是特定设备的接口路径(设备连接到 USB 端口的具体位置)。
  • 注意:你可以使用 KERNELS 来指定设备路径,但如果有多个设备同时连接,可能会导致匹配不到你想要的设备。在这种情况下,最好使用更稳定的匹配方式,如 ATTRS{serial} 来匹配设备的序列号。
    • ATTRS{serial}=="FTGFOZ8U"ATTRS{serial}=="FTDJZ5T4"

      这是根据设备的序列号来匹配特定设备,FTGFOZ8UFTDJZ5T4 是 USB 设备的唯一序列号,用来标识特定的设备。
      • 注意点:

      • KERNELS vs KERNEL

      • KERNELS 匹配的是设备的内核名称路径。如果设备路径变化(例如设备重新插入),这个匹配可能会失效。通常,KERNEL 更常用,它匹配的是设备的名称。使用 KERNELS 时要确保设备路径不会发生变化。(ATTRS{serial}由前面命令查到)

      • KERNEL=="ttyUSB*", SUBSYSTEM=="tty", ATTRS{serial}=="FTGFOZ8U", MODE:="0666", SYMLINK+="IMU100C"
        KERNEL=="ttyUSB*", SUBSYSTEM=="tty", ATTRS{serial}=="FTDJZ5T4", MODE:="0666", SYMLINK+="RTC"
        

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值