Bug 445781 - Xbox 360 Controller for Windows recognized but produces no effect
Xbox 360 Controller for Windows recognized but produces no effect
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: joystick (Show other bugs)
9
i686 Linux
low Severity high
: ---
: ---
Assigned To: Ngo Than
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-05-08 22:13 EDT by Pierre Sarrazin
Modified: 2008-11-10 12:49 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-11-10 12:49:28 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Pierre Sarrazin 2008-05-08 22:13:52 EDT
Description of problem:

The (wired) gamepad is seen by the USB system, and the "joystick" can be opened
by SDL_JoystickOpen(), but nothing happens when using the gamepad (pressing the
buttons or moving the axes). The PC has a pretty much up to date Fedora 7 system.

Version-Release number of selected component (if applicable):

- Kernel: 2.6.23.15-80.fc7 #1 SMP Sun Feb 10 17:29:10 EST 2008 i686 athlon i386
GNU/Linux
- xpad.c: v0.0.6
- USB IDs: Vendor=045e ProdID=028e (listed in xpad.c)

How reproducible:

Always

Steps to Reproduce:

1. Plug in "Xbox 360 Controller for Windows" into a USB port.
2. Test with this command: jstest /dev/input/js0
  
Actual results:

jstest displays this immediately:

Joystick (Microsoft X-Box 360 pad) has 8 axes and 13 buttons. Driver version is
2.1.0.
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:
    0 Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0  3:     0  4:     0
 5:     0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0:     0  1:     0  2: 
   0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:Axes:
 0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0
Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5: 
   0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0
 3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0: 
   0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0
Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5: 
   0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0
 3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0: 
   0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0
Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5: 
   0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0
 3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0: 
   0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0
Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5: 
   0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0:     0  1:     0  2:     0
 3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0: 
   0  1:     0  2:-32767  3:     0  4:     0  5:     0  6:     0  7:     0
Buttons:  0:off  1:Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5: 
   0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0:     0  1:     0  2:-32767
 3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:Axes:  0: 
   0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0
Buttons:  0:off  1:Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0 
5:-32767  6:     0  7:     0 Buttons:  0:off  1:Axes:  0:     0  1:     0 
2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off 
1:Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0 
7: 32767 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off
 9:off 10:off 11:off 12:off 

(Nothing happens when pressing the buttons or moving the axes.)

Expected results:

Something should be displayed by jstest when using the gamepad.

Additional info:

dmesg shows this:

usb 1-10: new full speed USB device using ohci_hcd and address 10
usb 1-10: configuration #1 chosen from 1 choice
Registered led device: xpad0
input: Microsoft X-Box 360 pad as /class/input/input6
usbcore: registered new interface driver xpad
drivers/input/joystick/xpad.c: X-Box pad driver:v0.0.6
usb 1-10: USB disconnect, address 10
usb 1-10: new full speed USB device using ohci_hcd and address 11
usb 1-10: configuration #1 chosen from 1 choice
Registered led device: xpad1
input: Microsoft X-Box 360 pad as /class/input/input7
usb 1-10: USB disconnect, address 11
usb 1-10: new full speed USB device using ohci_hcd and address 12
usb 1-10: configuration #1 chosen from 1 choice
Registered led device: xpad2
input: Microsoft X-Box 360 pad as /class/input/input8
ISO 9660 Extensions: Microsoft Joliet Level 3
ISOFS: changing to secondary root
ISO 9660 Extensions: Microsoft Joliet Level 3
ISOFS: changing to secondary root
usb 1-10: USB disconnect, address 12
usb 1-10: new full speed USB device using ohci_hcd and address 13
usb 1-10: configuration #1 chosen from 1 choice
Registered led device: xpad3
input: Microsoft X-Box 360 pad as /class/input/input9


/proc/bus/usb/devices shows this when gamepad is plugged in:

