Gamepad XIN-MO dual arcade

Bug #1077359 reported by stealth on 2012-11-10
30
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

Bug Description

Hello,

With latest Ubunut 12.10 the Gamepad doesn't work correctly, there are no up axe and no left axe, no event in jstest
Same problem with 3.5.0.18 and 3.5.0.17

This is a kernel regression, the problem disappear if I'm using the "old" kernel, precise 3.2 (with no other change just the kernel)

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: linux-image (not installed)
ProcVersionSignature: Ubuntu 3.5.0-18.29-generic 3.5.7
Uname: Linux 3.5.0-18-generic i686
ApportVersion: 2.6.1-0ubuntu6
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: fredb 1857 F.... pulseaudio
CurrentDmesg: Error: command ['sh', '-c', 'dmesg | comm -13 --nocheck-order /var/log/dmesg -'] failed with exit code 1: comm: /var/log/dmesg: Permission denied
Date: Sat Nov 10 14:30:16 2012
InstallationDate: Installed on 2011-05-13 (547 days ago)
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
MachineType: MICRO-STAR INTERNATIONAL CO., LTD U-100
MarkForUpload: True
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-18-generic root=UUID=d3a1743d-74b4-4ddf-8880-9836f7fbde8c ro quiet splash vt.handoff=7
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
SourcePackage: linux
UpgradeStatus: Upgraded to quantal on 2012-06-24 (138 days ago)
WifiSyslog:

dmi.bios.date: 10/06/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 4.6.3
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: U-100
dmi.board.vendor: MICRO-STAR INTERNATIONAL CO., LTD
dmi.board.version: Ver.001
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: MICRO-STAR INTERNATIONAL CO., LTD
dmi.chassis.version: Ver.001
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr4.6.3:bd10/06/2008:svnMICRO-STARINTERNATIONALCO.,LTD:pnU-100:pvrVer.001:rvnMICRO-STARINTERNATIONALCO.,LTD:rnU-100:rvrVer.001:cvnMICRO-STARINTERNATIONALCO.,LTD:ct3:cvrVer.001:
dmi.product.name: U-100
dmi.product.version: Ver.001
dmi.sys.vendor: MICRO-STAR INTERNATIONAL CO., LTD
---
ApportVersion: 2.6.1-0ubuntu6
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: fredb 1857 F.... pulseaudio
CurrentDmesg:
 Error: command ['sh', '-c', 'dmesg | comm -13 --nocheck-order /var/log/dmesg -'] failed with exit code 1: comm: /var/log/dmesg: Permission denied
 dmesg: write failed: Broken pipe
DistroRelease: Ubuntu 12.10
InstallationDate: Installed on 2011-05-13 (547 days ago)
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
MachineType: MICRO-STAR INTERNATIONAL CO., LTD U-100
MarkForUpload: True
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-18-generic root=UUID=d3a1743d-74b4-4ddf-8880-9836f7fbde8c ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.5.0-18.29-generic 3.5.7
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
Tags: quantal running-unity
Uname: Linux 3.5.0-18-generic i686
UpgradeStatus: Upgraded to quantal on 2012-06-24 (139 days ago)
UserGroups: admin
WifiSyslog:

dmi.bios.date: 10/06/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 4.6.3
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: U-100
dmi.board.vendor: MICRO-STAR INTERNATIONAL CO., LTD
dmi.board.version: Ver.001
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: MICRO-STAR INTERNATIONAL CO., LTD
dmi.chassis.version: Ver.001
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr4.6.3:bd10/06/2008:svnMICRO-STARINTERNATIONALCO.,LTD:pnU-100:pvrVer.001:rvnMICRO-STARINTERNATIONALCO.,LTD:rnU-100:rvrVer.001:cvnMICRO-STARINTERNATIONALCO.,LTD:ct3:cvrVer.001:
dmi.product.name: U-100
dmi.product.version: Ver.001
dmi.sys.vendor: MICRO-STAR INTERNATIONAL CO., LTD
---
ApportVersion: 2.6.1-0ubuntu6
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: fredb 1857 F.... pulseaudio
CurrentDmesg:
 Error: command ['sh', '-c', 'dmesg | comm -13 --nocheck-order /var/log/dmesg -'] failed with exit code 1: comm: /var/log/dmesg: Permission denied
 dmesg: write failed: Broken pipe
