BT keyboard/touchpad Inateck KB01105 pairs but L5 doesn't receive key input

I bought a new keyboard/touchpad combination. It pairs “out of the box” on switch-on with my L5 (and iPhone and the Nothingphone of my son), without asking to key-in any numbers (also with all the other mentioned devices).
But the L5 is unwilling to accept any keystroke.

On switch on Byzantium it gives in /var/log/syslog the following first line and the other two lines are the result of key-press and key-release:

pairing:
Aug 30 12:56:53 pureos bluetoothd[19823]: profiles/input/hog-lib.c:report_map_read_cb() ATT protocol error

key-press:
Aug 30 12:57:24 pureos bluetoothd[19823]: profiles/input/hog-lib.c:report_value_cb() bt_uhid_send: Invalid argument (22)

key-release:
Aug 30 12:57:24 pureos bluetoothd[19823]: profiles/input/hog-lib.c:report_value_cb() bt_uhid_send: Invalid argument (22)

With the iPhone and Nothingphone (an Android clone) it “just works”.

Any idea before returning it to the shop? Thanks.

UPDATE
It seems that a similar issue was fixed in 2022 in Arch-Linux:
https://bbs.archlinux.org/viewtopic.php?id=280256

UPDATE 2:
On Crimson the device is not presented nor paired.

I tried to start digging into it:

purism@pureos:~$ uname -a
Linux pureos 6.6.0-1-librem5 #2 SMP PREEMPT 6.6.139pureos1 2026-05-16 18:17:42 UTC aarch64 GNU/Linux
purism@pureos:~$ bluetoothctl --version
bluetoothctl: 5.55

purism@pureos:~$ bluetoothctl info
Device C3:4C:11:0A:A7:00 (random)
        Name: Inateck KB01105
        Alias: Inateck KB01105
        Appearance: 0x03c1
        Icon: input-keyboard
        Paired: yes
        Trusted: yes
        Blocked: no
        Connected: yes
        WakeAllowed: no
        LegacyPairing: no
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
        UUID: Human Interface Device    (00001812-0000-1000-8000-00805f9b34fb)
        UUID: Unknown                   (0000ff00-0000-1000-8000-00805f9b34fb)
        UUID: Unknown                   (0000ffe0-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v3373p7713d0001


purism@pureos:~$ git clone https://salsa.debian.org/bluetooth-team/bluez.git

purism@pureos:~$ head bluez/ChangeLog
ver 5.87:
        Fix issue with GATT database and out of sync errors.
        Fix issue with BASS and setting a stream to idle.
        ...


purism@pureos:~$ cd bluez/
purism@pureos:~/bluez$ ./configure
...
checking for libudev >= 196... no
configure: error: Package requirements (libudev >= 196) were not met:
...

How could I get the missing requirement? Or is the head version 5.87 to far away from 5.55?

@dos, can you please have a look into this issue? I initiated the product return in A*on and have time until September 18. I would even risk not returning it in time if it would make sense for nailing it down.

Does the keyboard work with a much more up-to-date laptop (or desktop if the desktop happens to have Bluetooth hardware)?

There’s a chance that it is worth trying the latest kernel, which is about to hit crimson by default in the next couple of weeks. Refer: Kernel 6.18 available for testing - #28 by dos

How much did the keyboard cost?

The situation is exactly this:

I used an external BT heyboard from TECHGear for many yeaars with the L5, also before already with the Ubuntu mobile phone BQ E4.5. It always worked fine and I even tweaked it to produce Spanish chars like óñíé¿¡ …

Stupid as I am I spilled some drops of beer onto it, and some keys just do not work anymore. That’s why I was looking for a replacement and found this Inateck KB01105.

This works in the following environments as:

  1. Nothingphone from https://nothing.tech/collections/sale which has an Android OS
  • OS version:
    $ uname -a
    Linux localhost 5.10.226-android12-9-00047-g4968e29b7f92-ab12786767 #1 SMP PREEMPT Wed Dec 11 21:50:47 UTC 2024 aarch64 Android
  • pairs fine
  • works fully in the terminal app
  • gives the mouse ponter which moves fine following the touchpad
  1. iPhone 13 with iOS 26.6
  • pairs fine
  • keystrokes work fine in all apps
  • found now way to use anything with the touchpad
  1. L5 Byzantium
  • OS version:
   $ uname -a
   Linux pureos 6.6.0-1-librem5 #2 SMP PREEMPT 6.6.139pureos1 2026-05-16 18:17:42 UTC aarch64 GNU/Linux
  • pairs fine
  • no keystrokes or mousepointer (see the message from /var/log/syslog)
  1. L5 Crimson
  • does not pair and no log in /var/log/syslog

The price of the gadget was 30€.

Yes, but are you in a position to test it with a laptop?

The point is that if it works with a Linux laptop that has much more up-to-date software then that gives hope that the keyboard may eventually work with the Librem 5.

However another consideration is which WiFi/BT card you have in your Librem 5 … Redpine or SparkLAN?

I have no further Linux laptop at home. I could try to boot some Debian life system.

The Crimson L5 has RedPine (I saw this in /var/log/syslog). How could I check the Byzantium L5?

I have a line in syslog:

Sep  1 13:02:56 pureos kernel: [   37.277196] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43752/2 wl0: Jul 13 2020 18:32:45 version 18.35.387.23.7 (b328500@shgit) (wlan=r880297) FWID 01-f50fdff0

which perhaps means SparkLAN.

My son has a Linux tower with:

uname -a 
Linux apitzPC 7.0.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 23 May 2026 14:21:20 +0000 x86_64 GNU/Linux

and the BT keyboard works as it should.

Answer: Tips & Tricks · Wiki · Librem5 / docs / Librem 5 Community Wiki · GitLab

But to be fair … neither Librem 5 works with this keyboard. So the operating system codename and the make of WiFi/BT card in isolation aren’t getting the keyboard to work.

Looks as if you may need dawn to get your Librem 5 to that high a kernel version. Latest currently available for crimson is 6.18 while apparently dawn is around 7.2

1 Like

I booted a Debian live system on a laptop:

user@debian:~$   uname -a
Linux debian 6.12.94+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.94-1 (2026-06-20) x86_64 GNU/Linux

user@debian:~$ bluetoothctl info
Device C3:4C:11:0A:AB:00 (random)
        Name: Inateck KB01105
        Alias: Inateck KB01105
        Appearance: 0x03c1 (961)
        Icon: input-keyboard
        Paired: yes
        Bonded: yes
        Trusted: yes
        Blocked: no
        Connected: yes
        WakeAllowed: yes
        LegacyPairing: no
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
        UUID: Human Interface Device    (00001812-0000-1000-8000-00805f9b34fb)
        UUID: Unknown                   (0000ff00-0000-1000-8000-00805f9b34fb)
        UUID: Unknown                   (0000ffe0-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v3373p7713d0001
        AdvertisingFlags:
  06                   

and the BT works fine.

Should I wait for the new Crimson?

As you have two phones, why not force the crimson phone to update now to the latest kernel? (That said, a few people have already run with that update, apparently with no ill effect. So it doesn’t seem as if it would be a risky update. In any case, backup is your friend and you should always be doing backup anyway.) If you wait for official release, you will be cutting it fine. You will have very few days, if any, between getting the update and having to return the keyboard.

As an aside, as at yesterday (my local time), byzantium is officially EOL / unsupported / no more updates including no more security updates. Apart from the usefulness of being able to compare and contrast byzantium with crimson e.g. regression test, you really shouldn’t still be running byzantium any more. So an alternative would be to say goodbye to byzantium and put the latest crimson on that phone.

How should I do this forcing to the latest kernel?

Try:

sudo apt install aptitude && sudo aptitude full-upgrade

Refer to the link posted earlier or indeed, for that specific question, follow up in that topic.

I updated one of my L5 to the latest kernel:

purism@old-pureos:~$ uname -a
Linux pureos 6.18.0-1-librem5 #2 SMP PREEMPT 6.18.49pureos1~cri1 2026-09-03 06:01:00 UTC aarch64 GNU/Linux

The external keyboard is not visible in the BlueTooth config window and does not produce anything in /var/log/syslog.
I will return it next week.

1 Like

:white_check_mark:

As far as I can tell, that kernel has now officially been released as the default kernel i.e. no specific action on your part would now be required.

Unfortunately it didn’t make any difference for that particular Bluetooth device - and we will probably never know why. I’ll edit that into the Tested Accessories as “not working”.

1 Like

I think, part of the problem is the old version of the package bluez:

purism@pureos:~$ apt info bluez
Package: bluez
Version: 5.55-3.1+deb11u2
Priority: optional
Section: admin
Maintainer: Debian Bluetooth Maintainers <team+pkg-bluetooth@tracker.debian.org>
Installed-Size: 6,007 kB
...

The above is for Byzantium. Crimson uses 5.66. Both are far away from bleading edge which is 5.87. Debian 13 „Trixie“ were the device works also uses 5.82.

1 Like

It’s always darkest before the dawn. :wink:

What does dawn mean in this context?

dawn is the codename for the version of PureOS that will be based on Debian Trixie. Hence if it is really the case that Trixie will fix this for you then you are waiting for dawn to be released for your Librem 5.

Even allowing for the fact that you have two Librem 5 phones, I really don’t think dawn is ready for you to test that possibility. Hence the timing isn’t going to work out for you and the keyboard will be returned before then.

It is returned already, but I could reorder it once dawn is released.

1 Like