Firmwareinstallation/UbiquitiUnifiACMesh: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
 
(21 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Installationsanleitung für die Ubiquiti Unifi AC Mesh =
= Installationsanleitung für die Ubiquiti Unifi AC Mesh =


''Die Qualität dieser Anleitung ist noch ausbaufähig. Gerne können Ergänzungen vorgenommen werden bzw. als nicht verifiziert beschriebene Methoden getestet werden!''
''Die Qualität dieser Anleitung ist noch ausbaufähig. Gerne können Ergänzungen vorgenommen werden ...''


== Zusätzlich benötigte Hardware ==
== 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. Wenn man die PicoStation zur Einwahl in das Freifunk-Netz oder direkt per Kabel mit einem weiteren Freifunkrouter mittels B.A.T.M.A.N. verbinden möchte.
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 ==
== Installation der Freifunk Firmware ==
Die neuste Firmware liegt [https://dev.freifunk-franken.de/node/current/ hier].
Für das Gerät muss das <code>fff-*-unifiac-mesh-*</code> Image verwendet werden.


Für das Gerät muss das ''ubnt-unifiac-lite'' Image verwendet werden. Die neuste Firmware [https://dev.freifunk-franken.de/firmware/current/ liegt hier].
Adrian Schmutzler stellt eine alternative Firmware auf seiner [https://freifunk.jubt.org/fff-firmware.php Seite] zur Verfügung


Zur Zeit ist eine offizielle Firmware noch nicht verfügbar. Eine pre-alpha Firmware ist unter http://www.adrianschmutzler.net/fff-firmware.php verfügbar (Achtung Privat-Firmware).
=== IP-Konfiguration ===
'''Achtung:'''
Diese Anleitung funktioniert nur, wenn das Gerät noch nicht im Unifi Controller registriert wurde!


=== Möglichkeit 1: Über Unifi Controller ===
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


Hier wird die AC Mesh in des Heimnetzwerk eingebunden (also der LAN-Port des Netzadapters mit Router oder Switch verbunden). Über die Unifi Controller Software kann sie dann angesprochen werden.
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.


Hier muss zunächst über das Interface des Unifi Controllers ein Downgrade vorgenommen werden.
=== Anmelden am Gerät ===
Um sich an der AC Mesh anzumelden, muss man sich per SSH mit 192.168.1.20 verbinden:
 
<code>
ssh ubnt@192.168.1.20
</code>


https://www.ubnt.com/download/unifi
User & Passwort: ubnt


Von obigem Link eine Firmware für UAP-AC-M mit Version 3.7.40 oder älter auswählen und installieren.
Unter Windows entsprechend Putty oder ähnliche Software verwenden ...


Danach per SSH mit dem Gerät verbinden. Hierzu die im Unifi Controller angegebene IP verwenden. Die Zugangsdaten wurden vom Unifi Controller festgelegt, hierzu in den Einstellungen der Software nachschlagen. Dort steht irgendwo ein Username 'admin' und ein Passwort.
=== 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'''.


Wenn mit dem Gerät verbunden, geht es weiter mit dem Schritt [[#Firmware_flashen]].
'''Achtung:'''
Die v3.7.40-Firmware ist nicht mehr auf der regulären [https://www.ui.com/download/unifi/unifi-mesh/uap-ac-m Ubiquiti-Download-Webseite] aufgeführt.
Man findet sie zum Download aber noch über die zugehörige [https://community.ui.com/releases/FIRMWARE-3-7-40-6115-for-UAP-USW-has-been-released-3-7-40-6115/59929674-81aa-48d7-83d6-a616cf058ca8 Release Note].


=== Möglichkeit 2: Über direkte Verbindung ===
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


==== IP-Konfiguration ====
<code>
BZ.v3.7.40#
</code>


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


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.:
<code>
BZ.v3.9.19#
</code>


* IP: 192.168.1.11
Im zweiten Fall ist ein Downgrade nötig, im ersten Fall nicht.
* 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.
==== Downgrade Online ====
Falls die UniFi AC Mesh Internetzugang hat, kann mit folgenden SSH-Befehlen die Firmware downgegradet werden:


==== Anmelden am Gerät ====
<code>
wget -O /tmp/fwupdate.bin 'FIRMWARE URL'
</code>


Um sich an der AC Mesh anzumelden, muss man sich per SSH mit 192.168.1.20 verbinden:
bzw. curl (bei neueren Original Firmwareversionen (v3.9.15) ist kein wget mehr vorhanden)


<code>
<code>
ssh ubnt@192.168.1.20
curl 'FIRMWARE URL' > /tmp/fwupdate.bin
</code>
</code>


Passwort: ubnt
Anstelle der <code>'FIRMWARE URL'</code> ist die URL der Firmware (siehe oben) einzutragen.


==== Downgrade der Originalfirmware ====
Danach wird folgendes ausgeführt:


Wie bei der Picostation/Loco muss die Firmware vor dem Flashen mit Freifunk gedowngradet werden.
<code>
syswrapper.sh upgrade2 &
</code>
 
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]].
 
==== 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).


https://www.ubnt.com/download/unifi
'''Achtung:'''
Protokoll SCP auswählen, SFTP funktioniert nicht.


Von obigem Link eine Firmware für UAP-AC-M mit Version 3.7.40 oder älter auswählen und installieren.
Verzeichnis '''/tmp''' anwählen und dort die Datei ablegen, danach zu '''fwupdate.bin''' umbenennen.


Dazu muss die Firmware auf dem Gerät (z.B. per scp) mit dem Dateinamen /tmp/fwupdate.bin abgelegt werden.
Danach wieder per SSH (unter Windows z.B. mit Putty) auf dem Gerät einloggen und folgendes ausgeführen:


wget
<code>
<code>
wget -I 'FIRMWARE URL' -O /tmp/fwupdate.bin
syswrapper.sh upgrade2 &
</code>
</code>


curl (bei neueren Original Firmwareversionen (v3.9.15) ist kein wget mehr vorhanden)
Quelle: https://help.ubnt.com/hc/en-us/articles/204910064-UniFi-Changing-the-Firmware-of-a-UniFi-Device#local%20upgrade
<code>
 
curl 'FIRMWARE URL' > /tmp/fwupdate.bin
Danach startet das Gerät neu, dann erneut per SSH einloggen und weiter mit [[#Freifunk-Firmware flashen|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:
<pre>
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"
</pre>
 
Hier die Zeile mit der "bs" Partition finden und den Wert der ersten Spalte merken (hier "mtd4").


</code>
Dann dort ein Nullbyte reinschreiben (Die Partition, hier mtd4, entsprechend euren Erkenntnissen im vorherigen Schritt anpassen):
Danach wird folgendes ausgeführt


<code>
<code>
syswrapper.sh upgrade2 &
dd if=/dev/zero bs=1 count=1 of=/dev/mtd4
</code>
</code>


Quelle: https://help.ubnt.com/hc/en-us/articles/204910064-UniFi-Changing-the-Firmware-of-a-UniFi-Device#local%20upgrade
Ergebnis:
<pre>
BZ.v3.7.40# dd if=/dev/zero bs=1 count=1 of=/dev/mtd4
1+0 records in
1+0 records out
</pre>
 
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 erneut einloggen und weiter mit [[#Firmware_flashen]].
Danach folgt das eigentliche Flashen der Firmware, hier müssen _BEIDE_ folgenden Befehle eingegeben werden! (Pfad anpassen nicht vergessen)


=== Firmware flashen ===
<code>
mtd write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel0


Zunächst muss die Freifunk-Firmware auf das Gerät kopiert werden. Dies kann z.B. per SCP erfolgen oder auch per wget, falls das Gerät Internet hat (wenn oben Möglichkeit 1 verwendet wurde). Der Zielordner muss /tmp sein, der Dateiname ist egal.
mtd -r write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel1
</code>


Um die Firmware zu flashen, müssen _BEIDE_ folgenden Befehle eingegeben werden! (Pfad anpassen nicht vergessen)
das sollte dann folgendes Ergebnis liefern:


<pre>
<pre>
Zeile 98: Zeile 172:
</pre>
</pre>


Quelle: https://wiki.openwrt.org/toh/ubiquiti/unifiac#non-invasive_method_using_mtd
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.


Nun startet das Gerät und verbindet sich mit dem Freifunk-Netz. Danach ist Zugriff und Konfiguration wie gewohnt möglich.
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
* [https://help.ubnt.com/hc/en-us/articles/204910124-UniFi-TFTP-Recovery-for-Bricked-Access-Points Ubiquiti-Hilfeseite]
* [http://tftpd32.jounin.net/ TFTP32] (ein TFTP-Tool für Windows)


[[Category:Technik]]
[[Category:Technik]]

Aktuelle Version vom 19. Februar 2021, 15:46 Uhr

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