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
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.
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.
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
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.
Changing version from "7" to "9".
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...
Thanks for your update