Ubuntu配置Udev规则固定设备口

简介: 本文介绍了如何在Ubuntu系统中通过配置udev规则来固定设备的端口,详细说明了如何查看设备信息、创建udev规则文件、设置设备权限,并加载及重启udev规则以应用更改。

谨以文章记录Debug过程,以下信息难免有误,仅供参考
笔者的案例为配置激光雷达以及TeensyBoard3.2串口通信

一、查看自己的设备

1. 查看当前的串口设备

lsusb

[可选]查看所有的tty设备

ll /dev/tty*

[可选]查看更详细的信息

lsusb -vvv

[可选]查看雷达在系统中挂载的实际挂载情况

ls -l /dev

ls -l /dev/tty*

一般雷达以/dev/ttyUSB0的身份挂载

2. 拔掉自己的设备,再次查看当前的串口设备

lsusb

确定消失的即是所要设置的自己的串口设备
并确定这个设备的idVendor与idProduct(后文将会提到)
在这里插入图片描述

二、设置Udev规则

Udev全称可以认为是UserDevice
Udev规则用于配置外设

1. 进入系统的Udev文件夹

cd /etc/udev/rules.d

2. 建立一个新的规则文件

sudo touch new_device_udev_rules.rules
sudo gedit new_device_udev_rules.rules

修改内容为:

KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{
   
   idVendor}=="067b", ATTRS{
   
   idProduct}=="2303", MODE:="0777", SYMLINK+="device_name"

内核设备名称、子系统、设备的VID、设备的PID、权限模式和符号链接

① KERNEL与SUBSYSTEMS

KERNEL中的ttyUSB*
usb设备通常默认为上述参数,特定的设备可能有独特的参数要求
通常 SUBSYSTEMS==“usb”,可以不写,如设备另有要求需要特殊设置

② ATTRS{idVendor}与ATTRS{idProduct}

在这里插入图片描述
以上图为例 0e0f为idVendor 0002为idProduct
ATTRS{idVendor}可通过lsvvv

③ MODE

MODE代表设备的权限, 0777为设置最高权限
此处可以设置为 MODE:=“0777”

④ SYMLINK

SYMLINK中device_name对应的是自己命名的设备名称
将以/dev/device_name的名称被你应用

注:某些电子设备已经配置好了自己的udev文件,比如Teensy,可以在电子设备对应的网站上查找
注:某些设备可能需要设置更多参数

三、加载并重启Udev规则

1. 拔掉要固定的设备,并执行如下命令

sudo service udev reload
sudo service udev restart

or

udevadm control --reload-rules && udevadm trigger

2. 重新插上要固定的设备

ls /dev/device_name

3. 查看是否配置成功

如反馈

/dev/device_name

则说明配置成功

权限

了解权限

如果要了解雷达权限,使用如下命令:

ls -l /dev/tty*

一般雷达以/dev/ttyUSB0的身份挂载

设置权限

将雷达权限设置为crwxrwxrwx,即在任何用户情况下,可读可写可执行

sudo chmod 777 /dev/ttyUSB0

chmod命令相关参考菜鸟教程chmod

目录
相关文章
|
7月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1602 1
|
8月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
427 18
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
699 17
|
7月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
863 7
|
8月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
545 16
|
8月前
|
缓存 监控 Ubuntu
在Ubuntu 16.04上配置GitLab Runner以激活GitLab CI/CD流程
完成以上步骤后,每当代码被推送到远端仓库中相对应分支上时,GitLb CI / CD 流水线就会自动触发,并由之前注册好了 GitLb runner 的机器去完成定义好了 ` .gitlabcicd.yml ` 文件里面定义好各种任务(如编译测试部署等).
452 13
|
8月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
395 13
|
7月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
1386 6
|
8月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
404 0