Firmware 1.0

Gibt es gerade aktuell etwas, was wir/ich noch testen können? Mir fehlen gerade noch weitere / neue Ansatzpunkte.

Es kommt noch ein neuer Build, der dann auf den letzten Patches von “Upstream” (d. h. Gluon v2018.1.1) basiert.

Und “man” müßte mal testen, ob der “client-mode-autoupdater” funktioniert. Sprich demnächst einen Knoten mit 1.0.0~95 installieren, den nur per Mesh verbinden, dann die Mesh-Verbindung verunmöglichen (auf dem Mesh-Partner z. B. die Mesh-BSSID ändern oder einfach Mesh-on-Wifi abschalten) und dann gucken, ob sich der Mesh-Only-Client über die Zeit als Client anmeldet und eine FW >1.0.0~95 zieht. Geht natürlich erst, wenn >1.0.0~95 existent :wink:

Äh, ja, und was will es uns sagen?
Wenn ich einen AP habe, der Freifunk nur über Mesh bekommt, dann habe ich, wenn Mesh “ausfällt” keinen Zugriff auf irgend ein Netzwerk. Woher soll dann mein AP ein Update bekommen? Verstehe ich leider nicht.

Wie Montag abend auch besprochen, versuche ich mal, das Szenario deutlicher zu beschreiben. Ich bediene mich da mal einer Skizze der Pinneberger Freifunker:

(Edit, 2018-12-30: Da https://wiki.pinneberg.freifunk.net/_media/mesh-on-lan_v1.png wg. Zertifikatsfehler nicht lädt, Image lokal bereitgestellt.)

mesh-on-lan_v1

Das ein Wunschszenario, klar — meist gibt’s ja nur einen AP, sowas wie „FF1“. FF1 hat eine Internetverbindung (blau), darüber kann er eigentlich dauernd auf unseren Firmwareserver zugreifen; FF1 hat also quasi nie ein Problem.

Anders sähe es z. B. aus, wenn wir mit einem Firmwareupdate die batman-adv-Version von derzeit 2013.irgendwas, Kompatibilitätsversion 14, auf 2015.x oder gar 2018.x, Kompatibilitätsversion 15, änderten.
Wir erinnern uns, v14 und v15 sind zueinander inkompatibel; selbst wenn also ein Kabel läge: batman-adv mit v15 auf FF1 – alle anderen Knoten mit batman-adv v14 – führte dazu, daß FF2, FF3 und FF4 vom Freifunknetz abgeschnitten würden. Das ist der Grund, warum wir seit Jahren mit v14 rumkrebsen; es müßten wahrscheinliche viele Knoten „gerettet“, d. h. manuell aktualisiert werden. Das kriegen wir aber nicht gestemmt …

Ähnliches Problem ergibt sich, wenn wir die WLAN-Parameter änderten, um z. B. endlich unsere viel zu große Layer-2-Wolke in kleinere Segmente aufzuteilen: Wir würden dabei die AP-SSID beibehalten („KreisGT.freifunk.net“), aber die Mesh-SSID würde in jedem Segment anders sein, damit wir keine ungewollten Brücken zwischen jenen bauen.

Im Beispiel beziehen FF2, FF1 und FF3 in beliebiger Reihenfolge das Firmwareupdate, welches die Knoten z. B. in das Rheda-Wiedenbrücker-Segment ziehen würde; FF4 hängt nur per Mesh dran und hat eine schlechtere Verbindung, daher dauert’s da länger/klappt nicht beim ersten Mal …

Als Resultat hätten wir erneut Knoten, die a) das wichtige, grundlegende Parameter ändernde, Update zu spät geladen haben und dies auch nicht mehr nachholen können, weil sie b) nun nicht mehr Teil des Netzes sind. Soweit klar?

Die Lösung ist an sich so genial wie einfach: Freifunk ist ja ein offenes Netz, d. h. ein Knoten, der die Verbindung zum Netz über Zeitraum X verloren hat, probiert periodisch, ob er über ein WLAN mit „Freifunk“ im Namen (beliebige Schreibweise) als Client ins Netz kommt. Klappt das, wird ein Autoupdate erzwungen und, falls es eine neuere Firmware gibt als die, die installiert ist, hoffentlich die korrekte, den Knoten lösende, Firmware eingespielt.

