Joystick Dragonrise Axes confused in Ubuntu 14.04

Bug #1564463 reported by turtlepurple
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
linux (Debian)
Fix Released
Unknown
linux (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

In Ubuntu 14.04 axis 2 (left-right of the right joystick) is hardly working.

Its conflicting and superimposed by axis 0 (left-right of the left joystick)

Axis 2 was allready behaving bad in eralier versions now its completly broken.

Also jscal complains when applying stored settings from earlier ubuntu versions as the joystick now has 6 axes [0-5] and used to have 7, but this seems correct.

The Dragonrise chip seems to be very widespread among different speedlink and LinQ models

There is a related bugreport in Debian Bug-Tracker: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785606
that makes

Tags: cscc trusty
Stephen Kitt (steve-sk2)
affects: joystick (Ubuntu) → linux (Ubuntu)
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

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

apport-collect 1564463

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
Changed in linux (Debian):
status: Unknown → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) 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.6 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.6-rc1-wily/

Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Florent Rougon (f-rougon) wrote :

Hello,

I am not an Ubuntu user, but I reported the Debian bug and identified the upstream commit that made it appear (79346d620e9de87912de73337f6df8b7f9a46888, see <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785606> for all details).

I am writing here to inform you that the bug appears to be fixed upstream. At least, I had success with kernels 4.5.4 and 4.5.5. It is likely that the first fixed version is lower than 4.5.4, I just tested these ones recently as well as 4.3.3 which has the bug.

It is still unclear why the bug disappeared, because the lines introduced by commit 79346d620e9de87912de73337f6df8b7f9a46888 are still there. I think a possible reason could be that recent kernels maybe use a code path that doesn't go through these lines for the DragonRise joypad, but this is just a wild guess.

Regards

Revision history for this message
penalvch (penalvch) wrote :

turtlepurple, please execute the following command only once, as it will automatically gather debugging information, in a terminal:
apport-collect 1564463

When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

Revision history for this message
Florent Rougon (f-rougon) wrote :

It seems the bug was fixed by this upstream commit:

commit 18339f59c3a6698ee17d32970c9e1e450b16e7c3
Author: Maciej Zuk
Date: Thu Sep 3 21:46:39 2015 +0200

    HID: dragonrise: fix HID Descriptor for 0x0006 PID

    Fixed HID descriptor for DragonRise Joystick. Replaced default descriptor
    which doubles Z axis and causes mixing values of X and Z axes.

This means the first release incorporating the fix is v4.4 (v4.4-rc1 already contains it).

Revision history for this message
Konstantinos Kontodimas (kontodimask) wrote :

Hello there, I'm using Ubuntu 18.10 (Linux 4.18.0) and I don't know why but the issue still exists. I use a GameCube USB gamepad recognized as a Dragonrise Generic USB controller (2 analog sticks, 1 digital D-pad and 8 buttons). In jstest the stick/axis assignments is as follows:
* axis-0: horizontal axis of left stick
* axis-1: vertical axis of left stick
* axis-2: horizontal axis of right stick
* axis-3: vertical axis of right stick
* axis-4: unused
* axis-5: unused
In my case axis-0 conflicts with axis-2, i.e. moving horizontally the left stick affects both axis-0 and axis-2, while moving horizontally the right stick causes mostly undefined reads in axis-2.

tags: added: apport-collected cosmic
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Similar to #1793846?

Revision history for this message
Konstantinos Kontodimas (kontodimask) wrote :

Yes it's similar but the gamepad is different, despite the fact that they both are recognized as 0079:0006. I tried the suggested solution with the kernel parameter "usbhid.quirks=0x0079:0x0006:0x100000", but it didn't work.

Revision history for this message
Konstantinos Kontodimas (kontodimask) wrote :

Oh it worked after all! It just needed recalibration since the axes are mapped differently now. Thank you very much for your reply kaihengfeng.

penalvch (penalvch)
tags: added: trusty
removed: apport-collected cosmic
Changed in linux (Ubuntu):
status: Incomplete → Fix Released
Brad Figg (brad-figg)
tags: added: cscc
Revision history for this message
Ewok2 (ewok2) wrote :

Hello
I am using ubuntu 20.04 and it seem's still not working
When I plug a gamepad recognized as DragonRise Inc
with sdl-jstest when I move the :
left stick vertical : axe 1 move
left stick horizontal : axe0 and axe2 move together
right stick vertical : axe 2 move and bouton0 is set to 1
right stick horizontal: bouton1 is set to 1 when move to left ; bouton3 is set to 1 when move to right

any idee to solve the problem ?
Thanks

Changed in linux (Debian):
status: Confirmed → Fix Released
Revision history for this message
Guilherme (guiaqui23) wrote :

Hello,
I sadly can confirm that this issue still do exist.
Ubuntu 22.04.1 LTS
Linux version 6.1.12-x64v3-xanmod1
The axis 2 is bounded to horizontal movement in left stick and vertical movement in right stick.

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.