← Back to team overview

kernel-packages team mailing list archive

[Bug 1326725] Re: PS3 Sixaxis controller/joystick usb stopped working, regression in linux-image-extra-3.13.0-27-generic

 

I took some more time to research and I wrote a proper patch this time.
It's just six lines of code.

What this patch does is basically restore "hid_get_raw_report" field in "struct hid_device".
All the lines that are added by this patch were previously removed by this commit:
commit aa6c390c4d59c9ff4fffd887e15783b2b793951b
Author: Benjamin Tissoires

    HID: remove hid_get_raw_report in struct hid_device

More in depth description:
The field "hid_get_raw_report" was deprecated in more recent versions of the Linux kernel in favour of function "hid_hw_raw_request" but in 3.13 mainline the former is still used.
The hid-sony kernel driver in 3.13 relied on that field because the ps3 controller needs special quirks in order to set it's operational mode.
Function "hid_hw_raw_request" failed to do that.

This patch fixes the issue in a much cleaner way and leaves the changes
necessary to fix bug http://bugs.launchpad.net/bugs/1305522 intact.

To anyone willing to test it and report back:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git ubuntu-trusty
cp sixaxis-trusty.patch ubuntu-trusty
cd ubuntu-trusty
git apply sixaxis-trusty.patch
CONCURRENCY_LEVEL=$(nproc) fakeroot make-kpkg --initrd kernel_image kernel_headers
After that, install the deb packages created and reboot using the new kernel.

@jsalisbury
I hope this helps to finally put an end to our investigation.

** Patch added: "sixaxis-trusty.patch"
   https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1326725/+attachment/4185500/+files/sixaxis-trusty.patch

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1326725

Title:
  PS3 Sixaxis controller/joystick usb stopped working, regression in
  linux-image-extra-3.13.0-27-generic

Status in “linux” package in Ubuntu:
  Confirmed

Bug description:
  After applying upgrades to my 14.04 installations and rebooting,
  suddenly the sony sixaxis usb joystick/controller input device which I
  use a lot will now no longer appear as a joystick device.  It happens
  on at least two machines with the newest 14.04 updates as of a couple
  of days ago.  See below for kernel messages.

  I believe the actual kernel error message for this bug is:

  "Jun  5 11:36:51 machine kernel: [47062.524566] sony
  0003:054C:0268.000E: can't set operational mode"

  After looking at the kernel sources I believe this is a problem with
  the hid_sony kernel module.  The changelog for linux-image-
  extra-3.13.0-27-generic, which contains this module, has many hid
  related changes.

  The same bug/regression, it appears, was reported on askubuntu.com
  some days ago, see this link:

  http://askubuntu.com/questions/474199/my-ps3-controller-stopped-
  working-2-days-ago

  Version information:

  $ lsb_release -d
  Description:    Ubuntu 14.04 LTS
  $ uname -a
  Linux valley 3.13.0-27-generic #50-Ubuntu SMP Thu May 15 18:06:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
  # dpkg -S /lib/modules/3.13.0-27-generic/kernel/drivers/hid/hid-sony.ko
  linux-image-extra-3.13.0-27-generic: /lib/modules/3.13.0-27-generic/kernel/drivers/hid/hid-sony.ko

  dmesg:

  Jun  5 11:36:50 machine kernel: [47062.360175] usb 2-1.1.3.1: new full-speed USB device number 19 using ehci-pci
  Jun  5 11:36:51 machine kernel: [47062.486789] usb 2-1.1.3.1: New USB device found, idVendor=054c, idProduct=0268
  Jun  5 11:36:51 machine kernel: [47062.486797] usb 2-1.1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
  Jun  5 11:36:51 machine kernel: [47062.486802] usb 2-1.1.3.1: Product: PLAYSTATION(R)3 Controller
  Jun  5 11:36:51 machine kernel: [47062.486806] usb 2-1.1.3.1: Manufacturer: Sony
  Jun  5 11:36:51 machine kernel: [47062.498624] sony 0003:054C:0268.000E: Fixing up Sony Sixaxis report descriptor
  Jun  5 11:36:51 machine kernel: [47062.524383] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1.3/2-1.1.3.1/2-1.1.3.1:1.0/input/input22
  Jun  5 11:36:51 machine kernel: [47062.524563] sony 0003:054C:0268.000E: input,hiddev0,hidraw4: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1d.0-1.1.3.1/input0
  Jun  5 11:36:51 machine kernel: [47062.524566] sony 0003:054C:0268.000E: can't set operational mode
  Jun  5 11:36:51 machine kernel: [47062.556374] sony: probe of 0003:054C:0268.000E failed with error -38
  Jun  5 11:36:51 machine mtp-probe: checking bus 2, device 19: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1.3/2-1.1.3.1"
  Jun  5 11:36:51 machine mtp-probe: bus: 2, device: 19 was not an MTP device

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


References