Netgear EX6130 mit openWRT

Posted on Mi 05 Januar 2022 in Computer & Electronics

Damit ich auch in jeder Ecke des Hauses in den Genuss von zufriedenstellendem WLAN-Empfang komme, habe ich neben der Fritzbox noch ein paar kleine Access Points installiert. Mir gefiel der Formfaktor der Netgear EX6130 bzw. EX6120 sehr gut, denn ich wollte nicht überall so richtige Router hinstellen und diese kleinen Geräte sind nicht viel größer, als z.B. ein Sonoff S20.

Sie funktionieren sehr ordentlich. Was mir aber auf den Geist geht ist die Firmware: Netgear möchte einem eigentlich gerne einen Account in ihrer Cloud andrehen und da habe ich null Interesse dran. Außerdem würde alternative Firmware auch weitere Möglichkeiten eröffnen. Z.B. Weitere SSIDs auf der gleichen Hardware. Das könnte evtl nützlich sein, um irgendwann mal die diversen IoT Geräte in ihr eigenes virtuelles WLAN zu verbannen.

Als ich die Dinger gekauft hatte, gab es noch keine freie Firmware dafür, aber inzwischen kann man openWRT auf den Teilen installieren und das wollen wir heute mal machen.

Zuerst galt es ein geeignetes Image zu finden. Das war leicht, denn man findet diese Access Points in der Table of Hardware und dort dann Links zur Geräteseite.

Firmware erstmalig einspielen

Der EX6120/6130 unterstützt Firmware uploads – d.h. man kann ganz einfach in der GUI das neue Firmware-File hochladen und flashen. Danach muss man sich via Ethernet- Kabel mit dem AP verbinden und kann ihn dann unter dem Hostname OpenWrt.lan via http erreichen. Das geht allerdings nur bei Geräten für die ein "factory" image von openWRT existiert. In meinem Fall heißt das Firmware Image openwrt-21.02.1-ramips-mt7620-netgear_ex6130-squashfs-factory.chk – d.h. das passt.

Als erstes ein Passwort setzen:

Password set Dialog

Und als nächstes das WLAN konfigurieren:

Password set Dialog

SSID setzten, Verschlüsselung einstellen, WLAN aktivieren, Hostname konfigurieren, DHCP-Client aktivieren und DHCP-Server deaktivieren – fertig. Wie das genau geht erkläre ich jetzt nicht alles – dazu gibt es die Doku auf der openWRT Seite.

Sobald auf dem Gerät mal openWRT drauf ist, verwendet man dann nicht mehr factory , sondern sysupgrade Images – die überschreiben nicht alles und Ihr behaltet die Konfiguration auch nach dem update.

Wenn die Konfiguration umfangreicher ist, lohnt es sich ggf. unter System > Backup/Flash Firmware eine Sicherung zu erstellen. Aber für einen simplen Access Point lohnt es sich nicht.

Firmware via nmrpflash

Solange alles glatt läuft ist over the air der beste Weg für Firmware updates. Aber was, wenn was schief läuft und wir nicht mehr in den Router oder AP reinkommen? Dafür gibt es je nach Gerät oft Abhilfe. In meinem Fall das Tool nmrpflash. Gut sortierte Linux Distributionen haben das an Bord, andernfalls von Github (Auch für Windows und Mac).

Zwar habe ich gerade keinen derartigen Notfall, aber ausprobieren will ich es dennoch mal. Dazu schauen wir erstmal welche Interfaces wir so haben:

❯ nmrpflash -L
wlp3s0           192.168.0.84     44:af:28:3a:43:f5
enp2s0f0         0.0.0.0          8c:8c:aa:e4:c4:aa
virbr0           192.168.122.1    52:54:00:c4:12:33

OK – mein Ethernet Interface ist also enp2s0f0. Nun den zu flashenden Router/AP via Ethernet Kabel direkt am Computer anschließen aber noch nicht einschalten, denn der Router/AP ist nur ganz kurz nach dem Einschalten "auf Empfang" für Firmware updates.

Nun das Flash-Kommando absetzen und sofort danach den AP einschalten:

❯ sudo nmrpflash -i enp2s0f0 -f openwrt-21.02.1-ramips-mt7620-netgear_ex6130-squashfs-factory.chk
Advertising NMRP server on enp2s0f0 ... \
Received configuration request from b0:39:56:e4:e5:e5.
Sending configuration: 10.164.183.252/24.
Received upload request: filename 'firmware'.
Uploading openwrt-21.02.1-ramips-mt7620-netgear_ex6130-squashfs-factory.chk ... OK
Waiting for remote to respond.
Timeout while waiting for 0000.

