Firmware flash hangs

Hi all,

Tried to update the firmware on my Model 01 and have run into a persistent difficulty. When trying to flash the stock firmware (here: https://raw.githubusercontent.com/keyboardio/Model01-Firmware-Builds/master/v1.22-MP2-BUILD/atmega32u4_firmware.hex)

I get persistent hangs. Pastebin error here: https://pastebin.com/DwjZwfPi

Similar difficulties when I try to flash using the Arduino IDE (1.8.7), errors here: https://pastebin.com/2ndYPhVe

In terms of getting the Keyboardio into the bootloader, plugging in with prog held down “works” insofar as the Arduino IDE sees it, then gives the errors. Equally, hitting the reset button on the firmware gets it into the boot loader, but the errors persist.

I’m running Ubuntu 18.10, the keyboard shows up when I run lsusb:
Bus 003 Device 006: ID 1209:2301 InterBiometrics Keyboardio Keyboardio Model 01

and variously connects as either /dev/ttyACM0 or 1 seemingly at random when it plugs in/gets reset. If that’s the issue, I have no idea how to fix it…

Thoughts greatly appreciated, as I’ve thoroughly tapped my (very limited) knowledge of microcontrollers and I’d rather like to get back to using what has otherwise been the best keyboard I’v ever owned.

Update:

Curiously the the firmware flash worked despite throwing up these errors/hangs. Good news, but odd. If I get to the bottom of it I’ll let you know what happened…

Are you, by any chance, running ModemManager?

yes, and as it turns out disabling it solved my problem.

I don’t use it on my dd, so that won’t be an issue. I do use it to send sms on another laptop, but we’ll cross that bridge if/when we come to it.

thanks for the assist!

You can install etc/99-kaleidoscope.rules as /etc/udev/rules.d/99-kaleidoscope.rules, and that should disable ModemManager for the Model01 only.

2 Likes