Firmware bauen mit aktuellem gluon 2016.2.3 / Siegburg / Archer C7 v2 / NTP

Hallo, ich bin neu hier im Forum und beim FF.

Als Neu-FF erschlägt einen zunächst die Hintergrund-Technik. Aber ich wollte meine eigene Firmware erzeugen. Nachdem mir Oliver aus Siegburg einiges erklärt und bestätigt hat, konnte es los gehen.

VM-Box → Ubuntu → Gluon
Ein Einstieg ist:
https://gluon.readthedocs.io/en/v2016.2.3/user/getting_started.html

Beim ersten Mal muss gluon erzeugt werden
git clone GitHub - freifunk-gluon/gluon: a modular framework for creating OpenWrt-based firmwares for wireless mesh nodes gluon -b v2016.2.3.
cd /gluon

Wer gluon schon hat und ein Upadate braucht:
cd /gluon
gluon pull
make update
make clean GLUON_TARGET=ar71xx-generic

Da ich eine Siegburger Version wollte und es hier kein automatisches Git gibt, musste eine händische Version her (Trägt aber auch viel zum Verständnis bei). Stefan aus Troisdorf hat hier ja sein Spezialscript zum bauen der Firmware.

Hier bekommt man die site Infos ´für die Communities des RSK, auch Siegburg
https://github.com/Freifunk-Rhein-Sieg/sites-rsk/tree/siegburg-v2016.2
Auch wenn hier was von Lohmar steht. Das ist die Siegburg site.
Das site Format 2016.2 entspricht der Version, die wir bauen wollen 2016.2.3

cd /gluon
mkdir site
cd site
git init

Wichtig sind:
i18n/de.po
i18n/en.po
site.comf
site.mk
modules

Die site.mk enthält die Infos zu Dateinamen usw. Hier kann die Art: stable, experimental usw. sowie der Name der Output-Dateien eingestellt werden. Weitere Infos hier:
https://gluon.readthedocs.io/en/v2016.2.3/user/site.html#site-modules

Start des Build-Vorgangs:
make -j4 GLUON_TARGET=ar71xx-generic
(-j4 heißt 4 Prozessoren verwenden, hängt vom Rechner und VM ab, kann auch weggelassen werden))

Soweit alles ok also los und aha ein Fehler:

make -C /home/ich/gluon/build/ar71xx-generic/openwrt -f
/home/ich/gluon/Makefile prepare: build failed. Please re-run make with V=s
to see what’s going on
Makefile:71: die Regel für Ziel „all“ scheiterte

Ok, was ist hier los? Seltsam das Makefile kann es doch nicht sein. (Mit pull und update geprüft)
Die Lösung ist: Es gibt wohl ein Problem mit ftp.all.kernel.org und seinen Mirrors.
Der Download der Datei linux-3.18.44.tar.xz schlägt fehl.
Also händisch besorgen und unter /gluon/openwrt/dl einkopieren.

Noch einmal den Make-Lauf starten und siehe da alles ok.
Bis wieder obiger Fehler auftaucht ,ok was fehlt jetzt? iw-4.3.tar.xz
Ok händisch kopieren weiter geht es

Nächster Fehler: Die Domain für OPKG openwrt.draic.info löst nicht mehr auf.
Der Grund ist wohl das gluon kein https versteht.(und downloads.openwrt.org hat umgestellt)
Deshalb openwrt.draic.info und diese Domain ist weg.
Also site.conf ändern mit Ersatz
opkg_repo = ‚http://ftp.stw-bonn.de/pub/openwrt/barrier_breaker/14.07/%S/packages‘’,

Mal sehen wie es weiter geht, vielleicht hat jemand noch gute Ideen oder Tipps.

ja, das dauert manchmal bis man so alles zusammen hat was fehlt. In der Regel kommen Dinge wieder, werden andere Mirror benutzt, oder es wird korrigiert. Aber zu unzeiten mussteich das alles auch mehrfach anwerfen, wenn man den Ordner nicht löscht, dann ist in Zukunft ja alles da :wink:
Happy Builds

2 „Gefällt mir“

Play it again, Sam - Teil2:Firmware bauen

OPKG als Fehlerquelle war ja schon ganz gut. Nur das hier im Rhein-Sieg-Kreis spezielle Pakete verwendet werden. (Seite github.com/Freifunk-Rhein-Sieg/freifunk-packages)
freifunk-packages-master.zip
Diese ZIP-File enthält alle fehlenden Packages. Aber wohin damit?
/gluon/package/ ist die richtige Adresse. Hierhin die Dateien entpacken.

Und siehe da … Alles läuft, keine Fehler mehr. Die Images werden erzeugt und in
/gluon/output/images abgelegt. → fertig.
(Abgesehen vom Signieren für den Autoupdater aber das ist ein anderes Thema)

