Problem: when I connect my SparkFun Pro Micro, I get the prompt and connect it to Linux. It shows up in lsusb, but there is no /dev/tty port for it, so I can’t access it to flash it.
Here’s the output from lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Any idea how I can get this to show up as a /dev/ttyUSB? Or is there some other way I should be connecting to it to flash it?
This is likely to be an issue with the /dev listings coming from the custom linux kernel; perhaps try poking around Chromebook forums for advice on their implementations
I would try flashing it from a different computer, running a native OS
recently, I bought 2 Pro Micros and with one of them I also have the issue that no TTY is showing up (trying to upload the “blinkies” test code from the tutorial page via Arduino IDE).
My PC is running an up-to-date Arch Linux with Linux kernel 5.15.7. Since one Pro Micro is working as expected, I would rule out an issue with the /dev listing as mentioned in the second post.
What’s interesting for me is that the dmesg output differs between the two boards, see below. Vendor/ProductId seem to be wrong just like for the thread opener.
dmesg output for working Pro Micro:
[ 1182.588020] usb 3-6: new full-speed USB device number 21 using xhci_hcd
[ 1182.731476] usb 3-6: New USB device found, idVendor=1b4f, idProduct=9206, bcdDevice= 1.00
[ 1182.731490] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1182.731496] usb 3-6: Product: SparkFun Pro Micro
[ 1182.731500] usb 3-6: Manufacturer: SparkFun
[ 1182.733488] cdc_acm 3-6:1.0: ttyACM0: USB ACM device
Not working Pro Micro:
[ 1067.835631] usb 3-6: new full-speed USB device number 20 using xhci_hcd
[ 1067.978310] usb 3-6: New USB device found, idVendor=03eb, idProduct=2ff4, bcdDevice= 0.00
[ 1067.978325] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1067.978331] usb 3-6: Product: ATm32U4DFU
[ 1067.978335] usb 3-6: Manufacturer: ATMEL
[ 1067.978339] usb 3-6: SerialNumber: 1.0.0
Double clicking the reset just reconnects the device with the same output.
Is there a way to get this Pro Micro to work or should I send it back to the retailer?
First I burned the bootloader to the Pro Micro using the method with the Arduino as ISP. Afterwards, the dmesg output changed. The manufacturer was now “SparkFun” and the device “Pro Micro 5V” with an product-id of 9205. This was different compared to the other Pro Micro, but since a TTY appeared, I didn’t bother too much.
But, well, trying to load the test code to the device did not work. avrdude reported an “Input/Output error” on that port. So, no luck with that.
Next, I booted up an old Windows-PC and plugged the Pro Micro in. It first showed up as “Sparkfun Pro Micro 5V” in the device manager. After installing the drivers, it showed up as “Sparkfun Pro Micro bootloader (COM X)” (or something like that). Trying to upload the test code to this COM port via the Windows Arduino IDE worked.
Then, I plugged the Pro Micro back into the Linux-PC. dmesg now shows the identical information as the other Pro Micro. Also, uploading programs to the Pro Micro in Linux works now, too.
It would be nice if there was a way to do this without having to rely on Windows, but at least it seems to work now as it should.