045e:0745 Problematic joystick device with Microsoft Nano Transceiver

Bug #581862 reported by Dylan McCall
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Linux
Unknown
Unknown
linux (Ubuntu)
Confirmed
Undecided
Unassigned
tumiki-fighters (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I'm pretty well clueless as far as the input stack is concerned, so I hope I am aiming this report at the right place :)

When I insert the Microsoft Nano Transceiver 1.0 (which comes with the MS Mobile Mouse 6000, for example) three input devices are created. Naturally, one of those corresponds to the mouse I am using, the other two are for other devices it could have been connected to. xinput lists these as two pointers and one keyboard. One of those pointers is a joystick (which udev sticks at /dev/js0).

Even though I have no joystick associated with that transceiver (or indeed any joystick), games see that device and use it. The phantom joystick's position seems to be tilted upwards and to the left; in tumiki-fighter (where I noticed the problem), I am unable to control the game because I am stuck flying to the upper left corner of the screen.

Here's some fun stuff…

 % xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Wacom Bamboo eraser id=13 [slave pointer (2)]
⎜ ↳ Wacom Bamboo cursor id=14 [slave pointer (2)]
⎜ ↳ Wacom Bamboo pad id=15 [slave pointer (2)]
⎜ ↳ Wacom Bamboo id=16 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=18 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=19 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® Nano Transceiver v1.0 id=11 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® Nano Transceiver v1.0 id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Sleep Button id=8 [slave keyboard (3)]
    ↳ USB 2.0 Camera id=9 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=17 [slave keyboard (3)]
    ↳ Asus Laptop extra buttons id=20 [slave keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0 id=10 [slave keyboard (3)]

 % xinput query-state 10
1 class :
KeyClass
 key[0]=up
 key[1]=up
 key[2]=up
*Continues as so; all keys are up*

 % xinput query-state 12
3 classes :
KeyClass
 key[0]=up
 key[1]=up
 key[2]=up
*Snip*
ButtonClass
 button[1]=up
 button[2]=up
 button[3]=up
 button[4]=up
 button[5]=up
 button[6]=up
 button[7]=up
ValuatorClass Mode=Absolute Proximity=In
 valuator[0]=960
 valuator[1]=600
 valuator[2]=0
 valuator[3]=0
*All others (4 to 35) are 0*

valuator[0] and valuator[1] look interesting ;)

I installed the joystick package…

 % jstest --event /dev/input/js0
Driver version is 2.1.0.
Joystick (Microsoft Microsoft® Nano Transceiver v1.0) has 37 axes (X, Y, Z, Rx, Ry, Rz, Throttle, Rudder, Wheel, Hat0X, Hat0Y, Hat1X, (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null))
and 41 buttons (BtnThumbL, BtnThumbR, (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), Btn0).
Testing ... (interrupt to exit)
Event: type 129, time 19221516, number 0, value 0
Event: type 129, time 19221516, number 1, value 0
Event: type 129, time 19221516, number 2, value 0
Event: type 129, time 19221516, number 3, value 0
Event: type 129, time 19221516, number 4, value 0
Event: type 129, time 19221516, number 5, value 0
Event: type 129, time 19221516, number 6, value 0
Event: type 129, time 19221516, number 7, value 0
Event: type 129, time 19221516, number 8, value 0
Event: type 129, time 19221516, number 9, value 0
Event: type 129, time 19221516, number 10, value 0
Event: type 129, time 19221516, number 11, value 0
Event: type 129, time 19221516, number 12, value 0
Event: type 129, time 19221516, number 13, value 0
Event: type 129, time 19221516, number 14, value 0
Event: type 129, time 19221516, number 15, value 0
Event: type 129, time 19221516, number 16, value 0
Event: type 129, time 19221516, number 17, value 0
Event: type 129, time 19221516, number 18, value 0
Event: type 129, time 19221516, number 19, value 0
Event: type 129, time 19221516, number 20, value 0
Event: type 129, time 19221516, number 21, value 0
Event: type 129, time 19221516, number 22, value 0
Event: type 129, time 19221516, number 23, value 0
Event: type 129, time 19221516, number 24, value 0
Event: type 129, time 19221516, number 25, value 0
Event: type 129, time 19221516, number 26, value 0
Event: type 129, time 19221516, number 27, value 0
Event: type 129, time 19221516, number 28, value 0
Event: type 129, time 19221516, number 29, value 0
Event: type 129, time 19221516, number 30, value 0
Event: type 129, time 19221516, number 31, value 0
Event: type 129, time 19221516, number 32, value 0
Event: type 129, time 19221516, number 33, value 0
Event: type 129, time 19221516, number 34, value 0
Event: type 129, time 19221516, number 35, value 0
Event: type 129, time 19221516, number 36, value 0
Event: type 129, time 19221516, number 37, value 0
Event: type 129, time 19221516, number 38, value 0
Event: type 129, time 19221516, number 39, value 0
Event: type 129, time 19221516, number 40, value 0
Event: type 130, time 19221516, number 0, value -32767
Event: type 130, time 19221516, number 1, value -32767
Event: type 130, time 19221516, number 2, value -32767
Event: type 130, time 19221516, number 3, value -32767
Event: type 130, time 19221516, number 4, value -32767
Event: type 130, time 19221516, number 5, value -32767
Event: type 130, time 19221516, number 6, value -32767
Event: type 130, time 19221516, number 7, value -32767
Event: type 130, time 19221516, number 8, value -32767
Event: type 130, time 19221516, number 9, value -32767
Event: type 130, time 19221516, number 10, value 0
Event: type 130, time 19221516, number 11, value 0
Event: type 130, time 19221516, number 12, value -32767
Event: type 130, time 19221516, number 13, value -32767
Event: type 130, time 19221516, number 14, value -32767
Event: type 130, time 19221516, number 15, value -32767
Event: type 130, time 19221516, number 16, value -32767
Event: type 130, time 19221516, number 17, value -32767
Event: type 130, time 19221516, number 18, value -32767
Event: type 130, time 19221516, number 19, value -32767
Event: type 130, time 19221516, number 20, value -32767
Event: type 130, time 19221516, number 21, value -32767
Event: type 130, time 19221516, number 22, value -32767
Event: type 130, time 19221516, number 23, value -32767
Event: type 130, time 19221516, number 24, value -32767
Event: type 130, time 19221516, number 25, value -32767
Event: type 130, time 19221516, number 26, value -32767
Event: type 130, time 19221516, number 27, value -32767
Event: type 130, time 19221516, number 28, value -32767
Event: type 130, time 19221516, number 29, value -32767
Event: type 130, time 19221516, number 30, value -32767
Event: type 130, time 19221516, number 31, value -32767
Event: type 130, time 19221516, number 32, value -32767
Event: type 130, time 19221516, number 33, value -32767
Event: type 130, time 19221516, number 34, value -32767
Event: type 130, time 19221516, number 35, value -32767
Event: type 130, time 19221516, number 36, value -32767

Later I tried running
 % jscal -c /dev/input/js0
It crashed, but indeed zeroed the imaginary joystick, so tumiki-fighter cooperated.

If more data is needed, I am happy to provide it!

Original bug report follows:

Binary package hint: tumiki-fighters

Weird issue with this game. The ship appears to be stuck flying up and to the left. Thus, it is impossible to move down and the ship is always being pushed leftwards. This renders it unplayable ;)

