USB controller and hub weirdness, which driver handles which port

DWalker07

New member
Local time
4:50 AM
Messages
4
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 My Computer

At a glance

Windows 7 Ultimate 32-bit, 64-bit
OS
Windows 7 Ultimate 32-bit, 64-bit
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 My Computer

At a glance

Windows 10 Education 64 bitAMD Phenom II X4 980 Black Edition Deneb 3.7GHz8GB 4GBx2 Kingston PC10600 DDR3 1333 MemoryZotac NVIDIA Geforce GT640 2 Gig DDR3 PCIe
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Home Built
OS
Windows 10 Education 64 bit
CPU
AMD Phenom II X4 980 Black Edition Deneb 3.7GHz
Motherboard
Asus M4N68T-M V2 µATX Motherboard
Memory
8GB 4GBx2 Kingston PC10600 DDR3 1333 Memory
Graphics Card(s)
Zotac NVIDIA Geforce GT640 2 Gig DDR3 PCIe
Sound Card
VIA VT1708s High Definition Audio 8-channel Onboard
Monitor(s) Displays
22" LG E2242 1080p and 2 19" I-INC AG191D
Screen Resolution
1280x1024 - 1920x1080 - 1280x1024
Hard Drives
Crucial M100 256 GB SSD and 500 GB WD Blue SATA
PSU
Thermaltake TR 620
Case
Power Up Black ATX Mid-Tower Case
Cooling
Stock heatsink and fan
Keyboard
Logitech Wireless K350 Wave
Mouse
Logitech Wireless M570 Trackman Wheel
Internet Speed
80 Mbps Down 30 Mbps Up
Antivirus
Windows Defender
Browser
Internet Explorer 11
Other Info
HP DVD1040e Lightscribe - External USB2
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 My Computer

At a glance

Windows 7 Ultimate 32-bit, 64-bit
OS
Windows 7 Ultimate 32-bit, 64-bit
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 My Computer

At a glance

Windows 10 Education 64 bitAMD Phenom II X4 980 Black Edition Deneb 3.7GHz8GB 4GBx2 Kingston PC10600 DDR3 1333 MemoryZotac NVIDIA Geforce GT640 2 Gig DDR3 PCIe
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Home Built
OS
Windows 10 Education 64 bit
CPU
AMD Phenom II X4 980 Black Edition Deneb 3.7GHz
Motherboard
Asus M4N68T-M V2 µATX Motherboard
Memory
8GB 4GBx2 Kingston PC10600 DDR3 1333 Memory
Graphics Card(s)
Zotac NVIDIA Geforce GT640 2 Gig DDR3 PCIe
Sound Card
VIA VT1708s High Definition Audio 8-channel Onboard
Monitor(s) Displays
22" LG E2242 1080p and 2 19" I-INC AG191D
Screen Resolution
1280x1024 - 1920x1080 - 1280x1024
Hard Drives
Crucial M100 256 GB SSD and 500 GB WD Blue SATA
PSU
Thermaltake TR 620
Case
Power Up Black ATX Mid-Tower Case
Cooling
Stock heatsink and fan
Keyboard
Logitech Wireless K350 Wave
Mouse
Logitech Wireless M570 Trackman Wheel
Internet Speed
80 Mbps Down 30 Mbps Up
Antivirus
Windows Defender
Browser
Internet Explorer 11
Other Info
HP DVD1040e Lightscribe - External USB2
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 My Computer

At a glance

Windows 7 Ultimate 32-bit, 64-bit
OS
Windows 7 Ultimate 32-bit, 64-bit

My Computer My Computer

At a glance

Windows 7 Professional SP1 - x64 [Non-UEFI Boot]Ivy Bridge Core i5 3570K (Delidded)G.Skill "Ares" DDR3 PC3-12800 - 1600MHz (16Gb)Asus Dual-RX480-O4G
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom Build
OS
Windows 7 Professional SP1 - x64 [Non-UEFI Boot]
CPU
Ivy Bridge Core i5 3570K (Delidded)
Motherboard
Asus P8Z77-V LE PLUS
Memory
G.Skill "Ares" DDR3 PC3-12800 - 1600MHz (16Gb)
Graphics Card(s)
Asus Dual-RX480-O4G
Sound Card
Creative Sound Blaster Z w/5.1 sound system
Monitor(s) Displays
Asus IPS 23"
Screen Resolution
16/9
Hard Drives
Internal:
500Go Sata 6Gb/s (x2)
500Go Sata 3Gb/s (x2)
SSD 60Go Sata 6Gb/s
PSU
In Win C 900W Series 80+ Platinum
Case
Thermaltake Chaser A71
Cooling
Custom Water Cooling Loop
Keyboard
Cooler Master QuickFire XTi
Mouse
Razer Imperator 2012 (4G)
Antivirus
MSE
Browser
IE 11.0.xxx Rtm
Other Info
"Raid0" with Intel Smart Response Technology (HDD/SSD)
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 My Computer

At a glance

win 7 X64 Ultimate SP1I3770KG Skill F3-14900CL9-4GBXL x 4NVIDIA GeForce GTX670 + Intel 4000
Computer Manufacturer/Model Number
BGC (Bob's Garage Crew)
OS
win 7 X64 Ultimate SP1
CPU
I3770K
Motherboard
Asus P8Z77-V Deluxe
Memory
G Skill F3-14900CL9-4GBXL x 4
Graphics Card(s)
NVIDIA GeForce GTX670 + Intel 4000
Sound Card
Realtek HD 5.1 (MOB)
Monitor(s) Displays
Asus VW224T (1)
Screen Resolution
1920 x 1080
Hard Drives
SATA Corsair Force GT 2.5" 180GB (System) Sata 3
OCZ Vertex3 120GB
OCZ Vertex 2 120GB 2.5" SATA II
ST31000524AS 1000.2GB
WD15EARS (External)
PSU
CoolerMaster 1000 Watt
Case
CoolerMaster HAF X
Cooling
CPU -- CoolerMaster 520N
Keyboard
MS Wireless 3000 V2
Mouse
MS Wireless 3000 V2
Internet Speed
Cable
Antivirus
Norton Internet Security
Browser
IE9
Other Info
AMI Bios 1805
OC'd 3%
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 My Computer

At a glance

Windows 7 Ultimate 32-bit, 64-bit
OS
Windows 7 Ultimate 32-bit, 64-bit
Back
Top