DistroRelease: Ubuntu 12.10
InstallationDate: Installed on 2011-05-13 (547 days ago)
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
MachineType: MICRO-STAR INTERNATIONAL CO., LTD U-100
MarkForUpload: True
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-18-generic root=UUID=d3a1743d-74b4-4ddf-8880-9836f7fbde8c ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.5.0-18.29-generic 3.5.7
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
Tags: quantal running-unity
Uname: Linux 3.5.0-18-generic i686
UpgradeStatus: Upgraded to quantal on 2012-06-24 (139 days ago)
UserGroups: admin
WifiSyslog:

dmi.bios.date: 10/06/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 4.6.3
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: U-100
dmi.board.vendor: MICRO-STAR INTERNATIONAL CO., LTD
dmi.board.version: Ver.001
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: MICRO-STAR INTERNATIONAL CO., LTD
dmi.chassis.version: Ver.001
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr4.6.3:bd10/06/2008:svnMICRO-STARINTERNATIONALCO.,LTD:pnU-100:pvrVer.001:rvnMICRO-STARINTERNATIONALCO.,LTD:rnU-100:rvrVer.001:cvnMICRO-STARINTERNATIONALCO.,LTD:ct3:cvrVer.001:
dmi.product.name: U-100
dmi.product.version: Ver.001
dmi.sys.vendor: MICRO-STAR INTERNATIONAL CO., LTD

stealth (stealth) wrote :

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

apport-collect 1077359

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

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: apport-collected
description: updated
stealth (stealth) wrote : CRDA.txt

apport information

apport information

stealth (stealth) wrote : Lspci.txt

apport information

stealth (stealth) wrote : Lsusb.txt

apport information

apport information

apport information

apport information

apport information

apport information

stealth (stealth) wrote : UdevDb.txt

apport information

apport information

stealth (stealth) wrote :

Sorry my pad was disconnect, I will publish a new apport-collect

Sorry again

Lokagan (lokagan) wrote :

As I observed, I confirm this is a kernel related problem :
ABS_X, ABS_Y, ABS_Z, ABS_RX never give negatives values with kernel > 3.2
On kernel =< 3.2, value returned is -2.
Seems to be an outrange verification process added in kernel source.

evtest result :
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event4: Xin-Mo Xin-Mo Dual Arcade
Select the device event number [0-4]: 4
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x16c0 product 0x5e1 version 0x101
Input device name: "Xin-Mo Xin-Mo Dual Arcade"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 288 (BTN_TRIGGER)
    Event code 289 (BTN_THUMB)
    Event code 290 (BTN_THUMB2)
    Event code 291 (BTN_TOP)
    Event code 292 (BTN_TOP2)
    Event code 293 (BTN_PINKIE)
    Event code 294 (BTN_BASE)
    Event code 295 (BTN_BASE2)
    Event code 296 (BTN_BASE3)
    Event code 297 (BTN_BASE4)
    Event code 298 (BTN_BASE5)
    Event code 299 (BTN_BASE6)
    Event code 300 (?)
    Event code 301 (?)
    Event code 302 (?)
    Event code 303 (BTN_DEAD)
    Event code 304 (BTN_A)
    Event code 305 (BTN_B)
    Event code 306 (BTN_C)
    Event code 307 (BTN_X)
    Event code 308 (BTN_Y)
    Event code 309 (BTN_Z)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value 0
      Min -1
      Max 1
    Event code 1 (ABS_Y)
      Value 0
      Min -1
      Max 1
    Event code 2 (ABS_Z)
      Value 0
      Min -1
      Max 1
    Event code 3 (ABS_RX)
      Value 0
      Min -1
      Max 1
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)

apport information

description: updated
stealth (stealth) wrote : CRDA.txt

apport information

apport information

stealth (stealth) wrote : Lspci.txt

apport information

stealth (stealth) wrote : Lsusb.txt

apport information

apport information

apport information

apport information

apport information

apport information

stealth (stealth) wrote : UdevDb.txt

apport information

apport information