At first, it appears as thought the Down control simply does not work, regardless of which one I use.

It may be specific to my system. I ran the Windows version of the game in Wine, and it works there. However, I did notice that controls became stuck in a similar fashion when another process rudely grabbed the keyboard and mouse, so the game is evidently quirky in how it handles input.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: tumiki-fighters 0.2.dfsg1-3build1
ProcVersionSignature: Ubuntu 2.6.32-22.33-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-22-generic i686
NonfreeKernelModules: nvidia
Architecture: i386
Date: Mon May 17 10:16:13 2010
ProcEnviron:
 LANGUAGE=en_CA:en_GB:en
 LANG=en_CA.utf8
 SHELL=/bin/zsh
SourcePackage: tumiki-fighters

---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC2: dylan 1855 F.... pulseaudio
 /dev/snd/controlC0: dylan 1855 F.... pulseaudio
 /dev/snd/controlC1: dylan 1855 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'DS'/'Asus Virtuoso 66 at 0xce00, irq 19'
   Mixer name : 'AV200'
   Components : 'WM8776 WM8766 AV200'
   Controls : 31
   Simple ctrls : 25
Card1.Amixer.info:
 Card hw:1 'PCH'/'HDA Intel PCH at 0xfbff4000 irq 49'
   Mixer name : 'Realtek ALC889'
   Components : 'HDA:10ec0889,1458a022,00100004'
   Controls : 41
   Simple ctrls : 23
Card2.Amixer.info:
 Card hw:2 'Generic'/'HD-Audio Generic at 0xfbdfc000 irq 50'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100200'
   Controls : 4
   Simple ctrls : 1
