Bug 2226

Summary: CH Products Flightstick Pro USB doesn't work until you "cat /proc/bus/usb/devices"
Product: Drivers Reporter: Christopher A. Shamis (cshamis1)
Component: USBAssignee: Vojtech Pavlik (vojtech)
Status: REJECTED INSUFFICIENT_DATA    
Severity: normal    
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.2 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    

Description Christopher A. Shamis 2004-02-28 19:48:09 UTC
Distribution: Slackware 9.0
Hardware Environment: AthlonXP 2800, Abit NF7s-V2.0, nForce2, EHCI USB2.0
Software Environment: modprobe hid, joydev 
Problem Description: 

The joystick refuses to work until I read the contents of /proc/bus/usb/devices
 Then it works fine...  some bizzare initialization ritual I guess...

I used to have an Asus motherboard on linux 2.4 same problem, (but I never tried
reading the usb devices in proc on that system)

And my current system has the same problem when under 2.4, (but again, I've not
tried reading the /proc/bus/usb/devices file on kernel 2.4)

I think there's something screwy in the joystick that needs some wierd "init"
operation...

Lastly, I'd never compiled the usb joystick support *directly* into my kernel,
it's always been a module.  If that helps...
 
Steps to reproduce:

1. Plug in a CHproduts Flightstick Pro USB
2. Boot linux, load the hid, input, joydev, modules
3. run jstest /dev/input/js0

and you get no data from the stick...

4. cat /proc/bus/usb/devices
5. run jstest /dev/input/js0

and it works!

6. unplug the joystick
7. unload the modules
8. re-load the modules
9. run jstest /dev/input/js0

and it doesn't work, again

10. cat /proc/bus/usb/devices
11. run jstest /dev/input/js0

and it works again.

(repeat ad nauseum)

I'll be happy to provide more information if it is needed.
Comment 1 Klaus 2004-07-08 11:31:56 UTC
same behaviour with kernels 2.6.4 and 2.6.7 for CH Products Flight Sim Yoke USB 
 
CH Pro Pedals USB Rudder Pedals work out of the box without need for cat 
command. 
Comment 2 Klaus 2004-07-08 11:47:05 UTC
when CH Products Flight Sim Yoke USB is plugged in, it creates a line in /var/
log/messages saying drivers/usb/input/hid-core.c: ctrl urb status -32 received, 
which is EPIPE in fact. 
 
All USB joysticks use the same code in hid driver. As joystick "pedals" does 
work without cat and joystick "yoke" works after cat, it might be a problem of 
a deeper layer during initialization.  
Comment 3 Greg Kroah-Hartman 2005-08-18 16:25:29 UTC
Should no longer be an issue due to the way the /proc/bus/usb/devices logic was
rewritten a few kernel releases ago.

If this still happens on 2.6.13-rc6 or greater, please reopen this bug.