Hier ist beschrieben, wie man die Firmware von Freifunk München auf den Aruba AP-325/AP-324 lädt. Bitte prüfe unbedingt auf dem Typenschild, dass es sich um genau dieses Modell handelt, und beachte auch die allgemeine Anleitung: Router flashen.
Der AP-325 lässt sich nicht per Weboberfläche flashen. Es muss zuerst per serieller Konsole ein angepasster Bootloader geflasht werden, bevor OpenWrt / Gluon startet. Dafür gibt es das Script ap325-flashtool, das den kompletten Ablauf (Bootloader per TFTP flashen, Initramfs per TFTP booten, Sysupgrade per SCP installieren) automatisiert.
Das funktioniert identisch auch für den Aruba AP-324 (gleiche Hardware wie AP-325, nur mit externen Antennen).
Hinweis zum Gerätenamen in OpenWrt / Gluon: Beide Geräte werden seit einiger Zeit unter dem gemeinsamen Profil aruba_ap-32x geführt. Sollte dein Gerät noch eine Firmware mit der Bezeichnung „ap-325“ haben, musst du sie mittels sysupgrade -F aktualisieren.
Quelle für den Ablauf: maurerle/ap325-flashtool auf GitHub und lukasstockner/ap325-apboot-openwrt (gepatchter APBoot).
Du brauchst für den Flash-Vorgang insgesamt drei Dateien:
u-boot.mbn — der gepatchte APBoot-Bootloader. Entweder aus dem Bootloader-Repo selbst bauen oder ein fertiges Release herunterladen.openwrt-ipq806x-generic-aruba_ap-32x-initramfs.ari — OpenWrt-Initramfs-Image (wird nur ins RAM gebootet, für die Installation). Kann z.B. von OpenWrt heruntergeladen werden: openwrt-ipq806x-generic-aruba_ap-32x-initramfs.ari (Snapshots, Target ipq806x/generic, Profil aruba_ap-32x).gluon-ffmuc-vXXXX.YY.ZZ-aruba-ap-32x-sysupgrade.bin — das eigentliche Freifunk-München-Sysupgrade-Image (wird ins NAND geschrieben), herunterzuladen von unserer Firmware Seite
Lege alle drei Dateien in ein Verzeichnis auf Deinem Rechner, z.B. ~/Downloads/ap325/.
Empfohlen ist ein Linux-Rechner. Du brauchst:
pyserial — z.B. pip install pyserial oder sudo apt install python3-pyserial-asyncio-fastip, ssh, scp, pingip kommt von iproute2: sudo apt install iproute2sudo starten.Lade das Flash-Tool von GitHub herunter: https://github.com/maurerle/ap325-flashtool/blob/all/flash_aruba_ap325.py
Hinweis: NetworkManager und lokaler TFTP-Server stoppen:
Das Tool richtet selbst IP und TFTP-Server ein. Stoppe vorher störende Dienste:
sudo systemctl stop tftpd-hpa.service NetworkManager # nach dem Flashen wieder starten mit: sudo systemctl start tftpd-hpa.service NetworkManager
Achtung: Firewall!
Der AP lädt Bootloader und Initramfs per TFTP (UDP/69 eingehend) von Deinem Rechner. Wenn die Firewall das blockt, bleibt der Flash-Vorgang beim TFTP-Transfer hängen.
Entweder die Firewall temporär abschalten, z.B.:
sudo systemctl stop firewalld # nach dem Flashen wieder starten mit: # sudo systemctl start firewalld
oder eingehenden TFTP-Verkehr erlauben, z.B. für firewalld / ufw:
# Reines firewalld sudo firewall-cmd --add-service=tftp # ufw (z.B. Ubuntu) sudo ufw allow 69/udp
Prüfe den Gerätenamen des seriellen Interfaces auf deinem Rechner (meist /dev/ttyUSB0), z.B.
dmesg | grep tty
Finde den Namen Deines LAN-Interfaces heraus, z.B.:
ip a
Typisch ist z.B. eth0, enp0s31f6 oder eno1. Diesen Namen brauchst Du gleich für –interface.
Einzelnes Gerät (Bei Bedarf Interface und Pfade anpassen):
sudo python3 flash_aruba_ap325.py \ --bootloader u-boot.mbn \ --initramfs openwrt-ipq806x-generic-aruba_ap-32x-initramfs.ari \ --sysupgrade gluon-ffmuc-v2026.8.2-aruba-ap-32x-sysupgrade.bin \ --interface eth0 \ --host-ip 192.168.1.1/24 \ --port /dev/ttyUSB0
–interface: Dein LAN-Interface von oben.–host-ip: IP, die das Tool temporär auf Deinem Rechner einrichtet, z.B. 192.168.1.1/24. Wenn diese IP oder IP Range schon von deinem lokalen Netz belegt ist, nimm eine beliebige andere, z.B. 192.168.99.1/24.–port: Serieller Port.10, .11, … im gleichen Subnetz).Dann den AP einschalten. Das Tool:
1. wartet auf den APBoot-Banner 2. unterbricht den Autoboot, setzt statische IP-Umgebung, lädt ''u-boot.mbn'' per TFTP ins RAM und schreibt es ins SPI, dann Reset in den neuen Bootloader, 3. löscht NAND, passt die UBI-Volumes an, bootet das Initramfs per ''tftpboot'' mit ''autostart=yes'', 4. wartet auf die OpenWrt-Konsole, konfiguriert die Geräte-IP auf ''br-lan'', kopiert das Sysupgrade-Image per ''scp'' nach ''/tmp/'' und führt ''sysupgrade -n'' aus. Wenn SSH nicht geht (z.B. Dropbear ohne passwortloses root), fällt das Tool automatisch auf ''busybox tftp'' + ''sysupgrade'' über die serielle Konsole zurück.
Wenn fertig, meldet das Tool z.B. [ttyUSB0] DONE und das Gerät bootet in das frisch installierte Gluon neu.
Der einzige wirklich destruktive Moment ist das Flashen des neuen Bootloaders. Das Tool zeigt vorher ein DO NOT interrupt-Banner — dort auf keinen Fall Strom oder Kabel trennen. Alles andere ist durch Power-Cycle wiederholbar.
Bitte warte auf jeden Fall bis der AP neu gestartet ist. Nach ungefähr 2 Minuten ist der AP mit dem initialen Bootvorgang fertig. Damit der neue Freifunk-Router jetzt im Freifunk-Netz funktionieren kann, muss dieser noch entsprechend konfiguriert werden. Im Kapitel Router-Grundkonfiguration mit Hilfe der WEB-GUI sind die weiteren Schritte bis zur Inbetriebnahme detailliert beschrieben.
Einfach –port mehrfach angeben. Der TFTP-Server kann parallele Transfers, es gibt keine Serialisierung im Netzwerkpfad:
sudo python3 flash_aruba_ap325.py \ --bootloader u-boot.mbn \ --initramfs openwrt-ipq806x-generic-aruba_ap-32x-initramfs.ari \ --sysupgrade gluon-ffmuc-v2026.8.2-aruba-ap-32x-sysupgrade.bin \ --interface eth0 \ --host-ip 192.168.1.1/24 \ --port /dev/ttyUSB0 \ --port /dev/ttyUSB1 \ --port /dev/ttyUSB2
Jeder Worker läuft in einer Endlosschleife. Nach einem fertigen (oder fehlerhaften) Gerät einfach das nächste frische Gerät am gleichen seriellen Port per Power-Cycle anschließen — der Worker erkennt es ohne Neustart des Tools. Beenden mit Strg-C.
Fortgeschrittene Optionen (z.B. externer TFTP-Server) sind im Repository des Flash-Tools dokumentiert.
host IP … already configured — IP entfernen und erneut versuchen (sudo ip addr del 192.168.1.1/24 dev eth0), oder eine andere –host-ip übergeben. Das Tool übernimmt keine IP, die es nicht selbst angelegt hat, weil es sie beim Beenden sonst löschen würde./dev/ttyUSB* prüfen, Kabel mit screen /dev/ttyUSB0 9600 manuell testen.device is booting OS, missed the autoboot window — AP war zu schnell, Power-Cycle machen.RTNETLINK answers: Operation not permitted — als root starten, oder setcap cap_net_admin,cap_net_bind_service+ep auf den Python-Interpreter setzen.firewalld stoppen oder UDP/69 erlauben, –interface und –host-ip prüfen.Wir haben zwei Vorlagen (S & XL) in Form von .stl Dateien um Halterungen für den Aruba AP-325 selbst zu drucken: