How does USB device recognition work?
- by GorillaSandwich
I'm curious how USB device recognition works in Windows. I imagine it's something like this:
When you plug in a device, it tells Windows "here's my device ID to tell you what I am"
Windows looks to see if any drivers have been installed that match that device ID. The driver probably tells Windows what the device should be called - like "BlackBerry Curve" or "Canon Printer"
If so, it somehow associates that device with that driver
Otherwise, it looks for a matching driver online (if you let it)
Am I right? If so, that still leaves some questions.
When you install drivers, where do they go? Are they files in a folder, or do they get added to the registry?
What is Windows doing when it first recognizes the device, thinks, and finally says "your new device is installed and ready to use?"
Where does Windows look for missing drivers? Is it in their own database? Do device manufacturers submit drivers to Microsoft for inclusion there?
Can anybody explain how this process really works? Also, do other OSes do this differently?