Intrepid: Gamepad "Saitek P580" not working in games, buttons not detected.

Bug #284951 reported by criticalmess
60
This bug affects 8 people
Affects Status Importance Assigned to Milestone
xserver-xorg-input-evdev
Fix Released
Medium
xserver-xorg-input-evdev (Ubuntu)
Fix Released
High
Timo Aaltonen
Intrepid
Fix Released
High
Timo Aaltonen

Bug Description

This is what i got:
OS: Ubuntu 8.10 Beta 64bit (Intrepid Ibex)
Gamepad: Saitek P580

Problem: The gamepad is not calibratable via "jscalibrator" or "jscal", it does not react on any input from the d-pad, the analog-sticks or buttons. Neither does it work inside any game. Furthermore the the d-pad or left analog acts like a mouse with auto rejump to center position when touched. That would not be a problem, if the generated mouse position would NOT be ABSOLUTE, instead controlling X via a Playstation-like Gamepad is very well perfectly working feature, i tested it last week with another pad, before xserver-xorg updates and it controlled the mouse but still everything worked perfectly in games at that time. This bug is not a gamepad-controlls-mouse-claim. It's just about game functionality.

On the first plug-in of the SpeedLink it crashed X on pressing some buttons and throw me back to GDM. This does not happen anymore since an xserver-xorg-input-evdev update during the last days, but it doesnt matter if xserver-xorg-input-joystick is installed or not. X does not crash anymore, but just the gamepad still does not work in any game or is calibratable via jscal or jscalibrator.

I provide all information that i got out of my system:

lsusb:
Bus 001 Device 002: ID 0f30:0111 Jess Technology Co., Ltd

dmesg:
[ 759.832009] usb 1-1: new low speed USB device using ohci_hcd and address 4
[ 760.049012] usb 1-1: configuration #1 chosen from 1 choice
[ 760.068217] input: Jess Tech Colour Rumble Pad as /devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1:1.0/input/input10
[ 760.100566] input,hidraw1: USB HID v1.10 Joystick [Jess Tech Colour Rumble Pad] on usb-0000:00:04.0-1

ls /dev/input/:
by-id by-path event0 event1 event2 event3 event4 event5 event6 event7 event8 event9 js0 mice mouse0 mouse1 mouse2

lsmod-parts:
joydev 20736 0

lshw-parts:
 *-usbhost
                product: OHCI Host Controller
                vendor: Linux 2.6.27-7-generic ohci_hcd
                physical id: 1
                bus info: usb@1
                logical name: usb1
                version: 2.06
                capabilities: usb-1.10
                configuration: driver=hub slots=10 speed=12.0MB/s
              *-usb:0
                   description: Human interface device
                   product: Colour Rumble Pad
                   vendor: Jess Tech
                   physical id: 1
                   bus info: usb@1:1
                   version: 1.01
                   capabilities: usb-1.10
                   configuration: driver=usbhid maxpower=200mA speed=1.5MB/s

