0

使用 arduino-cli、arduino-ide 或直接使用 esptool.py(来自https://github.com/espressif/esptool)上传简单(正确)草图时出现以下错误。

x@y:~/blink$ ~/tools/arduino-cli upload -p /dev/ttyUSB0 --fqbn esp8266:esp8266:nodemcuv2
esptool.py v3.1
Serial port /dev/ttyUSB0
Connecting........_____....._____....._____....._____....._____....._____....._____
Traceback (most recent call last):
  File "/home/x/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/upload.py", line 66, in <module>
    esptool.main(cmdline)
  File "/home/x/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 4074, in main
    esp = esp or get_default_connected_device(ser_list, port=args.port, connect_attempts=args.connect_attempts,
  File "/home/x/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 121, in get_default_connected_device
    _esp.connect(before, connect_attempts)
  File "/home/x/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 639, 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
Error during Upload: Failed uploading: uploading error: exit status 1 
esptool.py v3.1
4

1 回答 1

1

问题是我上次apt upgrade将内核从 5.4.0-86-generic 更新为 5.4.0-88-generic(我在 中检查了更新/var/log/apt/history.log.1.gz)。5.4.0-88 中的驱动程序 CH341 无法正常工作(我使用的 ESP 需要 CH340G 驱动程序)。解决方案是回到 5.4.0-86 驱动程序,在下面我列出了我所做的。

  1. 断开连接到任何 USB 的任何 ESP 或板。然后测试 CH341 模块(允许与 EPS 进行串行通信)是否已加载。您可以使用此代码在步骤 2、3 中测试模块的正确卸载/加载。
x@y:~$ lsmod | egrep serial
usbserial              53248  2 cp210x,ch341
  1. 这是当前 (5.4.0-88) 和以前 (5.4.0-86) 内核的模块所在的位置
x@y:~$ ls -larh /lib/modules/
total 164K
drwxr-xr-x  6 root root 4,0K set 29 09:19 5.4.0-88-generic
drwxr-xr-x  6 root root 4,0K set 23 09:45 5.4.0-86-generic
[...]
  1. 卸载电流 (5.4.0-88) CH341 模块用命令
sudo rmmod /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko
  1. 使用命令加载上一个 (5.4.0-86) CH341 模块
sudo insmod /lib/modules/5.4.0-86-generic/kernel/drivers/usb/serial/ch341.ko

就是这样 :) 您现在应该能够将新草图上传到您的 ESP8266。

于 2021-10-04T09:14:17.203 回答