If your Sparkfun Pro Micro or other USB-connected AVR microcontroller seems to flake out partially through an avrdude firmware upload almost every damn time, but it has no trouble when you use an ISP programmer to write the firmware:

Try uninstalling "modemmanager"

If that works, there's some udev rules that will make modemmanager ignore the device so you can safely reinstall it, but I haven't quite figured them out yet.


I figured out the udev rule needed to flash a Pro Micro.

# /etc/udev/rules.d/81-promicro.rules
SUBSYSTEM=="usb|tty", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_CANDIDATE}="0"

Setting ID_MM_DEVICE_IGNORE like the whole internet tells you to was not good enough!

Critically, ID_MM_CANDIDATE has to be set to 0 on the tty device in a rules file named 81-something.rules, to undo it being set to 1 in /lib/udev/rules.d/80-mm-candidate.rules (whyyy)

Sign in to participate in the conversation

cybrespace: the social hub of the information superhighway

jack in to the mastodon fediverse today and surf the dataflow through our cybrepunk, slightly glitchy web portal