lshal-parts:
udi = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial'
  info.linux.driver = 'usb' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_04_0' (string)
  info.product = 'Colour Rumble Pad' (string)
  info.subsystem = 'usb_device' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial' (string)
  info.vendor = 'Jess Technology Co., Ltd' (string)
  linux.device_file = '/dev/bus/usb/001/004' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'usb' (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:04.0/usb1/1-1' (string)
  usb_device.bus_number = 1 (0x1) (int)
  usb_device.can_wake_up = false (bool)
  usb_device.device_class = 0 (0x0) (int)
  usb_device.device_protocol = 0 (0x0) (int)
  usb_device.device_revision_bcd = 257 (0x101) (int)
  usb_device.device_subclass = 0 (0x0) (int)
  usb_device.is_self_powered = false (bool)
  usb_device.linux.device_number = 4 (0x4) (int)
  usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:04.0/usb1/1-1' (string)
  usb_device.max_power = 200 (0xc8) (int)
  usb_device.num_configurations = 1 (0x1) (int)
  usb_device.num_ports = 0 (0x0) (int)
  usb_device.product = 'Colour Rumble Pad' (string)
  usb_device.product_id = 273 (0x111) (int)
  usb_device.speed = 1.5 (1.5) (double)
  usb_device.vendor = 'Jess Technology Co., Ltd' (string)
  usb_device.vendor_id = 3888 (0xf30) (int)
  usb_device.version = 1.1 (1.1) (double)

udi = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial_if0'
  info.linux.driver = 'usbhid' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial' (string)
  info.product = 'USB HID Interface' (string)
  info.subsystem = 'usb' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial_if0' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'usb' (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1:1.0' (string)
  usb.bus_number = 1 (0x1) (int)
  usb.can_wake_up = false (bool)
  usb.device_class = 0 (0x0) (int)
  usb.device_protocol = 0 (0x0) (int)
  usb.device_revision_bcd = 257 (0x101) (int)
  usb.device_subclass = 0 (0x0) (int)
  usb.interface.class = 3 (0x3) (int)
  usb.interface.number = 0 (0x0) (int)
  usb.interface.protocol = 0 (0x0) (int)
  usb.interface.subclass = 0 (0x0) (int)
  usb.is_self_powered = false (bool)
  usb.linux.device_number = 4 (0x4) (int)
  usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1:1.0' (string)
  usb.max_power = 200 (0xc8) (int)
  usb.num_configurations = 1 (0x1) (int)
  usb.num_ports = 0 (0x0) (int)
  usb.product = 'USB HID Interface' (string)
  usb.product_id = 273 (0x111) (int)
  usb.speed = 1.5 (1.5) (double)
  usb.vendor = 'Jess Technology Co., Ltd' (string)
  usb.vendor_id = 3888 (0xf30) (int)
  usb.version = 1.1 (1.1) (double)

udi = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial_if0_logicaldev_input'
  info.capabilities = {'input', 'input.mouse'} (string list)
  info.category = 'input' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial_if0' (string)
  info.product = 'Jess Tech Colour Rumble Pad' (string)
  info.subsystem = 'input' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial_if0_logicaldev_input' (string)
  input.device = '/dev/input/event9' (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_f30_111_noserial_if0' (string)
  input.product = 'Jess Tech Colour Rumble Pad' (string)
  input.x11_driver = 'evdev' (string)
  linux.device_file = '/dev/input/event9' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'input' (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1:1.0/input/input9/event9' (string)

Xorg.0.log-parts::
(II) config/hal: Adding input device Jess Tech Colour Rumble Pad
(**) Jess Tech Colour Rumble Pad: always reports core events
(**) Jess Tech Colour Rumble Pad: Device: "/dev/input/event9"
(II) Jess Tech Colour Rumble Pad: Found x and y absolute axes
(II) Jess Tech Colour Rumble Pad: Found 1 mouse buttons
(II) Jess Tech Colour Rumble Pad: Configuring as mouse
(II) XINPUT: Adding extended input device "Jess Tech Colour Rumble Pad" (type: MOUSE)
(**) Jess Tech Colour Rumble Pad: YAxisMapping: buttons 4 and 5
(**) Jess Tech Colour Rumble Pad: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(WW) Jess Tech Colour Rumble Pad: unable to handle keycode 291
(WW) Jess Tech Colour Rumble Pad: unable to handle keycode 290
(WW) Jess Tech Colour Rumble Pad: unable to handle keycode 288
(WW) Jess Tech Colour Rumble Pad: unable to handle keycode 294
(WW) Jess Tech Colour Rumble Pad: unable to handle keycode 295
(WW) Jess Tech Colour Rumble Pad: unable to handle keycode 298
(WW) Jess Tech Colour Rumble Pad: unable to handle keycode 289

description: updated
description: updated
description: updated
Revision history for this message
criticalmess (criticalmess) wrote : Re: Intrepid: Gamepads "SpeedLink Strike²" and "Saitek P580" not working.

In another bugfile people say it is important after the last Xserver(-xorg-input-*) updates to provide a dumb of lsmod to make every single Gamepad model work again, so here is the one for the Saitek P580, hopefully it will work in a short time.

description: updated
description: updated
description: updated
description: updated
Revision history for this message
In , Albert Damen (albrt) wrote :

In Ubuntu Intrepid on amd64, my gamepad and joystick are detected by evdev as mouse. Therefore they act as mouse pointer and cannot be used as joystick.

I changed evdev to log the buttons it found. This reported a non-existing button 287. As 287 < BTN_JOYSTICK, evdev considers it a mouse button and configures the device as mouse. However, there is no physical button that actually generates code 287.

Searching further I found TestBit(287, key_bitmask) reported strange values. I expected either 0 if bit 287 is not set, or 2^31 if the bit is set. However, TestBit returned for example 140636556623872.
That suggests the bitmask used by TestBit is not correct.

Changing:
#define TestBit(bit, array) (array[(bit) / LONG_BITS]) & (1 << ((bit) % LONG_BITS))

Into:
#define TestBit(bit, array) (array[(bit) / LONG_BITS]) & (1l << ((bit) % LONG_BITS))
(note the 1l instead of 1)

in src/evdev.c solved the problem for me. Evdev no longer sees button 287. When I connect the gamepad, evdev now logs:
(II) config/hal: Adding input device Logitech Logitech RumblePad 2 USB
(**) Logitech Logitech RumblePad 2 USB: always reports core events
(**) Logitech Logitech RumblePad 2 USB: Device: "/dev/input/event2"
(II) Logitech Logitech RumblePad 2 USB: Found x and y absolute axes
(WW) Logitech Logitech RumblePad 2 USB: Don't know how to use device
(II) UnloadModule: "evdev"
(EE) PreInit returned NULL for "Logitech Logitech RumblePad 2 USB"
(EE) config/hal: NewInputDeviceRequest failed

and the gamepad and joystick can be used in jscalibrator and flightgear.

Revision history for this message
In , Julien Cristau (jcristau) wrote :

On Tue, Oct 21, 2008 at 05:13:22 -0700, <email address hidden> wrote:

> Searching further I found TestBit(287, key_bitmask) reported strange values. I
> expected either 0 if bit 287 is not set, or 2^31 if the bit is set. However,
> TestBit returned for example 140636556623872.
> That suggests the bitmask used by TestBit is not correct.
>
Fixed, thanks!

commit f57e8face94c9e6986b35ca2ec231e284b9f58cf
Author: Julien Cristau <email address hidden>
Date: Tue Oct 21 19:21:21 2008 +0200

    Fix TestBit() on 64bit

    Reported by Albert Damen <email address hidden>
    X.Org Bug#18150 <http://bugs.freedesktop.org/show_bug.cgi?id=18150>

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Ok, turns out that this problem only affected 64bit installations, and Albert Damen found out the problem in the evdev driver. This will be fixed before the release.

Changed in xserver-xorg-input-evdev:
assignee: nobody → tjaalton
importance: Undecided → High
milestone: none → ubuntu-8.10
status: New → In Progress
Changed in evdev:
status: Unknown → Confirmed
Revision history for this message
criticalmess (criticalmess) wrote :

This are good news, im nerveously awaiting the fix. Thanks for all your efforts.

Revision history for this message
Steve Langasek (vorlon) wrote :

Hi Timo,

Since accepting this package before RC would require respinning all images to get them up-to-date, and I don't think this is critical enough to justify accepting it between RC and final (in particular, game support is not all that relevant to liveCDs), I think we should handle this as an SRU post-release. I've rejected the package from the unapproved queue for now.

Changed in xserver-xorg-input-evdev:
milestone: ubuntu-8.10 → none
Revision history for this message
criticalmess (criticalmess) wrote :

Steve Langasek:
So a feature "even if not meant to be worked properly at all yet" that did worked nearly properly on nearly any gamepad and now broke suddenly in beta should not be fixed, because of that chunk of work and should be delayed. When it was not working in every ibex alpha through and on hardi wooooooooood agree with you in that point waiting for 8.10.1 or 2, but this is not acceptable, because there are dozens of people who miss there gamepads working in game, NOT blaming Xmouse, if this is not critical, what is it then? Isn't there any solution in providing an early fix without respinning images? I dont care if my gamepad controls the mouse, becuase of atwo simple facts: 1. I control X with my mouse (that meaning i dont touch the gamepad when I am in X). 2. Games that require a mouse in game should not be played with a gamepad (that meaning games that should be played with gamepad usually not have a Mouse-cursor in game). I definetly know, that it is possible to properly move the mouse via the gamepads-d-pad amootly over the desktop, all buttons were working in X and in games everything worked perfectly too. I just want a fix, not a workaround, for getting my all-the-time working device back to work in game, thats all. The fact, that it's all about gaming, does not mean in any way, that it could not be critical or viceversa that it's all the time non-critical per default in any worst case. You except me to play my fouvourite games with 8 buttons and X,Y axis, im sorry but i would need a third hand. I need the shoulder buttons, the ergonomic design for playing. I cant play some games with keyboard for longer than 10 minutes because my finger hurt. Telling Xorg not to hotplug at all makes me having no keyboard..... i needed to boot in livecd to reconfigure xorg.conf. But hey, at least i could use my non-critical broke before-beta-working joypad for one session. Thanks!

Revision history for this message
criticalmess (criticalmess) wrote :

The bleeding edge... gamepads have to work with final release, anything else or later would be a very very bad thing!

Revision history for this message
criticalmess (criticalmess) wrote :

I forget, when i want to check if my HID-equipment works with ubuntu, what do I or you do? Not a livecd and testing gamepad,joystick, etc.? Isnt gaming a "live" thing? You dont want them to throw it right into the dustbin, when they remember it working on hardy, would you? You see, i see a bug named "gamepad controls mouse, X crashes. What has not come clear is that "GAMEPADS BROKE IN GAME AT ALL (AT LEAST 64BIT). nafnaf, dont blame me, i just claim MY GAMEPAD does not work in any game, because Xserver somehow "locks" the device. I dont want to ad logs from js_demo, jscal, or jscalibrator. They can all access the device, but it seems like Xserver is not able to forward inputs in 64bit. This should be fixed on the Final, or it's devolution.

Changed in evdev:
status: Confirmed → Fix Released
Bryce Harrington (bryce)
Changed in xserver-xorg-input-evdev:
milestone: none → intrepid-updates
Revision history for this message
Rodney Gordon II (meff) wrote :

Bus 007 Device 002: ID 046d:c218 Logitech, Inc. Logitech RumblePad 2 USB

My joypad is still detected in the -- now dependent -- xserver-xorg-input-evdev package. Without removing this package, the pointer on the screen jerks around violently. I haven't tested a game with that though because I can't get to the point where I can *run* a game.

Please fix this or tell me a workaround other than removing xserver-xorg-input-evdev?

Thanks

Revision history for this message
Liam Zwitser (noliamhere) wrote :

What the hell?? Joysticks won't work with intrepid ibex?? NOT CRITICAL, WTF WTF WTF ????????

Will it at least work with 32-bit intrepid out of the box, just like in hardy, gutsy and feisty (where I started using ubuntu)??

Please do something about this before final release. I am going to post the fact joysticks, dance pads etc wont work with 8.10 on every site / forum I know. It will help get the files faster, and it will help making people wait with upgrading until joysticks work.

Revision history for this message
Loïc Martin (loic-martin3) wrote :

It works in Intrepid i386, I just checked yesterday. For amd64 it still doesn't work - one Ubuntu dev said it will be fixed post release in an update, we'll have to wait and see.

Revision history for this message
northsider1983 (jkelly6) wrote :

Lame lame lame LAME. Regardless if you want to expand to new users, how will you expect to gain new users (and keep current ones for that matter) if something as "simple" as plugging in a joystick doesn't work?!

Revision history for this message
Martijn Bastiaan (hmb1) wrote :

Oh gosh. This is really bad Ubuntu developers!

Revision history for this message
CyberConan (cyberconan) wrote :

¡¡Thanks for the information!! I write same bug in https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/278268 a long time ago.

I build a patch with https://bugs.freedesktop.org/show_bug.cgi?id=18150

Then I do:

sudo apt-get install apt-src
sudo apt-src get xserver-xorg-input-evdev
sudo apt-src install xserver-xorg-input-evdev
cd xserver-xorg-input-evdev-2.0.99+git20080912/src
sudo kate evdev.c

[Add l in the line that Albert Damen said]

cd ..
sudo apt-src build xserver-xorg-input-evdev
sudo dpkg -i xserver-xorg-input-evdev_2.0.99+git20080912-0ubuntu5_amd64.deb

And fix in ubuntu intrepid.

I attach file .deb I built. :D

Revision history for this message
Krešo Kunjas (deresh) wrote :

thanx, cyberconan, this fixes all my problems.

and i think this is a big issue, because its a prety simple fix and affects lots of users

Revision history for this message
Jonny Dee (jonny.dee) wrote :

Thanx a lot, CyberConan,

I use my heli control pad for a heli simulator running under wine (strangely enough this windows application does not work under windows vista--but under wine it does ;) ). It was recognized gracefully as a joystick under hardy, but, surprisingly under intrepid, I suddenly had the same issue as you all. I could control my mouse but not my heli. Your deb-Package fixed my problem :) :) :) Many thanx also to Albert Damon for his fix!!! And I also agree--it's not a non-critical issue, but it definitely IS a critical issue!

