USB-Link
IP over USB
Um eine Netzwerkverbindung mit dem Ipaq aufzubauen wollen wir eine Bridge verwenden, damit auch andere Rechner im LAN direkt auf den Ipaq zugreifen koennen, so ist dann auch die Verbindung zum internet einfacher aufzubauen.
Der Host
Am Computer, der als USB Host fuer den Ipaq dienen soll muss man folgendes einrichten um das normale Netwerkinferface auf die Bridge zu verschieben: In die /etc/network/initerfaces ( fuer andere Distributionen, die nicht Debian basiert sind, muss man an anderer Stelle eintragen ) muss folgendes:
# The loopback interface # automatically added when upgrading auto lo iface lo inet loopback # The primary network/internet interface auto eth0 iface eth0 inet static address 0.0.0.0 netmask 0.0.0.0 # The Virtual Bridging Interface linking usb0 to eth0 auto br0 iface br0 inet dhcp pre-up brctl addbr br0 pre-up brctl addif br0 eth0 post-down brctl delbr br0
Hier wird eth0 auf die Bridge br0 gelegt, wo dann dort der dhcp gestartet wird ( hierbei wird die MAC von eth0 verwendet ), um nun die Route auf dem Ipaq automagisch einzustellen, wenn man ihn einsteckt muss eine Udev Regel her, die greift wenn dass entsprechende USB Device angesteckt wird. Zum Beispiel /etc/udev/rules.d/z98_private.rules:
ACTION=="add", BUS=="usb", SYSFS{idVendor}=="049f" SYSFS{idProduct}=="505a", RUN+="/root/ipaq.sh"
Natuerlich muss nun der udev Daemon neu gestartet werden, damit die Aenderungen wirksam werden. Die Datei /root/ipaq.sh muss natuerlich auch angelegt werden:
#!/bin/bash ifconfig usb0 up 0.0.0.0 brctl addif br0 usb0 su stettberger -c 'ssh solon /usr/bin/connect'
In diesem Skript wird usb0 auf die Bridge br0 gelegt. Desweiteren rufe ich hier einen ssh Befehl auf, der ein Skript auf dem Ipaq startet. Dazu werde ich hier mit su zuerst der User stettberger, der dann den ssh befehl auf solon ( Der DNS Name meines Ipaqs ausfuehrt). Dies mache ich deswegen, weil ich als Benutzer stettberger einen Passwortlosen login auf dem Ipaq habe. Jetzt die Datei noch mit chmod a+x /root/ipaq.sh ausfuehrbar gemacht und wir sind auf den Host fertig.
Ipaq
Hier muss folgender Abschnitt in die /etc/network/interfaces ergaenzt werden, bzw durch den usbf Abschnitt ersetzt werden:
iface usbf inet static address 192.168.100.7 netmask 255.255.255.0 network 192.168.100.0 gateway 192.168.100.5
Hier erhaelt der Ipaq eine feste IP Adresse und die korekte Netzmaske. Nun noch die Datei /usr/bin/connect angelegt und ausfuehrbar gemacht:
#!/bin/sh route add default gw 192.168.100.5 ntpdate pool.ntp.org
Hier wird nun bei jeden anstecken die Route neu gesetzt, da sie beim Abstecken wieder verloren geht. Auszerdem mache ich hier noch ein ntpdate, damit die korekte Zeit auf dem Ipaq herscht. An dieser Stellen koennte man auch noch diverse Syncing aufrufe machen, je nach belieben.