Card2.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
DistroRelease: Ubuntu 11.10
HibernationDevice: RESUME=UUID=3e136be3-9683-4cce-a9b6-ea7554ec5599
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110906)
MachineType: Gigabyte Technology Co., Ltd. P67A-UD3-B3
Package: linux (not installed)
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-11-generic root=UUID=c3a1a202-a194-4446-9bdc-3ede97b07cfb ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.0.0-11.18-generic 3.0.4
RelatedPackageVersions:
 linux-restricted-modules-3.0.0-11-generic N/A
 linux-backports-modules-3.0.0-11-generic N/A
 linux-firmware 1.60
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
StagingDrivers: mei
Tags: oneiric staging
Uname: Linux 3.0.0-11-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
dmi.bios.date: 04/13/2011
dmi.bios.vendor: Award Software International, Inc.
dmi.bios.version: F4
dmi.board.name: P67A-UD3-B3
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.board.version: x.x
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.modalias: dmi:bvnAwardSoftwareInternational,Inc.:bvrF4:bd04/13/2011:svnGigabyteTechnologyCo.,Ltd.:pnP67A-UD3-B3:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnP67A-UD3-B3:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr:
dmi.product.name: P67A-UD3-B3
dmi.sys.vendor: Gigabyte Technology Co., Ltd.

Revision history for this message
Dylan McCall (dylanmccall) wrote :
Revision history for this message
Paul Wise (Debian) (pabs) wrote :

I can't reproduce this issue. It sounds like your problem is due to another program rather than an issue in tumiki-fighters, do you agree with this analysis? If so, please close this bug.

Revision history for this message
Dylan McCall (dylanmccall) wrote :

Thanks, Paul! I did some more fiddling to reproduce this, and I figured out it's actually a specific USB transceiver. Whenever I have a Microsoft Nano Transceiver 1.0 (as packaged with the MS Mobile Mouse 6000, for example), this happens in tumiki-fighters.

Looks like possibly a udev issue or something with the usbhid driver, although I haven't encountered it anywhere else.
(Apparently this transceiver exhibits finicky behaviour in Windows, too, so maybe it's Microsoft's fault).

description: updated
Changed in tumiki-fighters (Ubuntu):
status: New → Invalid
summary: - Keyboard controls are not functioning correctly
+ Problematic joystick device with Microsoft Nano Transceiver
Martin Pitt (pitti)
affects: udev (Ubuntu) → linux (Ubuntu)
Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote : Re: Problematic joystick device with Microsoft Nano Transceiver

Hi Dylan,

This bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? Can you try with the latest development release of Ubuntu? ISO CD images are available from http://cdimage.ubuntu.com/releases/ .

If it remains an issue, could you run the following command from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux 581862

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-kernel-logs
tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Dylan McCall (dylanmccall) wrote :

Yes, I just tested this with Maverick and it is still happening.

Changed in linux (Ubuntu):
status: Incomplete → New
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 581862

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
Revision history for this message
Dylan McCall (dylanmccall) wrote : AcpiTables.txt

apport information

tags: added: apport-collected oneiric staging
description: updated
Revision history for this message
Dylan McCall (dylanmccall) wrote : AlsaDevices.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : AplayDevices.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : ArecordDevices.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : BootDmesg.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : Card0.Amixer.values.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : Card1.Amixer.values.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : Card1.Codecs.codec.2.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : Card2.Codecs.codec.0.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : IwConfig.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : Lspci.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : Lsusb.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : PciMultimedia.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : ProcEnviron.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : ProcModules.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : PulseSinks.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : PulseSources.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : UdevDb.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : UdevLog.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : WifiSyslog.txt

apport information

Revision history for this message
Dylan McCall (dylanmccall) wrote : Re: Problematic joystick device with Microsoft Nano Transceiver

Okay, logs should be coming in a moment. I am still able to reproduce this, as described, in both Natty and Oneiric.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Brad Figg (brad-figg) wrote : Test with newer development kernel (3.0.0-12.19)

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.

We have noted that there is a newer version of the development kernel than the one you last tested when this issue was found. Please test again with the newer kernel and indicate in the bug if this issue still exists or not.

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.

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

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: kernel-request-3.0.0-12.19
Revision history for this message
Launchpad Janitor (janitor) wrote : Re: Problematic joystick device with Microsoft Nano Transceiver

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Changing back to Confirmed, still happens. For example in Psychonauts from Ubuntu store this bug causes the character to run in one direction all the time.

Creating a file /lib/udev/rules.d/52-ms-keyboard.rules and adding the following there does workaround the problem:

SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0745", KERNEL=="js[0-9]*", MODE="0000"

(adapted from https://bbs.archlinux.org/viewtopic.php?id=142469)

Changed in linux (Ubuntu):
status: Expired → Confirmed
Changed in linux:
importance: Undecided → Unknown
status: New → Unknown
penalvch (penalvch)
summary: - Problematic joystick device with Microsoft Nano Transceiver
+ 045e:0745 Problematic joystick device with Microsoft Nano Transceiver
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.