Best regards,
Jonny

Revision history for this message
Jeremy LaCroix (jlacroix82-deactivatedaccount) wrote :

I downloaded the latest daily image for both 32-bit and 64-bit and tested my gamepads on each one.

I can confirm that I have no problems on the 32-bit version.

With the 64-bit version, the bug is NOT fixed for me. I confirmed that I have "xserver-xorg-input-evdev_2.0.99+git20080912-0ubuntu5_amd64.deb" installed (I must've gotten it from the daily updates) and my dual action gamepad is still detected as a mouse and moves the mouse cursor. (Which prevents some games from using it since it's seeing a mouse event instead of a joystick event with a direction button is pressed).

I also tested this on my 64-bit install with all the latest updates, it's not fixed there either. My dual action gamepad does work in the 32-bit version though.

Revision history for this message
Jeremy LaCroix (jlacroix82-deactivatedaccount) wrote :

Release is tomorrow, still having this problem here with all updates.

Revision history for this message
Jeremy LaCroix (jlacroix82-deactivatedaccount) wrote :

Update: The package that CyberConan posted above does fix this for 64-bit, however that fix has not been made available yet in the update cycle. I thought that his package didn't fix it because I had the same version installed, until I realized that his package is indeed different just with the same name as the existing package, making me think that I already had it.

