LinuxQuestions.org
View the Most Wanted LQ Wiki articles.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices



Reply
 
Search this Thread
Old 11-01-2007, 05:55 PM   #1
shadowsnipes
Senior Member
 
Registered: Sep 2005
Distribution: Slackware
Posts: 1,442

Rep: Reputation: 70
USB device (DDR pad) keeps disconnecting - Solved!


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
Code:
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
Code:
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.

lsusb shows
Code:
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 2.6.21.5-smp kernel (my main OS) and Ubuntu Feisty with 2.6.20.16 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.

UPDATE: This issue has been resolved by using an external USB hub. My post below gives more details.

Last edited by shadowsnipes; 01-23-2008 at 12:47 PM.
 
Old 11-29-2007, 10:17 AM   #2
shadowsnipes
Senior Member
 
Registered: Sep 2005
Distribution: Slackware
Posts: 1,442

Original Poster
Rep: Reputation: 70
So far no helpful information...I did check what the pad shows up as in the hardware manager in Windows, though...

HID-compliant game controller
USB Human Interface Device

I also emailed the person I originally bought the pad from but I received no response. As far as I can tell this model isn't currently being sold anymore.

Again, any help would be appreciated. For instance, does anyone know why "disabled by hub (EMI?), re-enabling..." happens or what that message means? It sounds like a general "I don't know what is going on, but it might have something to do with a power failure of some sort message".
 
Old 12-13-2007, 02:26 AM   #3
shadowsnipes
Senior Member
 
Registered: Sep 2005
Distribution: Slackware
Posts: 1,442

Original Poster
Rep: Reputation: 70
I wonder if I hadn't mentioned it was a DDR pad that more people might be taking a look at this...

Any help is appreciated.
 
Old 12-29-2007, 02:21 AM   #4
shadowsnipes
Senior Member
 
Registered: Sep 2005
Distribution: Slackware
Posts: 1,442

Original Poster
Rep: Reputation: 70
*************bump***********
 
Old 01-14-2008, 10:02 PM   #5
santa8claws
LQ Newbie
 
Registered: Jan 2008
Posts: 1

Rep: Reputation: 0
So I'm trying to do something similar and wonder how you created a rule to keep the /dev/js* device fixed?
 
Old 01-14-2008, 11:37 PM   #6
shadowsnipes
Senior Member
 
Registered: Sep 2005
Distribution: Slackware
Posts: 1,442

Original Poster
Rep: Reputation: 70
I put a line in /etc/udev/rules.d/10-local.rules that says
Code:
SUBSYSTEMS=="usb", ATTRS{interface}=="USB Dance Pad", NAME="input/js0", MODE="0664"
I found the following link very helpful in learning how to do this:
http://reactivated.net/writing_udev_rules.html

Let me know how it turns out, please.
 
Old 01-23-2008, 12:43 PM   #7
shadowsnipes
Senior Member
 
Registered: Sep 2005
Distribution: Slackware
Posts: 1,442

Original Poster
Rep: Reputation: 70
This issue has finally been solved! I got a report from nyingen over in the StepMania forums that they had similar problems as me with the same pad. It turns out that nyingen had it working on one of their older machines, however.

After nyingen compared kernel configs and versions it became apparent to me that the real difference that made that one setup work was the different hub being used.

I plugged in a 4-port external hub from RadioShack and then plugged my pad into that. The pad now works beautifully in StepMania!

Here is a link to the corresponding StepMania forum thread.
 
Old 01-23-2008, 11:31 PM   #8
Electro
Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
It could be a power issue. An active USB hub will provide more power to the ports than what the motherboard can handle. Some active USB hub can provide up to 2 amperes -- that is about four times the amount of power than what motherboards can deliver.

You could modify the pad to include a bridge rectifier to include an external power source. Another way is use a farad capacitor and a diode. The capacitor will provide good enough power to keep the pad energized.

Comparing Windows 2000/XP to Linux is not fair when dealing with USB devices. Windows 2000/XP uses different methods to handle USB. Windows 98 and Linux is a good comparison for USB devices. These two OS are about the same when handling USB devices. In VMware I do not have any problem using USB 2.0 devices with a virtual machine running Windows 98.
 
Old 01-24-2008, 12:50 AM   #9
shadowsnipes
Senior Member
 
Registered: Sep 2005
Distribution: Slackware
Posts: 1,442

Original Poster
Rep: Reputation: 70
I don't think the problem was that the pad wasn't getting enough power. My hub isn't active- it's just one of those low power 4-port microhubs you use for laptops. It makes use of the Alcor AU9254 Chipset. Perhaps the external hub was taking care of any current spikes before they got to my main hub.

Even if I needed more power I think using a simple farad capacitor and a diode would make the pad responsiveness sluggish.

I definitely agree that comparing XP's and Linux's USB handling is not really fair as they are vastly different.

As a side note, I want to confirm that using the external microhub allows me to power two pads with no problems.
 
Old 01-03-2009, 06:21 PM   #10
friend lemly
LQ Newbie
 
Registered: Jan 2009
Posts: 1

Rep: Reputation: 0
Sorry about bumping an old thread but I think this might help somebody.

I've been having this problem for quite a while, and I was sure that my problem was caused by static electricity (the pad's arrows are made of lexan or plexilass and generate a lot of static).

Using a USB hub inbetween my pad and the computer helped, but nothing could help if I tried to play while wearing clothes that contained polyester or anything that holds a lot of static.

I fixed my problem by getting a dryer sheet and rubbing the pad with it. It sounds like a no-brainer, and I don't know why it took me so long before I tried it. The static is totally gone and it seems to be lasting for a while.

The disconnects are gone and another plus is that the wax from the dryer sheet gives my pad a nice tacky feeling.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Card-reader / Usb-ports Keep Disconnecting Mithrandir0 Linux - Hardware 2 03-23-2006 04:18 PM
Problem disconnecting USB flash drive Mordechai Linux - Hardware 8 09-06-2005 12:09 PM
Usb Cdma Disconnecting Automatically monami Linux - Software 1 08-22-2005 04:03 AM
Cannot get my ddr pad to work tearinox Linux - General 1 08-21-2004 09:40 PM
disconnecting usb storage brisemec Linux - Newbie 2 07-05-2004 09:44 AM


All times are GMT -5. The time now is 03:17 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration