Weihnachten in Gefahr - Upload aus VSCode funzt nicht - "Zugriff verweigert"

Hallo liebe ESPUino-Experten,

meine sportliche Aufgabe für den Dezember lautet: 2 ESPUinos bis Weihnachten bauen.

Mein Problem ist, dass der Upload und das flashen mit einem ESP32 funzt, aber mit dem anderen nicht.

Hier die Einzelheiten:

  • 2x Develboard D32 pro LiFePo4 (danke @biologist )
  • Jeweils eine 64GB SD Card FAT32 formatiert

Hier die Fehlermeldung aus Platformio

Building in release mode
Compiling .pio\build\lolin_d32_pro_sdmmc_pe\src\Web.o
Linking .pio\build\lolin_d32_pro_sdmmc_pe\firmware.elf
Retrieving maximum program size .pio\build\lolin_d32_pro_sdmmc_pe\firmware.elf
Checking size .pio\build\lolin_d32_pro_sdmmc_pe\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [===       ]  30.1% (used 98540 bytes from 327680 bytes)
Flash: [===       ]  31.2% (used 2041505 bytes from 6553600 bytes)
Building .pio\build\lolin_d32_pro_sdmmc_pe\firmware.bin
esptool.py v4.5.1
Creating esp32 image...
Merged 25 ELF sections
Successfully created esp32 image.
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-bridge, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: COM4
Uploading .pio\build\lolin_d32_pro_sdmmc_pe\firmware.bin
esptool.py v4.5.1
Serial port COM4
Connecting....

A serial exception error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, 'Zugriff verweigert', None, 5)
Note: This error originates from pySerial. It is likely not a problem with esptool, but with the hardware connection or drivers.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html

Was ich bisher nach Internetsuche und Suche im Forum getan habe:

  • Geprüft, ob das korrekte Profil unten in VSCode ausgewählt ist (lolin_d32_pro_smmdc_pe)
  • Neuen Treiber installiert
  • Untersucht, ob der COM-Port anderweitig belegt ist
  • Gerät im Gerätemanager deinstalliert
  • Mehrere Neustarts
  • Andere USB-Anschlüsse versucht

Das Verhalten ist sehr seltsam: wenn ich den „funktionierenden ESP32“ einstecke, kann ich stets „Upload und Monitoring“ durchführen. Wechsle ich auf den anderen ESP32, kommt immer die Fehlermeldung von oben.

Habt ihr weitere Ideen?

Kann es sich eventuell um einen HW Defekt handeln? Wenn ja, wie finde ich das heraus?

Vielen Dank für eure Hilfe.

Viele Grüße
Bafa

Alle Boards, die ich rausschicke, sind vorgeflasht mit den notwendigen Basiseinstellungen und pn5180 als Reader. Also du müsstest den espuino eh schon starten können. Und wenn du noch weitere settings ändern musst, dann könntest du die Firmware kompilieren und dann per ota hochladen.

Ich frage mich ja manchmal, ob die USB-C-Konnektoren intern eine Streuung haben hinsichtlich Kontaktlänge. Also das war in den letzten Monaten eigentlich kein Problem (auf jeden Fall bei mir nicht), aber jetzt habe ich gerade wieder ein Develboard da, da funktioniert an der Anschlussleitung, mit der ich immer flashe, der Lade-IC schon nicht (blinkt nicht). An einer anderen Anschlussleistung aber schon.

Versuch mal ob ein reines Monitoring über die Serial Schnitstelle funktioniert.
Access Denied sollte es eigentlich nur geben wenn ein anderes Program den Port benutzt. Wenn Monitoring funktioniert ist der Port aber nicht anderweitig in Verwendung. Ich hatte den Fehler unter Windows auch (Auf 3 verschiedenen PCs). Das scheint irgend eine race condition beim esptool zu sein die vermutlich in Kombination mit einem board-Reset getriggert wird.
Versuch es mal mit einem möglichst kurzen Kabel. Bei mir hat es unter Windows damit minimal besser geklappt (kann aber auch einfach nur Zufall gewesen sein).
Flashe mittlerweile aber von einem Linux PC immer mit kurzem Kabel. In der Kombination gibt es dann keine Probleme.
An dem Linux PC bekomme ich mit einem 1,8m USB Kabel gar keine Datenverbindung hin (Serial device wird schon nicht erkannt).

Mein Board habe ich am 21.11. von @biologist bekommen (Falls es da ggf. eine Charge mit Problemen gibt).