Revision history for this message
CyberConan (cyberconan) wrote :

Yes Jeremy, the name is the same but the package has a little modification. I post in the "howto" all you need for make the fix using the xserver-xorg-input-evdev repository version. ;)

Revision history for this message
Jeremy LaCroix (jlacroix82-deactivatedaccount) wrote : Re: [Bug 284951] Re: Intrepid: Gamepad "Saitek P580" not working in games, buttons not detected.

CyberConan, thank you so much. I hope your patch becomes part of the final
release, I really want to see everything work in the final release.

On Wed, Oct 29, 2008 at 2:38 PM, CyberConan <email address hidden> wrote:

> Yes Jeremy, the name is the same but the package has a little
> modification. I post in the "howto" all you need for make the fix using
> the xserver-xorg-input-evdev repository version. ;)
>
> --
> Intrepid: Gamepad "Saitek P580" not working in games, buttons not detected.
> https://bugs.launchpad.net/bugs/284951
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Revision history for this message
unebaguettesvp (phil-quietthenloud) wrote :

Jeremy LaCroix and CyberConan (and everyone else who claims that that Albert Damer fix fixed their problems):

How did you get your joystick from not controlling the cursor? I tried the .deb file that was attached and I compiled it myself. My joystick still moves the mouse cursor. Thanks for any help!

