当前位置: 首页 > news >正文

Ubuntu绑定USB接口到固定端口

绑定端口

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

执行后,可以看到部分输出如下:
找到第一个,a-b:c格式的KERNELS,记住这个值,后面会用到。

lin@lin-B660M-D2H-DDR4:~$ udevadm info -a -n /dev/ttyUSB0Udevadm 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规则:
sudo vim /etc/udev/rules.d/test_usb.rules

添加以下内容:
如果是/dev/ttyUSB*,则KERNEL要改为KERNEL=="ttyUSB*"
如果是/dev/video*,则KERNEL要改为KERNEL=="video*"

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"

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

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

输出:

/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB_test_back  /dev/ttyUSB_test_front
http://www.lryc.cn/news/308534.html

相关文章:

  • 解决gogs勾选“使用选定的文件和模板初始化仓库”报错500,gogs邮件发送失败,gogs邮件配置不生效,gogs自定义模板等问题
  • 数字后端——DEF文件格式
  • 【可做课设、附完整技术文档】流式、异步、实时的Django聊天室!(需进一步定制可联系本人)
  • 网络编程:基于TCP和UDP的服务器、客户端
  • kubectl 命令行管理K8S(上)
  • Redis 之四:Redis 事务和乐观锁
  • C# WPF编程-创建项目
  • 密码学及其应用(应用篇15)——0/1背包问题
  • 基于springboot+vue的实验室管理系统(前后端分离)
  • 华为OD技术面试案例5-2024年
  • 【QT+QGIS跨平台编译】之五十五:【QGIS_CORE跨平台编译】—【qgsmeshcalcparser.cpp生成】
  • Unity(第二十部)效果 粒子、线条和拖尾
  • 全量知识系统问题及SmartChat给出的答复 之6 三套工具之1
  • [RoarCTF 2019]Easy Calc
  • 完美解决 git 报错fatal: Not a git repository (or any of the parent directories): .git
  • electron无法设置自己的图标?渲染进程require报错?
  • vscode连接服务器与FileZilla上传到服务器
  • 练习 1 Web EasySQL极客大挑战
  • matlab生成模拟的通信信号
  • Altair® SimLab® 以流程为导向的多学科仿真环境,可连接CAD 的多物理场工作流程
  • Python爬虫-爬取B站番剧封面
  • AI时代的产品文案秘籍:如何用AI提升效率
  • 前端架构: 脚手架通用框架封装之入口文件开发(教程一)
  • 吴恩达《机器学习》学习笔记
  • 【FPGA】线性反馈移位寄存器(LFSR)的Verilog实现
  • yolov8涨点技巧,添加SwinTransformer注意力机制,提升目标检测效果
  • k8s初始化错误
  • adb命名大全
  • 计算机发展史 (5)携手共赴难
  • 一键搞定简历设计!电子版简历制作指南3步走!