Main > Main Forum
USB Hub Wierdness
(1/3) > >>
Minwah:
I have a control panel which has an analog joystick interfaced with an AKI, and a spinner & trackball interfaced with an OptiPac.  The AKI and Opti-Pac are plugged into a 2 port USB hub, so I only need 1 cable.  This works great...

Thing is I just bought a USB 2.0 hub (also says compatible with USB1.1 low speed devices), and mounted it near the fron door of my cab for easy access for control panel leads and my portable USB HDD.  This also seemed to work ok...until I started playing MAME.

For some bizarre reason when my analog control panel is plugged into the hub, and I play spinner (& presumably trackball) games, the framerate drops like a brick, but only when I move the spinner.  For instance I load up Arkanoid, and display the FPS...it is at a solid 60/60, until I move the spinner.  Then it will drop to like 30-45 fps.  If I continuously spin the spinner, the framerate drops to 3 fps.  When I stop spinning it gradually goes back up to 60fps.  WTF!!  ???

So far I can only put it down to the USB hub being crap...can anyone shed any more light?
2600:
Well this may be a rant because of my experience with USB.  (I'm developing USB boards for work and we use a mass amount of USB devices, like 125 per PC.  The max is 127)

Anyone here can correct me if I am wrong.  USB is CPU intensive, no real DMA and the CPU schedules everything.  USB2 is even more complicated, in that it schedules USB2, and for USB 1(low and full speed devices) it schedules the USB 1 inside of a USB 2 transaction (They call this transaction translator).  Some hubs do this for each port(Multiple Transaction Translators).

That being said, I doubt it is your hub as they all use pretty much use the same chip and are pretty identical.  I don't know the spec of your machine, but as a quick test here is what I would do.  Assuming everything is good power wise, disable High speed USB in your BIOS.  This takes one second and basically turns off the EHCI(USB2) controller.  It will make your hub show up as a 1.1 hub and should be less CPU intensive.  Let me know what numbers you get.  Also, what OS are you using?  For USB 2, if you are using windows I've had better experience with XP, 2000's USB2 stack in my opinion isn't as good.
Minwah:

--- Quote from: 2600 on July 16, 2004, 08:48:26 am ---Well this may be a rant because of my experience with USB.  (I'm developing USB boards for work and we use a mass amount of USB devices, like 125 per PC.  The max is 127)

Anyone here can correct me if I am wrong.  USB is CPU intensive, no real DMA and the CPU schedules everything.  USB2 is even more complicated, in that it schedules USB2, and for USB 1(low and full speed devices) it schedules the USB 1 inside of a USB 2 transaction (They call this transaction translator).  Some hubs do this for each port(Multiple Transaction Translators).

That being said, I doubt it is your hub as they all use pretty much use the same chip and are pretty identical.  I don't know the spec of your machine, but as a quick test here is what I would do.  Assuming everything is good power wise, disable High speed USB in your BIOS.  This takes one second and basically turns off the EHCI(USB2) controller.  It will make your hub show up as a 1.1 hub and should be less CPU intensive.  Let me know what numbers you get.  Also, what OS are you using?  For USB 2, if you are using windows I've had better experience with XP, 2000's USB2 stack in my opinion isn't as good.

--- End quote ---

I'm using XP (P4 2.8ghz).  My motherboard has 4 USB2 sockets, which work perfectly...I only get the problem when I use the hub.  So I am positive the hub is the problem...why I do not know  ???
2600:
But you are only using USB2 when the hub is attached.  When your devices are plugged directly into your motherboard they are 1.1 devices and attached to your 1.1 controller.  (Each ECHI (USB2) controller has 3 or so USB 1.1 controller's builtin(UHCI or OHCI).  So you are only using USB 2 when the hub is plugged it.  If you don't believe me or want a sanity check look in Device Manager, change the view so you can view by connection, and you will see which controller they are attached to.

Unless you have some need for USB2(hard drive, wireless), take the one second and try what I said.  If it works, then you can save yourself some time and not have to worry about anything else.  If I'm wrong, you waisted 1 minute of your life.
Minwah:
I tried it and yes you are totally right, it works fine with USB2 disabled - thanks for taking the time to explain that to me :)

Problem is I wanted to use my USB2 hard drive with the hub...so I presume if I get a different USB2 hub I would still have the same problem?  I guess the answer is to use this hub for my HDD (not plugged in normally), and a get a USB1 hub for my control panel...?

Thanks again
Navigation
Message Index
Next page

Go to full version