Vielleicht kann ich hiermit jemanden helfen auch mal eine Firmware selber zu bauen.
Nicht von der Make-Datei ärgern lassen. V=s benutzen und zurück scrollen und
fehlende Teile erkennen.

Nachtrag:
Die benötigten Informationen stehen auch in /gluon/site/modules

Viel Spaß beim Selberbauen.

Sorry we’re closed - Einsatz der neuen Firmware mit Hindernissen

Ein Grund dafür eigene Firmware zu erstellen war ein Router vom Typ TP-Link Archer C7 V2.
Dieser Router ist ein Dual-Band mit 2,4 Ghz und 5 Ghz. (radio0=5Ghz und radio1=2,4GHz)

Eine stable Firmware gibt es im FF Siegburg nicht.

Wichtig ist beim gluon compilieren der Firmware einen Parameter oder in der site.mk eine Variable zu setzten:
GLUON_ATH10K_MESH=11s
Sonst wird die Firmware nicht erzeugt.
Die hier erzeugte Version ist: sgb-stable-2.7 / gluon-v2016.2.3
(Datei: gluon-su-su-sgb-stable-2.7-tp-link-archer-c7-v2.bin)
Download: Link im nächsten Beitrag.

Soweit so gut. Der Archer C7 hat einen Schutz gegen Fremd-Firmware
Ab Firmware Version 3.15.1 Build 160616 kein Zurückgehen/Fremdflashen mehr möglich.
Das Warum und Wieso kann man anderswo nachlesen:

The EU firmware was specialized for CE certification and can’t be downgraded to other version,
please click here for choosing your region and selecting the most suitable firmware version to upgrade.

Fakt ist, beim Update über das eigene Webinterface scheitert man, (Die Fehlermeldung faselt was von falschem Dateinamen). Die Lösung ist der Bootlader des Routers, Der hilft jetzt weiter. und man braucht ein kleines TFTP.-Programm.

Schritt 1: Router und Computer über Lan1 verbinden.
Schritt 2: IP des Computers fest auf 192.168.0.66 einstellen.
Schritt 3: Die Firmwaredatei (s.o.) in ArcherC7v2_tp_recovery.bin umbenennen
Schritt 4: Die Datei in das TFTP Root Verzeichnis legen und TFTP starten
Schritt 5: WPS/Reset gedrückt halten und Router einschalten
Schritt 6: Spätestens wenn der Download vom Computer beginnt, Reset loslassen
Schritt 7: Nach dem Reboot, startet der Router ganz normal im Configmode
Schritt 8: IP vom Computer auf 192.168.1.2 ändern und Router unter 192.168.1.1 aufrufen

Fertig
Das war’s für heute

2 „Gefällt mir“

On the road again - Firmware Update manuell, Community Siegburg

Zunächst muss man sich die aktuelle Firmware für seinen Router besorgen.
Hier wirklich gut aufpassen das man die richtige Version für seinen Router auswählt,
Dabei sind Name und Hardwareversion wichtig.

Offizielle Image Seite stable V2.6:
http://images.freifunk-rhein-sieg.de/siegburg/stable/factory/
http://images.freifunk-rhein-sieg.de/siegburg/stable/sysupgrade/

Siegburg Firmware stable V2.7 auch für neuere Router:
http://images.freifunk.seligenthal.net/factory/
http://images.freifunk.seligenthal.net/sysupgrade/

Update factory übernimmt keine Einstellungen und wird
meistens über die Weboberfläche des original Router eingespielt. (Oder Bootlader)

Update sysupgrade behält die Einstellungen und wird direkt
aus der Kommandozeile des FF-Routers gestartet.

Mit WinSCP diese Image-Datei dann ins /tmp Verzeichnis des Routers kopieren.
WinSCP beenden. Mit SSH in den Router einloggen.
Verzeichnis wechseln in /tmp

sysupgrade „image-name“
Beispiel : sysupgrade gluon-su-su-sgb-stable-2.7-tp-link-archer-c7-v2-sysupgrade.bin

Danach passiert folgendes: (Auszug aus OpenWRT Doku)

  • Writing from stdin to firmware …
  • Appending jffs2 data from /tmp/sysupgrade.tgz to firmware…TRX header not found
  • Error fixing up TRX header
  • Writing from stdin to firmware …
  • Upgrade completed

Danach erfolgt ein Reboot
Und weiter der Auszug:

  • Anschließend sollte das Gerät automatisch neu starten,
  • und die Dateien/Verzeichnisse aus /etc/sysupgrade.conf
  • auf die JFFS2-Partition schreiben. Warten bis das abgeschlossen ist
  • und jetzt bitte nochmal manuell neu starten.
  • OpenWrt sollte jetzt mit den ganzen alten Einstellungen hochgefahren sein,
  • bitte auf Fehler prüfen:

Trx Error, warum das so ist?? - Vielleicht weiß jemand ja hier mehr.

/etc/config enthält alle Konfigurations Dateien.
Hier können die Einstellungen überprüft werden.
Alternativ gibt es natürlich den „uci show“ Befehl.

Beispiel: cat wireless
oder: uci show wireless
Zeigt die Wifi-Konfiguration an.

Die SSH Oberfläche solle in der V2.7 jetzt so aussehen:
http://freifunk.seligenthal.net/
Hier sieht man auch die aktuelle Firmware: sgb-stable-2.7

Ich selber habe mit der V2.7 vier Router in Betrieb:
TP-LINK TL-WR1043ND v4
TP-LINK Archer C7 AC1750 v2
TP-LINK CPE210 v1.1
TP-LINK TL-WR843ND v1 (Testsystem)

Viel Spaß beim Upgraden

Time is fleeting - wie die Zeit vergeht – aber bitte genau

Ich habe mich gewundert warum meine Nodes alle die falsche Zeit haben.
Eigentlich sollten in gluon die NTP-Server das übernehmen.

  1.  NTP-Bug in Firmware. Betrifft vor allem Mesh-Only-Nodes.
       Ob das noch immer aktuell ist, weiß ich nicht.
    
  2.   Keine lokale DNS-Auflösung
    

Warum funktioniert das DNS auf meinem Knoten nicht, wenn ich über SSH angemeldet bin? Antwort hier:

Resultat: FF-Clients haben DNS am Knoten. Der Knoten selber nicht.
Es gibt wenige IPv6 NTP-Server und vorhandene Server sind nicht von überall zu erreichen. (gewollt oder ungewollt)

Einige Communities bauen daher Ihre eigenen NTP-Server.

Die temporäre Lösung: Direkte IPv4-Adressen (nicht schön, ich weiß)
In der obigen Siegburger Firmware V2.7 sind diese jetzt eingepflegt.
Das Beste ist, sie funktionieren. Die Nodes haben endlich die korrekte Zeit.

Datei: site.conf
ntp_servers = { … }
IPs für NTP-Server bitte selber auswählen.

Nachtrag:
Für Siegburg gilt z.Z.: IPv6 nur aus dem Freifunk Rhein-Sieg Netz.
Grund ist die Anbindung an die Domäne Wupper. (Betrifft alle aus dem RSK die an Wupper hängen)
D.h: das Siegburg-Netz hat keine öffentliche IPv6, Ist aber in Planung.
Es bleibt also zunächst bei den iPv4-NTPs.

Die Zeit ist um …

Give it a try - Archer C7 factory Firmware installieren mit EU Hilfe

Es hilft manchmal eine Variable zu setzten.

In: site.mk
GLUON_REGION ?= eu

Auszug au der gluon Doku:
GLUON_REGION - Some devices (at the moment the TP-Link Archer C7) contain a region code that restricts
firmware installations. Set GLUON_REGION to eu or us to make the resulting
images installable from the respective stock firmwares.

Ob das funktioniert? Kann ich noch nicht sagen.
Auf jeden Fall wurde die Variable in die aktuelle 2.7 Version eingefügt.

Und weiter …

NTP ist einer der Gründe, warum die citylight node läuft (futro mit gluon-image und dann erweitert mit Kernelmodulen und Paketen).

Da läuft ein ntpd drauf, der aus dem rsk-Freifunknetz erreichbar sein sollte.
Zusätzlich noch ein Drupal CMS mit Dokumentation und Firmwareimages für den Testbetrieb.

Unter http://citylight.netsecdb.de/ ist die Kiste für http auch über public Netz erreichbar.

… und spielt Wartungsgateway, um nicht jedesmal über eine VM einwählen zu müssen:

To which Freifunk Node do you want to connect?

  1. Meigermuehle

  2. MM_DL

  3. MM_DL_02

  4. EV_Kirche

  5. EV_Kirche_Downlink

  6. Franzhaeuschen_Restaurant

  7. rettesichwerkann

  8. Fronhof 1

  9. Ellhausen 1

  10. Turm Ost

  11. Turm Nord

  12. Turm West

  13. Turm Sued

  14. Zur alten Faehre

  15. Dieter Test

  16. Thomas Schmitz

  17. rettesichwerkann_hinterhof

  18. exit to shell

1 „Gefällt mir“

Durch den Umzug der Lohmarer und Siegbuger nodes auf L2TP und eigene Ausleitung-Infrastruktur haben wir ja jetzt public IPv6 - damit wurde eine Wartungsbrücke zum fd0-Netz hinfällig.

Die stable images werden nun auch durchgängig für die ath10k Chipsätze gebaut (also auch archer c7 v2 etc.) - liegen auf dem Updateserver und sind auch über den Web-Firmware-Downloader zugänglich.