I've tried on a Firebeetle2 board from DFrobot, and a ESP32-wroom devkit32.
There is nothing wrong with the hardware. I've tried 6 Firebeetles and 3 wrooms.
There is nothing wrong with the wiring. I've tried many cables. All cables I used work on other machines as well. I have confirimed there is nothing wrong there. I'm certain it's not a fault of an USB port or cable.
I have used all usb ports on my laptop. None work. The boards are receicing sufficient power. And they work accordingly. I'm certain of this.
When I upload from a different laptop, it does work. So the problem lies with my laptop.
The boards say "A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)!"
When I short pins 2, 12 and 15 to, LOW, LOW HIGH on the ESP-32. and press the reboot button during upload. It DOES work and the upload commences! It's very frustrating to keep manually shorting the ESP for every upload. So I want it to work like it's supposed to and upload without shorting the pins.
During uploads COM ports are recognised correctly.
I'm using VSC Platformio on Win 11. Windows drivers are up to date.
The platformio.ini file is set up correctly. This file and codebase has been used on many devices, It just doesn't work on mine.
I've tried creating many projects, none work. I've even tried different programming environments such as the Arduino IDE. None work.
This is a new laptop, and it has never worked on this machine. It does work on every other machine.
I've done some additional testing. And it seems I can actually upload from platformio by bridging GPIO 0 to GND. Still frustrating to do that every time I need to upload but at least I got it working again!