A fatal esptool.py error occurred: Cannot configure port, something went wrong.

Однажды, рабочая плата 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.

Таким образом, «откат» к более старой версии драйвера является эффективным обходным путем. Вы можете попробовать.

  1. Перейдите по следующей ссылке на официальный сайт производителя микросхемы, чтобы загрузить предыдущую версию драйвера с его веб-сайта:
    https://www.wch-ic.com/downloads/file/65.html?time=2023-03-16%2022:57:59
  2. Дождитесь завершения загрузки.
  3. Запустите загруженный файл CH341SER.EXE.
  4. В открывшемся диалоговом окне нажмите кнопку “INSTALL”.
WCH.CN USB-SERIAL CH340 01/18/2022, 3.7.2022.01
  1. Дождитесь завершения установки драйвера.
  2. Перезапустите Arduino IDE, если она была запущена.

Готово, на этом этапе у многих уже может все заработать, но иногда требуется “откатить” драйвер вручную, для этого:

  1. Откройте диспетчер устройств Windows.
  2. В разделе “Порты (COM и LPT)” вы должны увидеть порт, обозначенный как “USB-SERIAL CH340 (COMn)” (где “COMn” – это какой-либо последовательный порт, например, COM5). Дважды щелкните по этому пункту. Откроется диалоговое окно “Свойства USB-SERIAL CH340 (COMn)”. Выберите вкладку “Драйвер” в диалоговом окне “Свойства USB-SERIAL CH340 (COMn)”. и нажмите кнопку “Удалить устройство”. В окне “Удаление устройства выберите “Удалить программы драйверов для этого устройства” и нажмите “Удалить”

После этого повторите пункты 1-6, показанные выше. После переустановки драйвера ошибка уходит.