You are not logged in.

#1 2023-11-17 18:24:09

Cano13489
Member
Registered: 2023-08-28
Posts: 2

Keychron K15 Pro via Bluetooth

Hello

I am trying to get my Keychron K15 Pro keyboard working via Bluetooth with my Arch linux desktop.

When I run "sudo systemctl status bluetooth", I get:

~ ❯ sudo systemctl status bluetooth                                                                                                                             17:52:23
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
     Active: active (running) since Fri 2023-11-17 16:47:42 GMT; 1h 6min ago
       Docs: man:bluetoothd(8)
   Main PID: 799 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 76699)
     Memory: 2.3M
        CPU: 51ms
     CGroup: /system.slice/bluetooth.service
             └─799 /usr/lib/bluetooth/bluetoothd

Nov 17 16:47:42 j-desktop systemd[1]: Started Bluetooth service.
Nov 17 16:47:42 j-desktop bluetoothd[799]: Starting SDP server
Nov 17 16:47:42 j-desktop bluetoothd[799]: src/plugin.c:plugin_init() System does not support csip plugin
Nov 17 16:47:42 j-desktop bluetoothd[799]: profiles/audio/micp.c:micp_init() D-Bus experimental not enabled
Nov 17 16:47:42 j-desktop bluetoothd[799]: src/plugin.c:plugin_init() System does not support micp plugin
Nov 17 16:47:42 j-desktop bluetoothd[799]: src/plugin.c:plugin_init() System does not support vcp plugin
Nov 17 16:47:42 j-desktop bluetoothd[799]: src/plugin.c:plugin_init() System does not support mcp plugin
Nov 17 16:47:42 j-desktop bluetoothd[799]: src/plugin.c:plugin_init() System does not support bass plugin
Nov 17 16:47:42 j-desktop bluetoothd[799]: src/plugin.c:plugin_init() System does not support bap plugin
Nov 17 16:47:42 j-desktop bluetoothd[799]: Bluetooth management interface 1.22 initialized
~ ❯                                                                                                                                                             17:54:34

However, no matter what I do, I cannot get bluetoothctl to see my device.

[bluetooth]# scan on
SetDiscoveryFilter success
Discovery started
[CHG] Controller 10:B1:DF:B8:1F:B8 Discovering: yes
[bluetooth]# devices
[bluetooth]# 

Here is what I get wen I run the "show" command within bluetoothctl:

[bluetooth]# show
Controller 10:B1:DF:B8:1F:B8 (public)
    Name: j-desktop
    Alias: j-desktop
    Class: 0x00000104 (260)
    Powered: yes
    Discoverable: no
    DiscoverableTimeout: 0x000000b4 (180)
    Pairable: yes
    UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
    UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
    UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
    UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
    Modalias: usb:v1D6Bp0246d0546
    Discovering: yes
    Roles: central
    Roles: peripheral
Advertising Features:
    ActiveInstances: 0x00 (0)
    SupportedInstances: 0x14 (20)
    SupportedIncludes: tx-power
    SupportedIncludes: appearance
    SupportedIncludes: local-name
    SupportedSecondaryChannels: 1M
    SupportedSecondaryChannels: 2M
    SupportedSecondaryChannels: Coded
[bluetooth]# 

After doing a bunch of searching, I noticed that many people were saying I needed something called hid_apple! I thought that was a package, but nope, couldn't find it with pacman.

Then after some further reading, I found it it is a module that I need to enable. First, I checked to make sure I didn't have it.

~ ❯ sudo lsinitcpio /boot/initramfs-custom.img | grep apple                                                                                                     17:41:32
[sudo] password for j: 
~ ❯ ls /sys/module/ | grep hid                                                                                                                                  17:52:08
hid
hid_logitech_dj
hid_logitech_hidpp
mac_hid
usbhid
~ ❯                                                                                                                                                             17:52:23

I then added it as a module to "/etc/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=(usbhid xhci_hcd)
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm hid_apple)

# BINARIES
# This setting includes any additional binaries a given user may

Then I regenerated with "sudo mkinitcpio --config /etc/mkinitcpio.conf --generate /boot/initramfs-custom.img" and rebooted my machine.

However I still don't have a "/sys/module/hid_apple" directory, what am I missing?

Last edited by Cano13489 (2023-11-17 18:25:43)

Offline

Board footer

Powered by FluxBB