SuSE Linux: Version 8.0
Verbindung des SHARP Zaurus SL5500G Taschen-PC mit einem SuSE Linux 8.0 System mit Hilfe von Ethernet über USB.
WARNHINWEIS:
Die in diesem Artikel beschriebenen Schritte können dazu führen, dass einige oder sämtliche USB-Devices nicht mehr benutzt werden können. Dies kann insbesondere USB Netzwerkdevices betreffen. Führen Sie Ihre Versuche nicht auf einem Produktivsystem durch.
Die erfolgreiche Verbindung des Zaurus mit dem Linux-System erfordert mehrere Schritte:
Ein zusätzliches Kernel-Modul, usbdnet, wird benötigt, um den Zaurus SL550G über USB zu verbinden. Es gibt zur Zeit zwei Wege, um zu diesem Modul zu kommen:
Für die Mutigen: Im neuesten experimentellen Linux-Kernel für SuSE Linux 8.0, der unter ftp://ftp.suse.com/pub/people/mantel/next/RPM/ verfügbar ist, ist das Modul usbdnet bereits enthalten.
WARNHINWEIS:
Die Linux-Kernel in diesem Verzeichnis sind aus gutem Grund als experimentell gekennzeichnet. Benutzen Sie diese Kernel nicht auf Produktivsystemen und sichern Sie alle wichtigen Daten, bevor Sie einen Versuch starten.
Falls Sie nicht die Risiken eines experimentellen Linux-Kernels auf sich nehmen möchten, müssen Sie das Kernel-Modul usbdnet selber kompilieren. Installieren Sie zunächst die Kernel-Quellen auf Ihrem SuSE Linux 8.0 System:
yast2 -i kernel-source
Dann laden Sie den Patch mit der usbdnet-Quelle von http://www.ruault.com/Zaurus/patches/usbdnet-SuSE-8.0-2.4.18.patch.gz herunter und wenden Ihn auf die Kernel-Quelle an:
cd /usr/src/linux
zcat usbdnet-SuSE-8.0-2.4.18.patch.gz | patch -p1
Rekonfigurieren Sie den Kernel mit:
zcat /proc/config.gz >.config
make menuconfig
Wählen Sie aus der Liste der USB-Treiber das Modul "USBD Netzwerk (Encapsulated) Host-to-Host Link". Sie brauchen die Werte für den Hersteller, das Produkt, die Class und die SubClass nicht auszufüllen. Speichern Sie die Konfiguration und führen Sie den folgenden Befehl aus:
make dep modules
Wenn dies erfolgt ist, kopieren Sie das erstellte Modul in das entsprechende Modulverzeichnis und führen Sie depmod aus:
cp drivers/usb/usbdnet.o /lib/modules/2.4.18-4GB/kernel/drivers/usb/
depmod -a
Hinweis: Es ist ausreichend, dieses Modul zu kopieren. Es ist nicht erforderlich, andere Module oder einen neuen Kernel zu installieren.
Dieses Modul funktioniert nicht richtig mit dem uhci-Treiber, dafür aber mit usb-uhci. Außerdem schnappt sich der CDCEther-Treiber das Device, obwohl es eigentlich durch usbdnet benutzt werden soll.
Um dies zu erreichen, muss zunächst /etc/sysconfig/hotplug modifiziert werden. Ändern Sie
HOTPLUG_USB_HOSTCONTROLLER_LIST="uhci usb-uhci usb-ohci ehci-hcd"
in
HOTPLUG_USB_HOSTCONTROLLER_LIST="usb-uhci uhci usb-ohci ehci-hcd"
Dann fügen Sie usbdnet den HOTPLUG_USB_NET_MODULES hinzu:
HOTPLUG_USB_NET_MODULES="pegasus usbnet catc kaweth CDCEther usbdnet"
Des weiteren deaktivieren Sie CDCEther in /etc/hotplug/blacklist, indem Sie die folgenden Zeilen hinzufügen:
# Sharp Zaurus mag CDCEther nicht
CDCEther
Schließlich starten Sie das Hotplug-Subsystem neu:
rchotplug stop;sleep 90;rchotplug start
Je nach Ihrer Hardware-Konfiguration mag dies nicht wie erwartet funktionieren. Falls lsmod immer noch das Modul uhci statt usb-uhci aufzeigt, geben Sie den Befehl rchotplug stop ein und entfernen manuell alle Module im Zusammenhang mit USB, bevor Sie rchotplug start eingeben. Falls dies immer noch nicht funktioniert (z.B. weil Sie diesen Schritt ausgeführt haben, während X11 lief und Sie eine USB-Maus benutzen, weshalb die Module nicht entladen werden können), starten Sie das System neu. Dies kann unter Umständen schneller sein, als ständig zu versuchen, alle relevanten Module zu entfernen.
Um zu überprüfen, ob alles wie erwartet funktioniert, legen Sie den Zaurus in die Basisstation ein. Nach höchstens zwei Sekunden werden Sie einen Piepton hören. Wenn Sie "lsmod" eingeben, sollte das Modul usbdnet aufgeführt sein, das Modul CDCEther sollte jedoch nicht in der Liste erscheinen. Die Ausgabe des Befehls ifconfig -a sollte das Device usb0 enthalten.
Falls Sie keinen Piepton hören, wenn Sie den Zaurus einstecken, und /var/log/messages keine USB-bezogene Aktivität aufzeigt, mag es notwendig sein, den Taschen-PC zurückzusetzen. Der Befehl "shutdown -r now" von einem Konsolenprogramm sollte ausreichend sein, der Off-Schalter in der Toolbox funktioniert nicht zuverlässig. In manchen Fällen mag es nötig sein, einen vollständigen Reset durchzuführen. Bitte beachten Sie, dass dies sämtliche Daten vernichten wird, die auf dem Zaurus gespeichert sind.
Benutzen Sie yast2 lan, um das Netzwerk zu konfigurieren. Wählen Sie "Manuelle Konfiguration" -> "USB" und setzen Sie eine statische IP-Nummer.
Aufgrund eines Problems mit dem Zusammenspiel zwischen dem Hotplug-Subsystem und dem Netzwerkkonfigurationssystem ist es erforderlich, den folgenden Link in /etc/sysconfig/network zu erstellen:
cd /etc/sysconfig/network
ln -s ifcfg-eth-usb-0 ifcfg-usb0
Abschließend ändern Sie in /etc/sysconfig/hotplug den Parameter HOTPLUG_START_NET auf yes.
Das nächste Mal, wenn Sie den Zaurus einstecken, sollte das Netzwerk automagisch gestartet werden.
Das Zaurus Konfigurationshandbuch erläutert, wie das Netzwerk auf dem Zaurus eingerichtet wird. Bitte beachten Sie, dass die Skripten zur Einrichtung des Netzwerkes auf dem Zaurus die Default Route und den Nameserver nicht einrichten (sie können stattdessen dhcp benutzen, aber dhcpd und Hotplug Netzwerk-Devices passen nicht gut zusammen. Sie müssen den dhcpd auf dem SuSE Linux System neu starten, nachdem die USB-Verbindung hergestellt wurde.)
Dieser Artikel beruht auf der Information von Charles-Edouard Rualt, " How to set up an Ethernet over USB connection between the Sharp Zaurus SL-5000D/SL-5500 and a Linux machine".
SDB-jreuter_zaurus_usb
)