USB

From Dietrich Blog (Strato)
Revision as of 11:47, 17 June 2007 by Dkracht (talk | contribs) (New page: = USB Universal Serial Bus = == Anwendung == Dient zum Anschluss von peripheren Geräten an einen PC. Ich benutze USB z.B. für: * Tastatur * Maus (Funkmaus) * PDA * Drucker/S...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

USB Universal Serial Bus

Anwendung

Dient zum Anschluss von peripheren Geräten an einen PC. Ich benutze USB z.B. für:

Historie

USB ist eine Entwicklung von Intel, die die Wurzel in älterer Apple-Technologie hat.

  • 1996: USB 1.0 (Geschwindigkeit 12 Mbit/sec)
  • 1998: USB 1.1 (Geschwindigkeit 12 Mbit/sec)
  • 2000: USB 2.0 (Geschwindigkeiten: Low= 1.5 Mbit/sec, Full= 12 Mbit/sec, High= 480 Mbit/sec)

Architektur

  • Der Host-Controller im PC kommuniziert mit bis zu 127 "Clients" (d.h. Geräte s.o.).
  • Kommunikationsrichtung vom Client zum Host heißt "upstream"
  • Kommunikationsrichtung vom Host zum Client heißt "downstream"
  • Es gibt USB-Hubs zum Anschluss mehrerer Geräte an einen USB-Host.
  • Jeder USB-Anschluss liefert einen Strom von 500mA zur Speisung des Client-Geräts.

USB-Device-Server

Das sind Geräte (z.B. Druckerserver), mit denen man ein (oder mehrer) USB-Geräte ins Netzwerk hängen kann.

  • Firma Keyspan
  • Firma Silex: SX1000U, SX2000U2

Portable Applications U3

Portable Applications, sind Applikationen, die ohne eine Installation (Windows Registry), direkt von einem USB-Stick gestartet werden können. Damit können solche Applikationen auf von "fremden" Computern (z.B. wenn man unterwegs ist) gestartet werden.

Einerseits können viele "ältere" Windows-Anwendungen einfach auf einen USB-Sticck kopiert werden und laufen da, ohne dass sie "installiert" werden. Andererseits wurde für "kompliziertere" Anwendugen der U3-Standard [[1]] entwickelt, um sie von USB startbar zu machen.

U3-Anwendungen werden als Paket in eine Datei mit der Namensendung "u3p" gepackt und können dann auf U3-fähige Sticks installiert werden. Eine solche U3P-Datei ist eine ZIP-Datei, die drei Ordner enthält: Host, Data und Manifest. Im Ordner "Manifest" befindet sich eine XML-Datei imit dem Namen "manifest.u3i", welche eine strukturierte Beschreibung enthält.

Hestellen kann man solche U3P-Pakete mit Hilfsprogrammen wie z.B. "Packaging Factory for U3" [[2]].

Partitionieren eines USB-Sticks

Es ist sinnvoll, einen USB-Stick zu partitionieren, wenn man z.B. mehrere Systeme von ihm starten (booten) will.

Unter Windows wird dann zunächst aber nur die erste Partition auf dem Stick sichtbar. Man muss aus dem Stick, der standardmäßig als "Wechseldatenträger" (Removable Disk) erkannt wird, erst mit einem Trick einen "Lokaler Datenträger" machen (s.u.).

Partitionieren unter LINUX

Am einfachsten geht das mit dem Linux-Programm GParted. Dieses kann ich z.B. von einer LiveCD starten oder auch von dem auf der Festplatte vorhandenen SuSE 10.1. GParted erkennt die auf meinem Computer installierten Festplatten:

  • Erste IDE-Platte: /dev/hda
  • Erste SATA-Platte: /dev/sda
  • Zweite SATA-Platte: /dev/sdb
  • Eingesteckter USB-Stick: /dev/sdc

Ich lege auf meinem 4 GiB großen Stick drei Partitionen mit Hilfe von GParted an:

  • Erste Partition /dev/sdc1 Größe 1 GiB, Dateisystem FAT32
  • Zweite Partition /dev/sdc2 Größe 2 GiB, Dateisystem FAT32
  • Dritte Partition /dev/sdc3 Größe 1 GiB, Dateisystem FAT32

Partitionieren unter WindowsXP

Unter WindowsXP startet man die Datenträgerverwaltung wie folgt:

  • Systemsteuerung
  • Verwaltung
  • Computerverwaltung
  • Datenträgerverwaltung: Dort erscheint auch mein eingesteckter USB-Stick

Nun können wir den Stick partitionieren und z.B. drei Partitionen anlegen (s.o.).

Screenshot: Datenträgerverwaltung mit USB-Stick als "Datenträger 2":
http:/images/WindowsUSBStickDatentraegerverwaltung.png

Im Windows-Explorer wird dann zunächst aber nur die erste Partition auf dem Stick als Laufwerk sichtbar. Wenn man im Explorer mit der rechten Maustaste auf das Laufwerk klickt und "Eigenschaften" (Properties) wählt, sieht man, dass der USB-Stick als "Wechseldatenträger" (Removable Disk) erkannt wird, erst mit einem Trick können wir daraus einen "Lokaler Datenträger" machen (s.u.).

USB-Partition unter WindowsXP sichtbar machen

Der normale Treiber für USB-Sticks von Microsoft macht diese als "Wechseldatenträger" verfügbar und unterstützt nur eine Partition. Als kleinen Trick verwenden wir nun den Hitachi-Treiber für sog. Micro Drives auch für den USB-Stick (Quelle: com! 6/2007, Seite 34).

Diesen Treiber gibt es z.B. unter [[3]]. Dort holt mach sich die Datei XPfildrvr1224.zip. Weitere Infos: [[4]]

In der inf-Datei muss noch der zur automatischen Erkennung benutzte Name ausgetauscht werden. Wir finden den Namen unseres USB-Sticks im Registry unter "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR". Den dort gefundenen Namne tragen wir in die inf-Datei im Abschnitt [cfadisk_device] ein. Siehe Screen-Shots....


Screenshot: Name des USB-Stick in der Registry:
http:/images/WindowsUSBStickRegistry.png
Screenshot: Namen in die Treiber-Datei eintragen:
http:/images/WindowsUSBStickTreiber.png

Als letztes geht man in den Gerätemanager und drückt auf "Treiber aktualisieren"....

Booten vom USB-Stick

Damit man von einem Gerät booten kann, muss dort ein Boot-Loader installiert sein und ein System, das der Boot-Loader dann starten soll.

Wenn ein Computer über mehrere boot-fähige Geräte verfügt (z.B. Floppy, Festplatte, CD-ROM), muss man einstellen (BIOS) oder auswählen (Boot-Menü), welches Boot-Device verwendet werden soll.

  • Beim Hochfahren des Computers wähle ich aus dem Boot-Menü den USB-Stick als Boot-Device USB RMD-FDD.
  • Das geht bei ComputerBraunbaer mit F11.
  • Damit versucht der Computer vom USB-Gerät (MBR Master Boot Record) oder von der ersten Partition (Partition Boot Record) zu booten.


Screenshot: F11 drücken, um das Boot Menu zu aktivieren:
http:/images/BootMenu_Braunbaer1.jpg
Screenshot: Das Boot Menu auf ComputerBraunbaer:
http:/images/BootMenu_Braunbaer2.jpg
Screenshot: Das Boot Menu auf Computer T41:
http:/images/BootMenuT41.jpg

Boot Record mit Linux syslinux

Nach dem Kopieren aller Dateien von der LiveCD GParted auf den USB-Stick, funktioniert der Start (Boot) vom Stick zunächst nicht (Fehlermeldung: nicht bootable).

Das Problem konnte durch Installation von syslinux gelöst werden:

  • umount /media/usbdisk (Mount-Point meines USB-Sticks)
  • syslinux /dev/sdc1 (Erste Partition meines USB-Sticks)

Nun kann von der ersten Partition des Sticks die LiveCD gebootet werden.

Boot Record MS-DOS mit HP-Utility

Als Test, ob ein Computer überhaupt vom USB-Stick booten kann, kann man es mal mit einem schlichten MS-DOS versuchen:

  1. Formatieren einer Diskette: MS-DOS-Start-Diskette erstellen
  2. Daten vom USB-Stick sichern
  3. HP-Utility SP27213.exe downloaden [[5]]
  4. HP-Utility starten (USB-Stick und MS-DOS-Diskette muss vor dem Start drin sein)
  5. Restart des Computers mit "Boot Menue" (bei mir: F11)
  6. Wenn es funktioniert hat man jetzt ein MS-DOS mit einem Laufwerk, dem USB-Stick.

Siehe auch: WindowsBootLoader.

Wenn das Booten vom USB-Stick funktioniert, folgt die "große" Installation; d.h. mehrere Partitionen anlegen (s.o.) und diese mit einem Boot-Manager ansteuern.

Boot-Manager GRUB for DOS

Quelle: [[6]]

Grub als Bootmanager funktioniert auf ComputerBraunbaer nicht, es wird immer die erste Partition hochgefahren, als ob Grub garnicht da sei. Mögliche Erklärung: Der USB-Stick wird "nur" als FDD erkannt.

Auf Computer T41 funktioniert Grub besser. Das Grub-Auswahlmenü erscheint und due Boot-Partition kann ausgewählt werden. Allerdings starten die Partitionen erst nachdem sie noch einmal mit dem Windows-Syslinux bearbeitet wurden (syslunix -sf X:). Allerdings werden dann die Kernels/Images nur auf Partition 1 gefunden und nicht auf 2 und 3.

Als Beispiel für das Multi-Boot diente die LiveCD von GParted, die in alle drei Partitionen installiert wurde.

Beim Befüllen der USB-Partitionen wurden Dateien wie folgt von einer echten LiveCD kopiert:

  • Die Dateien: gparted.dat, gparted, gparted.igz aus dem Ordner \boot der CDROM
  • Alle Dateien aus dem Ordner \syslinux

Auf dem USB-Stick gehören alle diese Dateien in den Root-Ordner der Partition.


-- Main.DietrichKracht - 01 Sep 2006