Avila: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(Autoflash: links angepasst)
K (WLAN einrichten)
Zeile 148: Zeile 148:
 
=== WLAN einrichten ===
 
=== WLAN einrichten ===
  
* Wenn wir es mit einer Atheros-Karte zu tun haben, wie immer bei Opennet:
+
* /etc/config/wireless Wenn wir es mit einer Atheros-Karte zu tun haben, wie immer bei Opennet:
  
 
  config wifi-device      wifi0
 
  config wifi-device      wifi0

Version vom 29. Dezember 2008, 15:03 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.

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
  • 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

  • /etc/config/wireless 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

So sieht das Board aus.
  • Auf der im Foto gezeigten Boardseite befinden sich links ath0 und rechts ath1, unter ath0 liegt ath2 und unter ath1 liegt ath3.
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge