Bug 425941 - unable to connect PS3/PS4 bluetooth controllers
Summary: unable to connect PS3/PS4 bluetooth controllers
Status: RESOLVED UPSTREAM
Alias: None
Product: Bluedevil
Classification: Unmaintained
Component: system tray (other bugs)
Version First Reported In: 5.19.4
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: David Rosca
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-29 14:07 UTC by James Th
Modified: 2020-08-29 18:02 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Th 2020-08-29 14:07:59 UTC
SUMMARY

I'm trying to connect either my PS3 or PS4 controller via bluetooth in KDE.

STEPS TO REPRODUCE
1. Plug in either my PS3/PS4 controller via USB 
2. Device appears in "Available devices" (KDE Bluetooth menu bar)
3. Click 'Connect' and it fails with message: Device is unreachable

OBSERVED RESULT
As above, I can play e.g Steam, using either of my controllers, but they always need to be connected via USB cable, would be good to use them without a cable! :)

EXPECTED RESULT
Device connects via bluetooth.

Let me know what logs would be useful for you to see, please! Many thanks! :)

SOFTWARE/OS VERSIONS

Operating System: Arch Linux
KDE Plasma Version: 5.19.4
KDE Frameworks Version: 5.73.0
Qt Version: 5.15.0
Kernel Version: 5.8.5-arch1-1
OS Type: 64-bit
Processors: 6 × Intel® Core™ i5-8500 CPU @ 3.00GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 630

ADDITIONAL INFORMATION
Comment 1 James Th 2020-08-29 14:40:59 UTC
Here's some (hopefully) useful info for you:

lsmod | grep sony
hid_sony               36864  0
ff_memless             20480  1 hid_sony
hid                   143360  5 hidp,usbhid,hid_sony,hid_generic,hid_jabra

ls /dev/input/by-id/
Permissions Size User Group Date Modified Name
lrwxrwxrwx    10 root root  29 Aug 14:35  usb-GN_Netcom_A_S_Jabra_EVOLVE_LINK_MS_0002C5EF3EF207-event-if03 -> ../event10
lrwxrwxrwx     9 root root  29 Aug 14:35  usb-Microsoft_Wired_Keyboard_600-event-if01 -> ../event7
lrwxrwxrwx     9 root root  29 Aug 14:35  usb-Microsoft_Wired_Keyboard_600-event-kbd -> ../event5
lrwxrwxrwx     9 root root  29 Aug 14:35  usb-PixArt_Microsoft_USB_Optical_Mouse-event-mouse -> ../event4
lrwxrwxrwx     9 root root  29 Aug 14:35  usb-PixArt_Microsoft_USB_Optical_Mouse-mouse -> ../mouse0
lrwxrwxrwx    10 root root  29 Aug 14:39  usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 -> ../event12
lrwxrwxrwx@   10 root root  29 Aug 14:39  usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-joystick -> ../event13
lrwxrwxrwx    10 root root  29 Aug 14:39  usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-mouse -> ../event11
lrwxrwxrwx@    6 root root  29 Aug 14:39  usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-joystick -> ../js0
lrwxrwxrwx     9 root root  29 Aug 14:39  usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-mouse -> ../mouse1

lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 045e:07f8 Microsoft Corp. Wired Keyboard 600 (model 1576)
Bus 001 Device 004: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 001 Device 010: ID 054c:09cc Sony Corp. DualShock 4 [CUH-ZCT2x]
Bus 001 Device 006: ID 8087:0a2b Intel Corp. Bluetooth wireless interface
Bus 001 Device 002: ID 0b0e:0305 GN Netcom Jabra EVOLVE Link MS
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 wlan      phy0   unblocked unblocked

systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled)
     Active: active (running) since Sat 2020-08-29 14:35:06 BST; 1h 6min ago
       Docs: man:bluetoothd(8)
   Main PID: 416 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 19007)
     Memory: 3.3M
     CGroup: /system.slice/bluetooth.service
             └─416 /usr/lib/bluetooth/bluetoothd

Aug 29 14:57:45 yshtola.chilli.ai bluetoothd[416]: sixaxis: compatible device connected: Wireless Controller (054C:09CC /sys/devices/pci0000:00/0000:00:14.0>
Aug 29 14:57:45 yshtola.chilli.ai bluetoothd[416]: sixaxis: setting up new device
Aug 29 14:59:11 yshtola.chilli.ai bluetoothd[416]: sixaxis: compatible device connected: Wireless Controller (054C:09CC /sys/devices/pci0000:00/0000:00:14.0>
Aug 29 14:59:11 yshtola.chilli.ai bluetoothd[416]: sixaxis: setting up new device
Aug 29 14:59:37 yshtola.chilli.ai bluetoothd[416]: 28:C1:3C:A2:91:02: error updating services: Host is down (112)
Aug 29 14:59:48 yshtola.chilli.ai bluetoothd[416]: 28:C1:3C:A2:91:02: error updating services: Host is down (112)
Aug 29 15:05:01 yshtola.chilli.ai bluetoothd[416]: 28:C1:3C:A2:91:02: error updating services: Host is down (112)
Aug 29 15:05:48 yshtola.chilli.ai bluetoothd[416]: 28:C1:3C:A2:91:02: error updating services: Host is down (112)
Aug 29 15:37:32 yshtola.chilli.ai bluetoothd[416]: sixaxis: compatible device connected: Wireless Controller (054C:09CC /sys/devices/pci0000:00/0000:00:14.0>
Aug 29 15:37:32 yshtola.chilli.ai bluetoothd[416]: sixaxis: setting up new device
Comment 2 Nicolas Fella 2020-08-29 15:27:30 UTC
It would be great if you could try pairing via bluetoothctl. If that works and pairing from Plasma doesn't then we know there's something that needs fixing in Plasma, if not the issue is somehere down in the stack.

It should work like this:

bluetoothctl
>scan on
>devices
 Device <mac address> TheController
>pair <mac address>

Let me know if you need help. Thanks.
Comment 3 James Th 2020-08-29 15:59:16 UTC
what you say makes total sense! :)

So, I used buetoothctl, and this was the result:

luetoothctl
Agent registered
[NEW] Device 28:C1:3C:A2:91:02 Wireless Controller
[bluetooth]# scan on
Discovery started
[CHG] Controller D4:6D:6D:53:46:06 Discovering: yes
[bluetooth]# devices
Device 28:C1:3C:A2:91:02 Wireless Controller
[CHG] Device 28:C1:3C:A2:91:02 Trusted: yes
[bluetooth]# pair 28:C1:3C:A2:91:02
Attempting to pair with 28:C1:3C:A2:91:02
Failed to pair: org.bluez.Error.ConnectionAttemptFailed
[bluetooth]# 

So it must be failing earlier in the stack.  So I know this is no longer a KDE issue, but do you have any ideas at all please?

Here's my output from: journalctl | grep Blue*

Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: Core ver 2.22
Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: HCI device and connection manager initialized
Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: HCI socket layer initialized
Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: L2CAP socket layer initialized
Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: SCO socket layer initialized
Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: hci0: Firmware revision 0.1 build 50 week 12 2019
Aug 29 16:54:24 yshtola.chilli.ai systemd[1]: Starting Bluetooth service...
Aug 29 16:54:24 yshtola.chilli.ai bluetoothd[423]: Bluetooth daemon 5.54
Aug 29 16:54:24 yshtola.chilli.ai systemd[1]: Started Bluetooth service.
Aug 29 16:54:24 yshtola.chilli.ai systemd[1]: Reached target Bluetooth.
Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: BNEP filters: protocol multicast
Aug 29 16:54:24 yshtola.chilli.ai kernel: Bluetooth: BNEP socket layer initialized
Aug 29 16:54:24 yshtola.chilli.ai bluetoothd[423]: Bluetooth management interface 1.17 initialized
Aug 29 16:54:37 yshtola.chilli.ai systemd[588]: Starting Bluetooth OBEX service...
Aug 29 16:54:37 yshtola.chilli.ai systemd[588]: Started Bluetooth OBEX service.
Aug 29 16:54:37 yshtola.chilli.ai kernel: Bluetooth: RFCOMM TTY layer initialized
Aug 29 16:54:37 yshtola.chilli.ai kernel: Bluetooth: RFCOMM socket layer initialized
Aug 29 16:54:37 yshtola.chilli.ai kernel: Bluetooth: RFCOMM ver 1.11
Aug 29 16:54:37 yshtola.chilli.ai kded5[666]: bluedevil: Bluetooth operational changed true

Here's what appears in systemctl status bluetooth:

Aug 29 16:54:24 yshtola.chilli.ai systemd[1]: Started Bluetooth service.
Aug 29 16:54:24 yshtola.chilli.ai bluetoothd[423]: Starting SDP server
Aug 29 16:54:24 yshtola.chilli.ai bluetoothd[423]: Bluetooth management interface 1.17 initialized
Aug 29 16:54:24 yshtola.chilli.ai bluetoothd[423]: sixaxis: compatible device connected: Wireless Controller (054C:09CC /sys/devices/pci0000:00/0000:00:14.0>
Aug 29 16:54:24 yshtola.chilli.ai bluetoothd[423]: sixaxis: setting up new device
Aug 29 16:54:24 yshtola.chilli.ai bluetoothd[423]: Authentication attempt without agent
Aug 29 16:54:24 yshtola.chilli.ai bluetoothd[423]: Add Device complete for unknown device 28:C1:3C:A2:91:02
Aug 29 16:55:05 yshtola.chilli.ai bluetoothd[423]: sixaxis: compatible device connected: Wireless Controller (054C:09CC /sys/devices/pci0000:00/0000:00:14.0>
Aug 29 16:55:05 yshtola.chilli.ai bluetoothd[423]: sixaxis: setting up new device
Comment 4 Nicolas Fella 2020-08-29 18:02:05 UTC
I'm afraid I can't really help you. That out of my expertise