mkinitcpio-bluetooth icon indicating copy to clipboard operation
mkinitcpio-bluetooth copied to clipboard

[report] Working configuration for Intel Wifi+BT card

Open leonghui opened this issue 11 months ago • 2 comments

Firstly thank you for this excellent repo. This is not an issue, just documenting what I did to unlock ZFS native encryption with my Bluetooth keyboard.

Hardware: MSI B450I GAMING PLUS AC 26:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)

Bluetooth device: Cooler Master CK721 Mechanical Gaming Keyboard

After setting up according to the README, journalctl -b -g bluetooth shows multiple errors:

Details
...
Mar 10 12:04:38 archlinux kernel: bluetooth hci0: Direct firmware load for intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq failed with error -2
Mar 10 12:04:38 archlinux kernel: Bluetooth: hci0: failed to open Intel firmware file: intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq (-2)
Mar 10 12:04:38 archlinux kernel: bluetooth hci0: Direct firmware load for intel/ibt-hw-37.8.bseq failed with error -2
Mar 10 12:04:38 archlinux kernel: Bluetooth: hci0: failed to open default fw file: intel/ibt-hw-37.8.bseq
Mar 10 12:04:38 archlinux kernel: Bluetooth: MGMT ver 1.22
Mar 10 12:04:38 archlinux kernel: Bluetooth: hci0: Unable to create CMAC crypto context
  1. Adding the missing firmware file in /etc/mkinitcpio.conf fixed the first issue (verify that the firmware file exists, mine is a compressed zst archive)

FILES=(/usr/lib/firmware/intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq.zst)

  1. Adding the cmac module in /etc/mkinitcpio.conf fixed the second issue MODULES=(cmac)

  2. At this point, the keyboard connects successfully but no input can be captured.

  3. After rebooting into an Arch rescue shell, running /usr/lib/bluetooth/bluetoothd -n -d revealed an additional error input-hog profile accept failed for XX:XX:XX:..., which brought me to this Bluez issue.

  4. Finally, adding uhid to the MODULES list got everything working: MODULES=(cmac uhid)

leonghui avatar Mar 10 '24 13:03 leonghui

Same success with newer hardware, this time using the mkinitcpio bluetooth hook in ZFSBootMenu: 04:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)

MODULES=(cmac uhid)
HOOKS=(base udev autodetect modconf block filesystems keyboard bluetooth zfsbootmenu)

Don't forget to rebuild using: # generate-zbm

leonghui avatar Mar 10 '24 14:03 leonghui

Hi @leonghui and thank you very much for this contribution to the documentation. I have created an appropriate issue label and will keep this one open so people can see it rigth away when troubleshooting.

irreleph4nt avatar Mar 10 '24 15:03 irreleph4nt