Trin 1:Busopregning
1. Værtscontrollerdriveren opregner USB-bussen.
2. Værtscontrollerdriveren identificerer alle de USB-enheder, der er tilsluttet bussen.
3. Værtscontrollerdriveren opretter en enhedsbeskrivelse for hver USB-enhed.
4. Værtscontrollerdriveren tildeler en unik adresse til hver USB-enhed.
Trin 2:Enhedsopregning
1. Værtscontrollerdriveren indlæser enhedsdriveren for hver USB-enhed.
2. Enhedsdriveren initialiserer USB-enheden.
3. Enhedsdriveren opretter et enhedsobjekt til USB-enheden.
4. Enhedsobjektet føjes til enhedstræet.
Trin 3:Konfigurationsopregning
1. Værtscontrollerdriveren indlæser konfigurationsbeskrivelsen for hver USB-enhed.
2. Værtscontrollerdriveren vælger en konfiguration for hver USB-enhed.
3. Værtscontrollerdriveren tildeler et konfigurationsnummer til hver USB-enhed.
Trin 4:Grænsefladeopregning
1. Værtscontrollerdriveren indlæser grænsefladebeskrivelsen for hver USB-enhed.
2. Værtscontrollerdriveren vælger en grænseflade for hver USB-enhed.
3. Værtscontrollerdriveren tildeler et interfacenummer til hver USB-enhed.
Trin 5:Slutpunktsoptælling
1. Værtscontrollerdriveren indlæser slutpunktsbeskrivelsen for hver USB-enhed.
2. Værtscontrollerdriveren identificerer alle de endepunkter, der er knyttet til den valgte grænseflade.
3. Værtscontrollerdriveren opretter et slutpunktsobjekt for hvert slutpunkt.
4. Slutpunktsobjektet føjes til enhedsobjektet.
USB-optællingsprocessen er fuldført, når alle de USB-enheder, der er tilsluttet bussen, er blevet opregnet.