Die folgende Anleitung gilt für die Ubiquiti Router ER-X und ER-X-SFP:
https://www.freifunk-winterberg.net/die-nutzung-von-ubiquiti-edgerouter-x-als-freifunk-offloader/
EdgeRouter X | EdgeRouter X-SFP |
---|---|
![]() |
![]() |
Frohes Freifunken.
————————————————————————————————————————- Zurück zum Inhalt:
Wenn der Router einmal gebrickt ist, also es besteht kein Zugriff mehr über die externen Schnittstellen, hier im folgenden einige Rettungsversuche.
Unter /etc/config/network ist ein Abschnitt, der die interne Adresse beschreibt. Der Zugriff auf das Gerät erfolgt über einen Client-Port oder im Konfig-Modus nach einem langen Reset. Die local IP ist/kann je nach Freifunk-Community unterschiedlich sein.
config interface 'local_node'
option ifname 'local-node'
option ipaddr '10.196.0.127/17'
option ip6addr 'fd2f:5119:0f2c::127/128'
option ip6deprecated '1'
option proto 'static'
SSH starten und mit root@fd2f:5119:0f2c::127
verbindung aufnehmen.
Wenn es keine Verbindung gibt, müssen wir die serielle Schnittstelle verwenden.
Ich habe durch diverse Konfigurationen den Router unbrauchbar gemacht. Keine Panik, es gibt die serielle Schnittstelle im Router, also Aufschrauben bitte. Auf der rechten Seite am Rand sind 4 Pins eingelötet an der ein Seriell-USB Adapter angeschlossen werden kann.
[Bild: UBNT-ERX-SFP_Rückseite]
[Bild: UBNT-ERX-SFP_Rückseite_öffnen]
[Bild: UBNT-ERX-SFP_Serielle_Pins]
[Bild: UBNT-ERX-SFP_Seriell]
Wer den Bootvorgang aufzeichnen möchte, verbindet den USB Adapter vor Inbetriebnahme mit dem PC und startet ein Terminal Programm. Unter Windows z.B. TeraTerm und LOG einschalten.
Der serielle Adapter hat sich bei mir unter COM 8 installiert. (Das Windows Terminal kann original nur bis COM 4).
Wenn es nicht klappt, den Apapter irgenwie in den Bereich Com 1 - Com 4 bringen!
Geschwindigkeit: 57600 / 8 / N / 1 einstellen. Router Einschalten.
Wenn am Ende des Bootvorgangs ungefähr folgende Ausgabe übrig bleibt, dann ist der Router am Leben und alle Einstellungen können über die Konsole geändert werden.
BusyBox v1.25.1 () built-in shell (ash)
_________
/ /\ _ ___ ___ ___
/ LE / \ | | | __| \| __|
/ DE / \ | |__| _|| |) | _|
/________/ LE \ |____|___|___/|___| lede-project.org
\ \ DE /
\ LE \ / -----------------------------------------------------------
\ DE \ / Reboot (17.01-SNAPSHOT, r3881+51-999bb66b20)
\________\/ -----------------------------------------------------------
root@ffhb-fcecda7f28e1-UBNT-ERX-SFP:/#
Also daran Denken, vor dem Basteln einmal kurz /etc/config/ von der Kiste sichern, erleichtert viel Tiparbeit. Bei komplexeren Installationen sind einige Konfigs auch unter /var/ und /root/ abgelegt.
An dieser Stelle waren alle Wiederbelebungsversuche erfolglos?, keine Panik. Es wird nun eine neue Freifunk- oder Originalfirmware eingespielt. Wir brauchen:
Bedeutung des externen Switch: In dem Bootloader eines jeden Routers ist eine Abfrage eingebaut, die einen kurzen Moment eine bestimmte IP Adresse nach einem Image per TFTP fragt. Wenn euer PC zu langsam den LAN-Port hochfährt und ihr den nicht dauerhaft einschalten könnt, rennt der Router im Bootvorgang weiter und das Image wird nicht geladen. Der Switch hält die Verbindung zum PC, sodass der Router den PC findet, wenn er nach dem Image fragt.
ER-X /SFP flashen:
Der Bootvorgang wird für 5 Sekunden angehalten, auf der Konsole ist folgendes Menü. 5 Sekunden zum drücken der 2
Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
7: Load Boot Loader code then write to Flash via Serial.
9: Load Boot Loader code then write to Flash via TFTP.
default: 3
You choosed 2
Jetzt lädt der Router das FF-Image, bootet und alles ist wieder gut.
Die original Firmware benötigt einen zusätzlichen Schritt.
Der Rückfall auf die originale Firmware ist nicht ganz einfach, da es kein Binary dafür gibt. Beim Upgrade im Originalzustand wird ein gepacktes .tar File verwendet aus dem Kernel und Aplikation ins nand geschrieben werden. Diesen Weg müssen wir nun manuell durchlaufen, wobei wir nicht auf uns selber schreiben können. Es muss also ein Betriebssystem geladen werden, welches nur im RAM (Arbeitsspeicher) läuft, sodass wir das nand beschreiben können.
squashfs.tmp.md5
squashfs.tmp
vmlinux.tmp.md5
compat
version.tmp
vmlinux.tmp
ER-X Netzkabel anstecken und sehen, das die Ausgaben im Terminal lesbar sind.
5 Sekunden zum drücken der 1
Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
7: Load Boot Loader code then write to Flash via Serial.
9: Load Boot Loader code then write to Flash via TFTP.
default: 3
1 Auswählen und das .bin auswählen, die anderen Auswahlmöglichkeiten nur bestätigen. (wer das öfter macht, gibt hier andere Adressen an, um später nicht wieder neue Adressen einzugeben)
Das .bin wird hochgeladen und bootet. Punkt 9. wird nun übersprungen. Ausgabe:
BusyBox v1.26.2 () built-in shell (ash)
_________
/ /\ _ ___ ___ ___
/ LE / \ | | | __| \| __|
/ DE / \ | |__| _|| |) | _|
/________/ LE \ |____|___|___/|___| lede-project.org
\ \ DE /
\ LE \ / -----------------------------------------------------------
\ DE \ / Reboot (SNAPSHOT, r3742-894ee95)
\________\/ -----------------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@LEDE:/# ls
bin etc lib overlay rom sbin tmp var
dev init mnt proc root sys usr www
root@LEDE:/#
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
cp /tmp/squashfs.tmp.md5 /mnt/squashfs.img.md5
letzter Schritt, kopieren.
dd if=/tmp/vmlinux.tmp of=/dev/mtdblock3
dd if=/tmp/vmlinux.tmp of=/dev/mtdblock4
Reboot tut immer gut, fertig. Wenn allses erfolgreich war, mit ubnt & ubnt Anmelden. Kabel wieder auf eth0 umstecken, und geht. https:/192.168.1.1 (Stolperstein https. Browser-Cache löschen hilft, wenn die Seite nicht aufgerufen werden kann.)
Ab der 2018.1.7 kann POE über das Konfigurationsinterface / Webinterface EIN oder AUS geschaltet werden. Lange den Reset Knopf drücken und über den Internetbrowser die 192.168.1.1 aufrufen. Auf der Seite der Erweiterten Einstellungen finden sich die POE Ports, die mit einem einfachen Haken bedient werden. Der POE Satus wird über LED auf der Geräteoberseite angezeigt.
Im Openwrt WIKI steht noch, das einige Pakete installiert werden müssen, diese sind bereits enthalten. Dieser Schritt nur der Vollständigkeit halber.
https://wiki.openwrt.org/toh/ubiquiti/ubiquiti_edgerouter_x_er-x_ka
PoE out on EdgeRouter X-SFP and EdgePoint R6
The routers can supply PoE on the LAN ports. This is controlled by a PCA9555A with GPIO 0..4.
In order to get this running you need:
install "kmod-i2c-gpio-custom" (pulls gpio and algo-bitbang)
install "kmod-gpio-pca953x"
"insmod i2c-gpio-custom bus0=0,3,4"
"echo pca9555 0x25 >/sys/bus/i2c/devices/i2c-0/new_device"
export the GPIOs 496..500 (/sys/class/gpio/)
After reboot you need to run insmod and the echo line below to allow on/off functionality.
insmod i2c-gpio-custom bus0=0,3,4
echo pca9555 0x25 >/sys/bus/i2c/devices/i2c-0/new_device
Hier der direkte Weg:
#Turn on POE all ports except eth0(WAN)
#eth0 WAN port
echo "496" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio496/direction
echo "0" > /sys/class/gpio/gpio496/value
#eth1
echo "497" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio497/direction
echo "1" > /sys/class/gpio/gpio497/value
#eth2
echo "498" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio498/direction
echo "1" > /sys/class/gpio/gpio498/value
#eth3
echo "499" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio499/direction
echo "1" > /sys/class/gpio/gpio499/value
#eth4
echo "500" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio500/direction
echo "1" > /sys/class/gpio/gpio500/value
und wieder aus:
#Turn off POE all ports except eth0(WAN)
echo "0" > /sys/class/gpio/gpio496/value
echo "0" > /sys/class/gpio/gpio497/value
echo "0" > /sys/class/gpio/gpio498/value
echo "0" > /sys/class/gpio/gpio499/value
echo "0" > /sys/class/gpio/gpio500/value
UCI Befehle folgen.
Folgende Konfiguration beschreibt, wie auf den LANports Mesh und Client aufgeteilt wird. Beachte, die Konfiguration ist nicht upgradefest und im Experimentierstatus, also keine Gewähr, dass es funktioniert. Um die Konfiguration zu verstehen, ist es hilfreich, sich die Unterschiede der /etc/config/network anzusehen, wenn der Router einmal als Mesh und dann als Client konfiguriert ist. Mir erscheint es am Einfachsten zu sein, wenn der Router auf Mesh konfiguriert ist. Dann werden die benötigten Ports auf Client verbogen. Im diesem Schritt habe ich auf die Ports 3+4 das Clientnetz gelegt:
network.@switch_vlan[0].ports='1 2 6t'
[...]
network.client.ifname='local-port' 'bat0' 'eth0.3'
[...]
network.brc_dev=device
uci set network.brc_dev.macaddr='fc:ec:da:7f:28:ea'
network.brc_dev.name='eth0.3'
network.@switch_vlan[2]=switch_vlan
network.@switch_vlan[2].device='switch0'
network.@switch_vlan[2].vlan='3'
network.@switch_vlan[2].ports='3 4 6t'
uci set network.@switch_vlan[0].ports='1 2 6t'
uci add_list network.client.ifname='eth0.3'
uci set network.brc_dev=device
uci set network.brc_dev.macaddr='fc:ec:da:7f:28:eb'
uci set network.brc_dev.name='eth0.3'
uci add network switch_vlan
uci set network.@switch_vlan[2].device='switch0'
uci set network.@switch_vlan[2].vlan='3'
uci set network.@switch_vlan[2].ports='3 4 6t'
uci commit network
/etc/init.d/network restart
oder reboot
Die erste Zeile entfernt Port 3 + 4 aus der Bridge
Neues Interface mit neuer MAC, vorhandene MAC + 1
Weiteres VLAN mit id 3
Ports zuordnen und network restart.
Bootlog des ER-X in der Cloud.ffhb.de http://cloud.ffhb.de/index.php/f/8213
Sector5D-Blog: OpenWRT on the Ubiquiti EdgeRouter X
-2020-Update-Offloader-Ubiquiti-ER-X
————————————————————————————————————————- Zurück zum Inhalt: