Firmwareinstallation/UbiquitiUnifiACMesh

Aus Freifunk Franken
(Weitergeleitet von Anleitung:UbiquitiUnifiACMesh)
Wechseln zu:Navigation, Suche

Installationsanleitung für die Ubiquiti Unifi AC Mesh

Die Qualität dieser Anleitung ist noch ausbaufähig. Gerne können Ergänzungen vorgenommen werden ...

Zusätzlich benötigte Hardware

Nicht im Lieferumfang enthalten sind Netzwerkkabel. Für die Stromversorgung wird mindestens ein Netzwerkkabel benötigt (das Netzteil ist ein POE-Netzteil). Je nach Einsatzzweck benötigt man ein zweites. Dieses wird auch zum Flashen benötigt.

Installation der Freifunk Firmware

Die neuste Firmware liegt hier. Für das Gerät muss das fff-*-unifiac-mesh-* Image verwendet werden.

Adrian Schmutzler stellt eine alternative Firmware auf seiner Seite zur Verfügung

IP-Konfiguration

Achtung: Diese Anleitung funktioniert nur, wenn das Gerät noch nicht im Unifi Controller registriert wurde!

Eine neue AC Mesh hat im Auslieferungszustand die IP "192.168.1.20". Zum Übermitteln der Firmware kann man sich eine IP-Adresse aus dem selben Adressraum zuweisen z.B.:

  • IP: 192.168.1.11
  • Subnetz-Maske: 255.255.255.0

Das erste Netzwerkkabel wird von eurem Rechner mit der "LAN"-Buchse des Netzteils verbunden. Das zweite Netzwerkkabel wird mit der "POE"-Buchse des Netzteils und der AC Mesh verbunden.

Anmelden am Gerät

Um sich an der AC Mesh anzumelden, muss man sich per SSH mit 192.168.1.20 verbinden:

ssh ubnt@192.168.1.20

User & Passwort: ubnt

Unter Windows entsprechend Putty oder ähnliche Software verwenden ...

Downgrade der Originalfirmware

Wie bei der Picostation/Loco muss die Firmware vor dem Flashen mit Freifunk gedowngradet werden. Zurzeit sind auch teilweise noch Geräte im Umlauf, die nicht downgegradet werden müssen, da die Firmware alt genug ist. Geeignet sind alle Versionen bis v3.7.40.

Achtung: Die v3.7.40-Firmware ist nicht mehr auf der regulären Ubiquiti-Download-Webseite aufgeführt. Man findet sie zum Download aber noch über die zugehörige Release Note.

Die Firmware Version kann man herausfinden, indem man sich wie oben beschrieben per SSH auf der AC Mesh anmeldet. Im Command Prompt steht dann zu Beginn jeweils die Firmware-Version, also

BZ.v3.7.40#

oder

BZ.v3.9.19#

Im zweiten Fall ist ein Downgrade nötig, im ersten Fall nicht.

Downgrade Online

Falls die UniFi AC Mesh Internetzugang hat, kann mit folgenden SSH-Befehlen die Firmware downgegradet werden:

wget -O /tmp/fwupdate.bin 'FIRMWARE URL'

bzw. curl (bei neueren Original Firmwareversionen (v3.9.15) ist kein wget mehr vorhanden)

curl 'FIRMWARE URL' > /tmp/fwupdate.bin

Anstelle der 'FIRMWARE URL' ist die URL der Firmware (siehe oben) einzutragen.

Danach wird folgendes ausgeführt:

syswrapper.sh upgrade2 &

Quelle: https://help.ubnt.com/hc/en-us/articles/204910064-UniFi-Changing-the-Firmware-of-a-UniFi-Device#local%20upgrade

Danach startet das Gerät neu, dann erneut per SSH einloggen und weiter mit Freifunk-Firmware flashen.

Downgrade Offline

Nach dem Download der Firmware (siehe oben) auf den PC muss diese auf dem Gerät (z.B. per scp/WinSCP) mit dem Dateinamen tmp/fwupdate.bin abgelegt werden.

Für SCP die gleichen Login-Daten wie für SSH verwenden (ubnt@192.168.1.20 und PW: ubnt).

Achtung: Protokoll SCP auswählen, SFTP funktioniert nicht.

Verzeichnis /tmp anwählen und dort die Datei ablegen, danach zu fwupdate.bin umbenennen.

Danach wieder per SSH (unter Windows z.B. mit Putty) auf dem Gerät einloggen und folgendes ausgeführen:

syswrapper.sh upgrade2 &

