Ubiquiti UniFi AC

Aus Freifunk Nordwest Wiki
Zur Navigation springen Zur Suche springen

HowToFlash

Linux

Der Flashvorgang der UniFi AC Geräte benötigt das Tool „mtd“. Dieses wurde in neueren Versionen der Stock-Firmware entfernt. Daher muss zunächst ein Recovery auf die Version 3.7.58 durchgeführt werden. Der Vorgang ist der gleiche um wieder auf die Stock-Firmware zurück zu flashen.

Für alle Vorgänge muss sich dein System im gleichen Subnetz wie das UniFi AC Gerät befinden. Dieses hat standardmäßig die IP-Adresse 192.168.1.20 (/24). Du kannst dir bspw. die 192.168.1.21 (/24) zuweisen. Nur .1 und .20 solltest du meiden, da diese von der Stock- oder Freifunk-Firmware genutzt werden.

Recovery

  1. Recovery-Firmware laden 3.7.58
  2. Gerät vom Strom nehmen
  3. Reset-Knopf gedrückt halten
  4. Strom einschalten
  5. Sobald das Gerät in einer schnelleren Abfolge weiß, blau und aus blinkt, ist es bereit eine Firmware per TFTP zu empfangen tftp -m binary 192.168.1.20 -c put BZ.qca956x.v3.7.58.6385.170508.0957.bin
  6. Das Gerät wechselt in einen weiß / blau Wechsel und wird irgendwann mit der bereitgestellten Firmware neustarten

Flashen der Freifunk Nordwest Firmware

  1. Firmware herunterladen (Firmware-Selector (Ubiquiti UniFi AC))
  2. Firmware auf das Gerät übertragen scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o KexAlgorithms=+diffie-hellman-group1-sha1 FIRMWARE-DATEI ubnt@192.168.1.20:/tmp/fw.bin Die Optionen -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no sorgen dafür, dass kein Host-Key Eintrag auf deinem Rechner erzeugt oder gefunden wird. Das sollte sonst nicht eingesetzt werden, da es ein fundamentales Sicherheitsmerkmal für SSH-Sitzungen ist. Die Option -o KexAlgorithms=+diffie-hellman-group1-sha1 aktiviert eine veraltete Schlüsselmethode, die früher (v3.7.58) in den UniFi AC Geräten angewendet wurde, inzwischen allerdings in einigen Linux-Distributionen standardmäßig deaktiviert ist. Auch diese Option sollte sonst nicht eingesetzt werden. Das Passwort lautet ubnt.
  3. Shell auf dem Gerät öffnen ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o KexAlgorithms=+diffie-hellman-group1-sha1 ubnt@192.168.1.20 Erläuterungen zu den Optionen siehe Schritt 2.
    1. dd if=/dev/zero bs=1 count=1 of=/dev/mtd4 Das Gerät hat zwei Flash-Speicher. Bei einem Update wird der inaktive Speicher beschrieben und beim nächsten mal der Flash-Speicher für den Bootvorgang gewechselt. Ist das Update fehlerhaft, startet das Gerät nochmal neu und wechselt wieder auf den anderen Flash-Speicher mit der zuvor installierten Firmware. Dieser Befehl lässt das Gerät beim nächsten mal von Flash-Speicher 0 starten.
    2. mtd -e kernel0 write /tmp/fw.bin kernel0 Der Befehl entsperrt den Flash-Speicher 0 und beschreibt diesen mit der zuvor übertragenen Firmware.
    3. mtd -r -e kernel1 write /tmp/fw.bin kernel1 Wiederholen von Schritt 2 für Flash-Speicher 1 und Reboot.
    4. Das Gerät startet im Config-Mode neu. FERTIG!

Windows

Was wird benötigt?

  • Euren AP
  • Ein PoE-Netzteil oder einen PoE-Switch
  • mindestens 2 Netzwerkkabel
  • Eine passende Freifunk-Firmware (Direkter Link zur AP-AC-Pro Firmware)
  • Folgende Programme:
    • Putty (https://www.putty.org/)
    • WinSCP (https://winscp.net/eng/download.php)

Vorbereitungen

  • Der AP sollte am besten über einen PoE-Adapter angeschlossen werden, dann kann der LAN-Ausgang vom Netzteil direkt an den Rechner/Laptop gesteckt werden. Sollte kein PoE-Adapter vorhanden sein (und man muss über einen PoE-fähigen Switch gehen), muss man AP und Rechner ins selbe VLAN stecken.
  • Der Rechner sollte auf die IP 192.168.1.100 und die Subnetzmaske 255.255.255.0 eingestellt sein
  • AP sollte eingesteckt sein und betriebsbereit sein

Durchführung

Achtung - diese Anleitung gilt für einen fabrikneuen AP - eventuell schon voher mit einem Controller verbundene APs sollten zurückgesetzt werden!

SSH verbinden

  • Per SSH über Putty mit dem AP verbinden (IP: 192.168.1.20 - Port: 22) -> es sollte eine Auffordung zur Eingabe eines Benutzernamens im Terminal erscheinen
  • Einloggen über Benutzername ubnt und Passwort ubnt (Standardmäßig

WinSCP verbinden

  • WinSCP auf folgende Daten einstellen (Benutzername \ Passwort wie bei SSH):
    • Übertragrungsprotokoll: SCP
    • Serveradresse: 192.168.1.20
    • Portnummer: 22
    • Benutzername: ubnt
    • Passwort: ubnt
  • Dann über die rechte Adressleiste in das Verzeichnis /tmp wechseln
  • Auf der linken Seite den Ordner mit der Firmware aufrufen, diese kann der einfachheit halber in sysupgrade.bin umbenannt werden
  • Dann kann durch einfaches Drag+Drop die Datei rübergezogen werden, und wird damit hochgeladen auf den AP

Nun kann WinSCP wieder geschlossen werden, und zurück nach Putty gewechselt werden.

Firmware flashen

  • Folgen Befehl ausführen, um herauszufinden auf welchen Speicher-Block die eigentliche Firmware liegt:
    • grep kernel /proc/mtd -> Die daraus resultieren zwei Zeilen beginnend mit mtdX zeigen an wo eure Standard-Firmware liegt
  • Dann die Firmware auf die beiden Speicherblöcke schreiben (Dieser Befehl muss zweimal ausgeführt werden, für beide Speicherblöcke):
    • dd if=/tmp/firmware.bin of=/dev/mtdblockX
  • Nun muss ein Nullbyte an den Anfang der Bootpartion geschrieben werden, dazu diese Ausfinding machen:
    • grep bs /proc/mtd -> Es kommt diesesmal eine Zeile mit mtdX
  • Dann den Bootsektor mit einem Nullbyte überschreiben:
    • dd if=/dev/zero bs=1 count=1 of=/dev/mtdX

Router neustarten

  • Nun kann der Router neugestartet werden:
    • reboot

Router einstellen

  • Nach dem Neustart kann der Router unter der IP 192.168.1.1 Freifunk-typisch eingestellt werden

Router in Betrieb nehmen

Im Standardbetriebsmodus ist das "Internet" an den WAN-Port Main anzuschliessen. Das Freifunk-Netzwerk ist verfügbar am zweiten LAN-Port.