Folge uns

Folge uns auf Facebook Folge uns auf Twitter Folge uns auf Google Abonniere unseren RSS-Feed Abonniere unseren Newsletter

Das Buch zu dieser Webseite

Computertechnik-Fibel

Die Computertechnik-Fibel, das Computer-Buch

Käufer der Computertechnik-Fibel Kundenmeinung:
Die Computertechnik-Fibel ist wirklich verständlich geschrieben, frei von Ballast und ein tolles Nachschlagewerk. Insgesamt ein sehr empfehlenswertes Buch.

Computertechnik-Fibel
jetzt bestellen!

 

Die Computertechnik-Fibel ist im iBookstore erhältlich

Die Computertechnik-Fibel für Amazon Kindle erhältlich

Die Computertechnik-Fibel bei Google Play erhältlich

Computertechnik-Fibel als PDF-Datei ohne DRM

Das Buch zu dieser Webseite

Netzwerktechnik-Fibel

Die Netzwerktechnik-Fibel

Käufer der Netzwerktechnik-Fibel Kundenmeinung:
Die Netzwerktechnik-Fibel ist sehr informativ und verständlich. Genau das habe ich schon seit langem gesucht.

Netzwerktechnik-Fibel
jetzt bestellen!

 

Die Netzwerktechnik-Fibel ist im iBookstore erhältlich

Die Netzwerktechnik-Fibel für Amazon Kindle erhältlich

Die Netzwerktechnik-Fibel bei Google Play erhältlich

Netzwerktechnik-Fibel als PDF-Datei ohne DRM

USB - Universal Serial Bus

USB-Logo
Der USB ist eine universelle, externe Schnittstelle für alle Peripheriegeräte, die an einem Computer angeschlossen werden. Egal ob Tastatur, Maus, Modem, Drucker, Mikrofon, Lautsprecher, Kamera oder Scanner. Mit dem USB sind die Anwender unabhängig von der Anzahl der verfügbaren Schnittstellen und Steckplätze für Erweiterungskarten. Der USB lässt sich durch Steckkarten oder USB-Hubs fast beliebig erweitern.
Die Identifikation der Geräte wird vom USB-Hostadapter im Computer durchgeführt, der auch das Laden der Treiber und die Grundkonfiguration vornimmt. Zusätzlich verbessert sich durch Hot-Plugging, das Hinzufügen und Entfernen von Peripherie-Geräten im laufenden Betrieb, die Bedienerfreundlichkeit.

Der USB erfüllt folgende Anforderungen:

Zusätzlich weisen alle USB-Spezifikationen folgende Eigenschaften auf:

Übersicht: USB - Universal Serial Bus

USB-Version USB 1.0/1.1 USB 2.0 USB 3.0 USB 3.1
Low-Speed Full-Speed High-Speed Super-Speed Super-Speed-Plus
Symbolrate 1,875 MBi/ts 15 MBit/s 600 MBit/s 5 GBit/s 10 GBit/s
Datenrate (brutto) 1,5 MBit/s 12 MBit/s 480 MBit/s 4 GBit/s -
Datenrate (theoretisch) 188 kByte/s 1,5 MByte/s 60 MByte/s 600 MByte/s 1.200 MByte/s
Datenrate (netto) ca. 150 kByte/s ca. 1 MByte/s ca. 35 MByte/s ca. 450 MByte/s ca 800 MByte/s
Interface UHCI/OHCI UHCI/OHCI EHCI xHCI -
Leitungslänge 5 m 5m 5m 3 m 1 m
Anwendungen Maus, Tastatur Audio Video, Speichermedien

Kabel- und Stecker-Verwirrung bei USB-C-Stecker, USB 3.1 und Power Delivery

Wer ein USB-Kabel mit dem C-Stecker sieht, der denkt unweigerlich an USB 3.1 mit einer Übertragungsrate von 10 GBit/s und der Möglichkeit andere elektronische Geräte an einem USB-C-Port schnell aufzuladen (Power Delivery).

