DD-WRT on WR850G v1 (deutsch)

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 19:12, 4 October 2006 (edit)
Lizard (Talk | contribs)

← Previous diff
Revision as of 14:15, 27 February 2007 (edit) (undo)
Sash (Talk | contribs)
m
Next diff →
Line 239: Line 239:
- die et*macaddr Werte sind unterschiedlich, 00:0C:10:21:32:0x sind auch schon aufgetaucht.<br> - die et*macaddr Werte sind unterschiedlich, 00:0C:10:21:32:0x sind auch schon aufgetaucht.<br>
Benutzen sie die zwei MAC-Adressen die auf dem Aufkleber am Boden des Router's befindet (WAN und WLAN).<br> Benutzen sie die zwei MAC-Adressen die auf dem Aufkleber am Boden des Router's befindet (WAN und WLAN).<br>
-Nun kommen wir zum kompliziertem Teil: benutzen Sie die <b>WAN Nummer für das LAN</b> die <b>nächste</b> für WAN, und benutzen sie die WLAN Adresse.<br>+Nun kommen wir zum kompliziertem Teil: benutzen Sie die <b>WAN Nummer für das LAN</b> (die niedrigste) die <b>nächst hoehere</b> für WAN, und benutzen sie die hoechste fuer WLAN.<br>
Fragen Sie mich nicht warum, die Router mit dem falschen Auftrag versendet worden sind: beide, die CFE, und DD-WRT machen es richtig. Glaubt mir.<br> Fragen Sie mich nicht warum, die Router mit dem falschen Auftrag versendet worden sind: beide, die CFE, und DD-WRT machen es richtig. Glaubt mir.<br>
Setzen sie jetzt <b>alle</b> Adressen in die korrekten Werte, mit Ausführung der folgenden Kommandos, Stück für Stück (ändern sie die MAC-Adressen mit ihren eigenen Werten) und senden sie sie mit <b>APPLY</b>: Setzen sie jetzt <b>alle</b> Adressen in die korrekten Werte, mit Ausführung der folgenden Kommandos, Stück für Stück (ändern sie die MAC-Adressen mit ihren eigenen Werten) und senden sie sie mit <b>APPLY</b>:

Revision as of 14:15, 27 February 2007

Dies ist nur eine reine deutsche 1-zu-1-Übersetzung der englischen WIKI von Stephen DD-WRT_on_WR850G_v1.
Ein Korrekturlesen mit anschliessender Korrektur ist gewollt und erwünscht, da mein Englisch auf einem Schulenglisch basiert, welches schon über 20 Jahren her ist.
Diese WIKI ist ein Versuch Usern zu helfen die der englischen Sprache überhaupt nicht mächtig sind.
Ansonsten empfehle Ich die englische WIKI zu benutzen.

Contents


Ziel der Beschreibung

Die Seite Flash_Your_Motorola_WR850G gibt einen netten Überblick, wie man einen Motorola Router in einen DD-WRT Router umwandelt. Leider gibt es einige Gefahren, wenn Sie eine Hardware-Version 1 besitzen (das mit dem AC/DC Konverter mitten in dem Netzanschlusskabel und keine Anzeige über die Version auf dem Aufkleber). Schauen Sie auf diese Seite, um irgendeine Idee zu erhalten. Ich bin kein Windows Benutzer, aber ich kenne Linux ziemlich gut. Wenn Sie nicht verstehen, was die folgenden Befehle machen, dann überprüfen Sie sie bitte mit einem guten Linux/Unix Lehrbuch, dann suchen Sie das Forum und das Wiki auf.

HINWEIS: Es gibt keine Garantie für alle: das Verfahren, das unten umrissen wurde, arbeitete für mich (mehrmals), aber es könnte Ihre Katze oder Frau töten, Ihr Windows zerstören, oder ihren Chef verärgern usw.. Das müssen sie selbst Verantworten!

Anfang

Ich kaufte ein WR850G, Version 1, bei e ***. es kam mit der installierten FW-Version 2.00, Ich machte erstemal ein Backup des Gerätes bevor ich die Konfiguration änderte bzw. eine Rückstellung in die Werkseinstellung (Factory default) ausführte und habe begonnen die FAQ zu lesen.

Auf der BroadbandReports forum Motorola FAQ-Seite fand Ich einige Firmware-Files veröffentlicht von Motorola: 4.03 und 5.13 (behobene Sicherheitsprobleme der 4.03), und 6.1.4 die zum Download verfügbar sind.

BATBOX ist ein nettes Tool welches es erlaubt telnetd laufen zu lassen (und andere nette Dinge) auf einem WRT54G, nützlich der Ping.asp Bug der auch in vielen Linksys-Firmwares vorhanden war, dieses arbeitet zwar nicht auf dem Motorola (ich habe einige Ideen, es in die FW 4.03 einzubinden - aber, im Augenblick bin ich zu faul). Irgendwie bekam Ich die DD-WRT (das mini_moto image) auf dem Router installiert und Ich machte einen Firmware-Reset als der ärger began, habe die Quellen gelesen, ich weiss jetzt warum.

Analyse der CFE

Die CFE (common firmware environment?) ist von der Funktion her ähnlich wie das BIOS in einem PC: Harwareinitialisierung, Interaktive Einstellungen, Betriebs-System. Wie in praktisch jedem CFE herum, gibt es ein kleines eingebettetes Flash-Image, welches sich in den NVRAM Abschnitt setzt, wenn etwas Fehlerhaft ist oder das Gerät resettet wird, "der Harte Weg eben".
Meiner (256KB Grösse, unkomprimiert) bei einem Offset von 0x0400--0x2400 enthält die folgenden festgelegten Einstellungen:

boardtype=bcm94710dev
boardnum=2
clkfreq=125
sdram_init=0x0419
sdram_config=0x0000
sdram_refresh=0x8040
et0phyaddr=30
et0mdcport=0
et1phyaddr=0
et1mdcport=1
dl_ram_addr=a0001000
os_ram_addr=80001000
os_flash_addr=bfc40000
lan_ipaddr=192.168.10.1
lan_netmask=255.255.255.0
wan_ipaddr=192.168.10.1
wan_netmask=255.255.255.0
scratch=a0180000
boot_wait=off
watchdog=1000
GemtekPmonVer=9

Bemerken Sie das WAN und LAN Adresse die selben sind. Dies erlaubt über alle Port's mit TFTP zu flashen (Ich habe es zwar nicht Versucht)