Quelle: https://help.ubnt.com/hc/en-us/articles/204910064-UniFi-Changing-the-Firmware-of-a-UniFi-Device#local%20upgrade

Danach startet das Gerät neu, dann erneut per SSH einloggen und weiter mit Freifunk-Firmware flashen.

Freifunk-Firmware flashen

Zunächst muss die Freifunk-Firmware auf das Gerät kopiert werden. Dies kann per SCP bzw. WinSCP erfolgen, siehe Erläuterungen für Firmware-Downgrade. Der Zielordner muss /tmp sein, der Dateiname ist egal.

ACHTUNG: Alle hier beschriebenen Schritte müssen hintereinander und ohne "Unterbrechung", also zwischenzeitlichen Reboot o.ä. ausgeführt werden. Mit Ausnahme des Pfades zum Firmware-Image ist dabei auf buchstabengenaue Eingabe zu achten! Also nicht erst Tippen und dann denken ...

Die AC-Mesh verfügt über zwei Partitionen, die im Normalfall beide die Firmware enthalten sollten. Nach dem initialen Flashen wie unten beschrieben wird durch das sysupgrade aber nur noch eine der Partitionen verändert. Daher muss dies im Bootloader entsprechend eingestellt werden, sodass immer nur von einer der Partitionen gebootet wird.

Dazu finden wir zunächst die richtige Partition heraus:

BZ.v3.7.40# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00060000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00790000 00010000 "kernel0"
mtd3: 00790000 00010000 "kernel1"
mtd4: 00020000 00010000 "bs"
mtd5: 00040000 00010000 "cfg"
mtd6: 00010000 00010000 "EEPROM"

Hier die Zeile mit der "bs" Partition finden und den Wert der ersten Spalte merken (hier "mtd4").

Dann dort ein Nullbyte reinschreiben (Die Partition, hier mtd4, entsprechend euren Erkenntnissen im vorherigen Schritt anpassen):

dd if=/dev/zero bs=1 count=1 of=/dev/mtd4

Ergebnis:

BZ.v3.7.40# dd if=/dev/zero bs=1 count=1 of=/dev/mtd4
1+0 records in
1+0 records out

Dieser Schritt (unter bestimmten Umständen) auch noch nachträglich in der Freifunk-Firmware nachgeholt werden. Dabei hat sich jedoch die Nummer der Partition geändert (bei mir mtd7)! Bei Firmware bis inklusive 20180304-alpha ist ein nachträgliche Änderung NICHT möglich.

Danach folgt das eigentliche Flashen der Firmware, hier müssen _BEIDE_ folgenden Befehle eingegeben werden! (Pfad anpassen nicht vergessen)

mtd write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel0

mtd -r write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel1

das sollte dann folgendes Ergebnis liefern:

BZ.v3.7.40# mtd write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel0
Unlocking kernel0 ...
Erasing kernel0 ...
Writing from /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin to kernel0 ...  [e/w]

BZ.v3.7.40# mtd -r write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel1
Unlocking kernel1 ...
Erasing kernel1 ...
Writing from /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin to kernel1 ...  [e/w]

Quelle: https://openwrt.org/toh/ubiquiti/unifiac#installation

Die AC Mesh startet automatisch neu und verbindet sich mit dem Freifunk-Netz. Danach ist Zugriff und Konfiguration wie gewohnt möglich.

Recovery per TFTP

Falls man die UniFi AC Mesh Firmware-technisch "kaputt", also von außen nicht mehr erreichbar verstellt hat, hilft ein Recovery per TFTP, bei dem man sie quasi auf den Werkszustand rücksetzt. TFTP-Recovery per LAN funktioniert bei der UniFi AC Mesh prinzipiell wie bei anderen Ubiquiti-Geräten:

Um die UniFi AC Mesh in den TFTP-Recovery-Modes zu bringen, ist sie mit bereits gedrückter Reset-Taste einzuschalten. Die Reset-Taste ist gedrückt zu halten, bis die LED mit der Endlosfolge weiß-blau-aus zu blinken anfängt. Dann muss die Ubiquiti Firmware mittels TFTP-PUT auf dem Gerät (IP ist 192.168.1.20) abgelegt werden. Nach dem PUT erfolgen das Firmware-Flashen und der Reboot automatisch.

Zu beachten ist dabei, dass TFTP bei der AC Mesh NUR MIT DER ORIGINALFIRMWARE möglich ist. Man muss also immer erst auf Original rücksetzen und dann mit obiger Anleitung wieder Freifunk-Firmware installieren.

Siehe auch