esptool.FatalError: Timed out waiting for packet header

Bonjour à tous,

J'ai reçu il y a quelques jours de ça un ESP8266 NodeMCU, que j'utilise depuis sans aucun problème.

Seulement aujourd'hui, lorsque j'ai souhaité téléverser un code, le message d'erreur suivant est apparu :

Executable segment sizes:


IROM   : 227372          - code in flash         (default or ICACHE_FLASH_ATTR) 


IRAM   : 26368   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...) 


DATA   : 1252  )         - initialized variables (global, static) in RAM/HEAP 


RODATA : 672   ) / 81920 - constants             (global, static) in RAM/HEAP 


BSS    : 24848 )         - zeroed variables      (global, static) in RAM/HEAP 


Le croquis utilise 255664 octets (24%) de l'espace de stockage de programmes. Le maximum est de 1044464 octets.
Les variables globales utilisent 26772 octets (32%) de mémoire dynamique, ce qui laisse 55148 octets pour les variables locales. Le maximum est de 81920 octets.
esptool.py v2.8
Serial port COM5
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: bc:dd:c2:5e:dd:43
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Traceback (most recent call last):
  File "C:\Users\Th�o\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3/tools/upload.py", line 65, in <module>
    esptool.main(cmdline)
  File "C:/Users/Th�o/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool\esptool.py", line 2933, in main
    detect_flash_size(esp, args)
  File "C:/Users/Th�o/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool\esptool.py", line 2241, in detect_flash_size
    flash_id = esp.flash_id()
  File "C:/Users/Th�o/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool\esptool.py", line 607, in flash_id
    return self.run_spiflash_command(SPIFLASH_RDID, b"", 24)
  File "C:/Users/Th�o/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool\esptool.py", line 853, in run_spiflash_command
    old_spi_usr = self.read_reg(SPI_USR_REG)
  File "C:/Users/Th�o/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool\esptool.py", line 490, in read_reg
    val, data = self.command(self.ESP_READ_REG, struct.pack('<I', addr))
  File "C:/Users/Th�o/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool\esptool.py", line 347, in command
    p = self.read()
  File "C:/Users/Th�o/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool\esptool.py", line 292, in read
    return next(self._slip_reader)
  File "C:/Users/Th�o/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool\esptool.py", line 2045, in slip_reader
    raise FatalError("Timed out waiting for packet %s" % waiting_for)
esptool.FatalError: Timed out waiting for packet header
esptool.FatalError: Timed out waiting for packet header

Après avoir arpenté un bon nombre de forums, voici les vérifications que j'ai déjà faites :

  • Vérification du câble
  • Réinstallation de la bibliothèque ESP8266
  • dowgrading de la version de la bibliothèque
  • Vérification du port dans le gestionnaire de périphérique
  • Chargement du programme en appuyant sur le bouton FLASH

Il arrive que parfois, en débranchant et rebranchant, je puisse à nouveau charger un programme. Cependant au deuxième chargement, le problème revient.

Me voilà donc à court d'idées. Je ne comprends pas bien comment du jour au lendemain, ce problème peut apparaître.

Merci à vous pour votre aide !

Il y a un topic dédié à ce genre de problème. Si tu n'y trouves pas la solution, reviens en expliquant point par point ce que tu as fait par rapport aux solutions qui y sont proposées.

... bonne chance ...

Bonjour

Le problème peut être lié à dû à vitesse trop élevée pour le flashage, tester 115200 bauds

Retirer d'éventuels composants câblés sur Tx et Rx
de manière à ce que le circuit d'interface USB ait l'exclusivité de ces deux signaux

Bonsoir,

Un grand merci pour votre aide. Ce n'est pas la première fois que vous répondez à mes questions et je vous remercie de l'aide que vous m'apportez pour mon projet.

al1fch:
Bonjour

Le problème peut être lié à dû à vitesse trop élevée pour le flashage, tester 115200 bauds

Retirer d'éventuels composants câblés sur Tx et RX de manière à ce que le circuit d'interface USB ait l'exclusivité de ces deuxsignaux

L'upload Speed est déjà réglé sur 115200, serial.begin(115200), et dans les paramètres du gestionnaire de périphériques, j'ai aussi réglé la débit à 115200 bits/sec.

Ensuite la carte est nue pour l'instant, seul le câble USB est branché dessus.

lesept:
Il y a un topic dédié à ce genre de problème. Si tu n'y trouves pas la solution, reviens en expliquant point par point ce que tu as fait par rapport aux solutions qui y sont proposées.

... bonne chance ...

lespet, j'ai en effet parcouru ce topic très utile dans de nombreux cas. Jusqu'au point 2.3, tout est bon pour moi. La carte figure dans le gestionnaire de tâche, les pilotes sont à jour. Pour la suite, le port sélectionné est le bon, le pins D0 et D1 sont libres, seul Chrome est ouvert, j'ai déjà essayé la solution du bouton RESET juste avant le téléversement, la panne ne me semble pas être la solution car il arrive que le téléversement fonctionne et le bootloader me parait être fonctionnel (test du bouton RST).
En résumé, la check-list est ok...

-mauvais contact, soudure défectueuse au niveau de l'embase USB sur la carte NodeMC ?

-le port COM5 utilisé içi pour envoyer le code serait-il occiupé par ailleurs par une autre application ?

al1fch:
-mauvais contact, soudure défectueuse au niveau de l'embase USB sur la carte NodeMC ?

Un mauvais contact n'entrainerait-il pas une absence de reconnaissance de la carte ? Avec un message d'erreur similaire à celui qui peut apparaitre lorsque la carte n'est pas branchée ?
Comment pourrais-je m'assurer que celui ci est bien en place ? Inspection visuelle ?

al1fch:
-le port COM5 utilisé içi pour envoyer le code serait-il occiupé par ailleurs par une autre application ?

Comment le vérifier ? Arduino et Google sont les seules applications lancées...

Que dit le gestionnaire de périphériques au niveau des ports COM ?

lesept:
Que dit le gestionnaire de périphériques au niveau des ports COM ?

Il reconnait le port "USB-SERIAL CH340 (COM5)"