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

Bug #1326725 reported by oh on 2014-06-05
236
This bug affects 46 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

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

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1326725

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: trusty
oh (oystein-homelien) wrote :

I am unable to run this command because I don't have access to the relevant machine now and I believe also there is enough information/logs in the bug report to reproduce and/or fix the bug.

PS: It happens on several machines, with several different sixaxis controllers.

I will try to change the status to "Confirmed".

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
oh (oystein-homelien) wrote :

I booted one of the machines on kernel 3.13.0-24-generic and the sixaxis device now works (no error message in dmesg and appears as /dev/input/js0). I have tried -26, -27 and -29 and the bug is in those but not in -24, as far as I can see.

Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream stable kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.13 stable kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11.2-trusty/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
tags: added: kernel-da-key needs-bisect regression-update

I can confirm that this bug affects me as well with -29, but not with -24.
I tried the 03131102 mainline kernel, but the DKMS step failed for nvidia-337 with that one.

James McNabb (hemihua) wrote :

Same problem for me too. Just got a new HDD and installed Ubuntu 14.04 (used to run Debian testing, controller used to autodetect and work correctly when plugged in). Wouldn't recognise the controller, syslog had the following info when I plug in the controller:

Jun 7 17:56:39 Hemi kernel: [ 596.260269] usb 7-2: new full-speed USB device number 3 using uhci_hcd
Jun 7 17:56:40 Hemi kernel: [ 596.684014] usb 7-2: New USB device found, idVendor=054c, idProduct=0268
Jun 7 17:56:40 Hemi kernel: [ 596.684020] usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 7 17:56:40 Hemi kernel: [ 596.684023] usb 7-2: Product: PLAYSTATION(R)3 Controller
Jun 7 17:56:40 Hemi kernel: [ 596.684026] usb 7-2: Manufacturer: Sony
Jun 7 17:56:40 Hemi kernel: [ 596.720038] sony 0003:054C:0268.0006: Fixing up Sony Sixaxis report descriptor
Jun 7 17:56:40 Hemi kernel: [ 596.764039] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.0/input/input18
Jun 7 17:56:40 Hemi kernel: [ 596.764694] sony 0003:054C:0268.0006: input,hiddev0,hidraw4: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1d.1-2/input0
Jun 7 17:56:40 Hemi kernel: [ 596.764699] sony 0003:054C:0268.0006: can't set operational mode
Jun 7 17:56:40 Hemi mtp-probe: checking bus 7, device 3: "/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2"
Jun 7 17:56:40 Hemi kernel: [ 596.784474] sony: probe of 0003:054C:0268.0006 failed with error -38
Jun 7 17:56:40 Hemi mtp-probe: bus: 7, device: 3 was not an MTP device

ApportVersion: 2.14.1-0ubuntu3.2
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: darkhole 2018 F.... pulseaudio
 /dev/snd/controlC1: darkhole 2018 F.... pulseaudio
CurrentDesktop: Unity
DistroRelease: Ubuntu 14.04
HibernationDevice: RESUME=UUID=6b46b0df-f8b1-4697-afe5-18fa1dbe1097
InstallationDate: Installed on 2014-02-16 (111 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Alpha amd64 (20140216)
MachineType: Dell Inc. Dell System Vostro 3450
Package: linux (not installed)
ProcFB:
 0 inteldrmfb
 1 radeondrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-29-generic root=UUID=a5df801d-82c7-4d99-9888-a26d9c318693 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.13.0-29.53-generic 3.13.11.2
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-29-generic N/A
 linux-backports-modules-3.13.0-29-generic N/A
 linux-firmware 1.127.2
Tags: trusty
Uname: Linux 3.13.0-29-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 09/26/2012
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A13
dmi.board.name: 0K8WHD
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: 0.1
dmi.modalias: dmi:bvnDellInc.:bvrA13:bd09/26/2012:svnDellInc.:pnDellSystemVostro3450:pvr:rvnDellInc.:rn0K8WHD:rvrA00:cvnDellInc.:ct8:cvr0.1:
dmi.product.name: Dell System Vostro 3450
dmi.sys.vendor: Dell Inc.

tags: added: apport-collected

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Hi!

I got the same problem. I just attached more information. This is the syslog iutput:

Jun 7 12:54:28 devolo wpa_supplicant[795]: nl80211: send_and_recv->nl_recvmsgs failed: -33
Jun 7 12:54:56 devolo kernel: [ 104.606913] usb 2-1.3: new full-speed USB device number 5 using ehci-pci
Jun 7 12:54:56 devolo kernel: [ 104.749919] usb 2-1.3: New USB device found, idVendor=054c, idProduct=0268
Jun 7 12:54:56 devolo kernel: [ 104.749931] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 7 12:54:56 devolo kernel: [ 104.749937] usb 2-1.3: Product: PLAYSTATION(R)3 Controller
Jun 7 12:54:56 devolo kernel: [ 104.749942] usb 2-1.3: Manufacturer: Sony
Jun 7 12:54:56 devolo mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
Jun 7 12:54:56 devolo mtp-probe: bus: 2, device: 5 was not an MTP device
Jun 7 12:54:56 devolo kernel: [ 104.804576] sony 0003:054C:0268.0003: Fixing up Sony Sixaxis report descriptor
Jun 7 12:54:56 devolo kernel: [ 104.847547] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input16
Jun 7 12:54:56 devolo kernel: [ 104.847941] sony 0003:054C:0268.0003: input,hiddev0,hidraw2: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1d.0-1.3/input0
Jun 7 12:54:56 devolo kernel: [ 104.847945] sony 0003:054C:0268.0003: can't set operational mode
Jun 7 12:54:56 devolo kernel: [ 104.879133] sony: probe of 0003:054C:0268.0003 failed with error -38

Let me know if you more info. I will try mainline kernels.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Ok, I just tested 4 different kernels from mainline http://kernel.ubuntu.com/~kernel-ppa/mainline/:
v3.13-trusty
v3.13.3-trusty
v3.13.6-trusty
v3.13.11-trusty

And all of them works! I got this message in /var/log/syslog
Jun 7 13:21:05 devolo kernel: [ 194.737714] usb 2-1.3: USB disconnect, device number 5
Jun 7 13:21:09 devolo kernel: [ 199.292548] usb 2-1.3: new full-speed USB device number 6 using ehci-pci
Jun 7 13:21:09 devolo kernel: [ 199.435734] usb 2-1.3: New USB device found, idVendor=054c, idProduct=0268
Jun 7 13:21:09 devolo kernel: [ 199.435738] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 7 13:21:09 devolo kernel: [ 199.435740] usb 2-1.3: Product: PLAYSTATION(R)3 Controller
Jun 7 13:21:09 devolo kernel: [ 199.435741] usb 2-1.3: Manufacturer: Sony
Jun 7 13:21:09 devolo kernel: [ 199.470403] sony 0003:054C:0268.0004: Fixing up Sony Sixaxis report descriptor
Jun 7 13:21:09 devolo kernel: [ 199.513611] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input17
Jun 7 13:21:09 devolo kernel: [ 199.513941] sony 0003:054C:0268.0004: input,hiddev0,hidraw2: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1d.0-1.3/input0
Jun 7 13:21:09 devolo mtp-probe: checking bus 2, device 6: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
Jun 7 13:21:09 devolo mtp-probe: bus: 2, device: 6 was not an MTP device

Already test the ps3 controller with jstest-gtk and worked fine.

Also, I tested Ubuntu kernels:
3.13.0-26-generic
3.13.0-27-generic
3.13.0-29-generic

Same problem as initialy reported. Seems to be a problem with Ubuntu kernel, not upstream.

Thank you for taking the time to file a bug report on this issue.

However, given the number of bugs that the Kernel Team receives during any development cycle it is impossible for us to review them all. Therefore, we occasionally resort to using automated bots to request further testing. This is such a request.

  With the recent release of this Ubuntu release, would like to confirm if this bug is still present. Please test again with the newer kernel and indicate in the bug if this issue still exists or not.

You can update to the latest development kernel by simply running the following commands in a terminal window:

    sudo apt-get update
    sudo apt-get dist-upgrade

If the bug still exists, change the bug status from Incomplete to Confirmed. If the bug no longer exists, change the bug status from Incomplete to Fix Released.

If you want this bot to quit automatically requesting kernel tests, add a tag named: bot-stop-nagging.

 Thank you for your help, we really do appreciate it.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: kernel-request-3.13.0-24.46
Roberto Maurizzi (r-maurizzi) wrote :

Kernel Version: 3.13.0-29.53

Jun 15 01:48:48 bebop kernel: [644505.504141] usb 3-3: new full-speed USB device number 11 using xhci_hcd
Jun 15 01:48:48 bebop kernel: [644505.538650] usb 3-3: New USB device found, idVendor=054c, idProduct=0268
Jun 15 01:48:48 bebop kernel: [644505.538660] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 15 01:48:48 bebop kernel: [644505.538665] usb 3-3: Product: PLAYSTATION(R)3 Controller
Jun 15 01:48:48 bebop kernel: [644505.538669] usb 3-3: Manufacturer: Sony
Jun 15 01:48:48 bebop kernel: [644505.550542] sony 0003:054C:0268.0008: Fixing up Sony Sixaxis report descriptor
Jun 15 01:48:48 bebop kernel: [644505.576407] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/input/input25
Jun 15 01:48:48 bebop kernel: [644505.576940] sony 0003:054C:0268.0008: input,hiddev0,hidraw1: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:14.0-3/input0
Jun 15 01:48:48 bebop kernel: [644505.576945] sony 0003:054C:0268.0008: can't set operational mode
Jun 15 01:48:48 bebop kernel: [644505.592553] sony: probe of 0003:054C:0268.0008 failed with error -38

Bug still present

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Joseph Salisbury (jsalisbury) wrote :

@Julian, can you confirm if the bug exists on 3.13.11.2:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11.2-trusty/

If the bug does not exist on that upstream kernel, we will have to perform a kernel bisect on the Ubuntu kernels to see if a SAUCE patch introduced this.

Roberto Maurizzi (r-maurizzi) wrote :

@salisbury, I tested 3.13.11-03131104-generic, last available from http://kernel.ubuntu.com/~kernel-ppa/mainline/ for trusty. It works:

Jun 21 14:55:29 bebop kernel: [ 365.133571] usb 3-3: USB disconnect, device number 3
Jun 21 14:55:34 bebop kernel: [ 370.168060] usb 3-3: new full-speed USB device number 4 using xhci_hcd
Jun 21 14:55:34 bebop kernel: [ 370.202363] usb 3-3: New USB device found, idVendor=054c, idProduct=0268
Jun 21 14:55:34 bebop kernel: [ 370.202366] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 21 14:55:34 bebop kernel: [ 370.202367] usb 3-3: Product: PLAYSTATION(R)3 Controller
Jun 21 14:55:34 bebop kernel: [ 370.202369] usb 3-3: Manufacturer: Sony
Jun 21 14:55:34 bebop kernel: [ 370.214032] sony 0003:054C:0268.0003: Fixing up Sony Sixaxis report descriptor
Jun 21 14:55:34 bebop kernel: [ 370.239601] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/input/input18
Jun 21 14:55:34 bebop kernel: [ 370.239804] sony 0003:054C:0268.0003: input,hiddev0,hidraw1: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:14.0-3/input0
Jun 21 14:55:34 bebop mtp-probe: checking bus 3, device 4: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3"
Jun 21 14:55:34 bebop mtp-probe: bus: 3, device: 4 was not an MTP device

hunter (theprinceofhesh) wrote :

Please god fix this! The steam summer sale is killing me because im ONLY BUYING CONTROLLER GAMES! GAH!

[13978.653617] usb 1-1.3: New USB device found, idVendor=054c, idProduct=0268
[13978.653623] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13978.653626] usb 1-1.3: Product: PLAYSTATION(R)3 Controller
[13978.653628] usb 1-1.3: Manufacturer: Sony
[13978.688277] sony 0003:054C:0268.0007: Fixing up Sony Sixaxis report descriptor
[13978.731239] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input20
[13978.731580] sony 0003:054C:0268.0007: input,hiddev0,hidraw5: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1a.0-1.3/input0
[13978.731585] sony 0003:054C:0268.0007: can't set operational mode
[13978.754765] sony: probe of 0003:054C:0268.0007 failed with error -38

ApportVersion: 2.14.1-0ubuntu3.2
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: corneacraneo 1959 F.... pulseaudio
CurrentDesktop: Unity
DistroRelease: Ubuntu 14.04
HibernationDevice: RESUME=UUID=c41cab1a-3c79-4d7a-b885-61b567d233e3
InstallationDate: Installed on 2014-04-18 (67 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
MachineType: ASUSTeK COMPUTER INC. N56VZ
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-30-generic.efi.signed root=UUID=11344840-8d4a-464a-baf9-7f009b236a57 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.13.0-30.54-generic 3.13.11.2
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-30-generic N/A
 linux-backports-modules-3.13.0-30-generic N/A
 linux-firmware 1.127.3
Tags: trusty
Uname: Linux 3.13.0-30-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm bumblebee cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 11/02/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: N56VZ.215
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: N56VZ
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: 1.0
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK COMPUTER INC.
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrN56VZ.215:bd11/02/2012:svnASUSTeKCOMPUTERINC.:pnN56VZ:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnN56VZ:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:
dmi.product.name: N56VZ
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK COMPUTER INC.

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

@jsalisbury, I can also confirm that kernel 3.13.11-03131104-generic resolves this issue.

hunter (theprinceofhesh) wrote :

Bug also exists in kernel version 3.13.0-30-generic
results from dmesg after plugging in controller in 3.13.0-30-generic:
[ 30.004372] usb 1-1.3: new full-speed USB device number 4 using ehci-pci
[ 30.147393] usb 1-1.3: New USB device found, idVendor=054c, idProduct=0268
[ 30.147399] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 30.147402] usb 1-1.3: Product: PLAYSTATION(R)3 Controller
[ 30.147405] usb 1-1.3: Manufacturer: Sony
[ 30.182194] sony 0003:054C:0268.0007: Fixing up Sony Sixaxis report descriptor
[ 30.225093] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input20
[ 30.225580] sony 0003:054C:0268.0007: input,hiddev0,hidraw5: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1a.0-1.3/input0
[ 30.225582] sony 0003:054C:0268.0007: can't set operational mode
[ 30.244499] sony: probe of 0003:054C:0268.0007 failed with error -38

