← Back to team overview

touch-packages team mailing list archive

[Bug 1511855] [NEW] Some Sony Dualshock 4 controllers do not work in kernel 3.15+

 

Public bug reported:

I'm testing in Ubuntu 15.10 with kernel 4.2.0-16.19 but this bug report
actually applies to ALL kernels starting at 3.15 until the current
4.3rc7 and is not limited to Ubuntu.

I have a brand new Sony DualShock 4 that seems to use a slightly
different protocol than the hid-sony driver expects. I'm not sure why
this controller is different. Maybe updated firmware from Sony or maybe
because it has never been connected to a PS4. Whatever the case, the
device descriptor size is different from what hid-sony expects and
because of that it does not remap the descriptor table as required. This
causes only the trackpad to function (the trackpad uses a different code
path) and none of the other controls work. So basically the controller
does not work at all.

I have created a patch that fixes it. I have only tested the patch
against kernel 4.2 and 4.3 but it's simple enough that it should be
trivially portable to any 3.15+ kernel. The attached patch is based
against the Ubuntu mainline-crack git v4.2 kernel.

I posted to the LKML asking if the descriptor size check was even
necessary but never got a response so I left it in.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Patch added: "hid-sony-ds4.patch"
   https://bugs.launchpad.net/bugs/1511855/+attachment/4509539/+files/hid-sony-ds4.patch

** Package changed: apport (Ubuntu) => linux-meta (Ubuntu)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/1511855

Title:
   Some Sony Dualshock 4 controllers do not work in kernel 3.15+

Status in linux package in Ubuntu:
  New

Bug description:
  I'm testing in Ubuntu 15.10 with kernel 4.2.0-16.19 but this bug
  report actually applies to ALL kernels starting at 3.15 until the
  current 4.3rc7 and is not limited to Ubuntu.

  I have a brand new Sony DualShock 4 that seems to use a slightly
  different protocol than the hid-sony driver expects. I'm not sure why
  this controller is different. Maybe updated firmware from Sony or
  maybe because it has never been connected to a PS4. Whatever the case,
  the device descriptor size is different from what hid-sony expects and
  because of that it does not remap the descriptor table as required.
  This causes only the trackpad to function (the trackpad uses a
  different code path) and none of the other controls work. So basically
  the controller does not work at all.

  I have created a patch that fixes it. I have only tested the patch
  against kernel 4.2 and 4.3 but it's simple enough that it should be
  trivially portable to any 3.15+ kernel. The attached patch is based
  against the Ubuntu mainline-crack git v4.2 kernel.

  I posted to the LKML asking if the descriptor size check was even
  necessary but never got a response so I left it in.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1511855/+subscriptions