Welchen Endpunkt muss jedes USB-Gerät haben?
ein Endpunkt mit Adresse 0
Universal_Serial_Bus
Universal_Serial_Bus

==== Endpunkte ====
USB-Geräte verfügen über eine Anzahl von durchnummerierten Endpunkten ''(endpoints)'', gewissermaßen Unteradressen des Gerätes. Die Endpunkte sind in den Geräten hardwareseitig vorhanden und werden von der USB SIE (Serial Interface Engine) bedient. Über diese Endpunkte können voneinander unabhängige Datenströme laufen. Geräte mit mehreren getrennten Funktionen (Webcams, die Video und Audio übertragen) haben mehrere Endpunkte. Die Übertragungen von und zu den Endpunkten erfolgen meist unidirektional, für bidirektionale Übertragungen ist deshalb ein ''IN''- und ein ''OUT''-Endpunkt erforderlich (IN und OUT beziehen sich jeweils auf die Sicht des Hostcontrollers). Eine Ausnahme davon sind Endpunkte, die den ''Control Transfer Mode'' verwenden.
In jedem USB-Gerät muss ein Endpunkt mit Adresse 0 vorhanden sein, über den die Erkennung und Konfiguration des Gerätes läuft, darüber hinaus kann er auch noch weitere Funktionen übernehmen. Endpunkt 0 verwendet immer den Control Transfer Mode. Ein USB-Gerät darf maximal 31 Endpunkte haben: Den Control-Endpunkt (der zwei Endpunkte zusammenfasst) und je 15 In- und 15 Out-Endpunkte. Low-Speed-Geräte sind auf Endpunkt 0 plus maximal zwei weitere Endpunkte im Interrupt Transfer Mode mit maximal 8 Bytes pro Transfer beschränkt.
Universal_Serial_Bus Maus__Computer_ Hot_Swapping
Universal_Serial_Bus

=== Geräteklassen ===
Damit nicht für jedes Gerät ein eigener Treiber nötig ist, definiert der USB-Standard verschiedene Geräteklassen, die sich durch generische Treiber steuern lassen. Auf diese Weise sind USB-Tastaturen, -Mäuse, USB-Massenspeicher, Kommunikations- („“, kurz: CDC) und andere Geräte mit ihren grundlegenden Funktionen sofort verwendbar, ohne dass zuvor die Installation eines spezifischen Treibers notwendig ist. Herstellerspezifische Erweiterungen (die einen eigenen Treiber erfordern) sind möglich. Die Information, zu welchen Geräteklassen sich ein Gerät zählt, kann im ''Device-Deskriptor'' (wenn das Gerät nur einer Klasse angehört) oder in einem ''Interface-Deskriptor'' (bei Geräten, die zu mehreren Klassen gehören) untergebracht werden.
 Die Klasse wird auf Ebene der ''Interface-Deskriptoren'' definiert
 Lautsprecher, Mikrofon, Soundkarte, MIDI
 Kommunikation und CDC-Steuerung 
 Modem, Netzwerkkarte, Wi-Fi-Adapter
 Physikalisches Feedback, etwa für Force-Feedback-Joysticks
 Laserdrucker, Tintenstrahldrucker
 USB-Stick, Festplatten, Speicherkarten-Lesegeräte, MP3-Player
 diese Klasse wird zusammen mit Klasse 02h verwendet
 Bluetooth-Adapter, Microsoft RNDIS
 der Hersteller liefert einen Treiber mit Maus__Computer_