ProfessorKaos64 (mdeguzis) wrote :

Same error as #49 @hunter:

Kernel: 3.13.0-30-generic
This is really holding up my RetroRig project : (https://github.com/ProfessorKaos64/RetroRig)

Please, please, help.

[ 327.993910] sony 0003:054C:0268.0005: Fixing up Sony Sixaxis report descriptor
[ 328.043114] sony 0003:054C:0268.0005: input,hiddev0,hidraw2: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1d.1-1/input0
[ 328.043119] sony 0003:054C:0268.0005: can't set operational mode
[ 328.076291] sony: probe of 0003:054C:0268.0005 failed with error -38
[ 1047.573150] sony 0003:054C:0268.0006: Fixing up Sony Sixaxis report descriptor
[ 1047.617683] sony 0003:054C:0268.0006: input,hiddev0,hidraw2: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1d.1-1/input0
[ 1047.617688] sony 0003:054C:0268.0006: can't set operational mode
[ 1047.636242] sony: probe of 0003:054C:0268.0006 failed with error -38

ProfessorKaos64 (mdeguzis) wrote :

Still exists in 3.13.0-31-generic as well. (trusty-proposed)

[ 109.778489] sony 0003:054C:0268.0005: Fixing up Sony Sixaxis report descriptor
[ 109.828401] sony 0003:054C:0268.0005: input,hiddev0,hidraw2: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1d.1-1/input0
[ 109.828406] sony 0003:054C:0268.0005: can't set operational mode
[ 109.864280] sony: probe of 0003:054C:0268.0005 failed with error -38

Brandon (brandon-lee-mcanally) wrote :

Had the same problem with Kernel 3.13.0-30. I upgraded the kernel to 3.14 from linux-image-3.14.0-031400-generic_3.14.0-031400.201403310035_amd64.deb and the controller now works.

brandon@Desktop:~$ uname -a
Linux Desktop 3.14.0-031400-generic #201403310035 SMP Mon Mar 31 04:36:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

I'm having this problem with the 3.13.0-30-generic kernel

[ 1045.796741] usb 1-1.2.4: New USB device found, idVendor=054c, idProduct=0268
[ 1045.796747] usb 1-1.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1045.796750] usb 1-1.2.4: Product: PLAYSTATION(R)3 Controller
[ 1045.796752] usb 1-1.2.4: Manufacturer: Sony
[ 1045.831274] sony 0003:054C:0268.0005: Fixing up Sony Sixaxis report descriptor
[ 1045.874178] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4:1.0/input/input20
[ 1045.874464] sony 0003:054C:0268.0005: input,hiddev0,hidraw3: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1a.0-1.2.4/input0
[ 1045.874467] sony 0003:054C:0268.0005: can't set operational mode
[ 1045.912728] sony: probe of 0003:054C:0268.0005 failed with error -38

