Netgear KWGR614

Aus Freifunk Hannover

Der Netgear-Router im schnuckelig kleinen Gehäuse hat seine Stärken: 16 MB RAM, 4 MB Flash, 200-MHz-Prozessor, zwei externe Antennenanschlüsse und quelloffene Firmware. Er ist leicht erhältlich (etwa bei eBay und Altelco) und kostet neu derzeit rund 60 Euro. Damit wäre er eigentlich eine interessante Alternative zum Linksys WRT54GL.

Allerdings ist der KWGR614 in der OpenWRT-Hardware-Liste als untested aufgeführt. Er basiert auf dem RTL8651B von Realtek, für den bislang keine Unterstützung in Sicht ist. Der Hersteller stellt den µCLinux-basierten Firmware-Quellcode und Entwicklerdokumentation zum Download bereit. Die explizite Ausrichtung des Gerätes auf Linux-Enthusiasten gibt also Grund zu verhaltenem Optimismus.

Aus dem Netgear-Werbetext:

Der KWGR614 ist ein Router, der einzig zu dem Zweck entwickelt wurde, die hohen 
Erwartungen besonders anspruchsvoller Kunden zu erfüllen. Häufig werden Geräte   
für individuelle Aufgaben benötigt, die ein Router "von der Stange" nicht
leisten kann. Um solche Ansprüche zu erfüllen, erweitern freie Programmierer 
die Geräte-Firmware um zusätzliche, eigene Funktionen oder setzen ganz auf
Software-Eigenentwicklungen. Dafür ist der KWGR614 speziell vorbereitet. Der
Router verfügt über eine ungewöhnlich großzügige Arbeitsspeicher-Ausstattung 
und einen besonders leistungsfähigen Mikroprozessor. Die Firmware des bereits 
serienmäßig mit professionellen Funktionen ausgestatteten Routers steht unter 
der GPL (GNU Public License), die Software-Quellen werden von NETGEAR offen zum  
Download angeboten. So kann das µCLinux-Betriebssystem des KWGR614 von 
Enthusiasten mit dem entsprechenden Know-How jederzeit individuell erweitert
werden.

Firmware compilieren

Im hauseigene Firmware-Paket hat Netgear leider ein paar Pferdefüße eingebaut. Offenbar wurde der Code-Tree niemals auf einem anderen System als dem des Entwicklers getestet: Hardgecodete Pfade sowie einige Fehlerchen in den Makefiles und Shell-Skripten sorgen für graue Haare. Ein kurzer Patch schafft hier nun jedoch Abhilfe. Mit folgender Anleitung sollte es wenigstens unter jedem aktuellen Ubuntu und Kubuntu funktionieren:

cr@fury:~$ sudo su
Password:
root@fury:/home/cr# apt-get install build-essential libncurses5-dev bison flex  libstdc++5
[...]
root@fury:/home/cr# mkdir Netgear ; cd Netgear
root@fury:/home/cr/Netgear# wget ftp://downloads.netgear.com/files/GPL/KWGR614_V1.0.1_10.17WW_gpl_package.zip
[...]
root@fury:/home/cr/Netgear# unzip KWGR614_V1.0.1_10.17WW_gpl_package.zip 
Archive:  KWGR614_V1.0.1_10.17WW_gpl_package.zip
  inflating: KWGR614_README.txt      
  inflating: KWGR614_V1.0.1_10.17WW_src.tar.bz2  
  inflating: toolchain_mips_20050831.tar.bz2  
root@fury:/home/cr/Netgear# mkdir /uclibc ; cd /uclibc
root@fury:/uclibc# tar jxf $OLDPWD/tool*
root@fury:/uclibc# mv tool* toolchain_mips
root@fury:/uclibc# cd $OLDPWD
root@fury:/home/cr/Netgear# tar jxf KWGR614*src*
root@fury:/home/cr/Netgear# wget http://cr.23bit.net/kwgr/KWGR614_V1.0.1_10.17WW-cr1.patch
[...]
root@fury:/home/cr/Netgear# cd KWGR*WW/
root@fury:/home/cr/Netgear/KWGR614_V1.0.1_10.17WW# patch -p1 <../KWGR*patch
patching file tools/romfs-inst.sh
patching file uClibc/Makefile
patching file vendors/Realtek/RTL865XB/Makefile
root@fury:/home/cr/Netgear/KWGR614_V1.0.1_10.17WW# make menuconfig && make dep && make
[...]

Im Konfigurationsdialog von ucLinux ist beim ersten Durchlauf Folgendes auszuwählen, damit es fehlerfrei compiliert:

  • Target Platform Selection
  • Customize Kernel Settings
  • Exit, Exit, Yes
  • Exit, Yes

Wichtig: Die Toolchain muss nach /uclinux entpackt werden. Das Flashen des Firmware-Images, das unter images/run.bix liegt, funktioniert wie üblich mit tftp. Der Router lauscht auf der IP-Adresse 192.168.1.1, wenn man den Reset-Knopf beim Einschalten so lange gedrückt hält, bis die Test-LED regelmäßig blinkt.

Leider hat Netgear den ucLinux-Tree auf das Allernötigste abgespeckt. dropbear und Co. tauchen zwar im make menuconfig auf, liegen aber nicht im Quellcode vor. Eine Bitte: Wer es schafft, einen für den recht alten ucLinux-Tree noch einen passenden dropbear plus Abhängigkeiten aufzutreiben und nachzurüsten, ergänze doch bitte diese Anleitung mit den notwendigen Schritten. :)

Persönliche Werkzeuge