2015-12-21 14:46:07

by Martin Kjær Jørgensen

[permalink] [raw]
Subject: DS4 issues

Is there any "full" support for a Sony DualShock 4 in the bluez/kernel
stack?

The one I own works perfectly when using USB cable.

When using bluetooth it gets recognized as a somewhat generic
Bluetooth Wireless Controller. Pairing it up with my system seems to
work as it creates a joystick device (/dev/input/js0) but when testing
it with jstest, only the touchpad on the DS4 triggers two of the
axis. None of the buttons or sticks reacts in jstest.
Pairing it with the usual bluetoothctl makes the DS4 LED dimmed blue
light.

I know of the ds4drv project and have used it to connect my DS4, but
it seems a big buggy and I was hoping it was or will be merged into
bluez/kernel, making it superfluous.

Using the DS4 makes the LED brighter than using ordinary bluetoothctl,
perhaps because ds4drv knows how to intruct the LED.
Even if my DS4 is almost next to my bluetooth radio device, the ds4drv
reports "Signal strength low (29/40/38) reports"
Testing with jstest seems to trigger all buttons and axises. The
touchpad itself as a button triggers, but touching the pad doesnt trigger
anything.
In some games the digital keys on the left doesnt get recognized, even
if they get triggered by jstest and other programs like Steam
recognizes them.





2015-12-30 15:36:10

by Frank Praznik

[permalink] [raw]
Subject: Re: DS4 issues


> On Dec 30, 2015, at 06:09, Martin Kjær Jørgensen <[email protected]> wrote:
>
> On Mon, Dec 28, 2015 at 05:40:42PM +0100, Martin Kjær Jørgensen wrote:
>> On Mon, Dec 28, 2015 at 10:48:21AM -0500, Frank Praznik wrote:
>>>
>>>> On Dec 28, 2015, at 04:18, Antonio Ospite <[email protected]> wrote:
>>>>
>>>> On Mon, 21 Dec 2015 15:46:07 +0100
>>>> Martin Kjær Jørgensen <[email protected]> wrote:
>>>>
>>>>> Is there any "full" support for a Sony DualShock 4 in the bluez/kernel
>>>>> stack?
>>>>>
>>>>
>>>> CC-ing Frank as he is the author of the DS4 hid kernel driver.
>>>>
>>>>> The one I own works perfectly when using USB cable.
>>>>>
>>>>> When using bluetooth it gets recognized as a somewhat generic
>>>>> Bluetooth Wireless Controller. Pairing it up with my system seems to
>>>>> work as it creates a joystick device (/dev/input/js0) but when testing
>>>>> it with jstest, only the touchpad on the DS4 triggers two of the
>>>>> axis. None of the buttons or sticks reacts in jstest.
>>>>> Pairing it with the usual bluetoothctl makes the DS4 LED dimmed blue
>>>>> light.
>>>>>
>>>>> I know of the ds4drv project and have used it to connect my DS4, but
>>>>> it seems a big buggy and I was hoping it was or will be merged into
>>>>> bluez/kernel, making it superfluous.
>>>>>
>>>>> Using the DS4 makes the LED brighter than using ordinary bluetoothctl,
>>>>> perhaps because ds4drv knows how to intruct the LED.
>>>>> Even if my DS4 is almost next to my bluetooth radio device, the ds4drv
>>>>> reports "Signal strength low (29/40/38) reports"
>>>>> Testing with jstest seems to trigger all buttons and axises. The
>>>>> touchpad itself as a button triggers, but touching the pad doesnt trigger
>>>>> anything.
>>>>> In some games the digital keys on the left doesnt get recognized, even
>>>>> if they get triggered by jstest and other programs like Steam
>>>>> recognizes them.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>>>>> the body of a message to [email protected]
>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>>>
>>>> --
>>>> Antonio Ospite
>>>> http://ao2.it
>>>>
>>>> A: Because it messes up the order in which people normally read text.
>>>> See http://en.wikipedia.org/wiki/Posting_style
>>>> Q: Why is top-posting such a bad thing?
>>>
>>> What kernel version are you using and how new the controller? This sounds
>>> like a bug others were having due to Sony making a change to the HID
>>> descriptor in the controller firmware. It’s been fixed in newer kernels, but it
>>> will take time for the fix to make it’s way to most distros.
>>
>> uname -a:
>> Linux mkjlap 4.3.0-1-amd64 #1 SMP Debian 4.3.3-2 (2015-12-17) x86_64 GNU/Linux
>>
>> DS4 is bought recently withing this month (dec,2015). The boxes for
>> the controller are thrown out. The model is: CUH-ZCT1E if that is of
>> any help.
>>
>>>
>>> The patch is here if you are interested:
>>> http://thread.gmane.org/gmane.linux.kernel.input/46634/focus=46902
>>
>> Great. I'll try it.
>>
>>>
>>> Regards,
>>> Frank
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> I've patched the hci-sony.c with the source from the link above on the coresponding kernel source for my kernel, but no luck.
>
> [18424.148328] sony 0005:054C:05C4.0008: Using modified Dualshock 4 Bluetooth report descriptor
> [18424.149550] input: Wireless Controller as /devices/virtual/misc/uhid/0005:054C:05C4.0008/input/input24
> [18424.150029] sony 0005:054C:05C4.0008: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 28:B2:BD:94:0C:4F
> [18429.149962] sony 0005:054C:05C4.0008: failed to set the Dualshock 4 operational mode
> [18429.182447] sony: probe of 0005:054C:05C4.0008 failed with error -5
> [18589.591829] sony 0005:054C:05C4.0009: Using modified Dualshock 4 Bluetooth report descriptor
> [18589.592609] input: Wireless Controller as /devices/virtual/misc/uhid/0005:054C:05C4.0009/input/input25
> [18589.592851] sony 0005:054C:05C4.0009: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 28:B2:BD:94:0C:4F
> [18594.595254] sony 0005:054C:05C4.0009: failed to set the Dualshock 4 operational mode
> [18594.631481] sony: probe of 0005:054C:05C4.0009 failed with error -5
>
> The reason for the two sony outputs is because I restarted
> bluetooth.service after the first failure.
> Using the DS4 with a USB cable still works as espected.

