Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 46733 - Hotplug >=20040311 doesn't work with my USB gamepad
Summary: Hotplug >=20040311 doesn't work with my USB gamepad
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Greg Kroah-Hartman (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-03 18:39 UTC by Tommy Li
Modified: 2004-10-01 21:45 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tommy Li 2004-04-03 18:39:02 UTC
Hello,

Every hotplug package above 20040311 doesn't work right with my joystick. The device node is there, and I get /some/ output when I "cat /dev/input/js0", but no responce from button pressing. Taking it out and plugging it back in has no effect either. The "hid" module is loaded. The USB device is loaded. The dmesg output:

Apr  3 18:36:51 shepherd usb 1-3: new low speed USB device using address 4
Apr  3 18:36:51 shepherd drivers/usb/core/message.c: error getting string descriptor 0 (error=-32)
Apr  3 18:36:51 shepherd drivers/usb/core/message.c: error getting string descriptor 0 (error=-32)
Apr  3 18:36:51 shepherd drivers/usb/input/hid-core.c: ctrl urb status -32 received
Apr  3 18:36:51 shepherd drivers/usb/input/hid-core.c: ctrl urb status -32 received
Apr  3 18:36:51 shepherd input: USB HID v1.00 Joystick [0925:8866] on usb-0000:00:02.0-3

There is no identifier string, and I get the same warning when it works right, so ignore that. My point is that the system is recognizing the joystick, loading up the right driver (hid), but still not working right. I'm reverting back to hotplug-20040105, where it still works.

If you want any other information, ask - please.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040207-r0,
2.6.4-gentoo-r1)
=================================================================
System uname: 2.6.4-gentoo-r1 i686 AMD Athlon(tm) XP  2400+
Gentoo Base System version 1.4.3.13p1
distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon-xp -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref
/usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache distcc sandbox"
GENTOO_MIRRORS="ftp://mirror.ac.uk/sites/www.ibiblio.org/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa apm avi berkdb cdr crypt cups dvd encode foomaticdb gdbm gif gpm gtk
gtk2 imlib ipv6 java jpeg kde libg++ libwww mad mikmod motif mozilla mpeg mysql
ncurses nls nowin oggvorbis opengl oss pam pdflib perl png python qt quicktime
readline sdl slang spell sse ssl svga tcltk tcpd tetex truetype x86 xft xml2
xmms xv zlib"
Comment 1 Tommy Li 2004-04-03 18:41:45 UTC
Erm, it is a hid-compliant USB gamepad. Not a joystick. But it has analog-knobs, so - yeah. In fact, it's a PSX-PC usb converter with a hooked-up Dual Shock 1 controller.

It's HID compliant though - so that other stuff should be irrelavant.
Comment 2 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-04-12 16:31:54 UTC
This isn't a hotplug issue, looks like the kernel driver is getting
loaded properly.  So it's probably a kernel issue.

If this still happens with a 2.6.5 kernel, try creating a bug at bugzilla.kernel.org for it.
Comment 3 Tommy Li 2004-04-18 19:13:46 UTC
Actually, earlier hotplugs than the one I listed work (mostly). So it's not a kernel issue, but rather a hotplug one.
Comment 4 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-04-21 17:08:09 UTC
What different kernel modules does the older scripts load that the newer ones
do not?  That's all the hotplug scripts do, they shoulnd't affect the way your
device works at all.
Comment 5 Tommy Li 2004-04-21 22:28:56 UTC
I did lsmod comparisons, and the modules loaded are exactly the same.

In fact, I found that the problem lies somewhere within the /etc/hotplug/ scripts. 

If I use the latest hotplug, and keep the /etc/hotplug/ files from 20040105 (the last working version), my joystick works fine.

However, if I do an etc-update, my joystick no longer works.

I'm sure the problem is within hotplug. All other variables have been eliminated. Same kernel, same hardware, same everything, the only thing that changes is the /etc/hotplug scripts - and thats when the situation goes between "working" and "not-working".
Comment 6 Tommy Li 2004-04-21 22:48:11 UTC
Oh - and by the way - in all cases, the joystick shows up in dmesg and a device node is created by joydev...

I can actually "cat" the device node in all cases. It's just that with the new scripts, the joystick never registers stimulus. 
Comment 7 Tommy Li 2004-05-09 15:32:00 UTC
Some additional information:

The right number of axes and buttons (18 axes, 24 buttons) are reported in jscalibrator. It just never registers any stimuli. 

Hotplug-20040105 is the last version where it works properly. Interestingly enough, if I unload hid and let vmware-windows98 take over the device, it works fine in there.
Comment 8 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-09-20 15:27:38 UTC
Ok, this should be fixed in the next hotplug release (in a day or so.)
Comment 9 Tommy Li 2004-09-27 06:16:46 UTC
The problem still exists for me.
Comment 10 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-10-01 09:46:03 UTC
Does the proper kernel driver get loaded if you plug your device in?

That's all that the hotplug scripts do, they don't control the access to your
device.
Comment 11 Tommy Li 2004-10-01 21:45:03 UTC
Yeah - the proper driver does get loaded. In fact, I'm preloading the driver in my modules.autoload.d. The problem still exists - though - that hotplug scripts from Janurary work, but the new ones do not.