USB ZIP 100 unter SuSE 7.0 (Kernel 2.2.16)
Kurze Anleitung zur Installation eines USB ZIP 100 (Iomega) unter einem 2.2.xx-Kernel.
Zur Installation des USB 250er ZIP-LW gibt es einen Artikel in der SuSE SDB (es ist auf jeden Fall gut, den vorher gelesen zu haben) - damit bekommt man unter den 2.2.xx-Kerneln aber das 100er ZIP nicht in die Gänge. Bei den 2.4.x-Kerneln ist die beschriebene Prozedur nicht notwendig, da dort schon ein verbesserter usb-storage-Treiber enthalten ist, es kann dann nach der Anleitung in der SuSE SDB vorgegangen werden.
Voraussetzungen:
2.2.xx-Kernel mit usb-backport/Patch (ab 2.2.14?) (Ich habe es unter SuSE 7.0 mit dem fertigen 2.2.16 kernel gemacht.) Kernel-Quellen und Modul-Quellen müssen vorhanden sein (bei SuSE das Paket lx_suse.rpm).
Installierte Module: usbcore, usb_uhci
Damit das 100er-ZIP läuft, muss der usb-storage-Treiber angepasst werden (deshalb benötigt man die Quelltexte). Diese finden sich bei SuSE in der Datei /usr/src/linux-2.2.16.SuSE/drivers/usb/usb-storage.c.
Diese muss mit einem Texteditor geöffnet werden. Im unteren Drittel findet sich ein Abschnitt mit einer Geräteliste, er sieht in etwa so aus:
/* This is the list of devices we recognize, along with their flag data */ static struct us_unusual_dev us_unusual_dev_list[] = { { 0x03f0, 0x0107, 0x0200, "HP USB CD-Writer Plus", US_SC_8070, US_PR_CB, 0}, { 0x04e6, 0x0001, 0x0200, Matshita LS-120", US_SC_8020, US_PR_CB, US_FL_SINGLE_LUN}, { 0x04e6, 0x0002, 0x0100, "Shuttle eUSCSI Bridge", US_SC_SCSI, US_PR_BULK, US_FL_ALT_LENGTH}, { 0x04e6, 0x0006, 0x0100, "Shuttle eUSB MMC Adapter", US_SC_SCSI, US_PR_CB, US_FL_SINGLE_LUN}, { 0x057b, 0x0000, 0x0114, "Y-E Data Flashbuster-U", US_SC_UFI, US_PR_CB, US_FL_SINGLE_LUN}, { 0x059b, 0x0030, 0x0100, "Iomega Zip 250", US_SC_SCSI, US_PR_BULK, US_FL_SINGLE_LUN}, ... die Liste ist noch länger...
Ich habe nach einem Tip von Harald Schreiber dann folgendes eingefügt (direkt in die nächste Zeile, ursprüngliche Quelle ist die englischsprachige linux-usb-Mailingliste):
{ 0x059b, 0x0031, 0x0100, "Iomega Zip 100", US_SC_SCSI, US_PR_BULK, US_FL_SINGLE_LUN},
gespeichert und erst mal fertig.
Dann das Modul kompilieren (dazu muss natürlich der Kompiler gcc, alle header-Dateien und Bibliotheken - d.h. die development-rpms - vorhanden sein...):
make modules
Man muss natürlich root sein; es dauert eine Weile und gibt einen Haufen Meldungen auf der Konsole. Anschließend:
make modules_install
Fertig ist die Treiber-Anpassung.
Den Treiber mit
modprobe usb-storage
installieren (am besten schon ein Medium im Laufwerk haben, sonst gibt's Probleme).
Mit dem Befehl: dmesg
kann man dann die entsprechenden Meldungen sehen, hier sollte alles wie im SuSE SDB-Artikel besprochen funktionieren.
Nun kann man das ZIP-Laufwerk mit
mount /dev/sda4 /zip
ansprechen und es sollte funktionieren.
Zur Vereinfachung noch ein Eintrag in die Datei /etc/fstab:
/dev/sda4 /zip auto noauto,user 0 0
und nach dem nächsten Start und nach dem Laden von usb-storage sollte alles funktionieren!
Wie man die Module automatisch startet, kann man im Artikel in der SDB nachlesesn.