与许多人一样,我在尝试将 Arduino uno 连接到 ubuntu 中的 Arduino IDE 时似乎遇到了问题,但这似乎超出了人们通常遇到的问题。我收到了经典的avrdude: ser_open(): can't open device "/dev/ttyACM0": Input/output error
错误消息,为了纠正这个问题,我尝试按照通常的建议将自己添加到拨出组,重新启动,然后它应该可以工作,但是这不起作用。这里变得有点有趣,使用ls -l /dev/ttyACM*
我得到了结果crw-rwx---+ 1 myusername dialout 166, 0 Jun 21 17:44 /dev/ttyACM0
。我的印象(纯粹是从互联网上搜索,而不是从我自己的知识)+
末尾的crw-rwx---+
意味着目录权限由 ACL 控制(虽然我真的不明白这些是什么),我尝试使用setfacl -b -n /dev/ttyACM0
似乎有效的东西从这里删除 ACL,因为当我ls
再次运行之前的命令时,它现在显示crw-r-x--- 1 myusername dialout 166, 0 Jun 21 17:44 /dev/ttyACM0
相同但没有+
。执行此操作后,尝试将程序上传到 Arduino 时问题仍然存在,重新启动并重试后,作为问题的常规修复的一部分,我又回到了原点,然后又+
回来了。我想我正在寻找的是一种摆脱它+
并让它每次都保持这种状态的方法,如果有人能够提供任何帮助,我将非常感激!
顺便说一句,Arduino 在 Windows 上运行良好,我在同一台计算机上双重启动,因此可以排除这种情况。顺便说一句,我正在做的项目是一个伪流光溢彩的复制品,最后一步是让 Ubuntu 将 RGB 颜色值发送到 Arduino,所以我快完成了,但这带来了很多麻烦!