Alle diese Techniken haben für sich genommen nichts miteinander zu tun. Ein USB-C-Stecker bedeutet nicht, dass darüber 10 GBit/s oder USB Power Delivery funktioniert. Selbstverständlich kann USB 3.1 mit 10 GBit/s auch auf speziellen Kabeln mit dem herkömmlichen USB-A-Stecker funktionieren. Und, ein USB-3.1-Gerät muss nicht schneller sein, als ein Gerät, dass mit USB 3.0 gekennzeichnet ist.

Der C-Stecker wurde unabhängig von USB 3.1 eingeführt, um den USB-Stecker und -Kabel-Wildwuchs einzudämmen. Grundsätzlich soll der USB-C-Stecker alle anderen USB-Stecker für alle USB-Kabel ablösen. Das heißt, auch für USB 1.1, 2.0 und 3.0. Gleichzeitig soll auf beiden Seiten des USB-Kabels der selbe Stecker und auch für mobile Geräte geeignet sein.

Der Steckertyp sagt also nichts darüber aus, wie schnell ein Gerät ist oder welche Geschwindigkeit das Kabel ermöglicht. Die meisten USB-C-Kabel dürften gerade mal für USB 3.0 mit 5 GBit/s ausreichen. Bei USB 3.1 mit 10 GBit/s darf das Kabel gerade mal 1 Meter lang sein.
Ein USB-Gerät mit einer C-Steckverbindung kann unter Umständen nur USB 1.1 erreichen. Umgekehrt kann es sein, dass eine herkömmliche A-B-Steckverbindung 10 GBit/s erreicht.
Gerade bei Adaptern für den C-Stecker ist Vorsicht geboten. So degradiert allein ein Typ-C-auf-Micro-USB-Adapter ein C-Kabel auf ein USB-2.0-Kabel mit nur 480 MBit/s.

Auch bei Ladekabeln ist Verwirrung angesagt. Nur weil ein Kabel einen USB-C-Stecker oder ein Gerät eine USB-C-Buchse hat, heißt das nicht, dass Kabel und Gerät auch Power-Delivery-fähig sind.
Die USB-PD-Spezifikation verlangt "Electronically Marked Cables". In den Steckern sitzt ein kleiner Chip, der ein digitales Datenblatt enthält. Angeschlossene Geräte können damit auslesen, welche Spannungen und Ströme das Kabel maximal verträgt. Doch von außen sieht man einem solchen Kabel nicht an, für welche Leistung es ausgelegt ist. Irgendein USB-C-Kabel eignet sich also nur bedingt für das Laden per USB Power Delivery.

Warum also der Hype um USB-C, USB 3.1 und USB-PD? Nun, im Optimalfall greifen alle drei Standards ineinander. Der C-Stecker bringt mehrere Eigenschaften mit. Dazu hören mehr Pins für eine schnellere Datenübertragung, elektrische Stabilität für die Stromversorgung bis 100 Watt und eine mechanisch symmetrische Steckverbindung (Verdrehsicherheit).

Stromversorgung über den USB

Über die Kabelverbindungen versorgt der USB einfache Geräte, wie Maus und Tastatur, aber auch größere Geräte, wie Scanner, mit Strom. Unabhängig vom Stecker muss ein USB-Host oder -Hub die angeschlossenen Geräte mit mindestens 100 mA versorgen. Bis zu 500 mA (2,5 Watt) kann er dem Gerät auf Anforderung liefern.
Mit USB Power Delivery (USB-PD) kann ein Gerät sogar bis 100 W Leistung eine Stromversorgung bereitstellen. Zum Beispiel zum Laden eines Notebooks.

Probleme mit dem USB

