Skip to content

FeatherS2 USB CDC driver not working after uploading code in Arduino IDE #5078

Closed
@cversek

Description

@cversek

Hardware:

Board: UM FeatherS2
Core Installation version: 2.0.0-alpha1
IDE name: Arduino IDE 1.8.7
Flash Frequency: 40Mhz
Serial Connected to: USB CDC
PSRAM enabled: yes
Upload Speed: 115200
Computer OS: 5.4.0-72-generic #80-Ubuntu SMP Mon Apr 12 17:35:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Description:

Use blink sketch as test of Arduino code uploading. First put device into firmware upload mode (hold BOOT button, push and release RST), serial port shows up as /dev/ttyACM0, then device can be flashed. Pushing RST is necessary to reset the board. Blink is working! However, /dev/ttyACM* is now missing :(
This the relevant dmesg output:

[ 3008.893615] usb 1-5: new full-speed USB device number 21 using xhci_hcd
[ 3009.043894] usb 1-5: New USB device found, idVendor=303a, idProduct=0002, bcdDevice= 7.23
[ 3009.043899] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3009.043903] usb 1-5: Product: ESP32-S2
[ 3009.043905] usb 1-5: Manufacturer: Espressif
[ 3009.043907] usb 1-5: SerialNumber: 0
[ 3009.046647] cdc_acm 1-5:1.0: ttyACM0: USB ACM device
[ 3019.049139] usb 1-5: USB disconnect, device number 21
[ 3019.729459] usb 1-5: new full-speed USB device number 22 using xhci_hcd
[ 3019.880020] usb 1-5: config 1 has no interfaces?
[ 3019.881358] usb 1-5: New USB device found, idVendor=239a, idProduct=80ab, bcdDevice= 1.00
[ 3019.881409] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3019.881413] usb 1-5: Product: FeatherS2
[ 3019.881416] usb 1-5: Manufacturer: Unexpected Maker
[ 3019.881418] usb 1-5: SerialNumber: 7c:df:a1:03:4e:74

Sketch:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

// Pin 13 has an LED connected on most Arduino boards.
// Pin 11 has the LED on Teensy 2.0
// Pin 6  has the LED on Teensy++ 2.0
// Pin 13 has the LED on Teensy 3.0
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Debug Messages:

Enable Core debug level: Debug on tools menu of Arduino IDE, then put the serial output here 

Sorry, no serial output is visible because of the issue.
Here is the Arduino terminal output:

WARNING: Category '' in library ESP RainMaker is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library WiFiProv is not valid. Setting to 'Uncategorized'
Sketch uses 216706 bytes (10%) of program storage space. Maximum is 2097152 bytes.
Global variables use 13968 bytes (4%) of dynamic memory, leaving 313712 bytes for local variables. Maximum is 327680 bytes.
esptool.py v3.1-dev
Serial port /dev/ttyACM0
Connecting....
Chip is ESP32-S2
Features: WiFi, ADC and temperature sensor calibration in BLK2 of efuse
Crystal is 40MHz
MAC: 7c:df:a1:03:4e:74
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 16MB
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 903.0 kbit/s)...
Hash of data verified.
Flash params set to 0x024f
Compressed 13616 bytes to 9362...
Writing at 0x00001000... (20 %)
Writing at 0x00001c33... (40 %)
Writing at 0x0000278a... (60 %)
Writing at 0x00003299... (80 %)
Writing at 0x00003e9c... (100 %)
Wrote 13616 bytes (9362 compressed) at 0x00001000 in 0.2 seconds (effective 576.3 kbit/s)...
Hash of data verified.
Compressed 216832 bytes to 122508...
Writing at 0x00010000... (1 %)
Writing at 0x00011348... (3 %)
Writing at 0x0001267c... (5 %)
Writing at 0x00014172... (6 %)
Writing at 0x00015ac8... (8 %)
Writing at 0x00016ef4... (10 %)
Writing at 0x00018718... (11 %)
Writing at 0x0001abbc... (13 %)
Writing at 0x0001c5bc... (15 %)
Writing at 0x0001d605... (16 %)
Writing at 0x0001df55... (18 %)
Writing at 0x0001e855... (20 %)
Writing at 0x0001f254... (21 %)
Writing at 0x0001fdef... (23 %)
Writing at 0x00020aba... (25 %)
Writing at 0x00021656... (26 %)
Writing at 0x00022085... (28 %)
Writing at 0x00022a33... (30 %)
Writing at 0x0002348c... (31 %)
Writing at 0x00023e05... (33 %)
Writing at 0x0002472e... (35 %)
Writing at 0x0002516f... (36 %)
Writing at 0x00025bac... (38 %)
Writing at 0x000267a4... (40 %)
Writing at 0x000271ed... (41 %)
Writing at 0x00027af5... (43 %)
Writing at 0x000285f2... (45 %)
Writing at 0x000290bc... (46 %)
Writing at 0x00029aac... (48 %)
Writing at 0x0002a48f... (50 %)
Writing at 0x0002af6b... (51 %)
Writing at 0x0002b9fb... (53 %)
Writing at 0x0002c3d7... (55 %)
Writing at 0x0002ce01... (56 %)
Writing at 0x0002d8a8... (58 %)
Writing at 0x0002e3ea... (60 %)
Writing at 0x0002ef01... (61 %)
Writing at 0x0002f9f8... (63 %)
Writing at 0x0003044c... (65 %)
Writing at 0x00030fb2... (66 %)
Writing at 0x000325a0... (68 %)
Writing at 0x0003354e... (70 %)
Writing at 0x0003475e... (71 %)
Writing at 0x00035b68... (73 %)
Writing at 0x00037eeb... (75 %)
Writing at 0x000390cf... (76 %)
Writing at 0x00039a7d... (78 %)
Writing at 0x0003a3e0... (80 %)
Writing at 0x0003cb71... (81 %)
Writing at 0x0003d5c3... (83 %)
Writing at 0x0003e018... (85 %)
Writing at 0x0003eb96... (86 %)
Writing at 0x0003f602... (88 %)
Writing at 0x00040093... (90 %)
Writing at 0x00040b41... (91 %)
Writing at 0x0004161c... (93 %)
Writing at 0x00042322... (95 %)
Writing at 0x0004301b... (96 %)
Writing at 0x00043907... (98 %)
Writing at 0x00044402... (100 %)
Wrote 216832 bytes (122508 compressed) at 0x00010000 in 1.9 seconds (effective 889.8 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 125...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (125 compressed) at 0x00008000 in 0.0 seconds (effective 659.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
ERROR: ESP32-S2 chip was placed into download mode using GPIO0.
esptool.py can not exit the download mode over USB. To run the app, reset the chip manually.
To suppress this error, set --after option to 'no_reset'.
To suppress this error, set --after option to 'no_reset'.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions