USB Networking/de
From Openmoko
Contents |
Neo1973 - Seite
Namensauflösung
Standardmäßig hat das Neo1973 eine Netzwerkschnittstelle usb0, die mit einem im Kernel einkompilierten (g_ether) Ethernet Dadget arbeitet.
Wenn Sie auf dem Neo voll qualifizierte Hostnamen im Internet erreichen wollen, müssen sie einen DNS-Server definieren. Dazu erstellen Sie die Datei /etc/resolv.conf, die mindestens diese Zeile enthält:
nameserver xxx.xxx.xxx.xxx
z.B. nameserver 192.168.1.1
Danach können Sie auf dem Neo Ihre OpenMoko 2007.2 Pakete mit "ipkg update && ipkg upgrade" aktualisieren.
Ein besserer Ansatz ist ein symbolischer Link
ln -s /var/run/resolv.conf /etc/resolv.conf
Danach erstellen Sie die datei /etc/network/if-up.d/08setupdns, die folgende Zeilen enthält:
#!/bin/sh -e echo nameserver 192.168.0.200 > /var/run/resolv.conf
Auf diese Weise wird diese Datei vom PPP-Paket korrekt behandelt, wenn eine Einwahl per GPRS stattfindet.
Routing
Sie benötigen eine zusätzliche Route für die Verbindung ins Internet. Diese verbindung kann von Ihrem PC geroutet werden (siehe unten), wenn der PC das Standardrouting-Ziel ist. Sie erreichen dies durch das Hinzufügen von
gateway 192.168.0.200
zu Ihrer /etc/network/interfaces im Abschnitt usb0.
Desktop-Seite
Manuelle Methode
Nach dem Verbinden mit dem Gerät laden Sie das Modul usbnet und konfigurieren Sie die Schnittstelle usb0 (als root):
ifconfig usb0 192.168.0.200 netmask 255.255.255.0
Wenn Ihre eth0 Schnittstelle sich im selben 'Bereich' (z.B. 192.168.0.105) befinet, dann können Sie folgendes tun: 1. Neo anpingen:
# ping -I usb0 192.168.0.202
2. Route zum Neo hinzufügen:
# /sbin/route add -host 192.168.0.202/32 dev usb0
3. Einloggen auf dem Neo:
# ssh root@192.168.0.202
Wenn Sie keine notwendigen Module zum Erzeugen von usb0 haben, stellen Sie sicher, dass folgende Kernel Optionen aktiviert sind:
- CONFIG_USB_USBNET
- CONFIG_USB_NET_CDCETHER
Beide Optionen sind unter Device Drivers -> USB support -> USB Network Adapters zu finden. Für weitere Informationen siehe usbnet driver homepage.
Automatische Methode
Die Information entnehmen sie dem Hotplugging usbnet, geschickt von Marcin 'Hrw' Juszkiewicz.
Debian oder ähnliche
Editieren Sie /etc/network/interfaces wie folgt:
allow-hotplug usb0 iface usb0 inet static address 192.168.0.200 netmask 255.255.255.0 network 192.168.0.0 post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -P FORWARD ACCEPT
Ubuntu (getestet mit Feisty und Gutsy)
Editieren Sie /etc/network/interfaces:
auto usb0 iface usb0 inet static address 192.168.0.200 netmask 255.255.255.0 network 192.168.0.0 up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 & up echo 1 > /proc/sys/net/ipv4/ip_forward & up iptables -P FORWARD ACCEPT & down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 &
Wenn Sie das Kommando "echo 1 > /proc/..." manuell ausführen, könnte sudo nicht ausreichen, denn das Kommando sudo muss unter der Shell bash ausgeführt werden.
Ubuntu Fiesty und Gusty haben offenbahr einen Fehler, dass ifdown nicht ausgeführt wird, solange die Schnittstelle "unplugged" ist. Das bedeutet, dass es nur dann funktioniert, wenn das System neu gebootet wird.
Man kann die Datei /etc/udev/rules.d/85-ifupdown.rules patchen, indem man zwei Zeilen am Ende der Datei editiert:
SUBSYSTEM=="net", DRIVERS=="?*", GOTO="net_start" GOTO="net_end" LABEL="net_start" # Bring devices up and down only if they're marked auto. # Use start-stop-daemon so we don't wait on dhcp ACTION=="add", RUN+="/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus \ --startas /sbin/ifup -- --allow auto $env{INTERFACE}" LABEL="net_end" ACTION=="remove", RUN+="/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus \ --startas /sbin/ifdown -- --allow auto $env{INTERFACE}"
Der Fehler besteht darun, dass LABEL="net_end" an falscher Position steht.
openSuSE
/etc/sysconfig/network/ifcfg-usb0
# USB configuration for PDAs (openmoko) IPADDR=192.168.0.200 NETMASK=255.255.255.0 STARTMODE=onboot
Fedora (getestet unter FC8)
/etc/sysconfig/network-scripts/ifcfg-usb0
# USB configuration for PDAs (openmoko) # from http://www.handhelds.org/moin/moin.cgi/UsbNet DEVICE=usb0 BOOTPROTO=none IPADDR=192.168.0.200 NETMASK=255.255.255.0 ONBOOT=yes
Red Hat oder ähnliche
Editieren Sie /etc/sysconfig/network-scripts/net.hotplug:
Nach diesem Kommando
case $INTERFACE in # interfaces that are registered after being "up" (?)
fügen Sie hinzu
usb0) ifconfig usb0 192.168.0.200 netmask 255.255.255.0 route add 192.168.0.202 usb0 iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 echo 1 > /proc/sys/net/ipv4/ip_forward exit 0 ;;
Gentoo
- Öffnen Sie /etc/conf.d/net und fügen Sie hinzu:
# Neo1973 config_usb0=( "192.168.0.200 netmask 255.255.255.0" ) routes_usb0=( "192.168.0.202/32 via 192.168.0.200" )
- Erzeugen Sie einen neuen init Script:
cd /etc/init.d ln -s net.lo net.usb0
- Erzeugen Sie iptables Einträge:
iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24
- Speichern Sie das
/etc/init.d/iptables save
- Wenn Sie möchten, dass Routing standardmäßig aktiviert wird:
rc-update add iptables default
MacOS X
Sehen Sie USB Netzwerk Abschnitt im MacOS X Artikel.
Mobile Entwicklung
Weiterleiten der DNS Anfragen
Wenn Sie Ihren Standort oft wechseln und somit Verbindung zu mehreren Netzwerken haten und Ihre IP Adresse über DHCP beziehen, ist es ziemlich aufwendig, jedes mal die Datei /etc/resolv.conf zu aktualisieren.
Um dies als Teil eines Setup-Scriptes zu tun, kann man einen Proxy DNS einrichten, der auf die IP Adresse des Neo zeigt. Dies bedeutet, dass die Datei /etc/resolv.conf auf dem Neo nur folgendes enthält:
nameserver 192.168.0.200
und z.B. der Notebook funktioniert als DNS Proxy und leitet alle Anfragen basierend auf seiner /etc/resolv.conf weiter.
Starten Sie den DNS Proxy nur auf der Schnittstelle usb0, um andere Netzwerkverbindungen nicht zu unterbrechen.
TO DO
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |