We have moved to a new Sailfish OS Forum. Please start new discussions there.
8

[XA2] Bluetooth keyboard pairs, but disconnects [released]

asked 2019-04-01 21:04:08 +0200

Direc gravatar image

updated 2019-11-10 00:40:15 +0200

This could be already a known issue, but I couldn't find a question about it.

I'm running 3.0.2 (also present with 3.0.1) on my XA2 Ultra, and I have a physical Bluetooth keyboard (Logitech something) I'd like to use. I can pair the devices, and the connection is briefly made, but the device is immediately disconnected.

As the touchscreen seems to be super sensitive at least on my device, and I'd like to use my bt kb whenever possible, this is a issue to me. Is this getting added anytime soon?

There is the language setting in the keyboard settings, at least.

EDIT 22. July 2019: The problem still persits in 3.1.0.11

EDIT 20. Aug. 2019: This is even more bothering since in some Android apps the virtual keyboard isn't showing up, rendering these apps useless because there is no way to enter text, e.g. passwords etc.; see Keyboard doesnt open in Android-App (XA2)

EDIT 10. Nov 2019: Bluetooth keyboard now pairs and works fine with 3.2.0.12 (but it's only usable in native apps at the moment)

Thanks!

edit retag flag offensive reopen delete

The question has been closed for the following reason "released in a software update" by Direc
close date 2019-11-10 00:40:25.637148

Comments

I have the exact same problem between my XA2 Ultra (also on 3.0.2) and a Thinkouside Stowaway Bluetooth (STBT01), which until now has worked perfectly with the rest of my Sailfish devices (Jolla 1, and Sony Xperia X).

DrYak ( 2019-04-02 18:25:12 +0200 )edit
1

The problem persists with 3.1.0.11. That is a pitty

AkiBerlin ( 2019-07-22 11:13:40 +0200 )edit

I have the same problem when pairing a Logitech K810 keyboard with my XA2 running 3.1.0.11. The phone sees the keyboard and presents a 6-digit code to be confirmed on both devices. When I type the code on the keyboard and hit Enter, the phone confirms the pairing, but the keyboard stays in pairing mode with the light flashing. The phone reports connected for a few second and then fails. I am confused by the "both devices" part, since the phone generated the code and doesn't have any input field for it.

lgs11 ( 2019-07-28 23:25:31 +0200 )edit

3 Answers

Sort by » oldest newest most voted
6

answered 2019-04-02 18:36:41 +0200

DrYak gravatar image

updated 2019-11-08 19:23:45 +0200

UPDATE : 3.2.0.12 fixed - Bluetooth driver is finally compiled in :

# zcat /proc/config.gz | grep HIDP
CONFIG_BT_HIDP=y

Work perfectly in native apps. (Does weird stuff in Android apps)


Seems to be missing HID drivers by Jolla.

I have the exact same problem between my XA2 Ultra (also on 3.0.2) and a Thinkouside Stowaway Bluetooth (STBT01), which until now has worked perfectly with the rest of my Sailfish devices (Jolla 1, and Sony Xperia X).

No /dev/input/ device gets ever created.

Looking at journalctl --follow yeilds to interesting error messages :

Apr 02 17:26:01 Sailfish bluetoothd[4527]: Can't open HIDP control socket
Apr 02 17:26:25 Sailfish bluetoothd[4527]: ioctl_connadd(): Protocol not supported (93)

Investigating further seems to confirm suspicions:

> zcat /proc/config.gz | grep HID
# CONFIG_BT_HIDP is not set
# CONFIG_HID_BATTERY_STRENGTH
CONFIG_HID_GENERIC=y
CONFIG_USB_HID=y

(and a bunch of other HID-related stuff).

i.e.: Jolla has only compiled the USB driver (and a bunch of others), but NOT the Bluetooth driver for keyboard/gamepad/mouse/whatever (HID), nor the helper thingy which reports battery status of bluetooth peripherals (HID_BATTERY_STRENGTH) - it's usually done by mice and keyboards to report low battery before dying, but I've seen also speakers doing this.

I'll open a ticket at their zendesk

edit flag offensive delete publish link more

Comments

Whoa. Awesome job!

Let's hope this gets fixed soon.

Direc ( 2019-04-02 19:17:17 +0200 )edit

I've noticed that modules are not disabled on XA2. If Jolla doesn't fix this by 3.0.3, someone with a little bit more time than me could compile the necessary drivers as modules and you could manually add them (e.g.: from openrepos)

DrYak ( 2019-04-03 11:59:10 +0200 )edit

Your ticket link seems to have disappeared :( Did you get any response at all?

elakim ( 2019-04-05 16:08:52 +0200 )edit

still no answer. did ping them again on the ticket.

On the other hand, 3.0.3 is nearing (translations announcement has been posted) so we'll see in 1-2 weeks if we'll get our needed drivers.

DrYak ( 2019-04-09 15:47:02 +0200 )edit

Got an aswer :

Sorry for the late reply, but unfortunately we don't have a fix for this as yet. We cannot promise any deadline for this at this point either.

The way I understand: it's too late for inclusion in 3.0.3, we'll have to wait a later point in time. (And in the meantime, compile the modules ourselves. How has a couple of hours to spare for that ?)

DrYak ( 2019-04-11 16:18:05 +0200 )edit
2

answered 2019-11-08 10:39:33 +0200

hlub gravatar image

updated 2019-11-08 10:58:57 +0200

This appears to have been solved in 3.2.0 Torronsuo (double-SIM XA2, iLepo BT keyboard) . The keyboard is perfectly usable in Sailfish apps, but in Android not so much: many keypresses drop out or appear very late. Comparing with the previous kernel config in DrYaks post above:

>  zcat /proc/config.gz | grep HID
CONFIG_BT_HIDP=y
# CONFIG_HID_BATTERY_STRENGTH is not set

... one sees that now the bluetooth keyboard driver is compiled in, but still not the battery status helper.

edit flag offensive delete publish link more

Comments

Disconnecting a BT keyboard from the XA2 ist still a problem though. You first have to switch the BT keyboard off and only then should disable BT on the XA2

Plus: dropped keystrokes with Android are a serious problem

AkiBerlin ( 2019-11-08 14:19:26 +0200 )edit

Though the dropped keystrokes have nothing to do with this problem (missing kernel driver) and entirely to do with the new LXC Alien Dalvik compatibility layer (and more precisely how it routes keystrokes from the GNU/Linux host to the LXC guest).

DrYak ( 2019-11-08 19:25:28 +0200 )edit
0

answered 2019-04-29 09:47:13 +0200

Sage gravatar image

There were some improvements to this in 3.0.3 - https://together.jolla.com/question/203846/changelog-303-hossa/#203846-bluez5

Can you confirm if the issue you had is fixed with this release?

edit flag offensive delete publish link more

Comments

1

I tested my Logitech K380 again, and it still disconnects after connecting. I think it takes a few seconds longer now, though...

Direc ( 2019-04-30 01:16:36 +0200 )edit
1

Yes, it still disconnects.

And :

zcat /proc/config.gz | grep HIDP
# CONFIG_BT_HIDP is not set

Still no drivers for the Bluetooth HID protocol compiled in the kernel. So there's no way to communicate with bluetooth keyboards/mice/gamepads.

Speaking of bluetooth protocols, BNEP isn't compiled in neither. So the people who would try to play around with internet sharing won't be able to do it over bluetooth, they'll be restricted to Wifi.

DrYak ( 2019-05-01 12:25:57 +0200 )edit

BTW, now that I have hold of an official Jolla dev:

where can I find the .src.rpm used to build the current kernel on H4413 Voyager ?

I would like to give a try building the necessary .ko if I have some time this week-end.

DrYak ( 2019-05-02 16:15:40 +0200 )edit

The kernel is available at https://github.com/mer-hybris/android_kernel_sony_msm

Sage ( 2019-05-02 16:22:46 +0200 )edit

Big thanks, @Sage !

  • Where can I fetch a Module.symvers corresponding to the current kernel? It doesn't seem to be deployed on the smartphone it self.

  • Compiling the kernel was done on aarch64-linux-gnu arch using linaro 4.9.4-2017.01, right ?

DrYak ( 2019-05-02 21:16:16 +0200 )edit

Question tools

Follow
5 followers

Stats

Asked: 2019-04-01 21:04:08 +0200

Seen: 1,201 times

Last updated: Nov 10 '19