Keyboard not responding after flashing firmware


(Alberto Salmerón Moreno) #1

Today I tried to update the firmware on my Model 01 for the first time, to try to solve a couple of issues that seem to be fixed in newer versions. I followed these instructions (both command-line and Arduino IDE), but after the firmware is uploaded (with no apparent errors) the keyboard does not respond anymore.

This is the output of make flash:

BOARD_HARDWARE_PATH="/Users/salmeron/Documents/Arduino/hardware" /Users/salmeron/Documents/Arduino/hardware/keyboardio/avr/libraries/Kaleidoscope/bin//kaleidoscope-builder flash
Building output/Model01-Firmware/Model01-Firmware (0.0.0-gv1.22-51-gf272) ...
- Size: firmware/Model01-Firmware/Model01-Firmware-0.0.0-gv1.22-51-gf272.elf
  - Program:   24982 bytes (87.1% Full)
  - Data:       1416 bytes (55.3% Full)

To update your keyboard's firmware, hold down the 'Prog' key on your keyboard,
and then press 'Enter'.

When the 'Prog' key glows red, you can release it.


Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

After pressing PROG and Enter, the keys in the left half of the keyboard start flashing red in sequence, a bit faster each time. It does four “passes”, and on the fourth it stops on the “X”, which is lit red for a couple of seconds before the keyboard goes completely dark. After that there’s no additional output in the command line and “make flash” simply terminates.

The keyboard does not register any input as far as I know, e.g. the “LED” key does nothing. Also the “LED” key does not light up blue after reconnecting the keyboard, which it used to do, but a few random keys across both halves light up with random colors.

Any idea on what might be the problem? Thanks in advance!


(Gergely Nagy) #2

Are you using the Colormap plugin, by any chance?


(Alberto Salmerón Moreno) #3

I’m using the firmware straight from Github with no customizations. I’m completely new to firmware updating (or develpment). How do I know if I’m using that plugin? “rg Colormap” in my “Model01-Firmware” working copy returned zero results.


(Gergely Nagy) #4

In that case, no, you’re not. The easiest way to check what plugins you are using is to look at the #include "Kaleidoscope-$foo.h" lines at the top. Almost every such include is a plugin.

Does your OS log any errors when you connect the keyboard (I’m afraid I have no idea where OSX stores logs, or how to access them)? Does it notify you about using too much power, by any chance?


(Alberto Salmerón Moreno) #5

I’m not sure where to look either… I’ve checked dmesg (a message appears when connecting the keyboard), /var/log/system.log (no mentions to USB, Model 01, Keyboardio…), and searching in the Console app (which tracks some logs and reports).

The System Information app shows the Model 01 connected to a USB port:

image

Power does not seem to be an issue judging by that screen.


(Gergely Nagy) #6

Can you try giving the default firmware in Chrysalis (either the 0.3.3 or the latest build) a try? It’s the default firmware with no modifications, but pre-compiled, and I’ve seen OSX work with that firmware. Doing this would help us narrow down where the issue might be.


(Alberto Salmerón Moreno) #7

I forgot to mention I already tried installing Chrysalis (0.3.3 + 44 default), but the result is the same. The app says “Firmware flashed successfuly!”, but the keyboard does not respond. When the keys flash in sequence during the update, the sequence ends much sooner (if that’s any help).


(Gergely Nagy) #8

Can you try this firmware? This is the default that ships on the keyboard, you should be able to flash it with Chrysalis.

If this works, then we broke something inbetween. If it doesn’t work either, then it is likely not a firmware issue.


(Alberto Salmerón Moreno) #9

I had to flash it twice, but it worked!

If it’s any indication, I also tried the previous firmware from master (f3f687ed63) but to no avail. The one before that does not compile (due to removal of deprecated APIs I guess).


(Gergely Nagy) #10

Sweet, so it is a firmware issue, that’s easier to fix. I’ll try reproducing the problem on my Mac Mini, and see where that leads. Can you please file an issue on the Kaleidoscope repo on GitHub in the meantime? That’ll help us with not forgetting about the issue.


(Alberto Salmerón Moreno) #11

Sure! Here’s the new issue: https://github.com/keyboardio/Kaleidoscope/issues/558

And thanks for making my Keyboardio come back to life!


(Jesse) #12

We’ve figured out what’s wrong and should have a Kaleidoscope update shortly.


(Gergely Nagy) #13

This was an embarrassing mistake, sorry about that! The fix is now on Kaleidoscope master, and I just pushed a commit to Kaleidoscope that has the shipped firmware updated too. Once our builders are finished with it, the new snapshot will be available (in about 20 minutes or so, I guess), with a fix included for this issue.

If anyone’s interested #558 has an explanation, and a workaround too.


(Alberto Salmerón Moreno) #14

Keyboard updated and working with the latest firmware. Thank you!