USB-Link

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

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.