ProfessorKaos64 (mdeguzis) wrote :

I can also confirm the 3.14 kernel fixes this regression and I have tested this for about a week on the LTS 14.04 base install.

I did a manual bisect of the ubuntu trusty kernel tree and the last "good" (controller working) commit is:

commit 73ffcac5867519fa4b6a54e734ded0fed5b403cc
Author: Jiri Kosina

    HID: hidraw: make comment more accurate and nicer

The first sure "bad" (controller not working) commit I found is:

commit 6d8e891822be26ed5f376287d7c7c5988f4fe425:
Author: Frank Praznik

    HID: Add transport-driver callbacks to the hid_ll_driver struct

Between those two commits there are three more commits.
I could not test by cheking out these three commits one by one because the kernel failed to build.
Here they are:

commit c96bd945d3061dc77b640ceead6f4151983432cf
Author: Benjamin Tissoires

    HID: add inliners for ll_driver transport-layer callbacks

commit b0eff3d87fabad16aad6640703f1e5b6ff6108af
Author: Benjamin Tissoires

    HID: i2c-hid: implement ll_driver transport-layer callbacks

commit aa6c390c4d59c9ff4fffd887e15783b2b793951b
Author: Benjamin Tissoires

    HID: remove hid_get_raw_report in struct hid_device

I then tried to revert these commits in order:
c96bd945d3061dc77b640ceead6f4151983432cf
b0eff3d87fabad16aad6640703f1e5b6ff6108af
aa6c390c4d59c9ff4fffd887e15783b2b793951b

And, after rebuilding the kernel, the controller worked again.

The problem is that those commits (among many others) were pushed to fix http://bugs.launchpad.net/bugs/1305522
By doing so many heavy changes to hid were made.
This broke the hid-sony kernel driver.

After further research I found that the same author of those commits (Benjamin Tissoires) submitted a patch that supposedly fixed the issue:
https://lkml.org/lkml/2014/3/8/270

So I tried to backport that patch.

To make my life easier I fetched the latest version of these files directly from https://github.com/torvalds/linux
drivers/hid/hid-sony.c
drivers/hid/hidraw.c
drivers/hid/usbhid/hid-core.c

And added only a couple of lines to these files:
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
include/linux/hid.h

Recompiled and it worked.
I tested both dualshock 3 and dualshock 4 via usb. Both working.

If anyone would like to test it:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git ubuntu-trusty
cp ps3-1326725.diff ubuntu-trusty
cd ubuntu-trusty
git apply ps3-1326725.diff
and recompile the kernel.

I added the patch as an attachment.

Whether to apply/rewrite/properly backport a patch like this or to revert the commits is ubuntu kernel team's choice now.
I Hope this is useful.

Please don't make me recompile the kernel another 20+ times. :)

