MKR WiFi 1010 - unable to enumerate USB device

So, I think I may have a dead MKR WiFi 1010. It was working for a bit but now it is not recognized by 2 separate computers with either Ubuntu or Windows 10. I've been testing with the MKR Relay Board and trying to create a project for the Arduino MKR for element14 but the MKR WiFi 1010 is no longer seen by my computers or the Arduino IDE thus I can not upload sketches to it any more. Powering on the board with the Reset button pressed has not reset the board so I was curious if there was another way to clear any nasties in the board to get it working again.

This is what I see when connecting the board to Ubuntu:

[38157.748110] usb 2-7.2: new full-speed USB device number 29 using ehci-pci
[38158.164116] usb 2-7.2: device not accepting address 29, error -32
[38158.164231] usb 2-7-port2: unable to enumerate USB device

The same cable connection works fine with a MKR1000 but not with the 1010. I've also tried different USB cables with the same results.

Anyone else run into this?

Cheers,

Okay, I think I solved the issue.

So I went back to find some old postings on the Arduino community forum and found a post I made some time back for the MKR1000. There was a recommendation to double press the Reset switch on the MKR1000 when it was plugged in but that did not seem to fix the issue with the MKR1000. However, when I did this with the MKR WiFi 1010 the USB connection enumerated and the device appeared again in the Arduino IDE from which I was able to load the basic blink sketch. I'm not sure what happened to the board to get it in that bad state but it seems to be working now. Strange.

[48235.471736] usb 2-4.2: reset high-speed USB device number 5 using ehci-pci
[48251.147579] usb 2-4.4: new full-speed USB device number 37 using ehci-pci
[48251.257591] usb 2-4.4: New USB device found, idVendor=2341, idProduct=0054
[48251.257596] usb 2-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[48251.257604] usb 2-4.4: Product: Arduino MKR WiFi 1010
[48251.257606] usb 2-4.4: Manufacturer: Arduino LLC
[48251.257995] cdc_acm 2-4.4:1.0: ttyACM0: USB ACM device
[48262.446969] usb 2-4.4: USB disconnect, device number 37
[48266.251429] usb 2-4.4: new full-speed USB device number 38 using ehci-pci
[48266.361469] usb 2-4.4: New USB device found, idVendor=2341, idProduct=0054
[48266.361474] usb 2-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[48266.361476] usb 2-4.4: Product: Arduino MKR WiFi 1010
[48266.361479] usb 2-4.4: Manufacturer: Arduino LLC
[48266.361808] cdc_acm 2-4.4:1.0: ttyACM0: USB ACM device
[48387.375265] usb 2-4.4: USB disconnect, device number 38
[48388.114333] usb 2-4.4: new full-speed USB device number 39 using ehci-pci
[48388.230517] usb 2-4.4: New USB device found, idVendor=2341, idProduct=8054
[48388.230521] usb 2-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[48388.230524] usb 2-4.4: Product: Arduino MKR WiFi 1010
[48388.230527] usb 2-4.4: Manufacturer: Arduino LLC
[48388.230529] usb 2-4.4: SerialNumber: 8BB0B9FE5150415352202020FF122B0C
[48388.231497] cdc_acm 2-4.4:1.0: ttyACM0: USB ACM device

Maybe this would help anyone else who may run into this in the future.

Cheers,

Jon

It is quite a well known trick and can often be use to clean out an errant sketch...

Most OS will see a new COM PORT for that device and using the new com port as the primary upload should also then revert it back to its original one.

The same trick can be applied to most other boards too.

I've had a similar problem today. Mine seems to occur when I started looking into the Nina update. I posted a comment to an issue on GitHub here:

For me, to resolve the problem - forcing code onto the MKR-1010 with the Atmel ICE seemed to resolve when the USB init was called on the board, specifically here:

/*
 * \brief Main entry point of Arduino application
 */
int main( void )
{
  init();

  __libc_init_array();

  initVariant();

  delay(1);
#if defined(USBCON)
  USBDevice.init();
  USBDevice.attach();
#endif