Skip to content

Surface Pro 5 2017: bluetooth keyboard profile unavailable #1925

@a-andreyev

Description

@a-andreyev

Hi!
My device is bluetooth clone of the surface keyboard, looks like this, works with desktop (vanilla arch) and android too:

Image

Probably Broadcom BCM20702a0 chipset, (usb:v0A5Cp4502d011B: Vendor 0a5c, Product 4502)

I'm having issues with linux-surface (6.17.1-arch1-1-surface) (also installed: bluez bluez-utils bluez-hid2hci linux-firmware-broadcom wireplumber)

[bluetoothctl]> connect XX:X:X:XX:XX:XX
Attempting to connect to XX:X:X:XX:XX:XX
[CHG] Device XX:X:X:XX:XX:XX Connected: yes
[CHG] Device XX:X:X:XX:XX:XX ServicesResolved: yes
Failed to connect: org.bluez.Error.BREDR.ProfileUnavailable No more profiles to connect to
[CHG] Device XX:X:X:XX:XX:XX ServicesResolved: no
# Other errors encountered include:
# Connection terminated by remote user
# Connection terminated by local host

What I've tried:
/etc/bluetooth/input.conf: Added/uncommented UserspaceHID=true in the [General] section.
/etc/bluetooth/main.conf: Ensured EnablePlugins = input was set in the [General] section, and experimented with FastConnectable = false.
/etc/udev/rules.d/98-broadcom-keyboard.rules: Created a custom udev rule to force the device into HCI mode:

ACTION=="add", SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="0a5c", ENV{ID_MODEL_ID}=="4502", RUN+="/usr/lib/udev/hid2hci --method=broadcom --mode=hci"

/etc/udev/rules.d/99-bluetooth-power.rules: Added a rule to disable autosuspend for the parent Marvell controller (1286:204c), based on recommendations from #1178 (comment)
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1286", ATTR{idProduct}=="204c", ATTR{power/control}="on", ATTR{power/autosuspend_delay_ms}="-1"

Added the kernel boot parameter mbtpci_init_speed=1 via refind_linux.conf to adjust the Marvell driver initialization speed.

No luck yet, wanted to share with others

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions