Grub and keyboardio arrow keys not working

question
(Sam H) #1

Greetings all,

When booting up and landing at the grub menu, the fn + h/j/k/l keys (for arrows) do not work. Has anyone already done work on diagnosing the problem here? I’ve had to plug in an alternate keyboard to boot different kernels or operating systems.

Thanks!
Sam

1 Like

(Gergely Nagy) #2

Hi!

The root cause of the problem is that Grub wants to talk the “boot” protocol with the keyboard (a fairly simple protocol the keyboard uses to report to the host which keys are pressed, etc). The firmware Model01s ship with had only rudimentary support for the protocol, which didn’t work quite well with Grub. This should be fixed since.

Can you try upgrading your firmware to the latest version from git? If you don’t want to compile anything, you can use Chrysalis to flash an updated firmware onto your keyboard.

0 Likes

(Sam H) #3

Hi Gergely,

I’ve flashed the firmware (output below) but the grub problem persists. Interestingly, Chrysalis never moved past the initial “connect” window on Linux or Windows. From the command line, here’s the firmware update:

[root@localhost Model01-Firmware]# make flash
BOARD_HARDWARE_PATH="/root/Arduino/hardware" /root/Arduino/hardware/keyboardio/avr/libraries/Kaleidoscope/bin//kaleidoscope-builder flash
Building ./Model01-Firmware 0.0.0-g
v1.22-61-g5c77 into /tmp/kaleidoscope-sam/sketch/550275-Model01-Firmware.ino/output...
- Size: firmware/Model01-Firmware/Model01-Firmware-0.0.0-g
v1.22-61-g5c77.elf
  - Program:   26364 bytes (92.0% Full)
  - Data:       1435 bytes (56.1% 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

The version (0.0.0-g) stood out to me but I did confirm the source from github was most current.

Best,
Sam

0 Likes

(Gergely Nagy) #4

Shoot, looks like I have some work to do to figure out if we can automatically fall back to boot proto for Grub. Meanwhile, you can try pressing Left Fn + Esc + Shift either at the Grub prompt, or between the computer booting up and getting to the Grub prompt. That will force the keyboard into boot protocol mode.

0 Likes

#5

Thank you for asking ! I wanted to ask this question for over a week. But you know, procrastination… :smiley:

0 Likes

(Sam H) #6

All good! Also @algernon’s solution above (Left Fn + Esc + Shift) does do exactly what he described and allows you to navigate the grub menu easily. It would, of course, be nice to have it working in the firmware but looks like our guy is working on it. :slight_smile:

0 Likes