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

目录
相关文章
|
1月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
51 2
|
2月前
|
网络协议 Ubuntu 网络安全
|
2月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
96 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
2月前
|
资源调度
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
46 2
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
498 3
|
3月前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
221 1
|
2月前
|
Ubuntu 网络协议 Linux
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
130 0
|
3月前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
353 3
|
3月前
|
Ubuntu 开发工具 虚拟化
MacOS系统基于VMware Fusion配置Ubuntu 22.04LTS环境
这篇文章介绍了如何在MacOS系统上使用VMware Fusion虚拟化软件配置Ubuntu 22.04 LTS环境,包括自定义VMware Fusion网段、Ubuntu系统安装、配置root用户登录、设置静态IP地址、修改默认网卡名称、配置PS1变量、设置登录界面为字符界面、修改软件源和进行vim基础优化等步骤。
416 2
|
3月前
|
Ubuntu
树莓派 —— ubuntu上通过netplan配置网络
树莓派 —— ubuntu上通过netplan配置网络
下一篇
DataWorks