==== Maus am USB-Anschluss ====
An den USB-Bus angeschlossene Mäuse verwenden im Gegensatz zu PS/2-Mäusen kein proprietäres Protokoll mehr, sondern ein vom USB Interface Forum standardisiertes Busprotokoll. Die Daten werden seriell, differentiell auf den beiden Datenleitungen mit Sync-Signal, NRZI-Kodierung und Bit-Stuffing übertragen, daher ist eine separate Taktleitung wie bei PS/2-Mäusen nicht erforderlich.
Der USB-Gerätetreiber muss sicherstellen, dass häufig genug (siehe USB Software-Architektur) über einen USB-Treiber, den Treiber des USB-Hostcontrollers und den USB-Hostcontroller selbst der Status des USB-Slave-Clients, in diesem Falle: der Maus, abgefragt wird. Die Maus wird über eine vom USB-Hostcontroller nach Identifizierung vergebene sieben Bit lange Kennung als „Human Interface Device“(HID)-Gerät adressiert (siehe USB-Konfiguration) und als solches nach der Norm USB 1.0 bedient. Bei der Initialisierung informiert sie den Hostcontroller oder den dahinterliegenden USB-Treiber aus ihrem Pufferspeicher 0 über ihre Fähigkeiten und Eigenschaften (Anzahl: maximal vier, Richtung: in oder out, Abfragehäufigkeit, die „Sample Rate“, und Größe der Pufferspeicher der sogenannten Endpunkte: maximal 64 Byte, Geräteart, Hersteller, „Class Code“, Gerätekennung, Protokoll, benötigte Bandbreite und anderes). Dieser speichert die Informationen und reserviert die entsprechenden Zeitslots auf dem Bus. Dann fragt der Hostcontroller im Auftrag des Gerätetreibers, der die Abfragen beim USB-Hostcontroller-Treiber in die Queue einstellt, im Interrupt-Transfer-Modus alle 10 ms die zu übermittelnden Daten aus den Endpunkten ab, die Übertragung erfolgt mit höchstens acht Byte pro Transfer prüfsummengesichert (CRC16) von der Maus an den Computer. Der Endpunkt bildet also faktisch im Hostdevice (der Maus) einen gemeinsam von Hostcontroller (dem Computer) und Hostdevice (der Maus) einsehbaren Speicherbereich, der innerhalb eines garantierten Zeitabstandes regelmäßig vom Computer ausgelesen wird. Falls bei IBM-kompatiblen PCs das BIOS Legacy-Unterstützung bietet, können USB-Mäuse durch Emulation des 8042-Tastaturcontrollers über den USB-Hubcontroller wie PS/2-Mäuse benutzt werden. Seit Einführung des iMac ist USB der Standard-Eingabegeräteanschluss für Macintosh-Computer. Hot_Swapping

== Typische Steckereigenschaften ==
Steckkontakte müssen für das Hot Plugging voreilend ausgeführt sein, das heißt, dass die Kontakte in einer definierten Reihenfolge, typischerweise in drei oder mehr Stufen, verbunden und getrennt werden. Einfach ist eine Realisierung durch Kontakte in einem gemeinsamen Steckergehäuse, die in Verbindungsrichtung weiter nach vorne und weiter zurückversetzt sind. Zuallererst muss der Stecker eine mechanische Führung haben, damit die Schrittreihenfolge stabil eingehalten wird. Beim Einstecken zuerst und beim Entfernen zuletzt muss Massekontakt bestehen, um Massepotentialsunterschiede oder elektrostatische Aufladungen abzuleiten. Anschließend werden gegebenenfalls Pre-Charge-Kontakte geschlossen. Strombegrenzer in diesen Leitungswegen schützen die Kontakte selbst wie auch die Spannungsversorgung des Systems vor Stoßbelastungen beispielsweise durch die Aufladung leerer Entkoppelungskondensatoren. Dieser Schritt benötigt Zeit. Schließlich werden die Betriebsstromkontakte und Signalleitungen verbunden. Jetzt kann das Gerät die interne Stromversorgung anfahren und mit dem Betrieb beginnen. Auch wenn ein Pre-Charge-Schritt im Stecker vorgesehen ist, sollte der Anwender Hot-Plug-Stecker bewusst möglichst geradlinig und langsam aus- und vor allem einstecken.
Bei USB-Steckern sind beide Spannungskontakte ungefähr 2 mm länger als die Datenkontakte, damit ein USB-Gerät (z. B. USB-Massenspeicher) vor seiner eigentlichen Verwendung schon eingeschaltet werden kann und somit Schäden an den Übertragungskomponenten vorgebeugt wird.