Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Idle USB devices slow down active ones?

  1. Jan 31, 2008 #1
    I was running a benchmark test on an external hard drive, and to my surprise the presence of several other peripherals greatly reduced the performance, even though they were all idle (keyboard, mouse, smartphone, external cd drive).

    It went down to a 20% of normal performance. Is this normal?

    Why is it happening to such an extent?
     
  2. jcsd
  3. Jan 31, 2008 #2

    chroot

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    If you have a USB 2.0 hub, and you connect even a single USB 1.x device to it, the hub cannot operate in USB 2.0 mode anymore, and you will lose significant performance. It's a good idea to avoid mixing USB 1.x and USB 2.0 devices on the same port. Are you doing that?

    - Warren
     
  4. Jan 31, 2008 #3
    Even when they're just sitting there doing nothing? That's what surprised me.

    If they force the bus to USB 1.1 mode, then wouldn't everything be much, much slower?
     
  5. Jan 31, 2008 #4
    And yes, I am mixing 1.1 with 2, I know for sure the smartphone is 1.1, not sure about the keyboard and mouse.

    Also I tried a bluetooth mouse, which made things even slower. Looking at the devices, bluethooh is attached to an internal usb port.
     
  6. Jan 31, 2008 #5

    turbo

    User Avatar
    Gold Member

    I've been out of PC hardware for a while, but this may be analogous to the concept of interrupts. The more devices that you have with the potential of demanding system resources, the more "polling" the controller must do to ensure that all the devices are served. Try connecting only the USB 2 HD and benchmark it. Then connect one more USB 2 device (powered but inactive) and benchmark the drive again. I'll bet the benchmark falls due to the overhead involved in polling the other device, even if it is not active.
     
  7. Jan 31, 2008 #6

    chroot

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    The two standards (USB 1.x and 2.0) have entirely different frame timing and signalling requirements. USB 2.0 devices are backwards-compatible, but USB is a bus, and all of the devices on a bus segment have to use the same frame timing.

    On a homogenous USB bus (all 2.0 devices, say), the addition of a new (idle) device should not affect the bandwidth of any other devices. The USB standard allows bulk packets (the kind used by mass storage devices) to use up all of the remaining time in a frame, after higher-priority packets like isochronous and control are sent. If the other devices are idle, they should not affect bandwidth at all.

    Newer versions of Windows actually alert you when a 2.0 hub has reverted to 1.x mode, so you know you're going to lose performance. Some computers have only one internal hub which services all of the ports, meaning that attaching a single 1.x device to the computer will slow down every other 2.0 device attached to any other port. (Mice, keyboards, and other low-speed interface devices are generally 1.x.) Some computers, however, have multiple independent hubs.

    Hubs can "promote" 1.x devices to 2.0 devices, as well. In other words, imagine that you attach a USB 2.0 hub to a port on your USB 2.0 computer, and then attach all your 1.x devices to that hub. The link between the hub and all the devices will be 1.x, but the link between the computer and hub will still be 2.0. Sometimes you can use this to your advantage by "quarantining" all of your 1.x devices to a single hub, so your computer's internal hub(s) can keep operating at 2.0.

    - Warren
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?