Debug-Mode bei kaputter Original-Software

Aus TuxBoxWIKI
Version vom 4. September 2004, 17:06 Uhr von Prodigy7 (Diskussion)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Einleitung

Es passiert immer wieder dass (bevorzugt beim Kurzschliessen) das Dateisystem im Flash-Speicher der Dbox2 beschädigt wird. Das hier soll eine kleine Hilfe sein wie man trotzdem in den Debug-Mode kommt.


Alternativ zu dieser Anleitung könnt ihr auch die Methode von MHC verwenden um in den Debug zu kommen. Bei dieser Methode ist es völlig egal wie sie die Software im Flash verhält (lediglich der Bootloader muss noch heile sein), ihr benötigt auch kein minflsh.


Benötigtes

Zunächst mal benötigt ihr eine Datei namens minflsh.tar.gz, bzw. minflsh.zip. Auf den in diesem Archiv enthaltenen Dateien liegen Rechte von Sun bzw. Betaresearch. Darum können sie hier nicht angeboten werden. Bitte erspart uns auch Anfragen im Forum, bzw. IRC oder per E-Mail.

Wer es schon geschafft hat die Dateien aus dem Flash auf die Festplatte zu kopieren, der kann hier nachlesen wie es es selber bauen kann.

Einstellungen

Ich beschreibe hier nur die Einstellungen für Windows. Für Linux könnt ihr hier etwas zur Serverkonfiguration nachlesen.

Zunächst mal wird das minflsh-Archiv entpackt, z.B. nach C:\minflsh. Holt euch als nächstes die aktuelle tuner.so benennt sie in flash.so um und ersetzt damit die flash.so in C:\minflsh\root\platform\drv (umbenennen).

Die Einstellungen für den Bootmanager:

  • RARP-Server Ein
  • BootP/TFTP-Server Ein, BootP-File ist C:\minflsh\kernel\os
  • NFS-Server Ein, NFS-Root ist C:\minflsh
  • Com-Port Öffnen, Verbindungsgeschwindigkeit ist 57600

BILDMINFLSH

Die Prozedur

Drückt jetzt im Bootmanager auf Start. Anschliessend startet ihr die Dbox2.

Die Box sollte jetzt bei Lade.... stehen bleiben. Wechselt zum RSH-Clienten (Links am Bootmanager sind Reiter) und sendet help (Send Cmd) Darauf solltet ihr folgende Antwort erhalten:

> help 
ChorusOS r3 rsh daemon - valid commands are: 

mount [hostaddr:filesystem|special_file [mount_point]] 
umount [-v|-F|-f|-a|-t [ufs|nfs]] [special_file]
swapon mount_point 

... und noch ne Menge anderer Zeilen

Wenn ihr es soweit geschafft habt, ist das Schlimmste schon überstanden.


Wenn ihr an dieser Stelle einen Timeout erhaltet, müsst ihr wahrscheinlich das Flash während des Bootvorgangs "abschalten". Überprüft noch einmal die Einstellungen der seriellen Schnittstelle und lest dann beim Reset weiter. Probiert jetzt nicht mit mount herum, je nach Box macht das nur Probleme.

Als nächstes müsst ihr den Schreibschutz aufheben. Wie das geht, erfahrt ihr hier.

Danach führt das enable_debug_with_minflsh Script aus, das ihr im Installationsverzeichnis des Bootmanagers findet. Drückt dazu auf den Execute Script Button. Jetzt kommen im RSH-Clienten ganz viele Zeilen und auch ganz viele Fehlermeldungen. Das macht nix, das ist normal. Die Ausgabe sollte in etwa so aussehen:

> umount / 
> mount 192.168.5.3:C/minflsh/ / 
C_INIT: mount 192.168.5.3:C/minflsh/ on /
;
;
; 
; 
; Und nun ins Terminalfenster (vorherige Seite) kucken! 
;
;
;
;
> arun initactor -v -V -i 4
started aid = 10
INIT Version 0.9 loaded
INIT: library path: "LD_LIBRARY_PATH=/root/platform/nokia-dbox2/lib:/root/platform/lib:/root/lib:/usr/lib:/root/platform/mpc8xx-dbox2/lib:/root/platform/nokia-dbox2/lib"
INIT: start run level 2
INIT: execute "ddf"
INIT: time: 58 sec, 920000000 nsec
INIT: started aid = 11
INIT: execute "upgrade"
INIT: time: 62 sec, 820000000 nsec
INIT: afexec of upgrade failed - No such file or directory 

Wenn das kommt, ist Netzwerkseitig schonmal alles in Ordnung. Danch kommen noch eine ganze Menge Fehlermeldungen mehr, das ist in Ordnung, das muss so sein. Auch die Meldung dass die Ausführung des Scripts fehlgeschlagen ist, die nach einigen Minuten kommt ist normal. Wichtig sind nur diese Zeilen.

Folgt jetzt der Aufforderung im RSH-Clienten und werft einen Blick ins com-terminal:

DebugEnabler (c) tmbinc, gillem +(sagem,amd,philips) 1.8 beta
bl-version : 1.0 
product? at : 10000944
current state : tmb-locked 
flashrom type : 2x16 bit? yes. vendor: INTEL
unprotecting : OK! 
flashing NOW : DONE ! 

Wenn in der letzten Zeile DONE steht, ist alles in Ordnung und beim Neustart sollte euer LCD so aussehen:

BILDDEBUG

Auch wenn euer Orginalimage beschädigt ist, versucht trotzdem noch es auszulesen. Auch wenn sich die Software im Flash nicht mehr starten lässt, kann man daraus noch mit ein bisschen Glück die Ucodes extrahieren.

Probleme

Der Bootmanger meldet "timeout" beim Senden von Help

In dem Fall bleibt euch wohl nur eins: Das Flash muss während des Bootvorgangs "abgeschalten" werden. Dazu verbindet ihr die flash reset hier angegebenen Punkte. Aktiviert im Bootmanager Kurzschlusspunkt anzeigen. Sobald sich der Bootmanger meldet, werden die Kontakte verbunden. Jetzt müsste die gewünschte Ausgabe auf help kommen. Wenn das erfolgreich war, könnt ihr den Kontakt wieder öffnen. Es geht jetzt ganz normal mit Schreibschutz aufheben und dem enable_debug_mit_minflsh Script weiter.

Es wird kein Kurzschlusszeitpunkt angezeit / Ping geht nicht

Ihr habt wahrscheinlich ein Problem mit dem Netzwerk. Überprüft folgende Punkte:

  • Allgemein:

Versucht bessere Treiber für die Netzwerkkarte zu ergattern. Überprüft ob ein Resourcenkonflikt vorliegt. Eventuell habt ihr noch eine alte 10Mbit-Karte herumliegen? Wunderbar, die sollte ohne Probleme laufen.

  • Wenn ihr die Dbox direkt mit dem PC verbunden habt:

Netzwerkkarte fest auf 10Mbit half-duplex einstellen (das spricht auch die Dbox). Bei Win2k/XP zusätzlich das Mediasensing ausschalten. Dazu könnt ihr diesen Patch (http://www.dietmar-h.net/Mediasensing.zip) bemühen.

  • Wenn ihr über einen Switch/Hub verbunden seid:

10/100er Kombi-Geräte machen gerne Ärger. Versucht ob ihr mit einer Direktverbindung bessere Ergebnisse erzielt.

Wenn alle Möglichkeiten versagen, könnt ihr den Debug-Mode auch ohne Netzwerk enablen.

  • Im com-terminal steht FLASHING NOW:FAILED

Ihr habt den Schreibschutz nicht deaktiviert.