OpenMoko i umrežavanje preko USB-a
Za one koji svoj kernel sami konfigurišu potrebno je sledeće:
- CONFIG_USB_USBNET
- CONFIG_USB_NET_CDCETHER
Obe USB networking opcije nalaze se u kernelu kao
Device Drivers -> USB support -> USB Network Adapters
ili
Device Drivers -> Network Device Support -> USB Network Adapters -> Multipurpose USB Networking Framework.
Za više informacija pogledati usbnet driver homepage.
Pored toga u kernelu nam je još potreban i Masquarding
Masquerading opcije (testirane na Linux 2.6.26.3 kernelu) nalaze se u:
Networking --->
Networking options --->
Da bi video ostale opcije uključi
- CONFIG_NETFILTER (Network packet filtering framework (Netfilter))
i onda
Networking --->
Networking options --->
[*] Network packet filtering framework (Netfilter) --->
Core Netfilter Configuration --->
Sledeće opcije treba da budu uključene kao moduli:
- CONFIG_NF_CONNTRACK (Netfilter connection tracking support)
- CONFIG_NF_CONNTRACK_FTP (FTP protocol support)
- CONFIG_NETFILTER_XTABLES (Netfilter Xtables support)
Ostatak potrebnih opcija nalaze se u:
Networking --->
Networking options --->
[*] Network packet filtering framework (Netfilter) --->
IP: Netfilter Configuration --->
i one treba da se uključe kao moduli:
- CONFIG_NF_CONNTRACK_IPV4 (IPv4 connection tracking support (required for NAT))
- CONFIG_IP_NF_IPTABLES (IP tables support (required for filtering/masq/NAT))
- CONFIG_NF_NAT (Full NAT)
- CONFIG_IP_NF_TARGET_MASQUERADE (MASQUERADE target support)
Pošto smo prekompajlirali kernel odradili reboot mašine spojićemo OpenMoko preko usb-a sa računarom.
Kad pogledamo u /var/log/messages dobićemo sledeće:
Sep 30 13:50:10 Tortuga usb 1-4.1.3: new full speed USB device using ehci_hcd and address 7Odlično. Kernel je prepozao usb kao mrežni priključak i dodelimo mu uredjaj po imenu usb0. Sad nam samo još ostaje da podesimo mrežu.
Sep 30 13:50:10 Tortuga usb 1-4.1.3: configuration #1 chosen from 2 choices
Sep 30 13:50:10 Tortuga usb0: register 'cdc_ether' at usb-0000:00:1a.7-4.1.3, CDC Ethernet Device, 62:9d:2a:ca:b7:da
Sep 30 13:50:10 Tortuga usbcore: registered new interface driver cdc_ether
Dalji deo upustva će biti baziran na Gentoo distribuciji pošto je ja koristim.
Otvoriti editorom /etc/conf.d/net i ubaciti sledeće:
# Neo
config_usb0=( "192.168.0.200 netmask 255.255.255.0" )
routes_usb0=( "192.168.0.202/32 via 192.168.0.200" )
Zatim kreirati novi init skript:
cd /etc/init.dI na kraju startovati net.usb0
ln -s net.lo net.usb0
/etc/init.d/net.usb0 start
Proveriti da li je mreža tu u konektovati se preko ssh na Openmoko. Openmoko po default-u nema password dovoljno je samo da se udari enter kad dođe login.
# ping 192.168.0.202Pošto smo uspešno usopostavili vezu sa telefonom ostaje nam još da omogućimo da OpenMoko može da izađe i na internet kako bi smo bili u mogućnosti da napravimo update i instaliramo dodatne pakete.
# ssh root@192.168.0.202
# uname -a
Linux om-gta02 2.6.24 #1 PREEMPT Thu Apr 24 08:23:36 CST 2008 armv4tl unknown
Manuelna konfiguracija
Ubaciti sledeće naredbe kao root:
# 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
Potom ih sačuvati kao:
# /etc/init.d/iptables save
Ako hoćete da rutiranje bude automacki startovano pri boot-u, uradite sledeće:
# rc-update add iptables default
I na kraju morate iformisati kernel da startuje forwarding.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Automacka konfiguracija
Sve ovo gore manuelno što smo odradili može i da se automatizuje u jednom cugu ako kreiramo /etc/conf.d/net.usb0 fajl.
preup() {
echo 1 > /proc/sys/net/ipv4/ip_forward
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
return 0
}
postdown() {
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -D INPUT -s 192.168.0.202 -j ACCEPT
iptables -D OUTPUT -s 192.168.0.200 -j ACCEPT
iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24
return 0
}
I na kraju je potrebno da na OpenMoko telefonu ubacite i DNS ručno da ne bi morali da dižete kompletan bind zbog toga.
# echo nameserver 192.168.10.100 > /etc/resolv.confOva adresa je ip adresa mog rutera preko koga se kačim na net.
Za druge distribucije pogledati na wiki.openmoko.org.
Document Actions