[ODROID-XU4] PS3 Dualshock connecting/disconnecting via bluetooth

Hi!

I have some troubles connecting over bluetooth with two PS3 Dualshock controllers (I’m almost certain the controllers are genuine).

I’ve tried following the instructions on this old thread, and this one, as well as the Lakka docs for wireless dualshock controllers and the arch wiki but it doesn’t seem possible to fix it. So if you’d be able to give me any sort of hints on what I can do then I’d greatly appreciate it!

The controller works fine when plugged in, but won’t connect via bluetooth. When trying to connect via bluetoothctl, I can see it keeps connecting and disconnecting, and connect/pair does nothing:

Lakka:~ # bluetoothctl 
[NEW] Controller 00:1A:7D:DA:71:13 %h [default]
[NEW] Device 34:C7:31:BB:DA:7F PLAYSTATION(R)3 Controller
[NEW] Device 78:18:81:48:2F:25 PLAYSTATION(R)3 Controller
[NEW] Device E4:E0:C5:E5:F6:43 DTVBluetooth
Agent registered
[bluetooth]# agent on
Agent is already registered
[bluetooth]# default-agent 
Default agent request successful
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# discoverable on
Changing discoverable on succeeded
[bluetooth]# pairable on
Changing pairable on succeeded
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:1A:7D:DA:71:13 Discovering: yes
[NEW] Device 1C:1A:C0:7F:B8:A2 1C-1A-C0-7F-B8-A2
[NEW] Device 98:09:CF:19:8F:E2 OnePlus 6T
[CHG] Device E4:E0:C5:E5:F6:43 RSSI: -79
[CHG] Device E4:E0:C5:E5:F6:43 TxPower: 0
[CHG] Device E4:E0:C5:E5:F6:43 ManufacturerData Key: 0x000f
[CHG] Device E4:E0:C5:E5:F6:43 ManufacturerData Value:
  00 21 48                                         .!H             
[CHG] Device 1C:1A:C0:7F:B8:A2 RSSI: -85
[NEW] Device 61:EA:CE:45:57:01 61-EA-CE-45-57-01
[CHG] Device 1C:1A:C0:7F:B8:A2 RSSI: -77
[CHG] Device 98:09:CF:19:8F:E2 RSSI: -82
[CHG] Device 1C:1A:C0:7F:B8:A2 RSSI: -8
[CHG] Device 98:09:CF:19:8F:E2 RSSI: -72
[CHG] Device 98:09:CF:19:8F:E2 RSSI: -80
[CHG] Device 34:C7:31:BB:DA:7F Connected: yes
[CHG] Device 34:C7:31:BB:DA:7F Connected: no
[CHG] Device 34:C7:31:BB:DA:7F Connected: yes
[CHG] Device 34:C7:31:BB:DA:7F Connected: no
[CHG] Device 34:C7:31:BB:DA:7F Connected: yes
[CHG] Device 34:C7:31:BB:DA:7F Connected: no
[CHG] Device 34:C7:31:BB:DA:7F Connected: yes
[CHG] Device 34:C7:31:BB:DA:7F Connected: no
[bluetooth]# connect 34:C7:31:BB:DA:7F
Attempting to connect to 34:C7:31:BB:DA:7F
Failed to connect: org.bluez.Error.Failed
[CHG] Device 34:C7:31:BB:DA:7F Connected: yes
[CHG] Device 34:C7:31:BB:DA:7F Connected: no
[CHG] Device 34:C7:31:BB:DA:7F Connected: yes
[CHG] Device 34:C7:31:BB:DA:7F Connected: no
[bluetooth]# pair 34:C7:31:BB:DA:7F
Attempting to pair with 34:C7:31:BB:DA:7F
Failed to pair: org.bluez.Error.ConnectionAttemptFailed
[CHG] Device 34:C7:31:BB:DA:7F Connected: yes
[CHG] Device 34:C7:31:BB:DA:7F Connected: no

I’m using an ODROID XU4 with their Bluetooth Module 2.

This is the output from dmesg:

[ 1070.112441] usb 3-1.1: New USB device found, idVendor=054c, idProduct=0268
[ 1070.112449] usb 3-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1070.112454] usb 3-1.1: Product: PLAYSTATION(R)3 Controller
[ 1070.112459] usb 3-1.1: Manufacturer: Sony
[ 1070.151413] input: Sony PLAYSTATION(R)3 Controller Motion Sensors as /devices/platform/soc/soc:usb3-0/12000000.dwc3/xhci-hcd.3.auto/usb3/3-1/3-1.1/3-1.1:1.0/0003:054C:0268.0004/input/input9
[ 1070.210554] input: Sony PLAYSTATION(R)3 Controller as /devices/platform/soc/soc:usb3-0/12000000.dwc3/xhci-hcd.3.auto/usb3/3-1/3-1.1/3-1.1:1.0/0003:054C:0268.0004/input/input8
[ 1070.211270] sony 0003:054C:0268.0004: input,hiddev96,hidraw0: USB HID v81.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-xhci-hcd.3.auto-1.1/input0

And from hciconfig -a:

hci0:   Type: Primary  Bus: USB
        BD Address: 00:1A:7D:DA:71:13  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING PSCAN ISCAN 
        RX bytes:634 acl:0 sco:0 events:40 errors:0
        TX bytes:1201 acl:0 sco:0 commands:40 errors:0
        Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
        Link policy: RSWITCH HOLD SNIFF PARK 
        Link mode: SLAVE ACCEPT 
        Name: '%h'
        Class: 0x000000
        Service Classes: Unspecified
        Device Class: Miscellaneous, 
        HCI Version: 4.0 (0x6)  Revision: 0x22bb
        LMP Version: 4.0 (0x6)  Subversion: 0x22bb
        Manufacturer: Cambridge Silicon Radio (10)

bluez.conf exists and is empty

And here is the output from systemctl status bluetooth:

● bluetooth.service - Bluetooth service
   Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-10-13 20:27:52 UTC; 24min ago
 Main PID: 511 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─511 /usr/lib/bluetooth/bluetoothd

Oct 13 20:44:52 Lakka bluetoothd[511]: sixaxis: compatible device connected: PLAYSTATION(R)3 Controller (054C:0268)
Oct 13 20:44:52 Lakka bluetoothd[511]: sixaxis: compatible device connected: Sony PLAYSTATION(R)3 Controller (054C:0268)
Oct 13 20:45:30 Lakka bluetoothd[511]: sixaxis: compatible device connected: PLAYSTATION(R)3 Controller (054C:0268)
Oct 13 20:45:30 Lakka bluetoothd[511]: sixaxis: compatible device connected: Sony PLAYSTATION(R)3 Controller (054C:0268)
Oct 13 20:46:38 Lakka bluetoothd[511]: Failed to set privacy: Rejected (0x0b)
Oct 13 20:50:26 Lakka bluetoothd[511]: sixaxis: compatible device connected: PLAYSTATION(R)3 Controller (054C:0268)
Oct 13 20:50:26 Lakka bluetoothd[511]: sixaxis: compatible device connected: Sony PLAYSTATION(R)3 Controller (054C:0268)
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

Please let me know if you need any more information to help me debug this. Thanks in advance!