Ubuntu配置Udev规则固定设备口

2023-10-15 09:40

本文主要是介绍Ubuntu配置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

这篇关于Ubuntu配置Udev规则固定设备口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216873

相关文章

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

Springboot的自动配置是什么及注意事项

《Springboot的自动配置是什么及注意事项》SpringBoot的自动配置(Auto-configuration)是指框架根据项目的依赖和应用程序的环境自动配置Spring应用上下文中的Bean... 目录核心概念:自动配置的关键特点:自动配置工作原理:示例:需要注意的点1.默认配置可能不适合所有场景

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

Keepalived+Nginx双机配置小结

《Keepalived+Nginx双机配置小结》本文主要介绍了Keepalived+Nginx双机配置小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1.1 软硬件要求1.2 部署前服务器配置调优1.3 Nginx+Keepalived部署1.3

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器