Dualshock3 hid_sony accelerometer not registering as joystick

Bug #1800839 reported by dave
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bluez (Ubuntu)
New
Undecided
Unassigned
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

[12649.015762] input: Sony PLAYSTATION(R)3 Controller Motion Sensors as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/bluetooth/hci0/hci0:512/0005:054C:0268.0004/input/input25
[12649.015925] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/bluetooth/hci0/hci0:512/0005:054C:0268.0004/input/input24
[12649.016117] sony 0005:054C:0268.0004: input,hidraw3: BLUETOOTH HID v80.00 Joystick [Sony PLAYSTATION(R)3 Controller] on 60:f6:77:dd:db:90

4.15.0-38-generic #41-Ubuntu SMP Wed Oct 10 10:59:38 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

perhaps this is only a config issue as when the new split gyro & analog sticks/buttons/triggers
both appeared as joysticks while you can now see only Sony PLAYSTATION(R)3 Controller(input24) registers as a joystick while Sony PLAYSTATION(R)3 Controller Motion Sensors (input25) does not.

Any questions I am happy to respond, I have every reason to believe this is actually not a bluez issue but google gives me no returns other than general compatibility issues over the new hid_sony driver splitting the gyro from the pad. I use this to stay current on instrument flying while working out of town using FlightGear flight simulator, the PS3 gyro is an excellent yoke simulator that fis in my laptop bag.
thanks
dave

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: bluez 5.48-0ubuntu3.1
ProcVersionSignature: Ubuntu 4.15.0-38.41-generic 4.15.18
Uname: Linux 4.15.0-38-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.9-0ubuntu7.4
Architecture: amd64
CurrentDesktop: MATE
Date: Wed Oct 31 15:06:00 2018
InterestingModules: rfcomm bnep btusb bluetooth
MachineType: ASUSTeK COMPUTER INC. GL503VD
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-38-generic root=UUID=ec87be72-8832-43e4-a6d1-08c4d60d73b1 ro quiet splash modprobe.blacklist=nouveau vt.handoff=1
SourcePackage: bluez
UpgradeStatus: Upgraded to bionic on 2018-08-01 (90 days ago)
dmi.bios.date: 03/13/2018
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: GL503VD.307
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: GL503VD
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.:bvrGL503VD.307:bd03/13/2018:svnASUSTeKCOMPUTERINC.:pnGL503VD:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnGL503VD:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:
dmi.product.family: ROG
dmi.product.name: GL503VD
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK COMPUTER INC.
hciconfig:
 hci0: Type: Primary Bus: USB
  BD Address: 60:F6:77:DD:DB:90 ACL MTU: 1021:4 SCO MTU: 96:6
  UP RUNNING PSCAN
  RX bytes:624605 acl:10743 sco:0 events:125 errors:0
  TX bytes:5814 acl:12 sco:0 commands:106 errors:0

Revision history for this message
dave (w-dj) wrote :
Revision history for this message
Cristian Aravena Romero (caravena) wrote :

Did this issue start happening after an update/upgrade? Was there a
prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer
to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest
v4.19 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'.

Once testing of the upstream kernel is complete, please mark this bug as
"Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
dave (w-dj) wrote :

'kernel-bug-exists-upstream'

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Does it use to work on previous Ubuntu releases?

Revision history for this message
dave (w-dj) wrote :

Kai-Heng Feng, I replied to you several months ago via email but for completeness I want to leave a reply here too.
Yes, when the new sony_hid first came out there were two devices an analog sticks/triggers and buttons device and a second accelerometer/gyro device. Splitting into two joysticks simply required remapping in the applications I was using. Later (around last april-june)the gyro/accelerometer device is detected but is not registered as a joystick device.
this answer which I asked when I first reported this bug is at Ask Ubuntu, maybe it might help, I didn't get it to work and after loosing use of a second computer I prefer to leave hand repairs out of my everyday machine.
https://askubuntu.com/questions/1088925/ubuntu-18-04-no-longer-adds-second-joystick-device-for-sony-dualshock3s-gyro-ac

Revision history for this message
dave (w-dj) wrote :

This looks like the change which blacklists the motion device.
https://github.com/torvalds/linux/commit/20ac95d52a28f55472a54cc751eeec49fd445cb1#diff-34c8d0c14a101d038ef2d2e7a1957559

Not sure why we would want to by default disable the gyro/accelerometer device which IMHO makes the DS3 far more useful and valuable than a cheap USB or BT gamepad. It probably just took six months to make it into stable Ubuntu.

quoting the Oct 9, 2017 submit:

Input: joydev - blacklist ds3/ds4/udraw motion sensors

Introduce a device table used for blacklisting devices. We currently
blacklist the motion sensor subdevice of THQ Udraw and Sony ds3/ds4.

Signed-off-by: Roderick Colenbrander <email address hidden>
[dtor: siwtched to blacklist built on input_device_id and using
input_match_device_id()]
Signed-off-by: Dmitry Torokhov <email address hidden>

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Thanks for pointing out the regression commit. The patch author is from Sony, so it's better to ask the patch author directly the justification behind blacklisting.

Revision history for this message
dave (w-dj) wrote :

kaihengfeng, emailed Roderick Colenbrander the commit at Sony and we will see.

Revision history for this message
dave (w-dj) wrote :

Got this back from the Sony dev Roderick Colenbrander,

"Unfortunately reverting the joydev patch is not an option. Let me explain why. Joydev is an old legacy for using joysticks. It is very limited and can only deal with buttons and sticks. It doesn't support new features like force feedback / rumble (though already added 15+ years ago), multitouch, motion sensors and other features.

When we started offering motion sensors, this broke existing applications which were never designed with motion sensor support. Applications which would never get updated. Nor does joydev have a way to distinguish motion sensor axes from regular joystick axes.

The recommended way for over a decade is to not use joydev, but use evdev, which is also what is used for keyboard, mouse and other devices. It offers all the features needed and it is supported fine for ds3 and ds4."

I am playing with a hack that cam be found here:
https://askubuntu.com/questions/1088925/ubuntu-18-04-no-longer-adds-second-joystick-device-for-sony-dualshock3s-gyro-ac
which I have not gotten to fully work creating a joydev as I write this but I do now see both evdevs. Unfortunately joydev is still pretty standard for things like Flightgear.

https://askubuntu.com/questions/1088925/ubuntu-18-04-no-longer-adds-second-joystick-device-for-sony-dualshock3s-gyro-ac

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Does it work out of the box under Wayland session?

Seems like we need some manual config for Xorg:
https://wiki.gentoo.org/wiki/Sony_DualShock#Xorg

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.