Im folgenden Code an ungefähr 71% in der vollständigen Datei, wird eine andere Einstellungen erwähnt (offensichtlich wird sie in das NVRAM Image eingesetzt, dort gibt es eine Zeichenkette (sic), die beginnt, alle Default-Werte wieder herzustellen:

DefaultEthPort  1
et0macaddr lan_hwaddr  00:11:22:33:44:55
et1macaddr wan_hwaddr  00:11:22:33:44:56

Die v1 hat keine serielle Schnittstelle (ich konnte keinen UART-Chip finden), deshalb konnte Ich dies nicht mit einer Seriell-Konsole überprüfen ob die Anweisungen mit der Zeichenkette zusammenhängt, so geben sie acht...
(es gibt eine Serielle Konsolen-Unterstützung innerhalb des CFE, bis 921600 Baud!) Die Motorola-Firmware könnte solche gefälschte Einstellungen ermitteln und sie in andere umwandeln (gefälscht schon, aber wen interessiert es)

Besuchen Sie www.gemtek.com für Updates.

Diese sind jetzt auf www.gemtek.com.tw (www.gemtek.com zeigt auf eine Klima-Service Seite) und dort ist kein Download verfügbar - aber was haben sie erwartet?


Firmware reset im Motorola Code

Es gibt keinen GPL Quell-Code für die 4.03. Überprüfe 5.13 oder 6.1.4 (im letzteren kann man in der src/router/rc/rc.c einige Anhaltspunkte erhalten)

Was man vermeiden sollte

Der WR850Gv1 ist ein nettes Spielzeug, also warum sollte ich nicht mit ihm spielen? z.B. zurücksetzen in die Werkseinstellung, mit dem gpio-utility rumspielen um die LED's an und aus zu stellen, ...

Keine GPIO Tricks bitte

Leider, der v1 ist in vielen Dingen ein wenig unterschiedlich, also erwarten sie nicht das er nicht unbrauchbar wird!
Polling the GPIO ports (0-7 seem to be connected, with a wraparound at 32) will return 01 for all ports, except port 1 which will alternate between 00 and 01 very rapidly
Durch aktivieren und deaktivieren der Port, fand Ich folgende Dinge herraus:


GPIO PortFunktionen
0keine veränderung ?
1keine veränderung ?
2alle LAN LEDs
3rot blinkende POWER LED
4NICHT VERÄNDERN!!!
5keine veränderung ?
6NICHT VERÄNDERN!!!
7NICHT VERÄNDERN!!!

Port's 4 und 6 werden in der resetbutton.c erwähnt, und sie können offensichtich Schaden ihrem System hinzufügen.
Port 7 kann für die DMZ LED benutzt werden, geben sie hier besonders acht, es resettete zumindestens mein Gerät (Hinweise sind willkommen: Ich brauche diese Eigenschaft nicht)

Sie können ihrem Router schaden, wenn sie mit dem GPIO rumspielen.

Keine "mtd" Tricks

Wie BrainSlayer auch schon erwähnte (FIXME: wo?), führe NIEMALS mtd erase nvram auf dem WR850G aus.
Dieser Befehl wird nicht auf dem v1 unterstützt und wird merkwürdige MAC-Adressen zuweisen.

Keine Firmware-Defaults

Obgleich dieses in die meisten Anweisungen empfohlen wird, NIEMALS einen Reset auf die Firmware-Defaults auf einem v1 ausführen. Die DD-WRT kennt sich nicht mit den Besonderheiten des WR850G v1 aus. (überprüfung mit SVN code 2006-02-19)!

LED's können irreführend sein

Auf meinem Gerät fand ich heraus, dass das LED Muster sehr irreführend sein kann. Mit einem völlig funktionsfähigem WR850G v1 mit laufendem DD-WRT v23final ("Weihnachts-Edition" vom 2005-12-25) sah Ich:

  • POWER ist rot am blinken (kommt als letztes)
  • MODEM (welches mit DHCP verbunden ist) zeigt sich "orange" (rot und grün) erst blinkend aber stabil wenn verbunden (XOR traffic)
  • WLAN ist die ganze Zeit aus
  • LAN# sind stabil grün (XOR traffic) wenn verbunden (wenn Schnittstelle oben ist)

Nehmen Sie das Blinken der Power-LED nicht zu ernst, es hat nicht die gleiche Aussage wie bei einem WRT54G! Es ist halt die DD-WRT und BrainSlayer sagt (FIXME: Link) es gibt keine LED Unterstützung für den WR850G in der DD-WRT, sie könnten auch alle aus sein.

Wie man das tote Tier wieder belebt

Jetzt haben Sie ein totes WR850Gv1 und möchten es wieder beleben? Sorgen Sie sich nicht, es wird kein JTAG benötigt und es ist nicht nötig das Gerät zu öffnen.

Vorbedingungen für das Debricking

Hardware

Ich besitze ein Laptop laufend mit Linux, eine WLAN-Karte (gute alte Avaya, mit Orinoco-Chip), einen Switch (welches sehr wichtig ist zu haben, Ich habe keinen Hub um es zu testen) und einen WRT54G auf dem Ich Site-Survey laufen lassen kann (ein Kismet/*Stumbler Gerät tut es auch) Mit Linux, bei dem die IP-Adressen über einen DHCP zugewiesen wurden und zusätzlich feste (bekannte) Adressen, benutzen Sie:

ifconfig eth0:1 192.168.10.5
ifconfig eth0:2 192.168.1.5

um in der Lage zu sein, den Zugriff der Default-Adresse 192.168.10.1 (eines jungfräulichen) WR850G zu erhalten und die IP-Adresse 192.168.1.1 zugewiesen durch die DD-WRT, ohne die anderen Verbindungen zu verlieren.
Der Switch hält Ihre Schnittstelle oben, selbst wenn der Router seine Port's zurückstellt.
Eine WLAN-Karte ist erforderlich, wenn die LAN-Schnittstellen schlecht Konfiguriert und nicht mehr erreichbar ist.

Software

Firmware erhalten

Bei bedarf Auspacken (*.exe kann ungepackt sein, benutzen Sie unzip -x unter Linux.) Benutzen Sie:

dd if=firmware.trx bs=8 skip=1 of=firmware.bin

um die Versionen zu erzeugen, die via TFTP und/oder via FW-Upgrade der DD-WRT-Webseite geladen werden können.

Überprüfe was noch Funktioniert

Starten sie einen Site-Survey auf einem anderen Router, oder Kismet, oder von einem anderen WLAN-Abfrage-Tool um zu überprüfen ob das WLAN-Interface des WR850G funktioniert. Als Erinnerung, sie können den LED's nicht trauen.
Während ab- und anlegen der Stromversorgung lassen sie ping 192.168.10.1 laufen (hierbei ist ein Switch sehr hilfreich). Vergewissern Sie sich das die LAN-Schnittstelle im Bereich 192.168.10.xxx eingestellt ist.
Verbinden sie das Kabel mit der WAN-Schnittstelle und wiederholen sie die vorherigen Schritte, bei bedarf.
Wenn Sie irgendeine Antwort erhielten, gibt es eine Menge Hoffnung für Sie!
Wenn nicht, können Sie die Reset-Taste auf der Rückseite des Router's betätigten und halten sie ihn eine Weile.
Mit der DD-WRT geflasht, sehen sie vermutlich nichts. Das muss nicht heissen, das nichts geschied.
Um zu Überprüfen ob sie Erfolg gehabt haben, gehen Sie zurück zu dem Anfang dieses Abschnitts.

WLAN ist vorhanden, aber kein kabelgebundener Zugang

Überprüfen sie die WLAN-MAC-Adresse angezeigt durch ihre WLAN-Abfrage, es sollte die auf dem Aufkleber ihres Gerätes sein. Entfernen sie die Namensgebungen der kabelgebundenen Schnittstellen, und überprüfen sie:

ifconfig eth0:1 down
ifconfig eth0:2 down
ifconfig -a

Setzen Sie dann Ihre WLAN-Karte, ein und überprüfen Sie mit iwconfig ob sie ihren Access-Point sehen können. Fahren sie noch nicht ihre Schnittstellen rauf
Versuchen Sie jetzt, eine Adresse über DHCP zu erhalten (wie Sie es machen sollen, hängt von Ihrer Linux-Distribution ab, bei Debian editieren sie /etc/network/interfaces). Wenn sie keinen Erfolg haben, weisen sie eine IP-Adresse per Hand zu. (Sie müssen zwei haben, einmal für das Netzwerk gehörender Router, und eine für 192.168.10.xxx).
Leeren sie ihren ARP-Speicher öfters durch starten eines Broadcast-Ping.
Versuchen sie eine Verbindung des HTTP-Port des Router's (Mit nmap zur Überprüfung, welche Port's da sind).
Wenn sie Erfolgreich sind, fahren sie mit "Flash back from Web" unten fort.

Kabelgebundener Zugang funktioniert

Versuchen sie eine IP-Adresse vom DHCP zu erhalten, dann versuchen sie eine Verbindung zum HTTP-Port. Vergessen sie nicht den ARP-Speicher zu leeren.

Kein Web-Zugriff zum Router

Wenn sie keine IP-Adresse vom DHCP erhalten, versuchen sie es mit einer festen IP-Adresse von dem (hoffentlich korrekten) Adress-Bereich, Es kann sein das sie immer noch keinen Web-Zugriff bekommen, aber wie sie bemerkt haben, erhielten sie vorher eine kurze Antwort des Ping. Sie können per TFTP die Firmware direkt übertragen, dies ist vorher erwähnt worden, aber Wiederholung tut nicht weh:

  • Trennen Sie ihren Router vom Stromnetz.
  • Verbinden sie per Kabel einen der LAN-Port's mit ihrem Linux-PC, starten Sie
    tftp 192.168.10.1
    bin
    trace
    put firmware403.bin
    

    (stellen sie sicher, das sie die Firmware der 4.03-Version verwenden, es ist das einzige, die Ihnen erlaubt, die Dinge zu reparieren!) und zur selben Zeit drücken sie ENTER und stecken sie die Stromversorgung an den Router.


Fahren Sie mit "Restore virginity" unten fort

Flash back from Web

... FIXME: wurde schon Beschrieben ... (benutzen sie *.bin für DD-WRT, *.trx für Moto FW - Sie erhalten die Abbildung)

Restore virginity

(Dies muss nicht notwendig sein, aber es definiert mindestens den Zustand des Router's.)
Let the LEDs come to a rest.
Schalten sie ihren Router aus.
Halten Sie die Reset-Taste, schalten sie den Router ein, lassen sie den Router während des Reset's einen zweiten durchlauf machen (schauen sie auf die rote Power-LED), dann lassen sie die Reset-Taste los.
Lassen sie ihn ein wenig ruhen.
Schalten sie den Router aus und wieder ein.

MAC-Adresse wiederherstellen und mehr

Loggen sie sich auf ihren Router ein, sie müssen einige Benutzernamen/Passwort Kombinationen probieren (root oder admin, admin oder motorola oder ihr vorheriges Passwort) Versuchen Sie NICHT, alte Backup's wieder aufzuspielen Es ist ein Bug in 4.03 (und 5.13 ebenfalls) Firmware, welches den HTTP-Server abstürzen lässt, wenn Sie zur Konfigurations-Seite gehen. (Diese arbeitet nur, wenn alle DD-WRT Eintragungen vom NVRAM entfernt worden sind, aber was soll's)
Gehen sie zu der frame_debug.asp Seite. (Dies ist ein verstecktes Feature, geben sie die URL per Hand ein.)
Tippen Sie

nvram show | grep ..:..:

in das Eingabefeld und nicht Enter drücken - click APPLY stattdessen!
Das Ausgabefenster zeigt folgende Zeilen:

et0macaddr=00:11:22:33:44:55
et1macaddr=00:11:22:33:44:56
lan_hwaddr=...
wan_hwaddr=...
wan0_hwaddr=...
wl0_hwaddr=...

- die et*macaddr Werte sind unterschiedlich, 00:0C:10:21:32:0x sind auch schon aufgetaucht.
Benutzen sie die zwei MAC-Adressen die auf dem Aufkleber am Boden des Router's befindet (WAN und WLAN).
Nun kommen wir zum kompliziertem Teil: benutzen Sie die WAN Nummer für das LAN (die niedrigste) die nächst hoehere für WAN, und benutzen sie die hoechste fuer WLAN.
Fragen Sie mich nicht warum, die Router mit dem falschen Auftrag versendet worden sind: beide, die CFE, und DD-WRT machen es richtig. Glaubt mir.
Setzen sie jetzt alle Adressen in die korrekten Werte, mit Ausführung der folgenden Kommandos, Stück für Stück (ändern sie die MAC-Adressen mit ihren eigenen Werten) und senden sie sie mit APPLY:

nvram set et0macaddr=00:0C:E5:46:00:3E
nvram set et1macaddr=00:0C:E5:46:00:3F
nvram set lan_hwaddr=00:0C:E5:46:00:3E
nvram set wan_hwaddr=00:0C:E5:46:00:3F
nvram set wan0_hwaddr=00:0C:E5:46:00:3F
nvram set wl0_hwaddr=00:0C:E5:46:00:40

Bemerken sie, dort ist keine il0macaddr Einstellung, im Vergleich mit der neueren Version, und die wan0 _ * Einstellung kann überholt sein! Überprüfen sie nochmal:

nvram show | grep ..:..:

und wenn alles korrekt ist, dann

nvram commit

Resetten sie den Router im Moment noch nicht!
Ich habe es in den seltenen Fällen entdeckt, das das Port-zu-VLAN Mapping falsch sein kann. Überprüfen sie:

nvram show | grep vlan

und bestätigt, wenn sie haben

vlan0ports=0 1 2 3 5*
vlan1ports=4 5

- wenn Sie unterschiedliche Einstellungen haben, müssen Sie diese setzen auf

nvram set vlan0ports="0 1 2 3 5*"

(Anführungszeichen!), und ähnlich für vlan1ports, Überprüfen Sie ausserdem die Werte von port*vlans (sie können sicher entfernt werden)!
Wenn alle Änderungen wiederholt und festgelegt worden sind, Reboot (Router aus- und wieder anschalten).

Upgrade zu 6.1.4

Es wurde erwähnt, dass durch Flashen der DD-WRT von der Version 6.1.4, die LED Funktionalität erhalten bleibt, ich kann dies nicht bestätigen.
Gehen sie nicht zu Konfigurations-Seite "Backup/Restore", der httpd wird sich aufhängen.
Benutzen sie die Firmware-Upgrade-Seite um die 6.1.4 (das .trx File) zu flashen.
Wenn bereit, klicken Sie die RESTART Taste.
Der Router wird automatisch neustarten und zeigt seine Hauptseite.
Klicken sie auf "Restore Factory Configuration", welches das NVRAM am besten säubert. Sie könnenes nicht überprüfen.
Dies ist die letzte Chance um es sicher zu tun. Lasst mich wiederholen: Die DD-WRT kennt nicht mit den korrekten factory/firmware Einstellungen aus.

Upgrade zu DD-WRT

Benutzen sie das Firmware-Menü, und flashen sie die mini_moto.trx Unter Firefox wird ein Popup-Fenster geöffnet, welches mich fragt was Ich mit der upgrade.cgi machen möchte. Ich beschloss, es in einem Text-Editor zu öffnen: Es benötigt drei Zeilen Text bevor korrektem mit HTTP arbeitet:

WR found
Mem: 14950400
Motorola CRC correct...
HTTP/1.0 200 Ok
Server: httpd
...

Since it told you it'd be rebooting, ist es jetzt Zeit den ARP-Speicher wieder zu säubern und nach Möglichkeit ihr Netzwerk-Interface neuzustarten.
Verbinden sie sich wieder mit dem Router und sie erhalten die Status-Seite in der Farbe Cyan.
Rebooten sie den Router, nach Möglichkeit neustart eth0, und säubern sie den ARP-Speicher erneut.
Das Benutzer/Passwort Paar ist jetzt "root/motorola".
Machen sie ein Backup von ihrer Konfiguration und bezeichnen sie ihre Datei mit einem Datum Speicherkapazität ist heutzutage preiswert, Sie können jedes von ihnen benötigen.

Gratulation

Sie haben es getan, Sie erhielten, was Sie verdienen! Nacht eines harten Tages, war es... Jetzt: Geniessen Sie und vermeiden Sie die Gefahren.


Last edit by Lizard: 20:41, 04 Sep 2006 (CET)