/dev/ttyACM0:openSUSE 权限被拒绝
Posted
技术标签:
【中文标题】/dev/ttyACM0:openSUSE 权限被拒绝【英文标题】:/dev/ttyACM0: permission denied on openSUSE 【发布时间】:2019-07-16 15:45:05 【问题描述】:我正在尝试在 Arduino IDE 中使用基于 Arduino Leonardo 的“Arduboy”。但是,由于以下错误,我无法上传示例代码:
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
在将其标记为重复之前,这是我尝试过的所有内容
将我自己添加到dialout
可以修改/dev/ttyACM0
的组
每次插上板子都运行chmod a+rw /dev/ttyACM0
制定这条 udev 规则:KERNEL=="ttyACM0", MODE="0666"
这些都不起作用。 所做 的工作是使用xdg-su
运行它,如下所示:xdg-su -c ./arduino
。但是,我认为每次都以 root 身份运行它并不是最好的主意。有什么我可以做的吗?
我正在运行 openSUSE Tumbleweed。
【问题讨论】:
添加用户后是否退出登录? @Juraj 完全是,甚至在 udev 之后重新启动 对以下命令的响应是什么:(a)ls -l /dev/ttyACM*
和 (b) groups
?
【参考方案1】:
在上传过程中,基于 Arduino Leonardo 的开发板会在短时间内中断与 ttyACM* 的通信(例如登录和退出)。由于某种原因,在此过程中权限会发生变化。在上传失败期间查看重复的ls -l --full-time /dev/ttyACM0
的输出:
crw-rw-rw- 1 root dialout 166, 0 2019-08-11 17:28:31.974025089 +0200 /dev/ttyACM0
ls: cannot access '/dev/ttyACM0': No such file or directory
crw------- 1 root root 166, 0 2019-08-11 17:42:15.523439213 +0200 /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 2019-08-11 17:42:16.083442857 +0200 /dev/ttyACM0
我也使用风滚草。我目前知道的唯一解决方法是以 root 身份启动 Arduino IDE。
【讨论】:
【参考方案2】:转到您的 arduino 的程序目录。在目录中打开终端。然后输入./arduino-linux-setup.sh $USER
。重启之后。您可以将代码上传到您的 arduino。
【讨论】:
以上是关于/dev/ttyACM0:openSUSE 权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
OSError: [Errno 13] Permission denied: '/dev/ttyACM0' - using pyserial from Python to Arduino
avrdude:ser_open():无法打开设备“/dev/ttyACM0”:设备或资源忙
在 openSUSE 13.2 中运行的 Android Studio Workspace 中的设备权限不足