Revision history for this message
Jeremy LaCroix (jlacroix82-deactivatedaccount) wrote :

For me I clicked on the package link that CyberConan posted and then
opened it in gdebi, and clicked "reinstall package". That fixed the
mouse cursor problem for me.

As far as being urgent, I agree, this is an urgent bug and should've
received a higher priority as soon as it was reported. In my opinion
there is never an excuse for a regression, especially something that
prevents you from using an entire package category. Intrepid is
definitely the worst Ubuntu release ever, and it really pains me to say
that. There are more bugs left in the final release than I've ever
noticed in any previous release.

unebaguettesvp wrote:
> Jeremy LaCroix and CyberConan (and everyone else who claims that that
> Albert Damer fix fixed their problems):
>
> How did you get your joystick from not controlling the cursor? I tried
> the .deb file that was attached and I compiled it myself. My joystick
> still moves the mouse cursor. Thanks for any help!
>
>

Revision history for this message
Don Giovanni (thedongiovanni) wrote :

Installing this package xserver-xorg-input-evdev_2.0.99+git20080912-0ubuntu5_amd64.deb
By CyberConan has fixed issues with the gamepad/cursor issue for me. Aside from a reboot no further actions were required.

Thanks CyberConan, hopefully this gets released as an official update.

Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into intrepid-proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in xserver-xorg-input-evdev:
milestone: intrepid-updates → none
status: In Progress → Fix Committed
milestone: intrepid-updates → none
Revision history for this message
unebaguettesvp (phil-quietthenloud) wrote :

I just tried the new xserver-xorg-input-evdev in intrepid-proposed and it did not fix it for me. I have two Logitech Cordless RumblePad 2 controllers and they both continue to control the cursor. I provided an lshal for my controller here:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-joystick/+bug/283399

I tried adding manually configuring my joysticks in my xorg.conf file. I provided more information here:
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/274203

Before I tried the -proposed package I reinstalled the ones in the intrepid repositories and I deleted the manual configuration in my xorg.conf file.

Do you need more information?

Revision history for this message
Albert Damen (albrt) wrote :

unebaguettesvp: can you please attach the file /var/log/Xorg.0.log (with the gamepads attached to your pc)?
Did you reboot your pc after you installed the new xserver-xorg-input-evdev package?

Revision history for this message
unebaguettesvp (phil-quietthenloud) wrote :

Hi Albert-
Here is the Xorg.0.log file. Yes, I rebooted the PC afterwards. Let me know if you need anything else or if you have any other ideas I should try. Thanks!!!
-Phil

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

unebaguettesvp: purge xserver-xorg-input-joystick if you don't want it to move the cursor. That's what the driver is for...

Revision history for this message
unebaguettesvp (phil-quietthenloud) wrote :

Timo: Thanks! Doing a sudo apt-get purge xserver-xorg-input-joystick prevented the cursor from moving around. However, I still have the problem with the directional pads not working in any emulators or MAME. Everything works great in jscalibrator and I even set new calibrations. But EVERY game that I try to use my joysticks, the directional pads are not registering. The buttons work perfectly. I have no idea what's causing this. I even recompiled various emulators in intrepid to see if it was a specific emulator problem but it's not. It's only the directional pads that are not working even though they work in jscalibrator and jstest. Do you have any suggestions? Should I open a new bug report? Thanks!

Revision history for this message
unebaguettesvp (phil-quietthenloud) wrote :

AHA! After giving up on the idea that this was an evdev problem I searched the forums and found this:
http://ubuntuforums.org/showthread.php?t=320683
Now everything is back to normal! Something is up with jscalibrator! Thanks for your help everyone!

Revision history for this message
Martin Pitt (pitti) wrote :

I can reproduce the original problem on my amd64 installation. After the upgrade to the -proposed version, the joystick does not behave as a mouse any more.

Revision history for this message
Loïc Martin (loic-martin3) wrote :

