I would like to connect a DualShock 4 (and PS5 controller later on) with FreeBSD and my integrated (USB) Bluetooth 2.1 or 4.0 chip.
With the DualShock 4 connected via USB, controllermap successfully detects both the controller and every single controller button / analog stick.
Now I used bluetooth_config scan to pair the controller. When asked for a pin, I simply left it at the default nopin.
Now there is an alias in /etc/bluetooth/hosts, an entry in hcsecd.conf with nokey and nopin and bthidd.conf lists the device with the bdaddr, some more info and the hid_descriptor{ ... }.
However, nothing really happens from here on out.
Every 10 seconds, the bluetooth lamp blinks and hccontrol read_connection_list reports:
This lasts roughly 3 seconds, before the entry disappears and the cycle starts anew. The DualShock4 never lights up, putting it into connection mode changes nothing, just the blue connection light flashing on the controller. controllermap never detects a joystick.
What can I do to get a connection? Is my pairing maybe incomplete, because I set nopin and nokey? With Linux and DualShock 3 there appears to be the need to connect it via USB first to exchange pairing data. Maybe that's when the key is transfered? But this does not appear to be the case for DualShock 4.
With the DualShock 4 connected via USB, controllermap successfully detects both the controller and every single controller button / analog stick.
Now I used bluetooth_config scan to pair the controller. When asked for a pin, I simply left it at the default nopin.
Now there is an alias in /etc/bluetooth/hosts, an entry in hcsecd.conf with nokey and nopin and bthidd.conf lists the device with the bdaddr, some more info and the hid_descriptor{ ... }.
However, nothing really happens from here on out.
Every 10 seconds, the bluetooth lamp blinks and hccontrol read_connection_list reports:
Code:
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
DualShock4 3902 ACL 0 MAST NONE 0 0 W4_CONN_COMPLETE
What can I do to get a connection? Is my pairing maybe incomplete, because I set nopin and nokey? With Linux and DualShock 3 there appears to be the need to connect it via USB first to exchange pairing data. Maybe that's when the key is transfered? But this does not appear to be the case for DualShock 4.
Last edited: