SparkFun SAMD21 Pro RF - Cannot upload new code - Device descriptor request failed

When I connect my SAMD21 Pro RF to my computer, no COM port shows up. In the device manager, I see “Unknown USB Device (Device Descriptor Request Failed)” Previously it was working without problem. I suspect a failed upload and some sort of corruption. I have tried connecting and double clicking the RST to enter bootloader mode, but it is still not recognized.

Tried multiple computers and a second SAMD21 Pro RF (successful upload on the second device).

Any ideas?

It might be in the wrong bootloader mode - https://learn.sparkfun.com/tutorials/sa … leshooting try this, then go through this one after https://learn.sparkfun.com/tutorials/sp … -need-them which has drivers that might repair the ports

Hope this helps!

I have the same issue of not being able to connect my SAMD21 RF Pro to my computer, but with perhaps some additional information.

I’m connecting to a Mac OSX running Catalina, 10.15.7. I have two SAMD21 Pro RF boards. Neither one of them shows up as ports in the Arduino IDE, and “ls /dev” doesn’t show the cu.usbmodem device. If I connect an Arduino Uno using the same cable, the IDE sees it as the port to use and “ls /dev” shows cu.usbmodem1444401 (which is what the IDE uses).

One SAMD21 board lights the blue LED when I press the reset button twice, but the code still doesn’t download from the IDE. The second one doesn’t light the LED (and doesn’t download the code), so I’m presuming that trying to force that second one into boot mode doesn’t work.

I’m running Arduino IDE 1.8.13.

I’m running "Sparkfun SAMD Boards 1.8.3, though I’ve also tried 1.8.1 with the same result.

I’m pretty sure I had these both running off my Mac about a year ago before I had to suspend my LoRaWAN project. It’s possible that I updated to Catalina from whatever was before it since then --I just can’t recall the timing of that update. But since the Uno works, it seems like it’s not the problem Apple usually causes with major release updates.

I’ve worked through the steps in the two links TS-Russell provide above – several times now – but with no success.

Any suggestions for additional things I should try? Or is there a known incompatibility with Catalina?

No resolution but additional info. I downloaded and installed 1.8.19 from the arduino.cc site to my Mac Mini and got the same result: doesn’t see the port.

On an older Macbook Air, running Big Sur 11.6.3, I installed Arudino IDE 2.0.0-rc3, and again the IDE didn’t see the port nor did it show up in “ls /dev”.

On a Raspberry Pi 4B, running Bullseye aarch64, “ls /dev” shows ttyAMA0, and the Arduino IDE 1.8.13 does see the port and is prepared to compile for the Sparkfun SAMD21 Pro RF board, but attempting to compile & upload gives

Index error: could not find referenced tool name=xtensa-esp32-elf-gcc version=1.22.0-80-g6c4433a-5.2.0 packager=esp32

Index error: could not find referenced tool name=esptool_py version=2.6.1 packager=esp32

Index error: could not find referenced tool name=mkspiffs version=0.2.3 packager=esp32

and

fork/exec /bin/arm-none-eabi-g++: no such file or directory

Error compiling for board SparkFun SAMD21 Pro RF.

which I believe indicates that the OS version is ahead of the Arduino IDE compiler and/or architecture (probably a 32-bit/64-bit issue, but I can’t revert to 32-bit on this one).

Downloading the 1.8.19 IDE from Linux ARM 64-bit from the arduino.cc site, I get the same set of messages.

Oh, and I found that the pulsing blue LED does light up on the second board when I press the reset twice: it’s just a very faint light. So it appears that both boards are functioning, but I can’t upload any code to them.

Thoughts about other things I might try? I’m kinda out of thoughts.

Looks like the problem results from missing support software that hasn’t been updated and/or distributed.

I found an old drive with Buster on it and so booted a Pi-3 (actually a Pi Zero 2 W, which has a 3B processor). Tried unsuccessfully to compile and load a SAMD21 program, and then removed that Pi version of arduino IDE (2.something – couldn’t set the preference for addition URL for boards). Downloaded IDE 1.8.19 for 32-bit ARM linux from the arduino.cc site and installed it using its install.sh script. Installed the Sparkfun SAMD Boards, v 1.8.6, and got messages that it could not find referenced tools esptool_py, xtensa-lx106-elf-gcc, xtensa-esp32-elf-gcc, & mcspiffs.

Compiled a little program OK, but upload gave the error message

java.io.IOException: Cannot run program “{runtime.tools.bossac-1.7.0-arduino3.path}/bossac”: error=2, No such file or directory

Put the SAMD21 into bootloader mode and tried again, and I got the same message.

Replaced the SAMD21 with an Arduino Uno, selected /dev/ttyacm0 (rather than the /dev/ttyama0 device) as the port and Uno as the device, and I compiled and uploaded “blink” with no problems.

So, whatever creates the /dev/ttyACM0 device for the SAMD21 (the second USB serial device – the /dev/ttyAMA0 device is there) appears not to be in the distributed package – and I have no idea where it comes from. I tried to “apt-get” it on the Pi with no success. That appears to be the issue for the more recent Raspberry Pi OS release (Bullseye), too, since I was only offered one port to connect to on that system as well.

But I think that’s as far as I can get with the resources at hand. Any thoughts about how I can find the missing pieces?