The upgrade from intrepid-proposed also fixes the joystick problem for me (DS3), and doesn't introduce regressions on my wacom tablet (Cintiq 12wx USB).

Revision history for this message
Martin Pitt (pitti) wrote :

intrepid-proposed package copied to jaunty.

Changed in xserver-xorg-input-evdev:
status: In Progress → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Copied to intrepid-updates.

Changed in xserver-xorg-input-evdev:
status: Fix Committed → Fix Released
Revision history for this message
whatawookie (johandifferent) wrote :

I have the same problem with my xbox 360 wireless. D-pad and left stick controls mouse, no connection besides that to gamepad. The update didn't work for me. I don't have xserver-xorg-input-joystick installed at all.

Revision history for this message
Loïc Martin (loic-martin3) wrote :

whatawookie, for the sake of clarity, can you give the output of:
dpkg -p xserver-xorg-input-evdev

And check you don't have jscalibrator, jscal, joystick-calibrator or whatever program like that installed.

Also, did you upgrade to Intrepid or is this a clean install?
Can you check with a non-wireless joystick (wireless introduces its own set of problems)?
Last, if you checked that it didn't work either for an USB joystick, can you boot an Intrepid Live CD, apply all updates, maybe do a
sudo /etc/init.d/hal restart
and restart X,
Then check with both an USB joystick and a wireless one?

