1、问题描述
在使用串口ttyTHS1时,总是失败,就算使用root权限,也只能是可以打开,但是在使用中总是出现莫名其妙的问题。
2、查看权限
查看ttyTHS1的权限时,发现它和ttyTHS2的权限还不一样:
crw--w---- root tty /dev/ttyTHS1
crw-rw---- root dialout /dev/ttyTHS2
3、添加权限
之前遇到串口权限问题,使用如下命令,只能对/dev/ttyTHS2起作用,而针对/dev/ttyTHS1毫无作用
sudo usermod -aG dialout $USER
4、串口占用
猜测ttyTHS1另作他用了,在/etc目录下搜索ttyTHS1,发现nvgetty服务占用了ttyTHS1。
在/etc/systemd/nvgetty.sh中可见
// 如果是tegra194(Xavier NX)则使用ttyTHS0
// 如果是tegra210(Jetson Nano)则使用ttyTHS1
setsid /sbin/getty -L 115200 ttyTHS1
5、关闭nvgetty
sudo systemctl stop nvgetty # 停止服务
sduo systemctl disable nvgetty # 禁用服务
设置完成后,重启即可
nvgetty是用于NVIDIA显卡的串口终端仿真