tags: added: patch
Joseph Salisbury (jsalisbury) wrote :

Sorry for the delay. It would be good to know if the fix in 3.14 already made it's way into the upstream 3.13.11.5 stable kernel. It can be downloaded from:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11.5-trusty/

Can you give that kernel a try and post back?

@jsalisbury
I can confirm that the controller is indeed working with that kernel.
It seems that the fix is already there.

ProfessorKaos64 (mdeguzis) wrote :

@dualshock3nerd
Does this mean that a normal 14.04 LTS user can perform a dist-upgrade and get to this kernel level? I currently upgrade users in a project I maintain to 3.14, and doing it the "proper way" would be nice.

...or much more likely that the bug was never there in the first place... :(

Looking into /usr/src/linux-headers-3.13.11-03131105/include/linux/hid.h shows that the changes that caused the regression that I pointed out in comment #55 might not have been applied to this kernel at all.

To be more precise I'm talking about some of the changes in this commit:
commit aa6c390c4d59c9ff4fffd887e15783b2b793951b
Author: Benjamin Tissoires

    HID: remove hid_get_raw_report in struct hid_device

I can see that "hid_get_raw_report" is still there in /usr/src/linux-headers-3.13.11-03131105/include/linux/hid.h
while, for instance, in /usr/src/linux-headers-3.13.0-32/include/linux/hid.h it's not there anymore.

That leads me to believe that the fix from 3.14 is not there because the bug itself is not there either.

The bug was caused by backporting some synaptics hid driver from upstream to the trusty kernel.
That's why the ubuntu trusty kernel is affected while 3.13 mainline is not.

ProfessorKaos64 (mdeguzis) wrote :

I did get a report that 3.13.0-32 was released into the mainline, you can upgrade to it, but it was help back for me, and I had to specify to install the new kernel.

ProfessorKaos64 (mdeguzis) wrote :

I just upgraded to 3.13.0-32, and jstest-gtk still shows no controller (of course, I am pressing the PS button, I know).

Cruxic (cruxic) wrote :

I had this problem but got my controller working by installing the "trusty" 3.14.1 kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline/

It's was mostly painless by following this guide: https://help.ubuntu.com/community/Kernel
(Search for "python kmpd.py")

Hugo Costelha (hugo-costelha) wrote :

The problem also exists in Ubuntu 12.04.5 (kernel 3.13.0-34-generic).

Joseph Salisbury (jsalisbury) wrote :

The Trusty kernel now has the 3.13.11.6 upstream updates. However, as suggested by dualshock3nerd in comment #59, the bug may never have been introduced in mainline, only trusty.

It would be great if you could apply the latest trusty updates, to get the 3.13.11.6 updates and see if this bug still exists. If it does, we can investigate further.

@jsalisbury
Current trusty 3.13.0-34 is affected.
I then tested latest 3.13.0-35 from trusty proposed repository and the bug is still there.
Even 3.13.0-35.62 from trusty git repo suffers from the same bug.

Unsurprisingly, mainline 3.13.11.6 is not affected by this bug at all.

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.

ProfessorKaos64 (mdeguzis) wrote :

@dualshock3nerd

Why apply a patch that adds a new kernel, if 3.14 works well? An inplace solution that follows the normal kernel updates is what I think most are looking for. Maybe I am looking at that wrong and you meant for the upstream folks to take that and apply it to current trusty kernel code.

In any case, great work.

@mdeguzis
Thank you and yes: you read that wrong :)
A patch like this is meant to be applied to current ubuntu 14.04 kernel (3.13).
When I wrote "using the new kernel" i meant "using the new kernel image that you just built yourself with the commands above".

Writing this patch is all I can do for now. Whether to include this patch or an alternative solution to ubuntu standard updates is ubuntu kernel team's call.

Straximus (straximus) wrote :

@dualshock3nerd

Followed your instructions, but my compile ended with the following:

  CC fs/dcookies.o
  LD fs/built-in.o
