[Freifunk Franken] WR1043 v2 Firmware?

Tim Niemeyer tim.niemeyer at mastersword.de
So Sep 7 13:13:55 CEST 2014


Hi Robert

Am Samstag, den 06.09.2014, 18:59 +0200 schrieb Robert Langhammer:
> Hallo,
> 
> ich bin vor einiger Zeit auf freifunk gestoßen und habe jetzt 
> beschlossen mit zu machen.
Super. Willkommen an Board!

> Ich habe hier einen WR1043 V2. Ein fertiges Image habe ich nicht 
> gefunden,  nur für die V1.
> Auf dem Router läuft bereits OpenWrt. Gibt's eine Möglichkeit den Router 
> von Hand zu konfigurieren?

Grundsätzlich kann man das hinkriegen. Wenn du schon dabei bist deinen
Router umzukonfigurieren wäre es super, wenn du das gleich so machst,
dass wir daraus ein Image bauen können. Vermutlich geht das jetzt sogar
schneller als wenn du alles einzelnd compilest und konfigurierst, da du
zum Teil spezielle Software Versionen benötigst.

Schau dir am besten mal das Buildsystem an:

git clone https://github.com/FreifunkFranken/firmware.git
cd firmware

Dann fügst du im board_postbuild ein, dass er auch die Images für v2
kopieren soll:
vim bsp/board_wr1043nd.bsp
board_postbuild() {
    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin ./bin/
    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin ./bin/
    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-factory.bin ./bin/
    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin ./bin/
}

Dann musst du auf jeden Fall noch das Netzwerk richtig konfigurieren.
Dazu muss man den Router sehr gut kennen, i.d.R. lernt man den erst beim
Verwenden kennen, daher ist ein guter Startpunkt die Config vom v1 zu
kopieren und erstmal zu gucken was passiert:
cp bsp/wr1043nd/root_file_system/etc/network.tl-wr1043nd-v1 bsp/wr1043nd/root_file_system/etc/network.tl-wr1043nd-v2

Dann wählst du aus, was du bauen möchtest:
./buildscript selectbsp bsp/board_wr1043nd.bsp
./buildscript selectcommunity community/franken.cfg

Dann baust du erstmal
./buildscript prepare
./buildscript build

Jetzt gehst du n Kaffee trinken.

Am Ende sollte im bin/ Verzeichnis das Image für v1 und v2 liegen. Das
v2 Image flasht du auf den Router. Pass nur auf, eventuell ist das
Netzwerk jetzt so falsch eingestellt, dass du nicht mehr drauf kommst.
Am einfachsten ist es den Router dann über eine serielle Konsole zu
verwenden. Wenn du das Ding gerade nicht findest könntest du an den
unterschiedlichen LAN-Ports mit der IPv6 Link-Local aus der MAC Adresse
des Geräts versuchen drauf zu kommen. Es kann auch sein, dass die IPv6
+/- 1 am Ende hat. Letztlich kann das funktionieren, ist aber aufwändig
und da du am LAN Einstellungen ändern willst, ist die serielle Konsole
das Mittel der Wahl!

Wenn du dann auf dem Router drauf bist musst du als erstes feststellen,
welches Ethernet-Device für den WAN Port zuständig ist. Mir sind da
folgende Möglichkeiten bekannt. a) WAN ist eth0, b) WAN ist eth1, c) WAN
ist teil vom Switch eth0. Dementsprechend konfigurierst du das WANDEV
auf dem Router in der /etc/network.tl-wr1043nd-v2. Wenn WAN ein eigenes
ethX hat, dann muss WAN_PORTS="" sein. Dann schaust du welches
Ethernet-Device an dem internen Switch angeschlossen ist (swconfig
list). Das konfigurierst du als SWITCHDEV. Ich glaub CLIENTIF musst du
nicht anpassen. Aber du musst noch schauen, welches Ethernet oder Wifi
Device die MAC Adresse hat, die auch unter dem Gerät steht. Den
Gerätenamen trägst du in ROUTERMAC ein. Nun ist es an der Zeit die
Einstellungen zu testen, dafür muss die falsche Netzwerk-Config zurück
gesetzt werden:
cp /rom/etc/config/network /etc/config/network
reboot

Wenn der Router wieder hochgefahren ist, sollten die Einstellungen sein,
wie du sie konfiguriert hast. Ggfs muss man hier noch mal eine Runde
drehen, wenn etwas nicht richtig war. Ansonsten ist es jetzt an der Zeit
den Switch einzustellen. Das geht am einfachsten, wenn man die
Einstellungen nun direkt in der /etc/config/network vornimmt. Dabei ist
eth0_2 der WAN Port (sofern er über den Switch läuft). eth0_1 sind die
Client-Ports und eth0_3 sind die Ports um Batman Knoten zu verbinden. Am
Anfang weiß man meist noch nicht welcher Switch Port wirklich am Router
wo rausgeführt ist. Manchmal kann es helfen einen Port nach dem anderen
aktiv zu schalten (Rechner anstecken) und die Ausgabe von swconfig
anzugucken (z.B. swconfig dev switch0 show). Das ganze ist manchmal ein
wenig try-and-error. :( Aber wenn man denkt es passt, prüft man alles
durch. Tauchen BATMAN Nachbarn in "batctl o" auf und aktualisiert sich
die Anzeige, wenn ein anderer Knoten an dem Batman-Port angeschlossen
wird? Funktioniert das mit beiden Ports? Taucht ein PC in
"/etc/showmacs.sh br-mesh" auf, den man an die Client-Ports
angeschlossen hat? Wenn am Ende alles passt, übernimmt man die
Switch-Config in die /etc/network.tl-wr1043nd-v2 und probiert das ganze
nochmal aus:
cp /rom/etc/config/network /etc/config/network
reboot

Wenn jetzt die Ports immer noch alle korrekt funktionieren kann man die
datei auf den eigenen PC kopieren:
scp root@[ipv6ll%scope]:/etc/network.tl-wr1043nd-v2 /path/to/git/firmware/bsp/wr1043nd/root_file_system/etc/network.tl-wr1043nd-v2

Nun kann man mit "git status" die Änderungen sehen. Mit "git add" staged
man diese und mit "git commit" checkt man sie ein. "git format-patch
origin/HEAD" erzeugt dann aus deinen Commits ein (oder mehr) Patches.
Diese schickst du dann mit "git send-email --to franken-dev at freifunk.net
*.patch" an unsere Liste. Dort nimmt sich jemand die Zeit und schaut
kurz drüber und wenn alles passt finden deine Änderungen in den
Hauptentwicklungszweig und sind ab dann Teil der
Freifunk-Franken-Firmware.

Auf der Mailingliste franken-dev at freifunk.net kannst du natürlich
jederzeit Fragen stellen, falls etwas nicht klar sein sollte.

Tim

> 
> Robert
> 
> _______________________________________________
> franken mailing list
> franken at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-freifunk.net

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/mailman/private/franken-freifunk.net/attachments/20140907/1bab2441/attachment.sig>


Mehr Informationen über die Mailingliste franken