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

【问题记录】当机器人存在多个串口需要绑定时udevadm的作用

一、正常绑定

输入sudo udevadm info -a /dev/ttyUSBx | grep KERNELS 命令

会出现KERNELS的编号,记录编号。

修改规则文件/etc/udev/rules.d/99-usb.rules

添加以下命令

KERNEL=="ttyUSB*", KERNELS=="2-1.2:1.0", MODE:="0666", GROUP:="dialout", SYMLINK+="base"

  • 详细解释如下:
  • KERNEL=="ttyUSB": 这个条件匹配设备名称以 ttyUSB 开头的设备(例如 ttyUSB0, ttyUSB1 等)。
  • KERNELS=="2-1.2:1.0": 这个条件用于匹配特定的设备路径或总线 ID。2-1.2:1.0 是设备的唯一标识符,表示从 USB 总线上的特定端口连接的设备。
  • MODE:="0666": 这个动作设置设备文件的权限。0666 表示所有用户都可以读取和写入该设备文件。
  • GROUP:="dialout": 这个动作将设备文件的所属组设置为 dialout,这样只有属于该组的用户才能访问该设备。
  • SYMLINK+="base": 这个动作创建一个名为 base 的符号链接,指向匹配的设备文件。这使得访问该设备更加方便,因为可以使用 base 而不是完整的设备路径。

修改完规则后,使用以下命令重新加载 udev 规则:

sudo udevadm control --reload-rules

sudo udevadm trigger

输入ls -l /dev |grep -E ‘ttyUSB’查看有无配置成功

二、需要添加权限

如果遇到特殊设备需要添加某些权限,例如可以加入以下规则:

ACTION=="add",SUBSYSTEMS=="usb",ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="0053", GROUP="users", MODE="0777"

这条规则的目的是为特定的 USB 设备(具有指定的厂商和产品 ID)设置开放的访问权限。

详细解释:

ACTION=="add": 这个条件表示规则适用于添加新设备时的操作。当有设备被连接到系统时,此规则会被触发。

SUBSYSTEMS=="usb": 这个条件指定该规则仅适用于 USB 设备。它确保只有当设备属于 USB 子系统时,规则才会生效。

ATTRS{idVendor}=="04d8": 这个条件匹配 USB 设备的厂商 ID。04d8 是特定厂商的标识符,只有匹配该 ID 的设备才会执行此规则。

ATTRS{idProduct}=="0053": 这个条件匹配 USB 设备的产品 ID。0053 是特定产品的标识符,结合厂商 ID,确保只对特定的设备生效。

GROUP="users": 这个动作将设备文件的所属组设置为 users,使得该组的用户能够访问该设备。

MODE="0777": 这个动作设置设备文件的权限为 0777,表示所有用户(拥有者、组用户和其他用户)都可以读取、写入和执行该设备文件。


http://www.kler.cn/a/371618.html

相关文章:

  • 功能测试:方法、流程与工具介绍
  • ElementUI el-table 多选以及点击某一行的任意位置就勾选上
  • 利索能及:轻松掌握专利信息,创新与保护更近一步
  • Nginx+Lua脚本+Redis 实现自动封禁访问频率过高IP
  • TIFS-2024 FIRe2:细粒度表示和重组在换衣行人重识别中的应用
  • ES6 变量的解构赋值
  • 【案例77】Npart部署页签失效
  • VQ-VAE(2018-05:Neural Discrete Representation Learning)
  • 中间件安全(三)
  • SpringBoot技术:闲一品交易平台的新选择
  • vue使用element ui绘制界面
  • C#实现隐藏和显示任务栏
  • Json库和文件操作
  • 大厂面试真题-简单描述一下SpringBoot的启动过程
  • 海外著名新闻门户媒体软文发稿之华盛顿独立报-大舍传媒
  • 力扣-最小覆盖子串
  • uniapp vue3 开发华为鸿蒙HarmonyOS 一些报错bug和如何配置签名
  • 引入了窥视孔连接(peephole connections)的LSTM
  • 讯飞星火4.0 Turbo发布,国际14项主流测试集9项第一
  • AUTOSAR 规范中的设计模式:传感器执行器模式
  • 【数据结构 | PTA】懂蛇语
  • [ARM-2D 专题]5 MDK编译器一个旧版本-Ofast优化bug的问题及解决办法
  • 网页上视频没有提供下载权限怎么办?
  • 06回归与相关
  • 通过cv库智能切片 把不同的分镜切出来 自媒体抖音快手混剪
  • 基于C语言实现的UDP服务器