Das war auch in der Vorgängerfirmware schon angedacht, dort fehlten aber Programmteile in „iw“, weshalb es dort nicht klappte. Kritisch ist auch das Timing, denn im Falle des Verbindungsverlustes ins Mesh ändern unsere Knoten ja ihre AP-SSID. Dann den AP-Modus abzuschalten und es als Client zu probieren, bedarf eines sauberen Timings; die Check-Skripte sollten sich nicht gegenseitig Sachen wegkonfigurieren … Kurzum: das muß noch getestet werden. (Falls das wie erhofft klapp, würden auch die meisten 4 MB-Geräte Firmware 1.0 bekommen.)

Fragen? Fragen!

1 „Gefällt mir“

Danke, jetzt sehe ich wieder klar. :slight_smile:

Santa’s bringing a new firmware — based on Gluon v2018.1.4, released yesterday :slight_smile:

00

FTR, es gibt den ersten Build von FW 1.1.1 basierend auf dem gestern veröffentlichten Gluon v2018.2:

lrwxrwxrwx 1 ffgt ffgt   45 Dez 30 01:27 gluon-4830-1.1.1~1-alfa-network-ap121.bin -> gluon-4830-1.1.1~1-alfa-network-hornet-ub.bin
lrwxrwxrwx 1 ffgt ffgt   45 Dez 30 01:27 gluon-4830-1.1.1~1-alfa-network-ap121u.bin -> gluon-4830-1.1.1~1-alfa-network-hornet-ub.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-alfa-network-hornet-ub.bin
-rw-r--r-- 1 ffgt ffgt 3,6M Dez 30 01:27 gluon-4830-1.1.1~1-alfa-network-n2-n5.bin
-rw-r--r-- 1 ffgt ffgt 3,6M Dez 30 01:27 gluon-4830-1.1.1~1-alfa-network-tube2h.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-buffalo-wzr-600dhp.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-buffalo-wzr-hp-ag300h.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-buffalo-wzr-hp-g300nh2.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-buffalo-wzr-hp-g300nh.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-buffalo-wzr-hp-g450h.bin
-rw-r--r-- 1 ffgt ffgt 7,6M Dez 30 01:27 gluon-4830-1.1.1~1-d-link-dir-505-rev-a1.bin
lrwxrwxrwx 1 ffgt ffgt   44 Dez 30 01:27 gluon-4830-1.1.1~1-d-link-dir-505-rev-a2.bin -> gluon-4830-1.1.1~1-d-link-dir-505-rev-a1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-gl-inet-6408a-v1.bin
-rw-r--r-- 1 ffgt ffgt  16M Dez 30 01:27 gluon-4830-1.1.1~1-gl-inet-6416a-v1.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-linksys-wrt160nl.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-netgear-wndr3700.img
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-netgear-wndr3700v2.img
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-netgear-wndr3800.img
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-netgear-wndrmacv2.img
-rw-r--r-- 1 ffgt ffgt  16M Dez 30 01:27 gluon-4830-1.1.1~1-onion-omega.bin
lrwxrwxrwx 1 ffgt ffgt   35 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-a40.bin -> gluon-4830-1.1.1~1-openmesh-a60.bin
-rw-r--r-- 1 ffgt ffgt 4,3M Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-a60.bin
-rw-r--r-- 1 ffgt ffgt 4,1M Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-mr1750.bin
lrwxrwxrwx 1 ffgt ffgt   38 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-mr1750v2.bin -> gluon-4830-1.1.1~1-openmesh-mr1750.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-mr600.bin
lrwxrwxrwx 1 ffgt ffgt   37 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-mr600v2.bin -> gluon-4830-1.1.1~1-openmesh-mr600.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-mr900.bin
lrwxrwxrwx 1 ffgt ffgt   37 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-mr900v2.bin -> gluon-4830-1.1.1~1-openmesh-mr900.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om2p.bin
lrwxrwxrwx 1 ffgt ffgt   36 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om2p-hs.bin -> gluon-4830-1.1.1~1-openmesh-om2p.bin
lrwxrwxrwx 1 ffgt ffgt   36 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om2p-hsv2.bin -> gluon-4830-1.1.1~1-openmesh-om2p.bin
lrwxrwxrwx 1 ffgt ffgt   36 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om2p-hsv3.bin -> gluon-4830-1.1.1~1-openmesh-om2p.bin
lrwxrwxrwx 1 ffgt ffgt   36 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om2p-hsv4.bin -> gluon-4830-1.1.1~1-openmesh-om2p.bin
lrwxrwxrwx 1 ffgt ffgt   36 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om2p-lc.bin -> gluon-4830-1.1.1~1-openmesh-om2p.bin
lrwxrwxrwx 1 ffgt ffgt   36 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om2pv2.bin -> gluon-4830-1.1.1~1-openmesh-om2p.bin
lrwxrwxrwx 1 ffgt ffgt   36 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om2pv4.bin -> gluon-4830-1.1.1~1-openmesh-om2p.bin
-rw-r--r-- 1 ffgt ffgt 4,1M Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om5p-ac.bin
lrwxrwxrwx 1 ffgt ffgt   39 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om5p-acv2.bin -> gluon-4830-1.1.1~1-openmesh-om5p-ac.bin
lrwxrwxrwx 1 ffgt ffgt   36 Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om5p-an.bin -> gluon-4830-1.1.1~1-openmesh-om5p.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-openmesh-om5p.bin
-rw-r--r-- 1 ffgt ffgt  16M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-archer-c5-v1.bin
-rw-r--r-- 1 ffgt ffgt  16M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-archer-c7-v2.bin
-rw-r--r-- 1 ffgt ffgt 4,0M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-archer-c7-v4.bin
-rw-r--r-- 1 ffgt ffgt 4,0M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-archer-c7-v5.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-cpe210-v1.0.bin
lrwxrwxrwx 1 ffgt ffgt   42 Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-cpe210-v1.1.bin -> gluon-4830-1.1.1~1-tp-link-cpe210-v1.0.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-cpe210-v2.0.bin
lrwxrwxrwx 1 ffgt ffgt   42 Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-cpe220-v1.1.bin -> gluon-4830-1.1.1~1-tp-link-cpe210-v1.0.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-cpe510-v1.0.bin
lrwxrwxrwx 1 ffgt ffgt   42 Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-cpe510-v1.1.bin -> gluon-4830-1.1.1~1-tp-link-cpe510-v1.0.bin
lrwxrwxrwx 1 ffgt ffgt   42 Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-cpe520-v1.1.bin -> gluon-4830-1.1.1~1-tp-link-cpe510-v1.0.bin
-rw-r--r-- 1 ffgt ffgt 4,0M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-re450.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wdr3500-v1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wdr3600-v1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wdr4300-v1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr1043n-nd-v1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr1043n-nd-v2.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr1043n-nd-v3.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr1043n-nd-v4.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr1043n-v5.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr2543n-nd-v1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr710n-v1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr710n-v2.1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr810n-v1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr842n-nd-v1.bin
-rw-r--r-- 1 ffgt ffgt 7,8M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr842n-nd-v2.bin
-rw-r--r-- 1 ffgt ffgt  16M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-tl-wr842n-nd-v3.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-wbs210-v1.20.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-tp-link-wbs510-v1.20.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-airgateway.bin
lrwxrwxrwx 1 ffgt ffgt   42 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-airgateway-lr.bin -> gluon-4830-1.1.1~1-ubiquiti-airgateway.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-airgateway-pro.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-airrouter.bin
lrwxrwxrwx 1 ffgt ffgt   40 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-bullet-m2.bin -> gluon-4830-1.1.1~1-ubiquiti-bullet-m.bin
lrwxrwxrwx 1 ffgt ffgt   40 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-bullet-m5.bin -> gluon-4830-1.1.1~1-ubiquiti-bullet-m.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-bullet-m.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-loco-m-xw.bin
lrwxrwxrwx 1 ffgt ffgt   40 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-loco-m2.bin -> gluon-4830-1.1.1~1-ubiquiti-bullet-m.bin
lrwxrwxrwx 1 ffgt ffgt   41 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-loco-m2-xw.bin -> gluon-4830-1.1.1~1-ubiquiti-loco-m-xw.bin
lrwxrwxrwx 1 ffgt ffgt   40 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-loco-m5.bin -> gluon-4830-1.1.1~1-ubiquiti-bullet-m.bin
lrwxrwxrwx 1 ffgt ffgt   41 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-loco-m5-xw.bin -> gluon-4830-1.1.1~1-ubiquiti-loco-m-xw.bin
lrwxrwxrwx 1 ffgt ffgt   45 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-m2.bin -> gluon-4830-1.1.1~1-ubiquiti-nanostation-m.bin
lrwxrwxrwx 1 ffgt ffgt   48 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-m2-xw.bin -> gluon-4830-1.1.1~1-ubiquiti-nanostation-m-xw.bin
lrwxrwxrwx 1 ffgt ffgt   45 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-m5.bin -> gluon-4830-1.1.1~1-ubiquiti-nanostation-m.bin
lrwxrwxrwx 1 ffgt ffgt   48 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-m5-xw.bin -> gluon-4830-1.1.1~1-ubiquiti-nanostation-m-xw.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-m.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-nanostation-m-xw.bin
lrwxrwxrwx 1 ffgt ffgt   40 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-picostation-m2.bin -> gluon-4830-1.1.1~1-ubiquiti-bullet-m.bin
lrwxrwxrwx 1 ffgt ffgt   40 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m2.bin -> gluon-4830-1.1.1~1-ubiquiti-rocket-m.bin
lrwxrwxrwx 1 ffgt ffgt   43 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m2-ti.bin -> gluon-4830-1.1.1~1-ubiquiti-rocket-m-ti.bin
lrwxrwxrwx 1 ffgt ffgt   43 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m2-xw.bin -> gluon-4830-1.1.1~1-ubiquiti-rocket-m-xw.bin
lrwxrwxrwx 1 ffgt ffgt   40 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m5.bin -> gluon-4830-1.1.1~1-ubiquiti-rocket-m.bin
lrwxrwxrwx 1 ffgt ffgt   43 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m5-ti.bin -> gluon-4830-1.1.1~1-ubiquiti-rocket-m-ti.bin
lrwxrwxrwx 1 ffgt ffgt   43 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m5-xw.bin -> gluon-4830-1.1.1~1-ubiquiti-rocket-m-xw.bin
-rw-r--r-- 1 ffgt ffgt 3,8M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m-ti.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-rocket-m-xw.bin
lrwxrwxrwx 1 ffgt ffgt   37 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-unifi-ap.bin -> gluon-4830-1.1.1~1-ubiquiti-unifi.bin
lrwxrwxrwx 1 ffgt ffgt   37 Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-unifi-ap-lr.bin -> gluon-4830-1.1.1~1-ubiquiti-unifi.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-unifiap-outdoor.bin
-rw-r--r-- 1 ffgt ffgt 3,9M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-unifiap-outdoor+.bin
-rw-r--r-- 1 ffgt ffgt 3,9M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-unifi-ap-pro.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-ubiquiti-unifi.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-wd-my-net-n600.bin
-rw-r--r-- 1 ffgt ffgt 3,7M Dez 30 01:27 gluon-4830-1.1.1~1-wd-my-net-n750.bin
-rw-r--r-- 1 ffgt ffgt 8,4M Dez 30 01:05 gluon-4830-1.1.1~1-x86-64.img.gz
-rw-r--r-- 1 ffgt ffgt  26M Dez 30 01:05 gluon-4830-1.1.1~1-x86-64.vdi
-rw-r--r-- 1 ffgt ffgt  22M Dez 30 01:05 gluon-4830-1.1.1~1-x86-64.vmdk
-rw-r--r-- 1 ffgt ffgt  15M Dez 30 01:27 gluon-4830-1.1.1~1-zyxel-nbg6616.bin

Das ganze läuft unter “master” und hat die gleiche Codegüte wie “rawhide” — frisch und ungetestet aus dem Compiler :wink:

Hier wird der Schnitt dann vollzogen, für Geräte mit 4/32 MB (Flash/RAM) wird keine FW mehr gebaut.

Oh, ich stelle gerade fest, daß die AVM-Builds fehlen, das dürfte an diesem »Feature« liegen, dokumentiert in den ReleaseNotes von Gluon v2018.2:

(1, 2) AP+IBSS mode unsupported: This target is not built when GLUON_WLAN_MESH is set to ibss .

Für »master« hatte ich das ja irgendwie hinbekommen, aber es hat sich gezeigt, daß die 4040 mit der IBSS-Firmware nicht wirklich stabil läuft. Nach Firmware 1.0 steht also wirklich er Wechsel des Mesh-Funkprotokolls von IBSS (aka »Ad-Hoc«) auf 802.11s an …

Aufruf von 10.255.0.1 gibt mir gerade:
Error
500 Internal Server Error

Sorry, the server encountered an unexpected error.

Failed to execute dispatcher target for entry ‘/’.
The called action terminated with an exception:
/lib/gluon/status-page/controller/status-page.lua:58: attempt to index local ‘n’ (a nil value)

Hmm. Sicherheitshalber bitte mal bei der FW-Version dies (also die awk-Zeile) ausführen:

root@33332-Schalueckstr-107-11d9:~# awk < /lib/gluon/status-page/controller/status-page.lua 'BEGIN{ln=0;} {ln=ln+1; if (ln>50 && ln<70) printf("%3d: %s\n", ln, $0);}'
 51: local n=n.parse(h.exec('exec gluon-neighbour-info -d ::1 -p 1001 -t 1 -c 1 -r nodeinfo'))
 52: local t=o(e:getenv('SERVER_ADDR'))
 53: if t and(
 54: a(t,o(i.next_node.ip4()),8)or
 55: a(t,o(i.next_node.ip6()),8)
 56: )then
 57: local i=o(i.prefix6():match('^[^/]+'))
 58: for n,t in ipairs(n.network.addresses)do
 59: if a(i,o(t),4)then
 60: e:header('Cache-Control','no-cache, no-store, must-revalidate')
 61: e:redirect('http://['..t..']'..e:getenv('REQUEST_URI'))
 62: e:close()
 63: return
 64: end
 65: end
 66: end
 67: s.render('status-page',{nodeinfo=n},'gluon-status-page')
 68: end))

Danke :wink:

root@33332-freifunk-buschkoettersweg:~# awk < /lib/gluon/status-page/controller/status-page.lua 'BEGIN{ln=0;} {ln=ln+1; if (ln>50 && ln<70) printf("%3d: %s\n", ln, $0);}'
 51: local n=n.parse(h.exec('exec gluon-neighbour-info -d ::1 -p 1001 -t 1 -c 1 -r nodeinfo'))
 52: local t=o(e:getenv('SERVER_ADDR'))
 53: if t and(
 54: a(t,o(i.next_node.ip4()),8)or
 55: a(t,o(i.next_node.ip6()),8)
 56: )then
 57: local i=o(i.prefix6():match('^[^/]+'))
 58: for n,t in ipairs(n.network.addresses)do
 59: if a(i,o(t),4)then
 60: e:header('Cache-Control','no-cache, no-store, must-revalidate')
 61: e:redirect('http://['..t..']'..e:getenv('REQUEST_URI'))
 62: e:close()
 63: return
 64: end
 65: end
 66: end
 67: s.render('status-page',{nodeinfo=n},'gluon-status-page')
 68: end))