Stecke auch noch nicht besonders tief im ESP32 drin und hab keine Ahnung wie das USB-Flashen funktioniert. Bei einem anderen Mikrokontroller hatte ich da mal Ärger mit einer fehlerhaften USB-Booloader Firmware. Ggf. gibt es beim ESP32 da auch verschiedene Bootloader Versionen.

Tatsächlich liegt ihr da ziemlich eng zusammen und es ist sehr wahrscheinlich, dass es die gleiche Charge ist. Aber allgemein passiert das hier immer wieder, dass es insbesondere unter Windows Probleme gibt. Ich flashe alle Boards (via Mac OS) vor - sondern schicke ich hier auf keinen Fall Boards raus, von denen ich nicht weiß, ob man sie flashen kann.

Zunächst einmal tausend Dank für die schnellen Antworten.

Die gute Nachricht:
Der Upload der kompilierten Firmware via OTA hat einwandfrei funktioniert (danke für den Hinweis!)

Zu deinen Punkten @freddy :

  • „versuch mal ob ein reines Monitoring über die Serial Schnittstelle“ => wenn du damit den „Monitor Task“ in PlatformIO meinst: ich erhalte dort keine Fehlermeldungen und einen Output, der mir sagt „Terminal on COM4 | 115200 8-N-1“
  • „kürzeres Kabel“ => ich hatte schon an einer anderen Stelle gelesen, dass unterschiedliche Kabel zu unterschiedlichen Ergebnissen führen können. Ich versuche das mal, wobei es mich schon wundert, dass das aktuelle Kabel beim einem ESP32 funzt und beim anderen nicht.
  • „versuch es mit Linux“ => ich hatte gestern die 64GB SD Karten mit Mint Live formatiert und werde jetzt dann Linux aufsetzen und dort testen

Wenn ich euch richtig verstanden habe, dann macht ihr es nicht über Windows (was echt Sinn macht).

Tausend Dank für eure Hilfe.

Es sieht gut aus, dass Weihnachten kommen kann :slight_smile:

1 „Gefällt mir“

doch klar, läuft bei mir auch ohne Probleme, auch mit div anderen Boards keine Probleme…

Bei mir funktioniert es bei meinem PC (Windows) nur dann, wenn ich einen Kondensator zwischen GND und Reset einbaue. Ist aber abhängig vom PC, ob das nötig ist oder nicht.
Dann aber zuverlässig und ohne Probleme…

Ok. Bei mir ist es jedenfalls sehr komisch. Mit einem ESP nie Probleme und mit dem anderen immer.
Ich versuch dennoch mal mein Glück mit Linux.

Das habe auch schon gelesen, aber das ist mir zu heiß :sweat_smile: Zumal ich derzeit keine Kondensatoren rumliegen habe.

Trotzdem danke für den Hinweis.

Jetzt habe ich eine organisatorische Frage zum Forum (sorry, wahrscheinlich ist die Frage zu viel des Guten):

@biologist 's Hinweis zum Upload über OTA ist ein Workaround der super funktioniert hat. Für mich ist das Dilemma (zumindest bis Weihnachten) behoben, weil ich weitermachen kann. Das eigentliche Problem ist allerdings noch nicht gelöst. Ist es irreführend für andere, wenn ich die Lösung von biologist als „Lösung“ markiere? Alternativ versuche ich noch Linux & Co. nach Weihnachten, damit wir eine echte Lösung (bitte nicht falsch verstehen biologist) haben.

Kleines Update von mir:
Ich hatte noch zwei zusätzliche neue Boards von @biologist bekommen aus einer neueren Charge (z.B. mit bereits bestückter Spule). Die hatten bei mir beide direkt beim erstenmal funktioniert (Ohne jegliche angeschlossenen Komponenten und ohne SD Karte). Hab dann die alte (fertige Box) angeschlossen, selber Fehler wieder, dann alle Komponenten abgezogen und es lief auch dann 3 fach hintereinander Problemlos. nach und nach alle Komponenten wieder angeschlossen, läuft seit dem noch immer, ist ein sehr komisches Verhalten.

Aber um es weiter einzugrenzen würden ich allen anderen Betroffenen mal empfehlen auch alle Komponenten inkl. SD Karte abzuklemmen.

Sobal es bei mir wieder auftritt, werde ich es mit zusätzlichen Kondensatoren an Reset/USB Power/3,3V probieren.