From 4210c69b2471ec167f2fbc9d2751ef3299e1fc70 Mon Sep 17 00:00:00 2001 From: Larry Bernstone Date: Sun, 5 Nov 2023 15:53:39 -1000 Subject: [PATCH 1/4] Added troubleshooting doc for USB-CDC --- docs/source/troubleshooting.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index f9135dc4040..6bcb4f363b0 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -123,6 +123,17 @@ Sample code to check SDK WPA3 support at compile time: #warning "No WPA3 support." #endif +Serial not printing +------------------- +I have uploaded firmware to the ESP32 device, but I don't see any response from a Serial.print (HardwareSerial). + +Solution +^^^^^^^^ + +Newer ESP32 variants have two possible USB connectors- USB and UART. The UART connector will go through a USB->UART adapter, and will typically present itself with the name of that mfr (eg, Silicon Labs CP210x UART Bridge). The USB connector can be used as a USB-CDC bridge and will appear as an Espressif device (Espressif USB JTAG/serial debug unit). On Espressif devkits, both connections are available, and will be labeled. ESP32 can only use UART, so will only have one connector. Other variants with one connector will typically be using USB. +If you use the UART connector, you should disable USB-CDC on boot under the Tools menu (-D ARDUINO_USB_CDC_ON_BOOT=0). If you use the USB connector, you should have that enabled and set USB Mode to "Hardware CDC and JTAG" (-D ARDUINO_USB_MODE=0). +USB-CDC may not be able to initialize in time to catch all the data if your device is in a tight reboot loop. This can make it difficult to troubleshoot initialization issues. + SPIFFS mount failed ------------------- When you come across an error like this: From 30db58adc9eae0b97c902c5759f795276dc3f401 Mon Sep 17 00:00:00 2001 From: Larry Bernstone Date: Sun, 5 Nov 2023 15:56:48 -1000 Subject: [PATCH 2/4] Clarification --- docs/source/troubleshooting.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index 6bcb4f363b0..a73d2bbd779 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -131,7 +131,7 @@ Solution ^^^^^^^^ Newer ESP32 variants have two possible USB connectors- USB and UART. The UART connector will go through a USB->UART adapter, and will typically present itself with the name of that mfr (eg, Silicon Labs CP210x UART Bridge). The USB connector can be used as a USB-CDC bridge and will appear as an Espressif device (Espressif USB JTAG/serial debug unit). On Espressif devkits, both connections are available, and will be labeled. ESP32 can only use UART, so will only have one connector. Other variants with one connector will typically be using USB. -If you use the UART connector, you should disable USB-CDC on boot under the Tools menu (-D ARDUINO_USB_CDC_ON_BOOT=0). If you use the USB connector, you should have that enabled and set USB Mode to "Hardware CDC and JTAG" (-D ARDUINO_USB_MODE=0). +If you use the UART connector, you should disable USB-CDC on boot under the Tools menu (-D ARDUINO_USB_CDC_ON_BOOT=0). If you use the USB connector, you should have that enabled (-D ARDUINO_USB_CDC_ON_BOOT=1) and set USB Mode to "Hardware CDC and JTAG" (-D ARDUINO_USB_MODE=0). USB-CDC may not be able to initialize in time to catch all the data if your device is in a tight reboot loop. This can make it difficult to troubleshoot initialization issues. SPIFFS mount failed From 8ca81198f812538de19d1439d019364cc53b107d Mon Sep 17 00:00:00 2001 From: Larry Bernstone Date: Sat, 11 Nov 2023 07:43:00 -1000 Subject: [PATCH 3/4] Change requested by @pedrominatel --- docs/source/troubleshooting.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index a73d2bbd779..6088717e586 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -130,7 +130,7 @@ I have uploaded firmware to the ESP32 device, but I don't see any response from Solution ^^^^^^^^ -Newer ESP32 variants have two possible USB connectors- USB and UART. The UART connector will go through a USB->UART adapter, and will typically present itself with the name of that mfr (eg, Silicon Labs CP210x UART Bridge). The USB connector can be used as a USB-CDC bridge and will appear as an Espressif device (Espressif USB JTAG/serial debug unit). On Espressif devkits, both connections are available, and will be labeled. ESP32 can only use UART, so will only have one connector. Other variants with one connector will typically be using USB. +Newer ESP32 variants have two possible USB connectors- USB and UART. The UART connector will go through a USB->UART adapter, and will typically present itself with the name of that mfr (eg, Silicon Labs CP210x UART Bridge). The USB connector can be used as a USB-CDC bridge and will appear as an Espressif device (Espressif USB JTAG/serial debug unit). On Espressif devkits, both connections are available, and will be labeled. ESP32 can only use UART, so will only have one connector. Other variants with one connector will typically be using USB. Please check in the product [datasheet](https://products.espressif.com) or [hardware guide](https://www.espressif.com/en/products/devkits) to find Espressif products with the appropriate USB connections for your needs. If you use the UART connector, you should disable USB-CDC on boot under the Tools menu (-D ARDUINO_USB_CDC_ON_BOOT=0). If you use the USB connector, you should have that enabled (-D ARDUINO_USB_CDC_ON_BOOT=1) and set USB Mode to "Hardware CDC and JTAG" (-D ARDUINO_USB_MODE=0). USB-CDC may not be able to initialize in time to catch all the data if your device is in a tight reboot loop. This can make it difficult to troubleshoot initialization issues. From 72e681f46e22f09f77cfd669551f798a1466a213 Mon Sep 17 00:00:00 2001 From: pedrominatel Date: Thu, 16 Nov 2023 09:30:49 +0000 Subject: [PATCH 4/4] Fixed the title level issue --- docs/source/troubleshooting.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index 6088717e586..b80b50203db 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -124,7 +124,8 @@ Sample code to check SDK WPA3 support at compile time: #endif Serial not printing -------------------- +******************* + I have uploaded firmware to the ESP32 device, but I don't see any response from a Serial.print (HardwareSerial). Solution