Error -5 is an IO error which means that something in the Bluetooth
communication stack is failing when the host tries to communicate with
the controller. The next step would be to run hcidump and see exactly
what is happening when the system tries to talk to the controller.

Are you running at least version 5.14 of BlueZ?


2015-12-30 11:09:44

by Martin Kjær Jørgensen

[permalink] [raw]
Subject: Re: DS4 issues

On Mon, Dec 28, 2015 at 05:40:42PM +0100, Martin Kjær Jørgensen wrote:
>On Mon, Dec 28, 2015 at 10:48:21AM -0500, Frank Praznik wrote:
>>
>>>On Dec 28, 2015, at 04:18, Antonio Ospite <[email protected]> wrote:
>>>
>>>On Mon, 21 Dec 2015 15:46:07 +0100
>>>Martin Kjær Jørgensen <[email protected]> wrote:
>>>
>>>>Is there any "full" support for a Sony DualShock 4 in the bluez/kernel
>>>>stack?
>>>>
>>>
>>>CC-ing Frank as he is the author of the DS4 hid kernel driver.
>>>
>>>>The one I own works perfectly when using USB cable.
>>>>
>>>>When using bluetooth it gets recognized as a somewhat generic
>>>>Bluetooth Wireless Controller. Pairing it up with my system seems to
>>>>work as it creates a joystick device (/dev/input/js0) but when testing
>>>>it with jstest, only the touchpad on the DS4 triggers two of the
>>>>axis. None of the buttons or sticks reacts in jstest.
>>>>Pairing it with the usual bluetoothctl makes the DS4 LED dimmed blue
>>>>light.
>>>>
>>>>I know of the ds4drv project and have used it to connect my DS4, but
>>>>it seems a big buggy and I was hoping it was or will be merged into
>>>>bluez/kernel, making it superfluous.
>>>>
>>>>Using the DS4 makes the LED brighter than using ordinary bluetoothctl,
>>>>perhaps because ds4drv knows how to intruct the LED.
>>>>Even if my DS4 is almost next to my bluetooth radio device, the ds4drv
>>>>reports "Signal strength low (29/40/38) reports"
>>>>Testing with jstest seems to trigger all buttons and axises. The
>>>>touchpad itself as a button triggers, but touching the pad doesnt trigger
>>>>anything.
>>>>In some games the digital keys on the left doesnt get recognized, even
>>>>if they get triggered by jstest and other programs like Steam
>>>>recognizes them.
>>>>
>>>>
>>>>
>>>>--
>>>>To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>>>>the body of a message to [email protected]
>>>>More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>>--
>>>Antonio Ospite
>>>http://ao2.it
>>>
>>>A: Because it messes up the order in which people normally read text.
>>> See http://en.wikipedia.org/wiki/Posting_style
>>>Q: Why is top-posting such a bad thing?
>>
>>What kernel version are you using and how new the controller? This sounds
>>like a bug others were having due to Sony making a change to the HID
>>descriptor in the controller firmware. It’s been fixed in newer kernels, but it
>>will take time for the fix to make it’s way to most distros.
>
>uname -a:
> Linux mkjlap 4.3.0-1-amd64 #1 SMP Debian 4.3.3-2 (2015-12-17) x86_64 GNU/Linux
>
>DS4 is bought recently withing this month (dec,2015). The boxes for
>the controller are thrown out. The model is: CUH-ZCT1E if that is of
>any help.
>
>>
>>The patch is here if you are interested:
>>http://thread.gmane.org/gmane.linux.kernel.input/46634/focus=46902
>
>Great. I'll try it.
>
>>
>>Regards,
>>Frank
>--
>To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html

