USB controller and hub weirdness, which driver handles which port  


  1. Posts : 4
    Windows 7 Ultimate 32-bit, 64-bit
       #1

    USB controller and hub weirdness, which driver handles which port


    I didn't know whether to put this in General, or Hardware, or Drivers, or what. But here goes.

    This particular system has Windows 7 Ultimate 32-bit, with an Abit KN9 Ultra motherboard. I was having some USB issues (a particular external USB drive wouldn't work when plugged into the front USB ports) so I started some investigating.

    I thought that the built-in USB ports on a motherboard (on the back of the computer) are connected to a particular USB hub which is handled by a specific USB driver. But that doesn't appear to be true!

    This is strange: When my Microsoft optical mouse is plugged into a particular port on the back of the computer, Device Manager says this when viewed by connection:
    Standard OpenHCD USB Host Controller
    USB Root Hub
    Microsoft Hardware USB Mouse
    Microsoft USB Comfort Optical Mouse 1000
    (Those are indented to indicate "child" devices)


    That would indicate that this particular USB port is a low-speed USB port, which worried me. BUT, if I unplug the mouse, and plug the printer in to the port that the mouse was connected to, I see this in Device Manager:
    Standard Enhanced PCI to USB Controller
    USB Composite Device
    Canon MF4320-4350
    (Those are indented too)

    ...which means that the SAME physical USB port is now a USB 2.0 port (Enhanced).

    How can the same USB port be driven by Standard OpenHCD USB Host Controller driver one minute, and Standard Enhanced PCI to USB Host Controller the next minute? If that's how things are done these days, that's fine, but I never knew this. And the behavior was clouding my investigations -- I was convinced that the USB headers on the motherboard were not USB 2.0 (even though the documentation says they are, and Windows never complains that devices "could" perform faster if plugged into a high-speed port, etc.).

    I thought that a physical USB port was connected to an on-motherboard set of circuitry that is handled by ONE driver, but apparently Windows moves drivers around when it wants to. Is this commonly known? Am I crazy? Does this happen to other people?

    Thanks.

    David
      My Computer


  2. Posts : 4,466
    Windows 10 Education 64 bit
       #2

    I would say, if the device is not USB 2 capable it uses the Standard driver and if it is USB 2 it uses the Enhanced driver. My HP DVD-RW USB drive shows up under Standard Enhanced PCI to USB Host Controller but my Logitech keyboard and mouse show up under Standard OpenHCD USB Host Controller.
      My Computer


  3. Posts : 4
    Windows 7 Ultimate 32-bit, 64-bit
    Thread Starter
       #3

    That's what it appears, but I didn't know that a USB port would or could MOVE AROUND to different USB controllers.

    It makes it hard to figure out "which USB controller is handling which USB port?".

    Since it seems to depend on what device you have plugged in to that port, the answer is indeterminate.

    I didn't know that Windows worked this way.
      My Computer


  4. Posts : 4,466
    Windows 10 Education 64 bit
       #4

    The physical port isn't moving around as you put it. The mode or driver used may change and thus its description may change in device manager, but the port doesn't move. Thats the way it looks to me anyway.
      My Computer


  5. Posts : 4
    Windows 7 Ultimate 32-bit, 64-bit
    Thread Starter
       #5

    Well I know the port isn't moving around physically! At least not that I have noticed.

    But I didn't know that the "controller" for a port could change (or at least the driver that runs the controller) depending on what you plugged into the port. Very weird.
      My Computer


  6. NoN
    Posts : 4,166
    Windows 7 Professional SP1 - x64 [Non-UEFI Boot]
       #6

    You could check that here: USB Selective Suspend - Turn On or Off

    and then here: USB Driver - General Fix for Problems

    Hope this help...! And welcome to SevenForums!
      My Computer


  7. Posts : 1,965
    win 7 X64 Ultimate SP1
       #7

    Magic


    When you plug into a USB port the OS analyzes it and loads the appropriate driver for that device. (if a driver is available) Does this help understanding it.
      My Computer


  8. Posts : 4
    Windows 7 Ultimate 32-bit, 64-bit
    Thread Starter
       #8

    I know how drivers work, but I never knew that Windows would move USB devices to a different controller. I thought a specific driver handled a specific set of circuits on the motherboard (or add-in card).

    I know there is a parent/child relationship between USB controllers, hubs, and devices. Windows can apparently move USB devices from one controller and hub to another. I presume the USB hub is more of a virtual concept than an actual device, in this case.

    This means there is no fixed answer to the question "which driver controls this specific USB port on the back of my computer?". It depends on what you plug into that device, and Windows can change which driver is controlling that USB port based on what you plug in.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 07:54.
Find Us