全新安装 Ubuntu 后,我尝试使用 Arduino IDE v1.8.16 上传草图(使用.deb
从网络下载的文件安装)。
An error occurred while uploading the sketch avrdude: ser_open(): can't open device "/dev/ttyACM0": Device or resource busy
在新的 Linux 机器上首次安装 Arduino IDE 后,需要成为 :sudo usermod -a -G dialout $USER
和注销、登录的成员,这并没有按预期更改。
所以我尝试chmod
了连接的端口/dev/ttyUSB0
,这并没有改变错误消息(顺便说一下,在 USB1 和 ACM0 上我也得到了相同的输出 - 尝试上传到时Nano
)。
现在我得到这个错误:
esptool.py v3.0
Serial port /dev/ttyUSB0
Connecting........_____....._____....._____....._____....._____....._____....._____
Traceback (most recent call last):
File "/home/guy/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/upload.py", line 66, in <module>
esptool.main(cmdline)
File "/home/guy/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 3552, in main
esp.connect(args.before, args.connect_attempts)
File "/home/guy/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 529, in connect
raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
为了验证它不是 IDE 错误,我尝试使用esptool.py
擦除闪存,我得到了相同的行为Connecting........_____....._____....._____....._____....._____....._____....._____
这发生在具有最新内核和几个版本的 arduino-ide 的最新 ubuntu 上(来自 snap,来自 apt install,即使是从 arduino 的网站安装的最新版本)尝试了几个板版本的尝试 modded esptool 尝试了 not-modded esptool 尝试了几个(不只收费)电缆尝试了几个 esp32 板和 esp32 供应商(wemos、nodemcu 等)
我相信串行驱动程序可能有问题?所有板都在 Windows 上运行良好,所有版本的 arduino-ide 在 Ubuntu 20.04 和相同的电缆上测试。我排除了任何可能的问题:软件(ide)、电缆、电路板。
将对此进行更多研究。
乐:找到问题了!看起来 ch340/ch341 的内核驱动程序中有一个错误,我安装了一个旧内核( 5.9.x )并且这个工作正常。这让我在互联网上进行了一些搜索:) 所以这里是
在我看来,从内核 5.10.x 到 5.14-rc5 都存在错误。
快乐的编码家伙
ESP 板的解决方法:
上传草图之前的设置:
然后:
资料来源:https ://forum.manjaro.org/t/manjaro-21-1-0-und-esp8266-sketch-upload-doesnt-work-anymore/79712/2
注意:在 ESP8266 (NodeMCU) 上测试
更新:
此问题已在最新内核版本中得到修复。请更新内核并再次测试。
使用内核 linux-image-5.4.0-87-generic @ ubuntu 18.04 我有完全相同的问题(运行最新的 arduino、板定义和 libz),当我重新启动到 5.4.0-86-generic 时它再次工作,不知道为什么,但今天花了大约一个小时来找出发生了什么变化(因为我在这台计算机上使用了很长时间的 arduino 并且总是一切顺利......)
所以尝试启动旧内核,也许它会有所帮助
谢谢,解决方法对我有用!
5.4.0-89-generic #100-Ubuntu SMP Fri Sep 24 14:50:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
视频:1A86 PID:7523