T:  Bus=01 Lev=01 Prnt=01 Port=09 Cnt=02 Dev#= 12 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs=  1
P:  Vendor=045e ProdID=028e Rev= 1.14
S:  Manufacturer=?Microsoft Corporation
S:  Product=Controller
S:  SerialNumber=210F376
C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=xpad
E:  Ad=81(I) Atr=03(Int.) MxPS=  32 Ivl=4ms
E:  Ad=01(O) Atr=03(Int.) MxPS=  32 Ivl=8ms
I:* If#= 1 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=5d Prot=03 Driver=(none)
E:  Ad=82(I) Atr=03(Int.) MxPS=  32 Ivl=2ms
E:  Ad=02(O) Atr=03(Int.) MxPS=  32 Ivl=4ms
E:  Ad=83(I) Atr=03(Int.) MxPS=  32 Ivl=64ms
E:  Ad=03(O) Atr=03(Int.) MxPS=  32 Ivl=16ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=5d Prot=02 Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=  32 Ivl=16ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=fd Prot=13 Driver=(none)


The 'cat /dev/input/js0' command displays stuff immediately (about 144 bytes),
but nothing else when using the gamepad.  js0 is the only js* device in /dev/input.

One of the quarter rings on the gamepad lights up when the gamepad is plugged
in, but not always the same one.  Currently, #4 is lit.

At this URL, I'm seeing a version 0.1.17 of xpad.c, and I'm wondering if Fedora
7 has the latest or best version of this kernel module:

http://xbox-linux.cvs.sourceforge.net/*checkout*/xbox-linux/kernel-2.6/drivers/usb/input/xpad.c

For what it's worth, this URL mentions a clamed workaround, which I have not tried:

http://bugzilla.kernel.org/show_bug.cgi?id=10249
Comment 1 Pierre Sarrazin 2008-05-11 16:36:27 EDT
I have just tried xpad.c version 0.1.17 (with the corresponding xpad.h) from the
sourceforce.net URL mentioned in the description, and it works, but the leds
keep blinking.
Comment 2 Pierre Sarrazin 2008-05-11 22:59:58 EDT
Unfortunately, that 0.1.17 version I tried does not work for long. I ended up
seeing lines like these in my open terminals:

Message from syslogd@ at Sun May 11 18:49:30 2008 ...
elise kernel: Oops: 0000 [#1]
Message from syslogd@ at Sun May 11 18:49:30 2008 ...
elise kernel: SMP 
Message from syslogd@ at Sun May 11 18:49:30 2008 ...
elise kernel: CPU:    0
Message from syslogd@ at Sun May 11 18:49:30 2008 ...
elise kernel: EIP:    0060:[<f93bbaaa>]    Not tainted VLI
Message from syslogd@ at Sun May 11 18:49:30 2008 ...
elise kernel: EFLAGS: 00010216   (2.6.23.15-80.fc7 #1)
Message from syslogd@ at Sun May 11 18:49:30 2008 ...
elise kernel: EIP is at xpad_probe+0x33b/0x435 [xpad]
[...]

Since that time, the command "insmod xpad.ko" freezes and cannot be killed, even
with kill -9.
Comment 3 Bug Zapper 2008-05-14 11:29:11 EDT
This message is a reminder that Fedora 7 is nearing the end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 7. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '7'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 7's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 7 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug. If you are unable to change the version, please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. If possible, it is recommended that you try the newest available Fedora distribution to see if your bug still exists.

Please read the Release Notes for the newest Fedora distribution to make sure it will meet your needs:
http://docs.fedoraproject.org/release-notes/

The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 4 Pierre Sarrazin 2008-05-25 16:54:21 EDT
I have just upgraded to Fedora 9 and the bug is still there. Can someone change
the Version field of this bug report accordingly? Thanks.

Fedora 9 still uses version 0.0.6 of the xpad module, instead of 0.1.17.
Comment 5 Peter van Egdom 2008-06-02 15:32:10 EDT
Changing version from "7" to "9".
Comment 6 Pierre Sarrazin 2008-11-09 15:06:01 EST
Good news: I now have kernel 2.6.26.6-79 from Fedora 9 and the xpad kernel module that comes with it works out of the box with my gamepad (Vendor=045e ProdID=028e).

Also, the LEDs don't blink perpetually anymore. Only the #1 LED blinks at first for a few seconds, then stays lit, which seems normal.

Kernel 2.6.26.5-45 also worked.

As far as I'm concerned, this bug report can be closed.

My thanks to whoever fixed this. In fact, I would like to know who did it, for future reference...
Comment 7 John Poelstra 2008-11-10 12:49:28 EST
Thanks for your update

Note You need to log in before you can comment on or make changes to this bug.