Bei einem Sysupgrade eines EdgeRouter X (X-SFP) von Gluon v2019.x (oder älter) auf Gluon v2020.1 (oder neuer) kann es zu einem Soft-Brick kommen!
Eine Lösungsansatz zu dem Problem ist hier beschrieben: >> ERX-Sysupgrade-Problem.md <<
Mit Gluon v2020.1 gab es einen Wechsel des NAND-Flash-Handlings bei Ubiquiti EdgeRouter X (X-SFP).
Die hier bereitgestellte Beschreibung setzt zwingend voraus, dass "nach" dem Aufspielen eines hier angebotenen Factory-Images eine Community-spezifisches Freifunk-Firmware mit der Gluon-Version v2020.1 (oder neuer) auf den ERX-Router aufgespielt werden muss!
Wird jedoch eine Community-spezifisches Firmware auf Basis von Gluon v2019.x (oder älter) aufgespielt, so kann dieses zu einem Soft-Brick führen. (Siehe Gluon-Issue #1937)
In dem Falle, dass im Nachhinein eine Community-spezifisches Freifunk-Firmware auf Basis von Gluon v2019.x (oder älter) aufgespielt werden soll, sind anstelle der weiter unten aufgeführten/verlinkten Images jene Images mit vorangeführtem "Gluon2018.1.2" zu verwenden!
Mit Hilfe dieses Projektes kann ein EdgeRouter X sehr einfach über das Web-GUI der UBNT-Stockfirmware in einen Gluon-Router umgeflasht werden.
Weiterhin wird beschrieben, wie über die Konsole ein EdgeRouter X mit einer bereits aufgespielten Gluon- oder OpenWrt-Firmware auf die UBNT-Stockfirmware zurückgeflasht werden kann.
Die folgende Anleitung gilt für die Ubiquiti Router ER-X und ER-X-SFP:
EdgeRouter X | EdgeRouter X-SFP |
---|---|
Dieses Projekt stellt generische (Community-unabhängige) Gluon-initramfs-Factory-Images bereit.
Es handelt sich bei den Images um eine abgespeckte Gluon-Version.
Bei dem Bauen der Gluon-Firmware fällt aus Router-technischen Gründen kein Factory-Image für den UBNT-EdgeRouter X heraus. Wenn Gluon auf einen EdgeRouter X aufgespielt werden soll, dann muss man bisher auf die interne serielle Schnittstelle des Routers zurückgreifen, oder man muß sich mit einem generischen Lede-Image aushelfen. Es ist auf jeden Fall immer ein mehrphasiges Vorgehen inkl. Konsolennutzung notwendig.
Folgend wird eine weitere, aber deutlich einfachere Flash-Möglichkeit beschrieben. Ein Community-spezifisches Gluon kann indirekt über den Weg des Web-GUI der UBNT-Stockfirmware auf einen EdgeRouter X geflasht werden. Die Prozedur ist ebenfalls mehrphasig.
Die hier downloadbaren generischen Gluon-Factory-Images können direkt über das Web-GUI der UBNT-Stockfirmware geflasht werden. Sie bieten dann danach dem Nutzer die Möglichkeit ein Sysupgrade-Image einer beliebigen Community über die Gluon-Konfigseite einzuspielen. Die komplett abgespeckten generischen Gluon-Factory-Images sind ansonsten funktionslos.
Wenn ein EdgeRouter X auf Gluon umgeflasht werde soll, dann wird folgendes benötigt:
- Ein hier bereitgestelltes generisches Gluon-initramfs-Factory-Image:
- Für einen EdgeRouter X: Gluon2020.1-ubnt-erx-initramfs-factory.tar
- Für einen EdgeRouter X-SFP: Gluon2020.1-ubnt-erx-sfp-initramfs-factory.tar
- Ein Community-spezifisches Gluon-Sysupgrade-Image für einen EdgeRouter X, EdgeRouter X-SFP.
- Ein neuer EdgeRouter X hat die feste IP 192.168.1.1, es läuft kein DHCP auf dem Router.
- Der EdgeRouter X muß über den eth0-Port (WAN) mit einem PC verbunden werden.
- Der verbundendene PC muss mit einer passenden statischen IP konfiguriert werden (z.B. 192.168.1.20).
- Der EdgeRouter X ist nun über https://192.168.1.1/ zu erreichen.
- Nach dem Login (Benutzer: "ubnt", Passwort: "ubnt") dann unten links auf 'System' klicken.
- Im Fenster runterscrollen und bei "Upgrade System Image" eines der hier bereitgestellten generischen Gluon-initramfs-Factory Images verwenden.
- Den Anweisungen folgen (inkl. Reboot).
- Weiter mit Phase 2
- Nach dem Booten des EdgeRouters ist die Gluon-Konfigseite per Web-Browser über http://192.168.1.1/ zu ereichen.
- Der EdgeRouter X muß nun über einen der Ports eth1-4 (LAN) mit dem PC verbunden werden.
- Den PC ggf. wieder so konfigurieren, dass er seine IP per DHCP erhält.
- Evtl. den Browser-Cache, -Verlauf, etc. löschen. Es kann sonst zu Browser-Problemen wegen des vorherigen http"s"-Zugriffs auf 192.168.1.1 kommen.
- Nun über die Gluon-Konfigseite ein Sysupgrade mit einem Sysupgrade-Image einer beliebigen Community durchführen.
- Weiter mit Phase 3
- Nach dem Booten sollte über http://192.168.1.1/ die Gluon-Konfigseite der Community-spezifischen Firmware angezeigt werden.
- Konfiguration des Knotens nach eigenem Ermessen durchführen.
Done!
Gute Nachrichten:
Ein EdgeRouter X mit einer bereits aufgespielten Gluon- oder OpenWrt-Firmware läßt sich sehr einfach über die Konsole auf die original UBNT-Stockfrimware zurückflashen.
Dieses Projekt basiert auf einem initramfs-Kernel. Ein Gluon/OpenWrt EdgeRouter X kann mit Hilfe der folgenden Anleitung überredet werden, diesen initramfs-Kernel beim Booten zu laden. Danach liegt ein Gluon-System vor, welches vollständig im RAM abläuft (der Kernel, wie auch das Filesystem). Dadurch wird der Flash-Speicher von der laufenden Firmware nicht eingebunden. Somit kann dort (im Flash-Speicher) die UBNT-Stockfirmware ohne Probleme abgelegt werden. Die Prozedur ist mehrphasig.
Wenn ein Gluon- oder OpenWrt-EdgeRouter zurück auf die UBNT-Stockfirmware geflasht werde soll, dann wird folgendes benötigt:
- Ein hier bereitgestelltes "Back to Stock"-initramfs-Binary
- Für einen EdgeRouter X: Gluon2020.1-back-to-stock-ubnt-erx-initramfs-kernel.bin
- Für einen EdgeRouter X-SFP: Gluon2020.1-back-to-stock-ubnt-erx-sfp-initramfs-kernel.bin
- Eine original UBNT Stockfirmware für den EdgeRouter X, EdgeRouter X-SFP: https://www.ubnt.com/download/edgemax/edgerouter-x
- Das "Back to Stock"-initramfs-Binary irgendwie auf den umzuflashenden Gluon- bzw. OpenWrt-EdgeRouter in den Ordner
/tmp
transferieren (z.B. mit "scp"). - Per SSH auf den umzuflashenden Gluon- bzw. OpenWrt-EdgeRouter verbinden.
- Auf der Router-Konsole wird dann das "Back to Stock"-initramfs-Binary in die Flash-Kernel-Partitionen "mtdblock3" und "mtdblock4" übertragen:
- Bei einem EdgeRouter X bitte folgende Befehlsfolge verwenden:
dd if=/tmp/Gluon2020.1-back-to-stock-ubnt-erx-initramfs-kernel.bin of=/dev/mtdblock3 dd if=/tmp/Gluon2020.1-back-to-stock-ubnt-erx-initramfs-kernel.bin of=/dev/mtdblock4
- Bei einem EdgeRouter X-SFP bitte folgende Befehlsfolge verwenden:
dd if=/tmp/Gluon2020.1-back-to-stock-ubnt-erx-sfp-initramfs-kernel.bin of=/dev/mtdblock3 dd if=/tmp/Gluon2020.1-back-to-stock-ubnt-erx-sfp-initramfs-kernel.bin of=/dev/mtdblock4
- Mit
'reboot'
den EdgeRouter X neu starten. - Weiter mit Phase 2
- Der EdgeRouter X muß über einen der Ports eth1-4 (LAN) mit einem PC verbunden werden.
- Den PC ggf. so konfigurieren, dass er seine IP per DHCP erhält.
- Die UBNT-Stockfirmware auf dem PC lokal entpacken und die Dateien
version.tmp, squashfs.tmp, squashfs.tmp.md5, und vmlinux.tmp
irgendwie auf den umzuflashenden EdgeRouter X in den Ordner/tmp
transferieren (z.B. mit "scp"). - Bitte wirklich /tmp als Zielpfad verwenden. Ansonsten können die folgenden Befehlsfolgen zu einem Brick des Routers führen!
- Dann mittels
'ssh [email protected]'
auf dem EdgeRouters X einloggen (ein Passwort wird nicht abgefragt). - Auf der Router-Konsole wird nun mit folgenden Befehlen die UBNT-Stockfirmware auf den EdgeRouters X geflasht:
ubidetach -p /dev/mtd5
ubiformat /dev/mtd5
ubiattach -p /dev/mtd5
ubimkvol /dev/ubi0 --vol_id=0 --lebs=1925 --name=troot
mount -o sync -t ubifs ubi0:troot /mnt/
cp /tmp/version.tmp /mnt/version
cp /tmp/squashfs.tmp /mnt/squashfs.img # <- Das kann 1-2 Minuten dauern...
cp /tmp/squashfs.tmp.md5 /mnt/squashfs.img.md5
dd if=/tmp/vmlinux.tmp of=/dev/mtdblock3
dd if=/tmp/vmlinux.tmp of=/dev/mtdblock4
- Mit
'reboot'
den EdgeRouter X neu starten. - Weiter mit Phase 3
- Ein neuer EdgeRouter X hat die feste IP 192.168.1.1, es läuft kein DHCP auf dem Router.
- Der EdgeRouter X muß über den eth0-Port (WAN) mit einem PC verbunden werden.
- Der verbundene PC muss mit einer passenden statischen IP konfiguriert werden (z.B. 192.168.1.20).
- Das UBNT Web-GUI ist nach dem Booten und nach ca. 2 Minuten per Web-Browser über https://192.168.1.1/ zu erreichen.
- Evtl. den Browser-Cache, -Verlauf, etc. löschen. Es kann sonst zu Browser-Problemen wegen der vorherigen http / https-Zugriffe auf 192.168.1.1 kommen.
- Nach dem Anmelden (Benutzer: "ubnt", Passwort: "ubnt") den EdgeRouter X nach Belieben konfigurieren.
Done!
Siehe Bauanleitung zu diesem Projekt.
- FF-Greifswald: Test: EdgeRouter X als Offloader
- OpenWRT Wiki: Ubiquiti EdgeRouter X (ER-X), EdgeRouter X-SFP (ER-X-SFP) and EdgePoint R6 (EP-R6)
- FF-Winterberg: Die Nutzung von Ubiquiti EdgeRouter-X als Freifunk Offloader
- ERX, ERX-SFP System Recovery per serieller Schnittstelle und TFTP
- Sector5D-Blog: OpenWRT on the Ubiquiti EdgeRouter X