I've patched the hci-sony.c with the source from the link above on
the coresponding kernel source for my kernel, but no luck.

[18424.148328] sony 0005:054C:05C4.0008: Using modified Dualshock 4 Bluetooth report descriptor
[18424.149550] input: Wireless Controller as /devices/virtual/misc/uhid/0005:054C:05C4.0008/input/input24
[18424.150029] sony 0005:054C:05C4.0008: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 28:B2:BD:94:0C:4F
[18429.149962] sony 0005:054C:05C4.0008: failed to set the Dualshock 4 operational mode
[18429.182447] sony: probe of 0005:054C:05C4.0008 failed with error -5
[18589.591829] sony 0005:054C:05C4.0009: Using modified Dualshock 4 Bluetooth report descriptor
[18589.592609] input: Wireless Controller as /devices/virtual/misc/uhid/0005:054C:05C4.0009/input/input25
[18589.592851] sony 0005:054C:05C4.0009: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 28:B2:BD:94:0C:4F
[18594.595254] sony 0005:054C:05C4.0009: failed to set the Dualshock 4 operational mode
[18594.631481] sony: probe of 0005:054C:05C4.0009 failed with error -5

The reason for the two sony outputs is because I restarted
bluetooth.service after the first failure.
Using the DS4 with a USB cable still works as espected.

2015-12-28 16:40:42

by Martin Kjær Jørgensen

[permalink] [raw]
Subject: Re: DS4 issues

On Mon, Dec 28, 2015 at 10:48:21AM -0500, Frank Praznik wrote:
>
>> On Dec 28, 2015, at 04:18, Antonio Ospite <[email protected]> wrote:
>>
>> On Mon, 21 Dec 2015 15:46:07 +0100
>> Martin Kjær Jørgensen <[email protected]> wrote:
>>
>>> Is there any "full" support for a Sony DualShock 4 in the bluez/kernel
>>> stack?
>>>
>>
>> CC-ing Frank as he is the author of the DS4 hid kernel driver.
>>
>>> The one I own works perfectly when using USB cable.
>>>
>>> When using bluetooth it gets recognized as a somewhat generic
>>> Bluetooth Wireless Controller. Pairing it up with my system seems to
>>> work as it creates a joystick device (/dev/input/js0) but when testing
>>> it with jstest, only the touchpad on the DS4 triggers two of the
>>> axis. None of the buttons or sticks reacts in jstest.
>>> Pairing it with the usual bluetoothctl makes the DS4 LED dimmed blue
>>> light.
>>>
>>> I know of the ds4drv project and have used it to connect my DS4, but
>>> it seems a big buggy and I was hoping it was or will be merged into
>>> bluez/kernel, making it superfluous.
>>>
>>> Using the DS4 makes the LED brighter than using ordinary bluetoothctl,
>>> perhaps because ds4drv knows how to intruct the LED.
>>> Even if my DS4 is almost next to my bluetooth radio device, the ds4drv
>>> reports "Signal strength low (29/40/38) reports"
>>> Testing with jstest seems to trigger all buttons and axises. The
>>> touchpad itself as a button triggers, but touching the pad doesnt trigger
>>> anything.
>>> In some games the digital keys on the left doesnt get recognized, even
>>> if they get triggered by jstest and other programs like Steam
>>> recognizes them.
>>>
>>>
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>>> the body of a message to [email protected]
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>>
>> --
>> Antonio Ospite
>> http://ao2.it
>>
>> A: Because it messes up the order in which people normally read text.
>> See http://en.wikipedia.org/wiki/Posting_style
>> Q: Why is top-posting such a bad thing?
>
>What kernel version are you using and how new the controller? This sounds
>like a bug others were having due to Sony making a change to the HID
>descriptor in the controller firmware. It’s been fixed in newer kernels, but it
>will take time for the fix to make it’s way to most distros.