Demnach war n leer, und n war das Ergebnis von exec gluon-neighbour-info -d ::1 -p 1001 -t 1 -c 1 -r nodeinfo … Wie hast Du das geschafft?

Tja, und bis 1.0.0~116 (und 1.1.1~6) einschließlich fehlte das auch in dieser :frowning:

Nun ist’s aber drin:

  OS: 17.01-SNAPSHOT, r3981+104-184fe1    FW: 1.0.0~117                       
  HW: TP-Link TL-WR841N/ND v8                                             
root@33332-FWTest-a0f3c1058b90:~# iw help 2>&1 | grep connect
        dev <devname> connect [-w] <SSID> [<freq in MHz>] [<bssid>] [key 0:abcde d:1:6162636465]
                With -w, wait for the connect to finish or fail.
        dev <devname> disconnect
                Disconnect from the current network.
                Set connection quality monitor RSSI threshold.

Ebenfalls drin ist nun auch das entspechende Package — das fehlte leider auch, da nicht commited :frowning:

root@33332-FWTest-a0f3c1058b90:~# echo /etc/config/autoupdater*
/etc/config/autoupdater /etc/config/autoupdater-wifi-fallback

Ich brauch’ Urlaub! :wink:

1 „Gefällt mir“

Guten Morgen Kai. Nicht bewusst dass ich etwas außerhalb der normalen Nutzung gemacht hätte :roll_eyes:

