通过 udev 修改 /dev/ttyTHS1 读写权限屡屡失败后找到原因

通过 udev 修改 /dev/ttyTHS1 读写权限

一、Jetson Nano 的 /dev/ttyTHS1 对应 USART2 串口,默认只有 root 有读写权限。

在网上找到了很多类似的案例:永久修改 /dev/ttyUSB0 读写权限的帖子。但是按照同样的方式操作,却不能解决问题。

二、 原因和解决方法

Google 查到了问题的原因:是因为有开机启动的服务占用了设备,导致修改规则无法正常重载。把对应服务关掉之后,再修改 UDEV 配置文件即可。

sudo lsof | grep ttyTHS1 # 发现一直占用该串口的服务进程是: nvgetty
systemctl stop nvgetty	 # 停止服务
systemctl disable nvgetty # 取消服务
三、UDEV

Linux 设备即文件的概念由来已久,UDEV 区分于“普通设备文件”和 “devfs”,它在 Linux 设备访问中,特别是那些对设备有极端需求的站点(比如需要控制上千个硬盘)和热插拔设备(比如USB摄像头和MP3播放器)上有极强的优势。可以通过配置 /etc/udev/rules.d/ 中的规则文件来灵活设定设备。UDEV 的使用方法如下:

# 查看设备信息
udevinfo -a -p /dev/ttyTHS1  
# 或者 
udevadm info -a /dev/ttyTHS1
# 添加规则文件, 一般前缀数字越小优先级越高
vim /etc/udev/rules.d/20-myserial.rules
# 增加或修改规则文件后重载规则
sudo  udevadm control --reload
# 重启电脑
sudo reboot
四、/etc/udev/rules.d/ 中的规则文件语法简介
# == 作用是条件匹配,= 作用是条件匹配成功后赋值
# KERNEL 代表设备名,SUBSYSTEM 代表设备所在子系统名
KERNEL=="ttyTHS1", SUBSYSTEM=="tty", GROUP="users", MODE="0666"
  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值