uname -a:
Linux mkjlap 4.3.0-1-amd64 #1 SMP Debian 4.3.3-2 (2015-12-17) x86_64 GNU/Linux

DS4 is bought recently withing this month (dec,2015). The boxes for
the controller are thrown out. The model is: CUH-ZCT1E if that is of
any help.

>
>The patch is here if you are interested:
>http://thread.gmane.org/gmane.linux.kernel.input/46634/focus=46902

Great. I'll try it.

>
>Regards,
>Frank

2015-12-28 15:48:21

by Frank Praznik

[permalink] [raw]
Subject: Re: DS4 issues


> On Dec 28, 2015, at 04:18, Antonio Ospite <[email protected]> wrote:
>
> On Mon, 21 Dec 2015 15:46:07 +0100
> Martin Kjær Jørgensen <[email protected]> wrote:
>
>> Is there any "full" support for a Sony DualShock 4 in the bluez/kernel
>> stack?
>>
>
> CC-ing Frank as he is the author of the DS4 hid kernel driver.
>
>> The one I own works perfectly when using USB cable.
>>
>> When using bluetooth it gets recognized as a somewhat generic
>> Bluetooth Wireless Controller. Pairing it up with my system seems to
>> work as it creates a joystick device (/dev/input/js0) but when testing
>> it with jstest, only the touchpad on the DS4 triggers two of the
>> axis. None of the buttons or sticks reacts in jstest.
>> Pairing it with the usual bluetoothctl makes the DS4 LED dimmed blue
>> light.
>>
>> I know of the ds4drv project and have used it to connect my DS4, but
>> it seems a big buggy and I was hoping it was or will be merged into
>> bluez/kernel, making it superfluous.
>>
>> Using the DS4 makes the LED brighter than using ordinary bluetoothctl,
>> perhaps because ds4drv knows how to intruct the LED.
>> Even if my DS4 is almost next to my bluetooth radio device, the ds4drv
>> reports "Signal strength low (29/40/38) reports"
>> Testing with jstest seems to trigger all buttons and axises. The
>> touchpad itself as a button triggers, but touching the pad doesnt trigger
>> anything.
>> In some games the digital keys on the left doesnt get recognized, even
>> if they get triggered by jstest and other programs like Steam
>> recognizes them.
>>
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
> --
> Antonio Ospite
> http://ao2.it
>
> A: Because it messes up the order in which people normally read text.
> See http://en.wikipedia.org/wiki/Posting_style
> Q: Why is top-posting such a bad thing?

What kernel version are you using and how new the controller? This sounds
like a bug others were having due to Sony making a change to the HID
descriptor in the controller firmware. It’s been fixed in newer kernels, but it
will take time for the fix to make it’s way to most distros.

The patch is here if you are interested:
http://thread.gmane.org/gmane.linux.kernel.input/46634/focus=46902

Regards,
Frank

2015-12-28 09:18:22

by Antonio Ospite

[permalink] [raw]
Subject: Re: DS4 issues

On Mon, 21 Dec 2015 15:46:07 +0100
Martin Kj?r J?rgensen <[email protected]> wrote:

> Is there any "full" support for a Sony DualShock 4 in the bluez/kernel
> stack?
>

CC-ing Frank as he is the author of the DS4 hid kernel driver.