If a developer needs it, an user already updloaded an lshal output for the XB360 controller (diff at http://launchpadlibrarian.net/18805373/MS_Xbox360_Controller.lshal.diff , see bug for full output) . I don't have one, I don't know if it's any different when in wireless mode though.

(whatawookie, if you want to check if your lshal output in wireless is different you can see https://help.ubuntu.com/community/Joystick_lshal for a step-by-step).

Revision history for this message
B.Roney (mister-jabberwocky) wrote :

I'm running Intrepid 32-bit, and this remains an issue even after the evdev update. I've purged all those joystick calibration programs, and xserver-xorg-input-joystick too. All my controllers are wired. Was the fix amd64 only, because the problem isn't confined to that architecture?

Revision history for this message
vergarr (moonsdad) wrote :

I use a Microsoft Sidewinder GamePad Pro USB version 1.0 game controller with mupen64, gfceu, etc. But once I upgraded to Ibex, it stopped working. The directional pad moves the mouse cursor around but thats it.

Googling led me to https://help.ubuntu.com/community/Joystick_lshal_outputs_done
which tells me that:
"With xserver-xorg-input-evdev 1:2.0.99+git20080912-0ubuntu6 now in intrepid-updates, all you need to do is update your system (just check the version of xserver-xorg-input-evdev if you joypad still doesn't work in Ubuntu 8.10 (Intrepid) amd64, and make sure you're not using joystick-calibrator, jscal or another program like that)."

I checked my version of xserver-xorg-input-evdev and it is 1:2.0.99+git20080912-0ubuntu6 and I don't find any joystick calibration programs installed on my machine. But the controller still doesn't work.

I couldn't find the fdi file for my controller so I followed the instructions, making a file that contains the differences between the output of lshal with, and without the controller plugged in. The instructions tell me to attach this file to bug #283399
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-joystick/+bug/283399

But here I find that the bug is closed and that "An updated evdev package is in intrepid-proposed, so lshal output and .fdi files won't be necessary anymore"

In bug #284951 I read that this problem only affected 64bit installations, but I am using i386.

this was posted 2008-11-1 as Open Question #51417 -- I still have not gotten any further information.

Revision history for this message
Loïc Martin (loic-martin3) wrote :

I don't know what would be the problem.

However, if you want to help troubleshoot it, there's a few things you can try:
- try removing xserver-xorg-input-joystick :

sudo apt-get purge xserver-xorg-input-joystick

- add this in your /etc/X11/xorg.conf:

Section "ServerFlags"
        Option "AutoAddDevices" "False"
EndSection

(if there's already a Section "ServerFlags", just add the option to it.
Reboot, check if there's still a problem.

- try installing the amd64 version if your processor support it, install all updates and check if the problem isn't there on the amd64 version (or go to somebody that has a computer that can support the amd64 version.

Revision history for this message
windsurfer (msapsard) wrote :
Download full text (4.1 KiB)

2c2
< Dumping 112 device(s) from the Global Device List:
---
> Dumping 115 device(s) from the Global Device List:
1216a1217,1292
> udi = '/org/freedesktop/Hal/devices/usb_device_6a3_53c_noserial'
> info.linux.driver = 'usb' (string)
> info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_10_2' (string)
> info.product = 'X45 Flight Controller' (string)
> info.subsystem = 'usb_device' (string)
> info.udi = '/org/freedesktop/Hal/devices/usb_device_6a3_53c_noserial' (string)
> info.vendor = 'Saitek PLC' (string)
> linux.device_file = '/dev/bus/usb/003/008' (string)
> linux.hotplug_type = 2 (0x2) (int)
> linux.subsystem = 'usb' (string)
> linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:10.2/usb3/3-1' (string)
> usb_device.bus_number = 3 (0x3) (int)
> usb_device.can_wake_up = false (bool)
> usb_device.device_class = 0 (0x0) (int)
> usb_device.device_protocol = 0 (0x0) (int)
> usb_device.device_revision_bcd = 2 (0x2) (int)
> usb_device.device_subclass = 0 (0x0) (int)
> usb_device.is_self_powered = true (bool)
> usb_device.linux.device_number = 8 (0x8) (int)
> usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:10.2/usb3/3-1' (string)
> usb_device.num_configurations = 1 (0x1) (int)
> usb_device.num_ports = 0 (0x0) (int)
> usb_device.product = 'X45 Flight Controller' (string)
> usb_device.product_id = 1340 (0x53c) (int)
> usb_device.speed = 1.5 (1.5) (double)
> usb_device.vendor = 'Saitek PLC' (string)
> usb_device.vendor_id = 1699 (0x6a3) (int)
> usb_device.version = 1.0 (1) (double)
>
> udi = '/org/freedesktop/Hal/devices/usb_device_6a3_53c_noserial_if0'
> info.linux.driver = 'usbhid' (string)
> info.parent = '/org/freedesktop/Hal/devices/usb_device_6a3_53c_noserial' (string)
> info.product = 'USB HID Interface' (string)
> info.subsystem = 'usb' (string)
> info.udi = '/org/freedesktop/Hal/devices/usb_device_6a3_53c_noserial_if0' (string)
> linux.hotplug_type = 2 (0x2) (int)
> linux.subsystem = 'usb' (string)
> linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:10.2/usb3/3-1/3-1:1.0' (string)
> usb.bus_number = 3 (0x3) (int)
> usb.can_wake_up = false (bool)
> usb.device_class = 0 (0x0) (int)
> usb.device_protocol = 0 (0x0) (int)
> usb.device_revision_bcd = 2 (0x2) (int)
> usb.device_subclass = 0 (0x0) (int)
> usb.interface.class = 3 (0x3) (int)
> usb.interface.number = 0 (0x0) (int)
> usb.interface.protocol = 0 (0x0) (int)
> usb.interface.subclass = 0 (0x0) (int)
> usb.is_self_powered = true (bool)
> usb.linux.device_number = 8 (0x8) (int)
> usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:10.2/usb3/3-1/3-1:1.0' (string)
> usb.num_configurations = 1 (0x1) (int)
> usb.num_ports = 0 (0x0) (int)
> usb.product = 'USB HID Interface' (string)
> usb.product_id = 1340 (0x53c) (int)
> usb.speed = 1.5 (1.5) (double)
> usb.vendor = 'Saitek PLC' (string)
> usb.vendor_id = 1699 (0x6a3) (int)
> usb.version = 1.0 (1) (double)
>
> udi = '/org/freedesktop/Hal/devices/usb_device_6a3_53c_noserial_if0_logicaldev_input'
> info.capabilities = ...

Read more...

Changed in evdev:
importance: Unknown → Medium
Changed in evdev:
importance: Medium → Unknown
Changed in evdev:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.