Avila: Unterschied zwischen den Versionen
Aus Opennet
JanC (Diskussion | Beiträge) K (→Autoflash) |
Thm (Diskussion | Beiträge) (→Manuell) |
||
Zeile 50: | Zeile 50: | ||
fis init -f | fis init -f | ||
− | * Das Board ist typischerweise unter 192.168.3.2 / 255.255.255.0 zu erreichen (Ansonsten unter redboot mittels fconfig nachgucken. Wir brauchen die beiden Files von oben auf dem PC unter Zugriff eines tftp-Servers (bei mir ist das in.tftpd, mittels xinetd, /tftpboot muss die Files enthalten, Centos / RedHat User vergessen bitte nicht in /etc/xinetd.d/tftp das disable yes in disable no zu ändern, hat mich 20min gekostet, weitere 5min waren für SELinux nötig). | + | * Das Board ist typischerweise unter 192.168.3.2 / 255.255.255.0 zu erreichen (Ansonsten unter redboot mittels fconfig nachgucken. Wir brauchen die beiden Files von oben auf dem PC unter Zugriff eines tftp-Servers (bei mir ist das in.tftpd, mittels xinetd, /tftpboot muss die Files enthalten, Centos / RedHat User vergessen bitte nicht in /etc/xinetd.d/tftp das disable yes in disable no zu ändern, hat mich 20min gekostet, weitere 5min waren für SELinux nötig - bei letzterem kommt es auf den korrekten Context Type an - siehe man chcon). |
* Die verwendeten IP Einstellungen werden auch nach dem Start des Avila Board auf der Konsole angezeigt. | * Die verwendeten IP Einstellungen werden auch nach dem Start des Avila Board auf der Konsole angezeigt. |
Version vom 9. April 2008, 21:38 Uhr
Inhaltsverzeichnis |
Todos
- Package mit Konfigurationsdateien bauen. Dort als depends alle anderen Packages hinterlegen.
- Image hochladen.
- OpenWRT-Konfiguration hochladen (die von make menuconfig).
Fasttrack zum Opennet AP
OpenWRT bauen oder runterladen
- Wir brauchen die Trunk-Version von OpenWRT Kamikaze, da nur dort die Firmware für die Ethernet-Interfaces bereits dabei ist. svn update hat bei mir am 30.03.2008 die Revision 10690 zutage gefördert.
svn update (bzw. svn checkout https://svn.openwrt.org/openwrt/trunk) make menuconfig
- Dort Intel XScale IXP4xx auswählen. Mit den Defaults kann man leben, wir brauchen für das WebIF (falls gewünscht) und olsrd einige Libraries. Es schadet also nicht, alle Module zu bauen (ansonsten kann man die auch später als Binary von der Website laden). Bei mir gab es ein Problem beim Bauen eines Moduls (irgendwas mit HW Watchdog), so dass ich das wieder rausgeworfen habe.
make
- In bin/ finden wir openwrt-avila-zImage und openwrt-ixp4xx-squashfs.img. Die brauchen wir gleich zum Flashen.
- Die beiden Files als Binary gibt es hier (Benutzung auf eigene Gefahr) http://www.informatik.uni-rostock.de/~thm/avila/openwrt-avila-zImage und hier http://www.informatik.uni-rostock.de/~thm/avila/openwrt-ixp4xx-squashfs.img
- Die von make menuconfig erstellte Konfigurations-Datei gibt es hier (sind meine Einstellungen, im Wesentlichen die Defaults) http://www.informatik.uni-rostock.de/~thm/avila/avila.config
Board flashen
Manuell
- Passendes Netzteil finden (irgendwas zwischen 6 und 28V, Plus ist innen), oder mittels passivem PoE-Adapter versorgen (passiv heißt hier, dass wir auf gar keinen Fall einen PoE-Adapter gemäß IEEE 802.3af mit 48V nehmen, dann riecht es bestimmt bald nach Strom). Boardbeschreibung hier: http://dev.gateworks.com/products/avila/manuals/gw2342.pdf
- Anleitung auch hier: http://wiki.openwrt.org/OpenWrtDocs/Hardware/Gateworks/Avila_GW2348_4 (anderes Board, aber bei unserem GW2342 ist es genauso, bis auf kleine Änderungen bezüglich der LEDS :-) )
- Das Board hat zwei serielle Interfaces. Über eines kann man beim Booten zuschauen, welches das ist hängt von der Konfiguration von redboot ab, (115200,8,N,1). Ich habe dort einen USB-RS232-Adapter drangesteckt. Ich hatte Probleme mit minicom, dieses glaubte die ganze Zeit, offline zu sein, zeigte aber die Ausgaben an, Eingaben waren nicht möglich, es scheiterte also schon am CTRL-C. cutecom funktionierte dann, dieses arbeitet aber zeilenweise, so dass ich bei fconfig kein Backspace senden konnte. Wirklich geholfen hat dann gtkterm.
- Für Windows hilft als Terminalprogramm Putty oder das bis vor Vista mitgelieferte HyperTerminal. Bei Putty dann Seriell auswählen und die Baudrate auf die oben angegebenen Werte stellen. Da Windows von Haus aus keinen TFTP Server mitbringt, kann man z.B. WinAgents TFTP Server nutzen (ladbar als 30 Tage Testversion).
- Board booten. Es erscheint eine Meldung wie diese:
== Executing boot script in 3 seconds - enter ^C to abort
- Jetzt innerhalb der angegebenen Zeit:
CTRL-C
- Flashspeicher initialisieren
fis init
- Da ich beim ersten Versuch ein Problem hatte, wurde bei fis init nicht der gesamte Speicher initialisiert. Da half dann
fis init -f
- Das Board ist typischerweise unter 192.168.3.2 / 255.255.255.0 zu erreichen (Ansonsten unter redboot mittels fconfig nachgucken. Wir brauchen die beiden Files von oben auf dem PC unter Zugriff eines tftp-Servers (bei mir ist das in.tftpd, mittels xinetd, /tftpboot muss die Files enthalten, Centos / RedHat User vergessen bitte nicht in /etc/xinetd.d/tftp das disable yes in disable no zu ändern, hat mich 20min gekostet, weitere 5min waren für SELinux nötig - bei letzterem kommt es auf den korrekten Context Type an - siehe man chcon).
- Die verwendeten IP Einstellungen werden auch nach dem Start des Avila Board auf der Konsole angezeigt.
- Der Rest im Schnelldurchlauf:
load -r -v -b %{FREEMEMLO} openwrt-avila-zImage fis create linux fis free
- Differenz ausrechnen, so freien Speicherplatz bestimmen - bei mir waren es 0x00E80000.
load -r -v -b %{FREEMEMLO} openwrt-ixp4xx-squashfs.img fis create -l 0xe80000 rootfs (0xe80000 ist die Differenz von oben) fis list (nur zum Gucken)
- Jetzt noch die Konfiguration:
fconfig
- Folgendes eingeben:
- Boot script:
fis load linux exec <Leerzeile, Enter>
- Boot script timeout (1000ms resolution)
3 (hier brauchte ich das Backspace, das cutecom nicht konnte)
- Der Rest ist selbsterklärend.
reset
Autoflash
- Zum automatischen flashen wird das Programm minicom + runscript sowie eine Linux (oder auch Unix) Umgebung benötigt.
- nur für Fortgeschrittene zu empfehlen, das Script selbst muß angepasst werden!
- Diese Version bestimmt den freien Speicher selbstständig!
- Netz einrichten 192.168.3.1/24
- tftp einrichten
- Als root minicom starten:
minicom -s (kleines s)
- Hilfe gibts per
Ctrl^A+Z
- Parameter der seriellen Schnittstelle einstellen (s.o)
- jede Änderung mit Return im jeweiligen Feld abschließen, sonst wird es nicht übernommen!
- im Bereich Modem alle Felder löschen
- unter Dateinamen und Pfade das Scriptverzeichnis festlegen (wo nachher das flashscript liegt)
- unter einem sinnvollen Namen abspeichern, bei mir console (dfl für default)
- minicom beenden (Ctrl^A+X)
- Im Flash Script muß die Schnittstelle zusätzlich auch konfiguriert werden! Standard ist eth0, unabhängig minicom config!
- Zusätzlich ist bei bedarf der Namen der Images anzupassen
- minicom zum flashen starten (dem Bord noch keinen Saft geben)
minicom -S <flashscript> <config> (<config> bei mir heißt die config "console" und das flashscript "flash-avila"), also minicom -S flash-avila console (großes -S)
- alles wie immer ohne Garantie, have fun
Netzwerk einrichten
- In /etc/config/network finden wir alles, was wir dazu brauchen. Weiß jemand, wie man dort eine Variable verwendet? Wir nehmen ja bei olsr überall die selbe IP-Adresse.
config interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 config interface lan option ifname eth0 option proto static option ipaddr 192.168.1.159 option netmask 255.255.0.0 config interface wan option ifname eth1 option proto static option ipaddr 192.168.1.159 option netmask 255.255.0.0 config interface wifi0 option ifname ath0 option proto static option ipaddr 192.168.1.159 option netmask 255.255.0.0 ... wifi1 bis wifi3 entsprechend mit ath1 bis ath3
WLAN einrichten
- Wenn wir es mit einer Atheros-Karte zu tun haben, wie immer bei Opennet:
config wifi-device wifi0 option type atheros option distance 2400 # The distance between the ap and the furthest client in meters option channel 100 option mode 11a config wifi-iface option device wifi0 # option rts 250 option hidden 0 option txpower 16 option encryption none option mode ap option ssid test0.on-i.de ... entsprechende Einträge für wifi1 bis wifi3
OLSR
- OLSR Package auf den AP kopieren (z.B. mit scp) oder AP ins Netz bringen (Gateway, Nameserver), dann:
ipkg install /tmp/olsrd_<version>_armeb.ipk bzw. ipkg install olsrd
- Konfigurieren. Beim neuen Kamikaze gibt es /etc/config/olsr. Hier einfach die Interfaces eintragen, für die OLSR aktiviert werden soll. Achtung, die Namen der Interfaces stammen hier aus /etc/config/network.
option Interface "lan wan wifi0 wifi1 wifi2 wifi3"
- Wer die OLSR Plugins nicht installiert hat, muss diese in /etc/config/olsr deaktivieren.
- Nun muss OLSR gleich noch dazu gebracht werden, dass es beim Start des Avila Boards gestartet wird. Hierfür geben wir ein:
/etc/init.d/olsrd enable
NTP
- Die Avila Boards haben zwar eine RTC (hwclock -r bzw. hwclock -w), daher die Batterie, wir wollen aber genau wissen, wie spät es ist. Daher installieren wir ntpd oder ntp_client:
ipkg install ntp_client (bzw. entsprechendes File, falls manuell auf den AP geladen)
- Die Konfiguration in /etc/config/ntp_client sollte korrekt sein. Im Falle von ntpd, diesen noch aktivieren:
/etc/init.d/ntpd enable
Mit den LEDs rumspielen
- Licht an:
echo "1" > /sys/class/leds/user/brightness
- Licht aus:
echo "0" > /sys/class/leds/user/brightness
Infos zum Avila Board
- Auf der im Foto gezeigten Boardseite befinden sich links ath0 und rechts ath1, unter ath0 liegt ath2 und unter ath1 liegt ath3.