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
相关推荐
徐子元竟然被占了!!16 小时前
Linux-systemctl
linux·数据库·oracle
_w_z_j_19 小时前
Linux----mmap
linux
程序员zgh20 小时前
Linux系统常用命令集合
linux·运维·服务器·c语言·开发语言·c++
Bigan(安)20 小时前
【奶茶Beta专项】【LVGL9.4源码分析】09-core-obj_class对象类系统
linux·c语言·mcu·arm·unix
紫郢剑侠21 小时前
飞秋@Windows +iptux@Linux,打造内网跨平台IM环境
linux·运维·服务器·im·qq
保持低旋律节奏21 小时前
linux——调试
linux·运维·服务器
牛奶咖啡1321 小时前
Linux系统故障排查思路实践教程(下)
linux·运维·服务器·su命令切换用户问题解决·文件打开过多问题解决·linux网络故障问题解决·linux故障排查思路
coder4_21 小时前
Linux 数据同步全攻略:NFS 共享、inotify+rsync 与 sersync 实战指南
linux·rsync·文件共享·nfs·数据同步·inotify·实时备份
Lynnxiaowen1 天前
今天我们继续学习kubernetes内容Helm
linux·学习·容器·kubernetes·云计算
Bigan(安)1 天前
【奶茶Beta专项】【LVGL9.4源码分析】08-theme主题管理
linux·c语言·mcu·arm·unix