-
-
Notifications
You must be signed in to change notification settings - Fork 292
Description
Hi!
My device is bluetooth clone of the surface keyboard, looks like this, works with desktop (vanilla arch) and android too:
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 hostWhat 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