USB-Laufwerke zum Speichern großer Datenmengen haben den grossen Vorteil, dass mit Hilfe von Plug & Play die Geräte problemlos vom Rechner ab- und wieder angesteckt werden können. So lassen sich mehr oder weniger große Datenmengen von einem PC zum nächsten transportieren. Bisher war dies nur mit Hilfe der Druckerschnittstelle gefahrlos möglich unter Linux mit der Einschränkung, dass dieser Port immer nur von einem Treiber zu einer Zeit genutzt werden kann. Außerdem ist die Übertragung per Centronics-Kabel deutlich langsamer als mit USB.
Allerdings sieht es unter Linux mit USB-Massenspeichern noch lange nicht so gut aus wie bei unserem letzten Test mit den Eingabegeräten das ganze USB-Storage Sub-System ist noch als experimentell gekennzeichnet. Dies spiegelt sich auch in den Erfahrungen des Testers wieder: Während der Versuche sind die Testrechner gelegentlich abgestürzt, so dass oft nur noch ein kompletter Neustart half (der aber dank ReiserFS immer recht schnell über die Bühne ging). Es erwies sich übrigens als kluger Entschluss, die USB-CD-Brenner mit einem RW-Medium zu testen, ansonsten hätte die gesamte Redaktion jetzt vermutlich neue Kaffeetassenuntersetzer. Allerdings ändert sich die Qualität des Treibers stetig (meist zum Besseren). Wer also die hier vorgestellten USB-Massenspeicher nutzen möchte, dem sei der neueste Entwickler-Kernel angeraten am besten noch mit den aktuellen Pre-Patches. Der produktive Einsatz ist bei fast allen Geräten nicht empfehlenswert, zumindest bis der Kernel 2.4 um ein paar Patchlevels gealtert ist.
Zum Zeitpunkt des Tests war gerade Linux-2.4.0-test10-pre6 aktuell. Dieser Kernel schien auch der stabilste zu sein, wobei aber auch hier Systemabstürze bei bestimmten Geräten keine Seltenheit waren. Bei der Version 2.4.0-test9 funktionierte übrigens so gut wie kein Gerät. Für die Anwender des USB-Backport-Patches für Kernel 2.2 haben wir eine kleine Tabelle zusammengestellt, in der ersichtlich ist, welches Gerät mit dem alten Kernel funktionieren (sollte).
Die USB-Storage-Architektur im Linux-Kernel
Alle Laufwerke in diesem Test benötigen das Kernelmodul usb-storage.o, welches einen SCSI-Hostadapter emuliert. Das heißt, dem Benutzer präsentieren sich die angeschlossenen USB-Massenspeicher als SCSI-Geräte. Dementsprechend sind die CD-Laufwerke über /dev/scd[0-9] und die Festplatten/Disketten als /dev/sd[a-z] ansprechbar. Alle Festplatten und Wechsellaufwerke haben meist einen Partitions-Sektor. Für den Betrieb unter Linux wäre dies zwar nicht unbedingt nötig, es ermöglicht jedoch den Datenaustausch mit fremden Betriebssystemen (falls dort das verwendete Dateisystem erkannt wird). Bei den vorformatierten Medien war meist die letzte von vier physikalischen Partitionen mit VFAT behandelt. Damit sollten übrigens alle Rechner und Betriebssysteme zurechtkommen. Damit usb-storage geladen werden kann, muss das SCSI-Subsystem im Kernel sein: entweder fest einkompiliert oder als ladbares Modul scsi_mod.o. Für CD-ROM-Laufwerke ist außerdem das Modul sr_mod.o Voraussetzung; CD-Brenner benötigen sg.o, und Festplatten (wozu auch alle Disketten- und Wechselmedien-Laufwerke zählen) sind auf sd_mod.o angewiesen.
Freecom Traveller
Wie bereits der Name andeutet, ist dieser CD-Brenner insbesondere für den mobilen Einsatz angedacht und lässt sich deshalb auch mit Batterien betreiben. In dem schönen blauen Gehäuse versteckt sich ein 4x/4x/20x CD-RW mit proprietärem Sub-D-Anschluss. Es gibt Adapter für Firewire, PCMCIA, Parallel-Port und USB, wobei sich unser Augenmerk auf letztere Variante richtete. Leider befindet sich der Treiber für dieses Gerät noch in einer frühen Entwicklungstufe, so dass er nicht einmal beim neuesten Developer-Kernel mit eingeschaltener "prompt for development and/or incomplete code/drivers"-Option zur Verfügung steht, sondern man muss nach dem Konfigurieren des Kernels die .config-Datei editieren und nach CONFIG_USB_STORAGE=m noch ein CONFIG_USB_STORAGE_FREECOM=y einfügen. Danach wird das Laufwerk als "CDR/RW RW8040A" erkannt. Der Treiber erwies sich jedoch, wie es zu erwarten war, als äußerst instabil. Daher war es nicht möglich, Performace-Tests durchzuführen der Rechner hängte sich zwar nicht auf, dafür aber der Prozess, der auf das Laufwerk zugreifen sollte. Im günstigsten Fall lässt sich das Inhaltsverzeichnis einer CD angezeigt. Auch auf das Beschreiben von CDs muss mit diesem Gerät noch verzichtet werden, obwohl es von cdrecord [3] schon als SCSI-3/mmc-kompatibel erkannt wird.
Iomega Zip CD 650
Sehr stabil und zuverlässig arbeitete das Iomega Zip CD 650: Dies war der einzige USB-CD-Brenner, dessen Treiber den Testrechner nie zum Absturz brachte. Dass der Brenner unter Linux auch zum Beschreiben von CD-Rohlingen geeignet ist, scheint bei Iomega übrigens nicht bekannt zu sein, denn in ihrem Linux-Support-Forum [1] wird bei Fragen in Bezug auf die Brenn-Tauglichkeit darauf hingewiesen, dass daran gearbeitet werde. Aber unter Angabe des Gerätetyps generic-mmc-raw funktionierte des Produkt mit cdrdao [2] einwandfrei: Es kann sogar mit vierfacher Geschwindigkeit brennen. Dabei ist es sehr erstaunlich, dass es mit dem software-lastigen UHCI-Controller nicht zu Problemen kommt, denn immerhin müssen etwa 600 Kilobyte pro Sekunde transferiert werden.