Und ja, danke noch einmal für die viele Arbeit in der Freizeit in den letzten Wochen! Jetzt bin ich am Montag leider doch nicht dabei (München und so), gebe dir aber das nächste mal ein Bier aus.

Das ist nicht ganz korrekt, “master” (pre-Gluon v2018.2/FW 1.1.0, und Gluon v2018.2/FW 1.1.1) hatten das “iw connect”-Feature nicht mehr rausgepatched; aber das autoupdater-wifi-fallback-Package fehlte dennoch:

  OS: 18.06-SNAPSHOT, r7204+7-8be3af9     FW: 1.1.0~14                        
  HW: AVM FRITZ!Box 4040                                                  
root@33332-FB4040-Test-S107-c3a7:~# iw help 2>&1 | grep connect
        dev <devname> connect [-w] <SSID> [<freq in MHz>] [<bssid>] [key 0:abcde d:1:6162636465] [mfp:req/opt/no]
                With -w, wait for the connect to finish or fail.
        dev <devname> disconnect
                Disconnect from the current network.
root@33332-FB4040-Test-S107-c3a7:~# echo /etc/config/autoupdater*
/etc/config/autoupdater

Nice (not): Es war noch ein Bug im tecff-autoupdater-wifi-fallback-Paket, es wurde [gluon.]util.readfile() verwendet, diese Funktion gibt’s aber weder in Gluon v2017.x noch v2018.x. Somit wurde der Cron-Job für den WiFi-Fallback-Autoupdater nicht installiert, wodurch diese Funktionalität weiterhin nicht verfügbar war. Fixed ab 1.0.0~120 (baut gerade)/1.1.1~10 (baut gerade).

Test mit http://map.4830.org/ffgt/#!v:m;n:f8d111bd5e24

Zu früh gefreut:

root@33330-mail-de-AVM4020-test:~# /lib/gluon/upgrade/510-autoupdater-wifi-fallb
ack
/usr/bin/lua: /lib/gluon/upgrade/510-autoupdater-wifi-fallback:4: module ‘nixio.fs’ not found:
no field package.preload[‘nixio.fs’]

==> 1.1.1~10 ist auch noch broken :frowning:

Success! FW 1.0.0~123 hat sich offline (ohne Kontakt zum Mesh) auf 1.0.0~124 aktualisiert (und dazu als Client ins Netz eingeklinkt):


Bildschirmfoto-321

Dauerte länger als geplant, aber es klappte, yeah!

Aktuell läuft nun der Test mit 1.1.1~14 (http://map.4830.org/ffgt/#!v:m;n:444e6d0fba4f), die 4020 sollte sich auf die ohne Codeänderungen gebaute, faktisch also zu 1.1.1~14 identische, Version 1.1.1~15 aktualisieren, während sie selbst offline ist (mesh-only-Knoten mit manuell veränderter /etc/config/wireless, sodaß kein Meshing möglich ist und ein Update nur als Client funktioniert).

Release, ick hör’ Dir trapsen!

2 „Gefällt mir“

Wenn ich soll, würde ich es auch testen. Muss dann nur meinen 841v9 Knoten händisch auf 1.0.0~123 aktualisieren.
@wusel wie schaffe ich das Firmware Update direkt auf die ältere Version?

Moin,

cd /tmp; wget http://firmware.4830.org/.../gluon...1.0.0~123… ; sysupgrade -v gluon-…

Aus’m Kopf, aber sollte klappen. IIRC prüft nur der autoupater die Versionssummern, sysupgrade macht up- oder downgrade.

Ciao,
-kai

Wie lang brauch er, bis er sich als Client ins Netz einwählt?

OS: 17.01-SNAPSHOT, r3981+104-184fe1 FW: 1.0.0~123
HW: TP-Link TL-WR841N/ND v9
root@50767-TEST-TEST:~#

123er Firmware ist instaliert. Auf meinen Hauptknoten ist das Mesh deaktiviert und es läuft nur noch das Client WLAN.