bluez 5.19 PS4 controller
- by Athanase
I currently have a problem when pairing my computer with a PS4 remote.
On my Ubuntu 14.04 I removed everything related with bluez and bluetooth, and I built and installed bluez 5.19.
Here are some useful command outputs:
jean@system ~ hcitool
hcitool - HCI Tool ver 5.19
jean@system ~ hcitool dev
Devices:
hci0 00:15:83:4C:0C:BB
jean@system ~ bluetoothctl
[bluetooth]# version
Version 5.19
jean@system ~ bluetoothctl
[NEW] Controller 00:15:83:4C:0C:BB BlueZ [default]
jean@system ~ lsusb
Bus 003 Device 012: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
So here is what happens. When I try to hard pair the controller with the computer, by holding the share and ps button for a while, everything works as expected and the pairing is done properly. After a hard pairing if I try the pairing by pressing the ps button only, nothings happen.
In order to go it, I first power up the bluetooth dongle:
jean@system ~ sudo hciconfig hciX up
and then I run the bluetooh deamon bluetoothd:
jean@system /usr/libexec/bluetooth ~ ./bluetoothd -d -n
bluetoothd[11270]: Bluetooth daemon 5.19
bluetoothd[11270]: src/main.c:parse_config() parsing main.conf
bluetoothd[11270]: src/main.c:parse_config() discovto=0
bluetoothd[11270]: src/main.c:parse_config() pairto=0
bluetoothd[11270]: src/main.c:parse_config() auto_to=60
bluetoothd[11270]: src/main.c:parse_config() name=%h-%d
bluetoothd[11270]: src/main.c:parse_config() class=0x000100
bluetoothd[11270]: src/main.c:parse_config() Key file does not have key 'DeviceID'
bluetoothd[11270]: src/gatt.c:gatt_init() Starting GATT server
bluetoothd[11270]: src/adapter.c:adapter_init() sending read version command
bluetoothd[11270]: Starting SDP server
bluetoothd[11270]: src/sdpd-service.c:register_device_id() Adding device id record for 0002:1d6b:0246:0513
...
bluetoothd[11270]: src/adapter.c:adapter_service_insert() /org/bluez/hci0
bluetoothd[11270]: src/adapter.c:add_uuid() sending add uuid command for index 0
bluetoothd[11270]: profiles/audio/a2dp.c:a2dp_sink_server_probe() path /org/bluez/hci0
bluetoothd[11270]: profiles/audio/a2dp.c:a2dp_source_server_probe() path /org/bluez/hci0
bluetoothd[11270]: src/adapter.c:btd_adapter_unblock_address() hci0 00:00:00:00:00:00
bluetoothd[11270]: src/adapter.c:get_ltk_info() A4:15:66:C1:0D:2A
bluetoothd[11270]: src/device.c:device_create_from_storage() address A4:15:66:C1:0D:2A
bluetoothd[11270]: src/device.c:device_new() address A4:15:66:C1:0D:2A
bluetoothd[11270]: src/device.c:device_new() Creating device /org/bluez/hci0/dev_A4_15_66_C1_0D_2A
bluetoothd[11270]: src/device.c:device_set_bonded()
bluetoothd[11270]: src/adapter.c:get_ltk_info() A4:15:66:88:5E:9A
bluetoothd[11270]: src/device.c:device_create_from_storage() address A4:15:66:88:5E:9A
bluetoothd[11270]: src/device.c:device_new() address A4:15:66:88:5E:9A
bluetoothd[11270]: src/device.c:device_new() Creating device /org/bluez/hci0/dev_A4_15_66_88_5E_9A
bluetoothd[11270]: src/device.c:device_set_bonded()
bluetoothd[11270]: src/adapter.c:load_link_keys() hci0 keys 2 debug_keys 0
bluetoothd[11270]: src/adapter.c:load_ltks() hci0 keys 0
bluetoothd[11270]: src/adapter.c:load_connections() sending get connections command for index 0
bluetoothd[11270]: src/adapter.c:adapter_service_insert() /org/bluez/hci0
bluetoothd[11270]: src/adapter.c:add_uuid() sending add uuid command for index 0
bluetoothd[11270]: src/adapter.c:set_did() hci0 source 2 vendor 1d6b product 246 version 513
bluetoothd[11270]: src/adapter.c:adapter_register() Adapter /org/bluez/hci0 registered
bluetoothd[11270]: src/adapter.c:set_dev_class() sending set device class command for index 0
bluetoothd[11270]: src/adapter.c:set_name() sending set local name command for index 0
bluetoothd[11270]: src/adapter.c:set_mode() sending set mode command for index 0
bluetoothd[11270]: src/adapter.c:set_mode() sending set mode command for index 0
bluetoothd[11270]: src/adapter.c:adapter_start() adapter /org/bluez/hci0 has been enabled
bluetoothd[11270]: src/adapter.c:trigger_passive_scanning()
bluetoothd[11270]: plugins/hostname.c:property_changed() static hostname: system
bluetoothd[11270]: plugins/hostname.c:property_changed() pretty hostname:
bluetoothd[11270]: plugins/hostname.c:update_name() name: system
bluetoothd[11270]: src/adapter.c:adapter_set_name() name: system
bluetoothd[11270]: plugins/hostname.c:property_changed() chassis: desktop
bluetoothd[11270]: plugins/hostname.c:update_class() major: 0x01 minor: 0x01
bluetoothd[11270]: src/adapter.c:load_link_keys_complete() link keys loaded for hci0
bluetoothd[11270]: src/adapter.c:load_ltks_complete() LTKs loaded for hci0
bluetoothd[11270]: src/adapter.c:get_connections_complete() Connection count: 0
And then I press the ps button of the PS4 controller
bluetoothd[11270]: src/adapter.c:connected_callback() hci0 device A4:15:66:C1:0D:2A connected eir_len 5
bluetoothd[11270]: profiles/input/server.c:connect_event_cb() Incoming connection from A4:15:66:C1:0D:2A on PSM 17
bluetoothd[11270]: profiles/input/device.c:input_device_set_channel() idev (nil) psm 17
bluetoothd[11270]: Refusing input device connect: No such file or directory (2)
bluetoothd[11270]: profiles/input/server.c:confirm_event_cb()
bluetoothd[11270]: Refusing connection from A4:15:66:C1:0D:2A: unknown device
bluetoothd[11270]: src/adapter.c:dev_disconnected() Device A4:15:66:C1:0D:2A disconnected, reason 3
bluetoothd[11270]: src/adapter.c:adapter_remove_connection()
bluetoothd[11270]: plugins/policy.c:disconnect_cb() reason 3
bluetoothd[11270]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr A4:15:66:C1:0D:2A type 0 status 0xe
bluetoothd[11270]: src/device.c:device_bonding_complete() bonding (nil) status 0x0e
bluetoothd[11270]: src/device.c:device_bonding_failed() status 14
bluetoothd[11270]: src/adapter.c:resume_discovery()
So I don't know what is happening here and a bit of help would be appreciated.