Die meisten Probleme mit dem USB sind auf schlechte und zu lange Kabel zurückzuführen. Das bezieht sich auch auf die mitgelieferten USB-Kabel. Die teilweise sehr billigen Kabel mit Steckverbindern im Cent-Bereich sind für die hohen Geschwindigkeient im hohen MBit- und GBit-Bereich nicht gemacht. Anfangs waren Kabellängen von 5 Metern erlaubt. Heute gelten 3 Meter bereits als kritisch. Und bei USB 3.1 ist nicht mehr als 1 Meter drin. Außerdem ist jede Steckverbindung eine Fehlerquelle. Verlängerungskabel sind seit USB 3.0 tabu und auf USB-Hubs sollte man möglichst verzichten.
Außerdem ist der USB mit der Zeit recht komplex geworden. Mehrere Geschwindigkeitsstufen und Stromsparmodi, sowie die Abwärtskompatibilität bringen einiges an Entwicklungsaufwand mit. Dadurch sind viele Hersteller gezwungen, die USB-Spezifikationen frei zu interpretieren. Man sucht dann eher einfache statt stabile Lösungen.
Generell gilt, je weniger Steckverbindungen und je kürzer die Kabel, desto weniger Probleme. Verlängerungskabel und USB-Hub-Kaskaden sollte man grundsätzlich vermeiden.

Installation von USB-Geräten

Die Installation eines USB-Geräts ist vergleichsweise einfach. Die Installation ist ohne technisches Wissen und im laufenden Betrieb möglich. Bei den meisten Geräten reicht es aus, den Stecker einzustecken. Danach installiert das Betriebssystem die Treiber selbst. Nach einer kurzen Installationsphase ist das Gerät betriebsbereit. Manche USB-Geräte verfügen über einen internen Speicher in dem der Treiber gespeichert ist. Er wird automatisch beim erstmaligen Einstecken installiert. Bei den meisten USB-Geräten ist es jedoch so, dass nach dem Einstecken nach einer Treiber-CD gefragt wird. Der Treiber muss dann von CD installiert werden. Alternativ lässt sich auch der aktuelle Treiber von der Webseite des Herstellers herunterladen und installieren.
Bei manchen Geräten ist etwas mehr Aufwand nötig. Der Treiber muss zuerst von einer CD-ROM installiert werden, um nach einen Systemneustart das Gerät einstecken und in Betrieb nehmen zu können. Doch auch das erweist sich als einfach, da man in der Regel nur die CD oder DVD einlegen muss und danach der Treiber fast automatisch installiert wird. Alle weiteren Handgriffe seitens des Anwenders werden während des Installationsvorgangs erklärt, manchmal sogar in einer beiliegenden Kurzanleitung erläutert.

Warum wurde der USB eingeführt/entwickelt?

Der Kauf von externen Geräten scheiterte vor der Zeit von USB häufig daran, dass ein PC nicht genug freie externe Schnittstellen hatte. Und der Einbau von Erweiterungskarten war wegen begrenzter Ressourcen (Speicher, Adressen, ...) nicht immer möglich. Hinzu kam, dass die unterschiedlichen Geräte unterschiedliche Stecker und Schnittstellen hatten. Fast jeder Gerätetyp hatte seine eigene Schnittstelle. Zwar konnte ein Gerät leichter einem festen Steckplatz zugeordnet werden, doch das war etwas für Experten und nicht für unbedarfte Anwender.

Eine typische Verteilung der Schnittstellen auf Peripherie-Geräte:

Warum der USB die serielle und parallele Schnittstelle nicht ersetzen kann!

Der USB sollte ursprünglich alle anderen externen Schnittstellen ersetzen. Ausgenommen die Schnittstelle für den Bildschirm und fürs Netzwerk. Doch trotz ihrer langsamen Übertragungsgeschwindigkeit hielten sich die parallele und auch die serielle Schnittstelle sehr lange. Der Grund, sie lassen sich einfacher programmieren als der USB.
Die serielle Schnittstelle lässt sich sehr einfach ansteuern. Jede Programmiersprache hat die dafür notwendigen Befehle und Bibliotheken integriert. So muss man nur den gewünschten Port öffnen (COM1, COM2, ...) und die Daten in den Port schreiben oder daraus lesen. Die gesamte Steuerung des Datenflusses übernimmt der Treiber des Betriebssystems.
Inzwischen gibt es keinen Grund mehr auf die alten Schnittstellen zurückzugreifen. Über programmierbare Schnittstellen (API) lassen sich alle elektronischen Geräte mit einem USB-Port ausstatten.
Trotzdem sind USB-Stecker im industriellen Umfeld weniger gern gesehen. Die Standard-USB-Stecker sind nicht industrietauglich. Sie lassen sich nicht gegen Herausziehen sichern. Außerdem sind sie nicht vibrationsfest. Die Auswahl industriekompatibler USB-Stecker ist gering und teuer. Der Stecker der seriellen und parallelen Schnittstelle lässt sich dagegen festschrauben. Wenn nötig kann man sich so einen Stecker auch selber an ein Kabel löten und so zum Beispiel ein paar Meter mehr überbrücken, als es mit dem USB-Kabel möglich ist.