> The one I own works perfectly when using USB cable.
>
> When using bluetooth it gets recognized as a somewhat generic
> Bluetooth Wireless Controller. Pairing it up with my system seems to
> work as it creates a joystick device (/dev/input/js0) but when testing
> it with jstest, only the touchpad on the DS4 triggers two of the
> axis. None of the buttons or sticks reacts in jstest.
> Pairing it with the usual bluetoothctl makes the DS4 LED dimmed blue
> light.
>
> I know of the ds4drv project and have used it to connect my DS4, but
> it seems a big buggy and I was hoping it was or will be merged into
> bluez/kernel, making it superfluous.
>
> Using the DS4 makes the LED brighter than using ordinary bluetoothctl,
> perhaps because ds4drv knows how to intruct the LED.
> Even if my DS4 is almost next to my bluetooth radio device, the ds4drv
> reports "Signal strength low (29/40/38) reports"
> Testing with jstest seems to trigger all buttons and axises. The
> touchpad itself as a button triggers, but touching the pad doesnt trigger
> anything.
> In some games the digital keys on the left doesnt get recognized, even
> if they get triggered by jstest and other programs like Steam
> recognizes them.
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html


--
Antonio Ospite
http://ao2.it

A: Because it messes up the order in which people normally read text.
See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?

2016-02-14 10:47:07

by Martin Kjær Jørgensen

[permalink] [raw]
Subject: Re: DS4 issues

On ons, dec 30 2015, Frank Praznik <[email protected]> wrote:

>> On Dec 30, 2015, at 06:09, Martin Kjær Jørgensen <[email protected]> wrote:
>>
>> On Mon, Dec 28, 2015 at 05:40:42PM +0100, Martin Kjær Jørgensen wrote:
>>> On Mon, Dec 28, 2015 at 10:48:21AM -0500, Frank Praznik wrote:
>>>>
>>>>> On Dec 28, 2015, at 04:18, Antonio Ospite <[email protected]> wrote:
>>>>>
>>>>> On Mon, 21 Dec 2015 15:46:07 +0100
>>>>> Martin Kjær Jørgensen <[email protected]> wrote:
>>>>>
>>>>>> Is there any "full" support for a Sony DualShock 4 in the bluez/kernel
>>>>>> stack?
>>>>>>
>>>>>
>>>>> CC-ing Frank as he is the author of the DS4 hid kernel driver.
>>>>>
>>>>>> The one I own works perfectly when using USB cable.
>>>>>>
>>>>>> When using bluetooth it gets recognized as a somewhat generic
>>>>>> Bluetooth Wireless Controller. Pairing it up with my system seems to
>>>>>> work as it creates a joystick device (/dev/input/js0) but when testing
>>>>>> it with jstest, only the touchpad on the DS4 triggers two of the
>>>>>> axis. None of the buttons or sticks reacts in jstest.
>>>>>> Pairing it with the usual bluetoothctl makes the DS4 LED dimmed blue
>>>>>> light.
>>>>>>
>>>>>> I know of the ds4drv project and have used it to connect my DS4, but
>>>>>> it seems a big buggy and I was hoping it was or will be merged into
>>>>>> bluez/kernel, making it superfluous.
>>>>>>
>>>>>> Using the DS4 makes the LED brighter than using ordinary bluetoothctl,
>>>>>> perhaps because ds4drv knows how to intruct the LED.
>>>>>> Even if my DS4 is almost next to my bluetooth radio device, the ds4drv
>>>>>> reports "Signal strength low (29/40/38) reports"
>>>>>> Testing with jstest seems to trigger all buttons and axises. The
>>>>>> touchpad itself as a button triggers, but touching the pad doesnt trigger
>>>>>> anything.
>>>>>> In some games the digital keys on the left doesnt get recognized, even
>>>>>> if they get triggered by jstest and other programs like Steam
>>>>>> recognizes them.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>>>>>> the body of a message to [email protected]
>>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>>
>>>>>
>>>>> --
>>>>> Antonio Ospite
>>>>> http://ao2.it
>>>>>
>>>>> A: Because it messes up the order in which people normally read text.
>>>>> See http://en.wikipedia.org/wiki/Posting_style
>>>>> Q: Why is top-posting such a bad thing?
>>>>
>>>> What kernel version are you using and how new the controller? This sounds
>>>> like a bug others were having due to Sony making a change to the HID
>>>> descriptor in the controller firmware. It’s been fixed in newer kernels, but it
>>>> will take time for the fix to make it’s way to most distros.
>>>
>>> uname -a:
>>> Linux mkjlap 4.3.0-1-amd64 #1 SMP Debian 4.3.3-2 (2015-12-17) x86_64 GNU/Linux
>>>
>>> DS4 is bought recently withing this month (dec,2015). The boxes for
>>> the controller are thrown out. The model is: CUH-ZCT1E if that is of
>>> any help.
>>>
>>>>
>>>> The patch is here if you are interested:
>>>> http://thread.gmane.org/gmane.linux.kernel.input/46634/focus=46902
>>>
>>> Great. I'll try it.
>>>
>>>>
>>>> Regards,
>>>> Frank
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>>> the body of a message to [email protected]
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>> I've patched the hci-sony.c with the source from the link above on the coresponding kernel source for my kernel, but no luck.
>>
>> [18424.148328] sony 0005:054C:05C4.0008: Using modified Dualshock 4 Bluetooth report descriptor
>> [18424.149550] input: Wireless Controller as /devices/virtual/misc/uhid/0005:054C:05C4.0008/input/input24
>> [18424.150029] sony 0005:054C:05C4.0008: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 28:B2:BD:94:0C:4F
>> [18429.149962] sony 0005:054C:05C4.0008: failed to set the Dualshock 4 operational mode
>> [18429.182447] sony: probe of 0005:054C:05C4.0008 failed with error -5
>> [18589.591829] sony 0005:054C:05C4.0009: Using modified Dualshock 4 Bluetooth report descriptor
>> [18589.592609] input: Wireless Controller as /devices/virtual/misc/uhid/0005:054C:05C4.0009/input/input25
>> [18589.592851] sony 0005:054C:05C4.0009: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 28:B2:BD:94:0C:4F
>> [18594.595254] sony 0005:054C:05C4.0009: failed to set the Dualshock 4 operational mode
>> [18594.631481] sony: probe of 0005:054C:05C4.0009 failed with error -5
>>
>> The reason for the two sony outputs is because I restarted
>> bluetooth.service after the first failure.
>> Using the DS4 with a USB cable still works as espected.
>
> Error -5 is an IO error which means that something in the Bluetooth
> communication stack is failing when the host tries to communicate with
> the controller. The next step would be to run hcidump and see exactly
> what is happening when the system tries to talk to the controller.
>
> Are you running at least version 5.14 of BlueZ?