make[1]: Leaving directory `/home/straximus/src/ubuntu-trusty'
make: *** [debian/stamp/build/kernel] Error 2

Emanem (em4n3m) wrote :

@straximus

Compiling a kernel and installing it is something you should be comfy. I suggest you document yourself before you undertake this task (you know, in case of issues and whatnot...)

Emanem (em4n3m) wrote :

@dualshock3nerd

Compiled without issues, I hope this gets included in the next kernel official release.

@em4n3m
Awesome, thank you for confirming this.

@straximus
My bad: I should have mentioned that, to compile your own kernel, you need some packages installed first and maybe some other requirements to meet.
I can't see the actual compilation error in that output but, if it's the first time you compile a kernel on that machine, you probably just miss some packages installed.
Please refer to Ubuntu wiki pages like
https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
(Warning: these are not for beginners and they might be outdated!)
Anyway thank you for taking the time to try this :)

Straximus (straximus) wrote :

@dualshock3nerd

Thanks for the links. I got things sorted and compiled the kernel without issue. Everything is working as expected now. Thanks for the patch! :)

Emanem (em4n3m) wrote :

@all

Do we know if any action is being taken for the next patch?

Thanks,
em4n3m

Joseph Salisbury (jsalisbury) wrote :

It might be worth sending the latest patch to the ubuntu kernel team mailing list:
<email address hidden>

And also cc the engineer that resolved bug 1305522
<email address hidden>

That way the patch can be reviewed and possibly considered for an SRU.

AceLan Kao (acelankao) wrote :

Hi, I read the patch on #66, it looks very neat and fair enough.

dualshock3nerd, after you applied the patch, you have to do the following steps to build a formal patch
1. git add -u
2. git commit -a -e -s
   Write the subject and comment for your patch, it will be more clear to add "UBUNTU: SAUCE: " in the subject
   And you should put "BugLink: https://bugs.launchpad.net/bugs/1326725" in your comment
3. git format-patch -1
4. the send out the patch which git generate to <email address hidden>

Thanks for the directions!
I just sent the patch to the ubuntu kernel mailing list.
I hope git send-email formatted it right :)

Joseph Salisbury (jsalisbury) wrote :

@dualshock3nerd

I haven't seen the email come across the ubuntu kernel mailing list yet. Can you see if you have any errors in your mail client?

@jsalisbury
Not only I forgot to subscribe to the mailing list but I even forgot to ask if it's required in order to send emails to it.
Wanted to ask because I didn't know if that was implied. Must be because of it I wonder?
Anyway I tried git send-email multiple times before sending it and it indeed works.

I sent it again and now it got through without issues.
Thank you for your patience.

Joseph Salisbury (jsalisbury) wrote :

I don't think you need to be subscribed to send a mail to the list. I'll ask one of the list administrators about that.

James Hughes (james-hughes) wrote :

@dualshock3nerd I just sent a reply to your kernel mailing list posting with what I believe to be an alternate fix.

I’ve run into this issue when using the DK1 and DK2. As I mentioned on the list, I’ve resolved the feature report issue by patching my 3.13.0-34 kernel with commit 975a68327 from mainline upstream. I've already patched and tested my kernel using 975a68327 -- if someone could test to see if 975a68327 also works for the sixaxis controller, it may be easier to get the patch accepted since it is already upstream.

@james-hughes
Thank you for pointing out mainline commit 975a68327.
I tested it for a while and I can confirm that applying that patch solves all of trusty's Sixaxis/Dualshock3 issues.
If it solves Oculus Rift's issues too I hope that the mainline patch is accepted.

ProfessorKaos64 (mdeguzis) wrote :

Fixed for me here. Thanks!

laurence (loz-r) wrote :

Did anything happen here

I'm believe I'm still experiencing this bug in 3.13.0-45

@laurence
Nope. Everything is working fine for me on 3.13.0-45.74

With the controller connected via USB, did you try pressing the central PS button before testing it with a program like jstest-gtk?
Does the command 'dmesg | grep sony' in terminal spit out something like "sony: probe of 0003:054C:0268.000E failed with error -38"?
If that's the case maybe you should be posting on bug #1353021 (this is a duplicate).
If not, then it's probably not this bug.

To post a comment you must log in.