Ein weiterer Nachteil des USB ist das fehlende Übertragungsprotokoll auf der Anwendungsebene. Das hat den Effekt, dass für die USB-Geräte immer Treiber entwickelt werden "müssen". Der einfache Wechsel von einer alten Schnittstelle zum USB ist nicht möglich, weil dazu ein neues Protokoll notwendig wäre. Für bestimmte USB-Geräte, wie zum Beispiel Maus, Tastatur und Massenspeicher haben sich Standard-Treiber vom Betriebssystem durchgesetzt. Für viele andere Anwendungen, die die serielle Schnittstelle unterstützen, wird ein VCP-Treiber (Virtual COM Port) installiert, der im Betriebssystem eine serielle Schnittstelle emuliert. Der Zugriff auf Anwendungsebene erfolgt dann wie auf eine physikalisch vorhandene serielle Schnittstelle. Das hat den Vorteil, dass für bestehende Anwendungen, die eine serielle Schnittstelle unterstützen kein neuer Treiber entwickelt werden muss.

Topologie und Verkabelung

Topologie des USB
Obwohl der USB von der Namensgebung her ein Bus sein müsste, handelt es sich eher um eine mehrstufige Sterntopologie. Der Mittelpunkt des Sterns wird jeweils von einem Hub gebildet. Der Ausgangspunkt des USB ist der Host-Controller (Root Hub) auf dem Motherboard des Computers. Der Host-Controller steuert den gesamten Datenverkehr des USB. Am Host-Controller können bis zu 127 Geräte angeschlossen werden. Das können einzelne Geräte (Node) oder Hubs sein, an denen wiederum Geräte (Node) hängen.
Neben der Stromverteilung sorgen die Hubs auch dafür, dass immer nur ein USB-Gerät seine Daten zum Host-Controller schickt. Die Hubs können beliebig kaskadiert werden, wodurch ein pyramidenförmiger Aufbau entsteht. Wobei jedes Leitungssegment eine Punkt-zu-Punkt-Verbindung ist.
Ursprünglich ist eine direkte Kommunikation zwischen den USB-Geräten nicht vorgesehen. Eine Ergänzung (durch USB 2.0) ist USB-on-the-Go (OTG). Innerhalb eines USB-Baums, der an einem PC hängt, kann ein Gerät ein anderes Gerät dadurch ansprechen.

Standard-Treiber für USB-Geräte

Für viele USB-Geräte gibt es Standard-Treiber in den Betriebssystemen. Dazu zählen Tastaturen, Mäuse, Digitalkameras, Scanner und Massenspeicher. Im Prinzip kann man jede Tastatur, Maus oder USB-Stick an jedem Computer ohne Probleme in Betrieb nehmen.
Die Treiber in Windows bestehen aus einer oder mehreren *.sys-Dateien (der eigentliche Treiber) sowie einer oder mehreren Windows-DLL-Dateien. Die DLL-Dateien enthalten die Softwareschnittstelle zum Treiber. Jedes Windows-Programm kann die DLL-Funktionen benutzen, um mit dem Geräte-Treiber zu kommunizieren.

HID-Treiber

Der HID-Treiber (human interface device, hid.dll) gehört zu Windows. Er ist für den Anschluss einfacher Geräte wie Tastatur oder Maus gedacht. Die Bezeichnung HID (human interface device) leitet sich aus der Anwendung für Bediengeräte für Menschen ab. Tastaturen und Mäuse, die sich an den HID-Standard halten, werden von den HID-Treibern von Windows unterstützt, so dass diese Geräte keine eigenen Treiber benötigen. Um den HID-Treiber nutzen zu können, muss sich das USB-Gerät als HID-Gerät in Windows anmelden.

CDC-Treiber

Der CDC-Treiber (communication device class, usbser.sys, MsPorts.dll) von Windows ermöglicht die RS232-Emulation über den USB. Beim Anschluss eines entsprechenden USB-Geräts wird in Windows ein virtueller COM-Port eingerichtet. Jedes Programm kann darauf zugreifen, wie wenn es eine echte RS232-Schnittstelle wäre. Die erreichbare Transfergeschwindigkeit beträgt bis zu 1 MBit/s (125 kByte/s) und ist deutlich schneller als bei der echten RS232-Hardware mit nur 115.200 Bit/s.

Storage-Treiber

Für USB 2.0 gibt es das USB-Mass-Storage-Protocol, welches bei der Kommunikation mit USB-Massenspeicher, also externe Festplatten und USB-Sticks, zum Einsatz kommt. Die entsprechenden Treiber bringen alle Betriebssysteme mit (bei Windows usbstor.sys). Deshalb werden in der Regel alle USB-Speichersticks und USB-Festplatten ohne Probleme erkannt.
USB 3.0 bringt das USB Attached SCSI Protocol (UASP) mit, welches das USB-Mass-Storage-Protocol ablösen soll. Es bringt unter anderem die Unterstützung für NCQ (Native Command Queuing) mit. Das hat auch Vorteile für alte USB-2.0-Massenspeicher. Sie sind an einem USB-3.0-Port um bis zu 15% schneller.

Grundlagen der Übertragungstechnik (Low-Speed und High-Speed)

Neben den beiden Leitungen für die Stromversorgung (+5V und GND) gibt es zwei Datenleitungen. Die Datenübertragung erfolgt symmetrisch über zwei verdrillte Leitungen. Die eine Leitung überträgt das Datensignal, die andere das invertierte Datensignal. Man spricht von einer differenziellen Übertragung. Dabei ist der Spannungsunterschied bei der Signalspannung doppelt so groß, als wenn das Datensignal gegen Masse übertragen werden würde. Beim Empfänger wird die Differenz zwischen beiden Signalen gebildet, wobei Signalstörungen ausgeblendet werden. Das erhöht die Übertragungssicherheit, unterdrückt Gleichtaktstörungen und verbessert die elektromagnetische Verträglichkeit.

Um langsame Geräte wie Tastatur, Maus und auch schnelle Geräte wie Modems oder Videokameras über ein und den selben Bus zu führen, wurde die Übertragung in Kanäle unterteilt.
Es gibt einen Low-Speed-Kanal bis 1,5 MBit/s (Maus, Tastatur) und einen Medium-Speed-Kanal mit 12 MBit/s (ISDN, Audio) die über dieselbe Schnittstelle geführt werden. Ein High-Speed-Kanal mit 480 MBit/s (Video, Speichermedien) ist auch vorgesehen (USB 2.0).

Neben der Geschwindigkeitskategorie gibt es auch unterschiedliche Prioritäten bei der Übertragung. Die höchste Priorität haben Geräte, die Daten in Echtzeit liefern und bei denen der Datenfluss nicht unterbrochen werden darf. Die mittlere Priorität ist für Interrupt-Übertragungen, wenn z. B. ein Gerät die Aufmerksamkeit des Prozessors erhalten will. Die niedrigste Priorität haben Massentransfer-Geräte. Die Übertragung dieser Daten ist meist nicht besonders dringend.

Mögliche USB-Geräte

Stecker und Kabel

Besonders verwirrend ist die Steckerverbindungsvielfalt von USB. Neben den normalen A- und B-Stecker gibt es verschiedene Varianten für mobile Endgeräte und USB 3.0. Damit soll der C-Stecker aufräumen und alle anderen Steckertypen ablösen.