Changed in linux (Ubuntu):
importance: Undecided → Medium
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.7 kernel[0] (Not a kernel in the daily directory) and install both the linux-image and linux-image-extra .deb packages.

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] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.7-rc5-raring/

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: regression-release
Lokagan (lokagan) wrote :

Same problems occurs with kernel 3.7.0-030700rc5

tags: added: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Lokagan (lokagan) wrote :

Hmm any idea for changing min/max used by hid_input.c in kernel, without re-compilation ?

Olivier Scherler (osweb) wrote :

It’s the result of a change in the HID driver to ignore out-of-range values. The Xin-Mo Dual Arcade reports min values of -1 for all its axes, but it actually sends -2 (the naughty).

I managed to write a fix as a kernel module, but I couldn’t figure out how to enable it without recompiling the kernel, because I had to add the vendor and device IDs to drivers/hid/hid-core.c.

Stark (joacliba) wrote :

Olivier can you explain how to make that fix? I need to have my joystick working and is the only option for now.

Olivier Scherler (osweb) wrote :

I’ll try to prepare a patch on Saturday. I just have to check how to do it properly, because I’ve never done this before.

Olivier Scherler (osweb) wrote :

Here’s a patch I made to solve this issue. I created a HID driver for the Xin-Mo Dual Arcade to fix the negative axis events so that they are in the range announced by the report. If you could comment on it, I would be glad to make the necessary changes to make it proper (if it turns out to be useful).

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

Do you happen to know if this patch has been requested for inclusion in the Upstream linux-stable tree?

To submit your patch, send your patch with the detailed description/changelog and your Signoff (ending with Signed-off-by: your name <email>), to the emails listed from ./scripts/get_maintainer.pl drivers/SUBSYSTEM-DETAILS (the get_maintainer.pl is from the kernel sources). Once you have sent the patch upstream and it's accepted, please drop a note here so that we can cherry-pick/include the patch into Ubuntu kernel.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
status: Incomplete → Triaged
tags: added: kernel-da-key
Olivier Scherler (osweb) wrote :

OK, I will look into this.

Should I add “stealth”, who opened this bug, as the “Reported-by” in the commit message?

Joseph Salisbury (jsalisbury) wrote :

Yes, that would be good. Thanks for your help, Olivier.

stealth (stealth) wrote :

Some news ? Do you think we can hope a fix for 13.04 ?

sheeps (potofgravy) wrote :

Is there a solution for this? This is the last thing stopping me from finishing my projects. Or is there away I can patch this into my Pi running Raspbian?

Olivier Scherler (osweb) wrote :

@Joseph: I sent my patch to the maintainer and the linux-input and linux-kernel lists.

@sheeps: You can try applying the patch I posted here and recompile your kernel: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1077359/comments/35

regis rome (regis-rome-f) wrote :

@olivier I don't know if you have the time but a detailed installation of your patch would be great for a noob like me and I will be able to finish my arcade cabinet, thanks !

stealth (stealth) wrote :

Thanks, some news about linux-input and linux-kernel lists ?

Phil (g-phil) wrote :

@Olivier : Thanks on behalf of many of us for that - I wouldn't have know where to start but am happily going through doing it now. You learn something new everyday! Thanks again

Olivier Scherler (osweb) wrote :

It's been merged just after 3.11 was released. It's there https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/hid/hid-xinmo.c?id=cb2c9e3f92480a292670e2cc261723ce4de8059e and the commit hash is cb2c9e3f92480a292670e2cc261723ce4de8059e

It's very recent though, there hasn't been an rc with it yet.

stealth (stealth) wrote :

Hello, some news from Ubuntu ? Maybe a patch integration ?

Simon Elmir (nerd65536) wrote :

This patch is expected to be included in Ubuntu 14.04 (Trusty).
Users of older versions of Ubuntu will have to install a newer kernel. Up-to-date packaged kernels can be found at: https://wiki.ubuntu.com/Kernel/MainlineBuilds (I recommend installing the newest point release of v3.12. At the time of this comment, it's "v3.12.7-trusty".)

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Hangman (hangman-hotmail) wrote :

Is it possible to do the same for my MP-8866 Joystick reported here :

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1362643

Or what can I change in the patch to be compatible with my Joystick ?

Thanks

To post a comment you must log in.