Однажды, рабочая плата NodeMCU esp8266 перестала прошиваться и появилось сообщение:
A fatal esptool.py error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, ‘A device attached to the system is not functioning.’, None, 31)esptool.py v3.0 Serial port COM5
Arduino IDE обновлен до последней версии, но некоторые платы прошивались, а некоторые отказывались прошиваться и появлялось сообщение примерно следующего содержания:
. Variables and constants in RAM (global, static), used 41368 / 80192 bytes (50%)
║ SEGMENT BYTES DESCRIPTION
╠══ DATA 1184 initialized variables
╠══ RODATA 8324 constants
╚══ BSS 30240 zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 62611 / 65526 bytes (95%)
║ SEGMENT BYTES DESCRIPTION
╠══ ICACHE 32738 reserved space for flash instruction cache
╚══ IRAM 30443 code in IRAM
. Code in flash (default, ICACHE_FLASH_ATTR), used 450128 / 1043576 bytes (43%)
║ SEGMENT BYTES DESCRIPTION
╚══ IROM 452428 code in flash
esptool.py v3.0
Serial port COM5
A fatal esptool.py error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, 'A device attached to the system is not functioning.', None, 31)
На плате китайского происхождения была затерта маркировка микросхемы USB-serial преобразователя, но на обратной стороне было указано, что это CH340G
Эта ошибка может возникнуть при загрузке на платы, использующие определенные партии USB-чипа WCH CH340. Подделка это или нет доподлинно неизвестно. Но, было замечено, что особенностью этих микросхем CH340 является отсутствие маркировки (обычно на них написано «WCH CH340G») и проблема возникает только при использовании последней версии драйвера CH340.
Таким образом, «откат» к более старой версии драйвера является эффективным обходным путем. Вы можете попробовать.
- Перейдите по следующей ссылке на официальный сайт производителя микросхемы, чтобы загрузить предыдущую версию драйвера с его веб-сайта:
https://www.wch-ic.com/downloads/file/65.html?time=2023-03-16%2022:57:59 - Дождитесь завершения загрузки.
- Запустите загруженный файл CH341SER.EXE.
- В открывшемся диалоговом окне нажмите кнопку “INSTALL”.
- Дождитесь завершения установки драйвера.
- Перезапустите Arduino IDE, если она была запущена.
Готово, на этом этапе у многих уже может все заработать, но иногда требуется “откатить” драйвер вручную, для этого:
- Откройте диспетчер устройств Windows.
- В разделе “Порты (COM и LPT)” вы должны увидеть порт, обозначенный как “USB-SERIAL CH340 (COMn)” (где “COMn” – это какой-либо последовательный порт, например, COM5). Дважды щелкните по этому пункту. Откроется диалоговое окно “Свойства USB-SERIAL CH340 (COMn)”. Выберите вкладку “Драйвер” в диалоговом окне “Свойства USB-SERIAL CH340 (COMn)”. и нажмите кнопку “Удалить устройство”. В окне “Удаление устройства выберите “Удалить программы драйверов для этого устройства” и нажмите “Удалить”
После этого повторите пункты 1-6, показанные выше. После переустановки драйвера ошибка уходит.