Wie sicher ist USB?

Prinzipiell ist jedes mit einem Speicher ausgestattete USB-Gerät ein potentielles Einfallstor für Schadsoftware, wie Viren, Würmer und Trojaner.
Ursprünglich konnte ein USB-Massenspeicher über die AutoRun-Funktion von Windows XP ein beliebiges Programm starten. Diese Funktion wurde unter anderem dafür verwendet, um für ein USB-Gerät Treiber auf dem Computer installieren zu können, ohne dass ein Nutzereingriff notwendig war. Gleichzeitig konnte aber auch ein "böser" USB-Stick auf diese Weise unbemerkt Schadsoftware installieren.
Um diese Sicherheitslücke zu schließen, wurden unter Windows Vista die AutoRun-Programme erst nach einer Nachfrage gestartet, was aber kaum mehr Sicherheit brachte, weil der Nutzer das in der Regel einfach unbedacht weggeklickt hat. Bei einem mit Schadsoftware versehenen USB-Stick hat dann der Anwender das Ausführen der Schadsoftware veranlasst. In Windows 7 hat deshalb die AutoRun-Funktion nur noch bei optischen Laufwerken funktioniert. Doch ein entsprechend manipulierter USB-Stick ist in der Lage, sich als CD- oder DVD-Laufwerk auszugeben.

Eine weitere Gefahr geht von USB-Sticks aus, die sich beim Anschluss an den Rechner als Tastatur ausgeben, konfigurierte Aktionen ausführen und den Rechner auch übernehmen können. Es handelt sich dabei um das sogenannte BadUSB-Szenario. Böse ist das deshalb, weil ein "harmloser" USB-Stick, der zu einer Tastatur wird, auf allen Systemen funktioniert. Zumindest bis zur nächsten Passwort-Abfrage.
Richtig böse ist es, wenn der Controller auf einem herkömmlichen USB-Stick manipuliert ist oder wird. Die Kommunikation zwischen PC und USB-Stick verwendet das alte SCSI-Protokoll, dass in die Host- und Controller-Chips eingebaut ist und um zusätzliche Hersteller-spezifische Funktionen und Befehle erweitert ist. Beispielsweise um die Firmware eines solchen USB-Sticks auszulesen oder eine neue Firmware reinzuschreiben. Das Problem ist, dass eine Absicherung dieser Kommunikation praktisch nicht stattfindet.
Da in der Praxis die Controller von nur drei Herstellern verbreitet sind, am meisten die von Phison, wäre es denkbar, dass ein Angreifer die speziellen Kommunikationsbefehle durch Ausprobieren ermittelt und für die Firmware-Manipulation nutzt, um zum Beispiel mit Schadcode zu versehen, der sich bei jedem Einstecken in einen anderen PC dort einnistet. Bei jedem neuen USB-Stick würde der Schadcode auch diesen USB-Stick infizieren. Ein USB-Virus wäre geboren.
Fairerweise muss man sagen, dass solch ein Szenario nur eingeschränkt funktioniert und sich höchstens für gezielte Angriffe, beispielsweise Spionage, eignet.

Um sich wirksam zu schützen, dürfen im Grunde keine USB-Geräte an einem PC angeschlossen werden. Auch keine USB-Tastaturen und -Mäuse. Als Alternative blieben nur noch PS/2-Tastaturen übrig und eine technologische Rückkehr zur seriellen und parallelen Schnittstelle. Gleichzeitig müssten USB-Ports mechanisch außer Betrieb gesetzt werden. Beispielsweise durch Verkleben der USB-Ports mit Heißkleber.

Übersicht: Externe Schnittstellen, die durch den USB ersetzt werden

Übersicht: USB - Universal Serial Bus

Weitere verwandte Themen:

Die Computertechnik-Fibel, das Computer-Buch

Die Computertechnik-Fibel ist im iBookstore erhältlich Die Computertechnik-Fibel für Amazon Kindle erhältlich