Letzte Aktualisierung: 31. Dezember 2011 | 1050980 | Anbieterkennzeichnung
Zur Startseite gehen

Linux auf dem WRT54G 5.0 installieren

Lange Zeit wurde die WRT-Serie von Linksys mit Linux als Betriebssystem ausgeliefert. Das bescherte dieser Geräteserie eine fast beispiellose Erfolgsgeschichte. Nicht zuletzt wegen der vielen frei verfügbaren alternativen Firmwares mit erweiterter Funktionalität. Über 7 Hardwaregenerationen hinweg blieb Linksys dem Betriebssystem Linux treu. Doch dann wurde alles anders.

Mit dem WRT54G 5.0 wurde erstmals eine WRT-Serie aufgelegt die mit einem anderen Betriebssystem arbeitet: VxWorks. Der große Vorteil dieses Betriebssystems ist die Tatsache, daß es nur wenig Speicherplatz auf dem Flash belegt. Dadurch konnte Linksys kleinere Flash-Bausteine einsetzen und damit die Produktionskosten senken. Darin unterscheidet sich nun der WRT54G 5.0 grundlegend von seinen Vorgängern. Er verfügt nur noch über 2 statt bisher 4 MB Flash-Kapazität. Das ist leider für die gängigen Alternativ-Firmwares zu wenig. Dadurch schien der WRT54G 5.0 zunächst komplett aus dem Rennen was die Linux-Fähigkeit betrifft.

Findige Firmware-Programmierer (namentlich "Brainslayer" vom Projekt DD-WRT) ließ das keine Ruhe. Es entstand ein besonders platzsparendes Firmware-Image auf Basis von Linux ("Mini-Build"). Zwar fehlen dieser Firmware einige Funktionen welche einfach zu viel Platz im Image belegt hätten. Doch prinzipiell schin das größte Problem - der mangelnde Platz im Flash - damit zunächst beseitigt.

Doch es gibt ein weiteres Problem: Das eigentliche Betriebssystem des WRT54G 5.0 (VxWorks) benötigt keinen Bootloader wie ihn Linux verwendet. Dadurch kann man das Linux-Mini-Build nicht mit der Firmware-Update-Funktion im Webinterface einspielen. Die Linux-Firmware würde schlicht den Start verweigern. Aus diesem Grund muss dem WRT54G 5.0 ein Linux-kompatibler Bootloader "implantiert" werden. Der einzige Weg dies zu tun ist das Gerät zu öffnen und den Linux-Bootloader mit dem JTAG-Interface einzuspielen.

Durch das Öffnen des Gerätes erlischt jeglicher Gewährleistungs- und Garantieanspruch.

Der Umbau sollte nur vorgenommen werden wenn man Linux als Firmware wirklich benötigt, mit dem Einbau und der Verwendung des JTAG-Interface vertraut ist und der Verlust der Garantie und Gewährleistung vertretbar ist.

Dadurch wird offensichtlich, daß man nicht einfach per Firmware-Update zwischen der originalen VxWorks-Firmware und einer Linux-Firmware wechseln kann. Auch von Linux zurück auf VxWorks ist so nicht möglich.

Vorbereitung

Nachdem das JTAG-Interface entsprechend der Anleitung eingebaut und in Betrieb genommen wurde kann man mit der Umrüstung des WRT54G 5.0 auf Linux beginnen. Dazu geht man folgendermaßen vor:

  1. Das Skynet Repair Kit downloaden und installieren (falls noch nicht geschehen)
  2. Mit dem Bootloader Creator einen Linux-fähigen Bootloader für den WRT54G 5.0 erzeugen (ggf. das Online-Update ausführen um aktuelle Bootloader-Images zu erhalten)
  3. Die MAC-Adresse im Bootloader entsprechend der Anleitung auf die des umzurüstenden WRT54G 5.0 ändern
  4. Das Bootloader-Image (CFE.BIN) im Verzeichnis C:\SKYNET\WRTJTAG\ speichern
  5. Das JTAG-Interface an den PC anschließen
  6. Die DOS-Befehlszeile öffnen und folgende Befehlssequenz eingeben:

C:\Dokumente und Einstellungen\Skynet>cd\SKYNET\WRTJTAG (Enter)
C:\SKYNET\WRTJTAG>wrt54g -backup:wholeflash (Enter)

  1. Nun wird zunächst ein Abbild-Image des gesamten Inhalts des Flash-Bausteins erzeugt. Dies kann später dazu verwendet werden, die Original-Firmware wiederherzustellen.
  2. Nun ist der Inhalt des Flash-Bausteins zu löschen. Das ist notwendig um den Flash-Speicher für den Linux-Betrieb umkonfigurieren zu können:

C:\SKYNET\WRTJTAG>wrt54g -erase:wholeflash (Enter)

  1. Der Flash-Speicher ist nun geleert. Als nächstes wird das mit dem Bootloader Creator erzeugte Bootloader-Image eingespielt:

C:\SKYNET\WRTJTAG>wrt54g -flash:cfe (Enter)

  1. Nachdem das Bootloader-Image eingespielt ist öffnet man eine zusätzliche zweite DOS-Befehlszeile und führt zur Kontrolle einen Dauerping aus. Wichtig: Im Gegensatz zu allen anderen Bootloader-Images antwortet dieser Bootloader nicht auf der Ip-Adresse 192.168.1.1 sondern auf der IP-Adresse 192.168.1.245. Im Normalfall erhält man zunächst die Fehlermeldung "Zeitüberschreitung der Anforderung":

C:\Dokumente und Einstellungen\Skynet>ping 192.168.1.245 -t (Enter)
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.

  1. Nun startet man den WRT54G 5.0 neu indem man seine Stromversorgung für ca. 10 Sekunden unterbricht. Danach antwortet der WRT54G 5.0 auf den Dauerping:

Antwort von 192.168.1.245: Bytes=32 Zeit=5ms TTL=60
Antwort von 192.168.1.245: Bytes=32 Zeit=5ms TTL=60
Antwort von 192.168.1.245: Bytes=32 Zeit=5ms TTL=60
Antwort von 192.168.1.245: Bytes=32 Zeit=5ms TTL=60


Das Mini-Build mittels Tftpd32 einspielen
  1. Sobald der Bootloader auf den Ping an die Adresse 192.168.1.245 antwortet ist er auch in der Lage, einen Firmware-Upload mittels TFTP entgegen zu nehmen. Dazu verwenden wir wieder das Programm Tftpd32 welches schon in früheren Tutorials zum Einsatz kam und im Skynet Repair Kit enthalten ist. Der Screenshot links zeigt die korrekten Einstellungen für Tftpd32.

    "Server Interface" ist systemabhängig und kann variieren, ist jedoch in dem meisten Fällen nicht von Bedeutung.

    "Host" gibt die Ziel-Adresse an, welche das Firmware-Image empfangen soll, also in diesem Fall 192.168.1.245.

    "File" muss den korrekten Dateinamen zum Firmware-Image inklusive Pfadangabe enthalten.

    Nun auf "Put" klicken und den Upload abwarten. Dabei das parallel laufende DOS-Fenster mit dem Ping weiter beobachten. Sobald die Fehlermeldung "Hardwarefehler" oder "Zeitüberschreitung der Anforderung" erscheint hat der WRT54G 5.0 die neue Firmware entgegengenommen und versucht damit zu booten.

    Nun die Power-LED beobachten. Sobald sich das Signal vom gleichmäßigen Blinken in ein Dauerlicht ändert ist das Linux-System gestartet. Nun antwortet der WRT54G 5.0 jedoch nicht mehr auf der IP-Adresse 192.168.1.245 sondern wie üblich wieder auf der 192.168.1.1. Hier sollte jetzt auch das Webinterface erreichbar sein.
 
Web www.wlan-skynet.de