I have one of those "Deluxe" ebay DDR pads with USB, Xbox, and PSX connectors. The pad works great in Windows, but it only works in Linux for sets of about one minute. After that I have to restart the application which uses it for the program to recognize it again.
When I insert the USB adapter into my PC dmesg says
usb 3-2: new low speed USB device using ohci_hcd and address 8
usb 3-2: configuration #1 chosen from 1 choice
input: USB Dance Pad as /class/input/input10
input: USB HID v1.00 Joystick [USB Dance Pad] on usb-0000:00:03.1-2
usbhid: exports duplicate symbol hiddev_hid_event (owned by kernel)
However, soon I will get a message like
hub 3-0:1.0: port 2 disabled by hub (EMI?), re-enabling...
usb 3-2: USB disconnect, address 9
This is echoed in syslog and messages collectively.
Bus 3 Device 18: ID 0b43:0001 Play.com, Inc.
The device reconnects but it changes (always goes up) its input number and device/address number (so next time it will be /class/input/input11 and Device/address 19, etc).
It also sometimes changes which device in dev it points to such as switching between /dev/input/js0 and /dev/input/js1. I wrote a udev rule to stop that, but it doesn't do any good since the input and Device numbers keep changing.
The end result is that the device will work until it disconnects again (at most a couple of minutes).
I tested more than one of these pads and they all act the same.
I tested this in more than one Linux OS:
Slackware 12 with 188.8.131.52-smp kernel (my main OS) and Ubuntu Feisty with 184.108.40.206 kernel (a test OS I use as a reference when helping others that use Ubuntu). Ubuntu, as usual, loads more modules such as the xpad module when this device is plugged in. It is not needed, however, and works the same without it (In Slackware only the joydev module is loaded upon plugging this device in). The device itself works the same in both OSs.
I tried all my USB ports and there is no difference in the results. When I use other joypad devices such as my Logitech Precision gamepad I don't have these disconnection problems, so the problem is not in my PC hardware.
As far as I can tell the problem lies in the Linux driver for these pads seeing as they work in Windows. What does "disabled by hub (EMI?)" mean or why does it show up?
Thank you in advance for any help offered.
This issue has been resolved by using an external USB hub. My post below
gives more details.