I'm running latest from Debian Testing:

$ bluetoothctl -v
5.36

Anything in particular to look for, or should I just dump the packets in
a file?

2016-04-27 01:22:06

by Frank Praznik

[permalink] [raw]
Subject: Re: DS4 issues


> On Apr 21, 2016, at 12:15, Martin Kjær Jørgensen <[email protected]> wrote:
>
>
> I've now upgraded my Debian Testing machine to kernel 4.5.1. It seems to
> have fixed my first issue. The controller now binds, gets recognized
> and I can test it with jstest and use it in programs :-)
>
> However, it's not recognized as a DS4 controller, so programs that
> would automatically map keys and buttons according to controller now
> requires manual mapping.
>
> Upon turning my DS4 controller on, dmesg produces this:
>
> [ 4469.637467] sony 0005:054C:05C4.0009: Using modified Dualshock 4 Bluetooth report descriptor
> [ 4469.638626] input: Wireless Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:256/0005:054C:05C4.0009/input/input27
> [ 4469.639080] sony 0005:054C:05C4.0009: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 28:b2:bd:94:0c:4f
>
> ... which is different from when using USB cabel. Again, when using
> cabel the controller works perfectly.
>
> Any suggestions to this?

The bus type and version parameters of the input_id struct retrieved with EVIOCGID are different when using bluetooth vs USB. That’s just how it is and software has to accommodate both values to work correctly. For instance, the SDL game controller mapping database has two separate entries for both the wired and wireless modes to deal with this.

2016-04-21 16:15:26

by Martin Kjær Jørgensen

[permalink] [raw]
Subject: Re: DS4 issues


I've now upgraded my Debian Testing machine to kernel 4.5.1. It seems to
have fixed my first issue. The controller now binds, gets recognized
and I can test it with jstest and use it in programs :-)

However, it's not recognized as a DS4 controller, so programs that
would automatically map keys and buttons according to controller now
requires manual mapping.

Upon turning my DS4 controller on, dmesg produces this:

[ 4469.637467] sony 0005:054C:05C4.0009: Using modified Dualshock 4 Bluetooth report descriptor
[ 4469.638626] input: Wireless Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:256/0005:054C:05C4.0009/input/input27
[ 4469.639080] sony 0005:054C:05C4.0009: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 28:b2:bd:94:0c:4f

... which is different from when using USB cabel. Again, when using
cabel the controller works perfectly.

Any suggestions to this?