Hm – das klingt nicht so dolle. Ich habe dann noch ein wenig mit der -T Option (timeout) gespielt, aber die Meldung nicht wegbekommen. Dennoch scheint der Firmware Upload funktioniert zu haben, denn während ich im Netz nach Lösungen gesucht habe sind dann irgendwann die ganzen LEDs am AP angegangen und ich konnte ihn via Kabel konfigurieren. Im Anschluss funktionierte der AP im Grunde. Allerdings ist es mir nicht mehr gelungen in das Web interface rein zu kommen. Ich habe dann noch ein paar Versuche gemacht und mit den werten für -t und -T (also verschiedene Timeouts) herumgespielt – ohne echten Erfolg. Um dem Spiel ein Ende zu machen habe ich dann direkt nach dem Flashen via nmrpflash in der GUI sofort das sysupgrade Image geflasht und erst dann mit der Konfiguration begonnen. Aber auch das führte zum gleichen Ergebnis. Grumpf!

Mein Linux hat nmrpflash 0.9.14 dabei. Auf Github gibt es schon die 0.9.16. Ob das den Kohl fett macht? Ausprobieren:

❯ sudo ../nmrpflash -i enp2s0f0 -f openwrt-21.02.1-ramips-mt7620-netgear_ex6130-squashfs-factory.chk
Waiting for Ethernet connection.
Advertising NMRP server on enp2s0f0 ... \
Received configuration request from b0:39:56:e4:e5:e5.
Sending configuration: 10.164.183.252/24.
Received upload request: filename 'firmware'.
Uploading openwrt-21.02.1-ramips-mt7620-netgear_ex6130-squashfs-factory.chk ... OK (5189694 b)
Waiting for remote to respond.
Received keep-alive request (5).  
Remote finished. Closing connection.
Reboot your device now.

Na das klingt doch schon besser!

Und weil ich von Natur aus faul bin habe ich dann doch ein Backup der Config des ersten APs gemacht und hier nur eingespielt und den Hostname geändert.

Die Backups sind übrigens normale tar archive von bestimmten files in /etc/ – das heißt, dass man sie ggf. auch auspacken, manuell oder via Script bearbeiten kann, um sie dann wieder einzupacken. Das kann nützlich sein, falls man echt viele von den Dingern hat und größere Veränderungen im Netz ausrollen möchte. So viele habe ich aber nicht.

Auf jeden Fall geht nun alles wie es soll. Sehr gut!

Nachtrag zur Konfiguration

Nach dem Firmware-Wechsel hatte ich auf einmal ein paar komische Probleme. Meist lief alles gut, aber gelegentlich kam es vor, dass plötzlich hostnames im lokalen Netz nicht mehr aufgelöst werden konnten. Zuerst hab ich mich nur gewundert und nach einem Reboot, oder mal kurz Wlan aus und wieder einschalten ging dann auch wieder alles. Aber dann wurde ich stutzig – könnte das mit openWRT zu tun haben?

Also habe ich ein bisschen herumgestochert und schließlich kam mir der Verdacht, dass hier evtl. ein DNS-Konflikt zwischen dem AP und der Fritzbox vorliegen könnte. Also mal anklopfen:

❯ nmap -Pn ap1
Starting Nmap 7.80 ( https://nmap.org ) at 2022-01-10 21:36 CET
Nmap scan report for ap1 (192.168.0.3)
Host is up (0.0075s latency).
rDNS record for 192.168.0.3: AP1.fritz.box
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
53/tcp  open  domain
80/tcp  open  http
443/tcp open  https

Oha! In der Tat ist da ein DNS auf Port 53 aktiv! Also habe ich das mal in der Konfig abgeschaltet: System > Startupdnsmasq > Disabled. Und wo ich schon dabei war das gleiche für firewall und odhcpd. Wir betreiben den "Router" ja nur als Access Point und da müssen ein paar Funktionen eines normalen Routers deaktiviert werden.

Das teste ich jetzt mal ein paar Tage und hoffe, dass es meine Probleme auch behoben hat.

Update

Habe das nun ein paar Tage so laufen lassen und die Probleme sind tatsächlich verschwunden. Also lag ich wohl richtig. :-)