USB Wireless Keyboard not working at boot, but works in BIOS

When I install Manjaro using the live ISO, I can use the UBS wireless keyboard on boot menu. Even after install it works great. As soon as I run update-grub or install a new kernel (which runs grub-install), I can no longer use the USB keyboard to select the desired boot option. This being a laptop I can still use the built-in keyboard, without problems.

The keyboard is perfectly usable in BIOS.

Does anyone have an idea what I can do to keep being able to use the keyboard during boot menu?

I’m using grub, everything is up to date, using KDE. I have tried connecting the keyboard to the always-on USB port, connecting it via a hub, etc. Nothing changes. (it worked in any configuration before running the first grub-install/update-grub).
inxi output:

 Host: nak Kernel: 6.6.30-3-MANJARO arch: x86_64 bits: 64 compiler: gcc
    v: 14.1.1 clocksource: hpet avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    root=UUID=61458c95-b3dd-44e0-8845-7acfaec121dd rw quiet splash
    udev.log_priority=3 video=eDP-1:1024x768
  Desktop: KDE Plasma v: 6.0.4 tk: Qt v: N/A info: frameworks v: 6.2.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Manjaro base: Arch Linux
...
Device-2: 1-1.4.3:9 info: Logitech Unifying Receiver
    type: keyboard,mouse,HID driver: logitech-djreceiver,usbhid interfaces: 3
    rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 98mA
    chip-ID: 046d:c52b class-ID: 0300

I’ve tried switching to the unstable branch, nothing changed (currently still on unstable).

Keyboard model is Logitech MX Keys.

EDIT: Once Manjaro loads, the keyboard works perfectly (at login screen also), just at grub boot screen I cannot select the desired boot option.

Edit your /etc/mkinitcpio.conf and place the keyboard hook before autodetect.

Note: For systems that are booted with different hardware configurations (e.g. laptops with external keyboard vs. internal keyboard or headless systems), this hook needs to be placed before autodetect in order to be able to use the keyboard at boot time, for example to unlock an encrypted device when using the encrypt hook.

mkinitcpio - ArchWiki

2 Likes

Hi @Yochanan, thanks for your reply. I made the change and ran update-grub, but it did not help:

##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr and fsck hooks.
HOOKS=(base udev keyboard autodetect kms modconf block keymap consolefont plymouth filesystems fsck)

I think I need to access the keyboard before boot. The grub boot menu is shown before the OS is selected. It must have something to do with grub and not any setting inside the OS I think.

EDIT: this got me thinking so I added usb_keyboard in /etc/default/grub, then ran update-grub again:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash udev.log_priority=3 video=eDP-1:1024x768"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos  usb_keyboard"

but this also did nothing.

Edit2: i tried adding the at_keyboard and usb modules too. also i added them to the GRUB_TERMINAL_INPUT variable:

GRUB_PRELOAD_MODULES="part_gpt part_msdos at_keyboard usb_keyboard usb"
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console,usb_keyboard,at_keyboard

Have you run sudo mkinitcpio -P before update-grub?

I did it now, then reran update-grub. no success. What bugs me is that the live iso for example allows me to use the usb keyboard to select boot options, so I definitely know it is possible. I’ve checked the grub config in the live iso and didn’t see anything different that seemed relevant.

Check your BIOS for any Legacy USB options, and enable them if they exist. Additionally, if there is a Fast Boot option in your BIOS, disable that.

See if this makes any difference.

You might also try different USB ports for the Logitech receiver; try USB2, for example; or a USB connector at the back of the machine.

Cheers.

1 Like

The laptop does not have any USB related options in BIOS. They have pared down the features one is able to control via BIOS on the new Lenovo machines. Advanced settings are also no longer available via hidden keys combo.
I tried every port. Interesting thing, when booting straight out fo bios (F10 save and exit), when reaching the grub menu the keyboard is usable. This seems to point out a hardware issue, however, I’m not sure why the keyboard was available in grub menu until the first update-grub.