Log in


Forgot your password?
prijatelji LUGoNSa
gnu.gif
linuxzasve.jpg
hulk.jpg
zextras_logo.png
 
You are here: Home / Uputstva / OpenMoko / OpenMoko i umrežavanje preko USB-a

OpenMoko i umrežavanje preko USB-a

by milobit last modified Oct 01, 2008 02:28 PM
Tema ovog upustva je da umrežimo OpenMoko sa računarom preko USB priključka
Da bi uspešno mogli da se umrežimo sa OpenMoko i Linux računarom potrebna nam je usb podrška za mrežu. Većina današnjih distribucija ima to već ubačeno u kernel.
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 7
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
Odlič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.

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.d
ln -s net.lo net.usb0
I na kraju startovati 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.202
# 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
Poš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.

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.conf
Ova adresa je ip adresa mog rutera preko koga se kačim na net.

Za druge distribucije pogledati na wiki.openmoko.org.

Document Actions