Ubuntu绑定USB接口到固定端口

绑定端口

  1. 打开终端,输入以下命令查看USB端口信息:
bash 复制代码
udevadm info -a -n /dev/ttyUSB0

执行后,可以看到部分输出如下:

找到第一个,a-b:c格式的KERNELS,记住这个值,后面会用到。

bash 复制代码
lin@lin-B660M-D2H-DDR4:~$ udevadm info -a -n /dev/ttyUSB0

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.1/1-11.1:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.1/1-11.1:1.0':
    KERNELS=="1-11.1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="ch341"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{authorized}=="1"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bInterfaceProtocol}=="02"
    ATTRS{supports_autosuspend}=="1"
    ATTRS{bNumEndpoints}=="03"

其中需要用到的信息有:

  • KERNELS=="1-11.1:1.0"

同样的,另一个端口如下:

  • KERNELS=="1-11.2:1.0"
  1. 添加udev规则:
bash 复制代码
sudo vim /etc/udev/rules.d/test_usb.rules

添加以下内容:

如果是/dev/ttyUSB*,则KERNEL要改为KERNEL=="ttyUSB*"

如果是/dev/video*,则KERNEL要改为KERNEL=="video*"

bash 复制代码
KERNEL=="ttyUSB*", KERNELS=="1-11.2:1.0", MODE:="0777", SYMLINK+="ttyUSB_test_back"
KERNEL=="ttyUSB*", KERNELS=="1-11.1:1.0", MODE:="0777", SYMLINK+="ttyUSB_test_front"

保存并退出,执行以下命令:

bash 复制代码
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo service udev reload
sudo service udev restart
  1. 重启后,就可以通过以下命令查看端口号:
bash 复制代码
ls /dev/ttyUSB*

输出:

bash 复制代码
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB_test_back  /dev/ttyUSB_test_front
相关推荐
暮云星影11 小时前
全志linux开发屏幕适配(一)屏幕参数设置说明
linux·arm开发
kiros_wang11 小时前
鸿蒙 ArkUI:V1 与 V2 装饰器全面对比与迁移指南
ubuntu·华为·harmonyos
swordbob12 小时前
NIO 的 Channel 里有多个 BIO 吗?
linux·网络·nio
Fcy64812 小时前
Linux下 信号的保存与捕捉
linux·中断·信号的捕捉·信号的保存
A_humble_scholar13 小时前
Linux(九) 进程管理完全指南:从入门到实战
linux·运维·chrome
江华森13 小时前
Linux 操作命令完全指南
linux·运维
rjszcb14 小时前
Linux,sensor调试笔记1,修改帧率,以及曝光上不去问题
linux
C++ 老炮儿的技术栈14 小时前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
2301_7807896614 小时前
零信任架构中,身份感知防火墙(IAFW)的部署要点与最佳实践
linux·运维·服务器·人工智能·tcp/ip·架构
小狮子&15 小时前
ubuntu2604无法共享文件夹问题解决
linux·运维·服务器