mkinitcpio-bluetooth
mkinitcpio-bluetooth copied to clipboard
Intel Wireless-AC 9462 and Arch linux. Need help
Hello,
I encrypted my /home directory with dm-crypt and now there is a password request at boot. My Logitech K380 Bluetooth keyboard doesn't connect until Xfce is loaded. Google search comes up with this [url=https://aur.archlinux.org/packages/mkinitcpio-bluetooth/]AUR[/url] and this link to GitHub [url=https://github.com/irreleph4nt/mkinitcpio-bluetooth] link [/url]. I followed all steps described but still can't get my Bluetooth module up during boot.
I am running MSI Z390 GAMING EDGE AC with Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP) on board.
lsusb output:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 248a:8514 Maxxter Wireless Receiver
Bus 001 Device 003: ID 1462:1720 Micro Star International MYSTIC LIGHT
Bus 001 Device 011: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
Bus 001 Device 005: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLAN Adapter
Bus 001 Device 002: ID 2109:2817 VIA Labs, Inc. USB2.0 Hub
Bus 001 Device 010: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
Bus 001 Device 009: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsmod | grep btusb output:
btusb 65536 0
btrtl 28672 1 btusb
btbcm 24576 1 btusb
btintel 45056 1 btusb
bluetooth 749568 33 btrtl,hidp,btintel,btbcm,bnep,btusb
sudo dmesg | grep Bluetooth output:
[ 0.913971] Bluetooth: Core ver 2.22
[ 0.913978] NET: Registered PF_BLUETOOTH protocol family
[ 0.913978] Bluetooth: HCI device and connection manager initialized
[ 0.913980] Bluetooth: HCI socket layer initialized
[ 0.913981] Bluetooth: L2CAP socket layer initialized
[ 0.913982] Bluetooth: SCO socket layer initialized
[ 0.916670] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 0.916672] Bluetooth: HIDP socket layer initialized
[ 0.918871] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 0.918872] Bluetooth: BNEP filters: protocol multicast
[ 0.918873] Bluetooth: BNEP socket layer initialized
[ 1.019968] random: bluetoothd: uninitialized urandom read (4 bytes read)
[ 3.328687] Bluetooth: hci0: Found device firmware: intel/ibt-17-16-1.sfi
[ 3.328708] Bluetooth: hci0: Boot Address: 0x40800
[ 3.328708] Bluetooth: hci0: Firmware Version: 207-35.21
[ 3.328709] Bluetooth: hci0: Firmware already loaded
[ 5.648172] Bluetooth: hci0: setting interface failed (71)
[ 101.922925] input: Keyboard K380 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:256/0005:046D:B342.0006/input/input27
[ 101.923481] hid-generic 0005:046D:B342.0006: input,hidraw3: BLUETOOTH HID v42.01 Keyboard [Keyboard K380] on 5c:80:b6:86:67:b1
As well here my mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(piix ide_disk reiserfs)
MODULES=(usbhid xhci_hcd hci hidp bnep)
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=(/usr/lib/firmware/intel/ibt-17-16-1.sfi)
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect modconf keyboard keymap bluetooth block encrypt filesystems fsck)
# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
Used firmware for my Bluetooth adapter is included in the files sections. Maybe there are some modules is missing?
Further searching showing that Bluetooth drivers loaded before but still does not working
output for journalctl -xb
Jan 10 15:58:07 gamer-pc kernel: usbcore: registered new interface driver usbhid
Jan 10 15:58:07 gamer-pc kernel: usbhid: USB HID core driver
Jan 10 15:58:07 gamer-pc kernel: nfc: nfc_init: NFC Core ver 0.1
Jan 10 15:58:07 gamer-pc kernel: NET: Registered PF_NFC protocol family
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: Core ver 2.22
Jan 10 15:58:07 gamer-pc kernel: NET: Registered PF_BLUETOOTH protocol family
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: HCI device and connection manager initialized
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: HCI socket layer initialized
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: L2CAP socket layer initialized
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: SCO socket layer initialized
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: HIDP socket layer initialized
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: BNEP filters: protocol multicast
Jan 10 15:58:07 gamer-pc kernel: Bluetooth: BNEP socket layer initialized
Jan 10 15:58:07 gamer-pc kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
Jan 10 15:58:07 gamer-pc kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
Jan 10 15:58:07 gamer-pc kernel: cryptd: max_cpu_qlen set to 1000
Jan 10 15:58:07 gamer-pc kernel: xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x110 quirks 0x0000000000009810
Jan 10 15:58:07 gamer-pc kernel: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
Jan 10 15:58:07 gamer-pc kernel: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jan 10 15:58:07 gamer-pc kernel: usb usb1: Product: xHCI Host Controller
Jan 10 15:58:07 gamer-pc kernel: usb usb1: Manufacturer: Linux 5.15.10-arch1-1 xhci-hcd
Jan 10 15:58:07 gamer-pc kernel: usb usb1: SerialNumber: 0000:00:14.0
Jan 10 15:58:07 gamer-pc kernel: hub 1-0:1.0: USB hub found
Jan 10 15:58:07 gamer-pc kernel: hub 1-0:1.0: 16 ports detected
Jan 10 15:58:07 gamer-pc kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
Jan 10 15:58:07 gamer-pc kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
Jan 10 15:58:07 gamer-pc kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed
Jan 10 15:58:07 gamer-pc kernel: usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
Jan 10 15:58:07 gamer-pc kernel: usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jan 10 15:58:07 gamer-pc kernel: usb usb2: Product: xHCI Host Controller
Jan 10 15:58:07 gamer-pc kernel: usb usb2: Manufacturer: Linux 5.15.10-arch1-1 xhci-hcd
Jan 10 15:58:07 gamer-pc kernel: usb usb2: SerialNumber: 0000:00:14.0
Jan 10 15:58:07 gamer-pc kernel: hub 2-0:1.0: USB hub found
Jan 10 15:58:07 gamer-pc kernel: hub 2-0:1.0: 10 ports detected
Jan 10 15:58:07 gamer-pc kernel: usb: port power management may be unreliable
Jan 10 15:58:07 gamer-pc kernel: AVX2 version of gcm_enc/dec engaged.
Jan 10 15:58:07 gamer-pc kernel: AES CTR mode by8 optimization enabled
Jan 10 15:58:07 gamer-pc kernel: random: bluetoothd: uninitialized urandom read (4 bytes read)
Jan 10 15:58:07 gamer-pc kernel: device-mapper: uevent: version 1.0.3
Jan 10 15:58:07 gamer-pc kernel: device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised: [email protected]
Jan 10 15:58:07 gamer-pc kernel: Key type encrypted registered
Jan 10 15:58:07 gamer-pc kernel: EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null). Quota mode: no
As well my password screen looks exactly the same Picture Does that mean systemd hook are involved? I find no links to it in mkinitcpio.conf or anywhere during the boot process.
By the way, the error from the previous boot is gone. Now everything works smoothly.Keyboard K-380 links successfully in xfce4.
output for sudo dmesg | grep -i bluetooth
[ 0.878955] Bluetooth: Core ver 2.22
[ 0.878962] NET: Registered PF_BLUETOOTH protocol family
[ 0.878963] Bluetooth: HCI device and connection manager initialized
[ 0.878965] Bluetooth: HCI socket layer initialized
[ 0.878966] Bluetooth: L2CAP socket layer initialized
[ 0.878967] Bluetooth: SCO socket layer initialized
[ 0.881578] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 0.881580] Bluetooth: HIDP socket layer initialized
[ 0.883931] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 0.883932] Bluetooth: BNEP filters: protocol multicast
[ 0.883933] Bluetooth: BNEP socket layer initialized
[ 0.983363] random: bluetoothd: uninitialized urandom read (4 bytes read)
[ 3.109067] Bluetooth: hci0: Found device firmware: intel/ibt-17-16-1.sfi
[ 3.109095] Bluetooth: hci0: Boot Address: 0x40800
[ 3.109096] Bluetooth: hci0: Firmware Version: 207-35.21
[ 3.109097] Bluetooth: hci0: Firmware already loaded
[ 2055.548585] input: Keyboard K380 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0/hci0:256/0005:046D:B342.0006/input/input27
[ 2055.549866] hid-generic 0005:046D:B342.0006: input,hidraw5: BLUETOOTH HID v42.01 Keyboard [Keyboard K380] on 5c:80:b6:86:67:b1
Hi. This may or may not be related to how your specific card is attached to the mainboard. Can you please research that and add other modules that may be missing from your mkinitcpio.conf? Take a look at Issue #10 for inspiration.
As mentioned in other places, this hook was built with USB adapters in mind. If you want to use it with anything else you will have to invest time to make it work.