Hardware:dbox2:Debug-Mode mit Kurzschluss

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche

Vorlage:Überarbeiten


Baustelle-klein.png Hinweis: Dieser Artikel ist momentan noch nicht dazu geeignet, den Debug-Mode einzuschalten!!!


Allgemeines


Stop hand.png An dieser Stelle muss noch Text rein.

Achtung

Alles was ihr mit dieser Anleitung eurer DBox2 antut, geschieht auf eigene Gefahr. Wir übernehmen keine Haftung für irgendwas. Bitte achtet auch darauf, dass die DBox2 euer Eigentum sein muss. Auf keinen Fall solltet ihr diese Modifikationen an einer Mietbox durchführen!

Da an der Box Hardwaremodifikationen durchgeführt werden, erlischt natürlich eine eventuell vorhandene Garantie oder Gewährleistung. Außerdem muss die Box dazu natürlich geöffnet werden, wodurch man mit sehr hohen Spannungen in Berührung kommen kann, die für den Menschen tödlich sein können! Dieser Eingriff sollte nur von Personen durchgeführt werden, die sich der möglichen Konsequenzen bewusst sind und dieses Risiko eingehen möchten. Dazu gehört auch, dass die Box während des Umbaus oder danach irreparabel beschädigt werden könnte und dann nur noch als Briefbeschwerer taugt.

Bitte lest euch dieses HowTo aufmerksam bis zum Ende durch bevor ihr anfangt (das gilt auch für die anderen HowTos).

Sämtliche Umbaumaßnahmen werden auf eigene Gefahr durchgeführt! Wer dies nicht akzeptiert möge bitte nicht weiterlesen.

Fangt nicht an bevor ihr den Vorgang verstanden habt!


Wie bootet die DBox2

  1. Der Bootloader wird geladen.
  2. Der Bootloader macht eine Bootp Anfrage nach einer [IP-Adresse]], einem Tftp Server und nach einem Kernel den er laden kann.
  3. Entweder wird ein Kernel über das Netzwerk gebootet (wenn 2. erfolgreich war) oder es wird der Kernel aus dem Flash gebootet.
  4. Der aus dem Flash gebootete ChorusOS Kernel konfiguriert sich über eine RARP Anfrage.


Für Punkt 2 braucht man einen DHCP-Server.

Für Punkt 4 braucht man bei Kernel 2.2.x Kernelsupport für RARP. Bei Kernel 2.4.x einen RARP Daemon.


Voraussetzungen

  • Die DBox2 und euren PC müsst ihr mit einem Crossover-Kabel verbinden.
  • Die DBox2 kann natürlich auch mittels eines normalen Hubs (der Hub muss für 10MBit ausgelegt sein, die DBox2 kann keine 100MBit) mit eurem Rechner verbunden werden. ACHTUNG: hier kein Crossover-Kabel verwenden!
  • Wenn ihr nur an der DBox2 ein Nullmodem-Kabel eingesteckt habt (und nicht am PC) kann die DBox2 nicht booten und bleibt 'hängen' --> also Nullmodem Kabel entweder an DBox2 und PC oder ganz weg.


Mit Linux

Ihr braucht ein paar Verzeichnisse :

/dbox
/dbox2
/dbox2/tftpboot


HOSTS

Tragt die DBox2 in eure /etc/hosts ein.

Auszug aus /etc/hosts:

<IP-ADRESSE-DER-DBOX2> dbox 


DHCP SERVER

DHCP Server neu compilieren mit diesen Sourcen (bei so vielen Leuten hat der DHCP Server nicht richtig funktioniert ...)


Auszug aus /etc/dhcpd.conf:

subnet 192.168.1.0 netmask 255.255.255.0 {
}
host dbox {
fixed-address <IP-DER-DBOX2>;
hardware ethernet <MAC-ADRESSE-DER-DBOX2-MIT-:-GETRENNT>;
allow bootp;
server-name <"IP-DES-LINUX-RECHNERS">;
#filename "/dbox2/tftpboot/ppcboot";
}

Dieses Beispiel geht davon aus, dass eure IP-Adresse im Netz 192.168.1.x ist , falls nicht müsst ihr natürlich Subnet auch noch ändern..

Wichtig sind die " " um die IP-Adresse des Linux Rechners.


RARP

Bei Kernel 2.2.x einfach mit

rarp -s dbox <MAC-ADRESSE-DER-BOX-MIT-:-GETRENNT>

baut diesen Befehl in ein Startscript ein, sonst müsst ihr ihn nach jedem Booten wieder neu eingeben...


Bei Kernel 2.4.x müsst ihr euch den RARP Daemon besorgen und dann die MAC-Adresse in die /etc/ethers schreiben. Wichtig ist das ihr den Rarpd mit der Option -e startet !


Auszug aus /etc/ethers:

<MAC-ADRESSE-DER-DBOX2-MIT-:-GETRENNT> <IP-DER-DBOX2>


NFS

Auszug aus /etc/exports

/dbox           dbox(rw,no_root_squash)


TFTP

Auszug aus /etc/inetd.conf

tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -s /dbox2/tftpboot 


Mit Windows

Ihr braucht ein paar Verzeichnisse:

c:\dbox
c:\dbox2
c:\dbox2\tftpboot

  • Ihr braucht das Windows Toolkit das Field geschrieben hat, das Toolkit ist DHCP, RARP und TFTP-Server + RSH und Terminal Client !

Ihr findet das Toolkit und eine gute Anleitung dazu unter http://dbox.feldtech.com/. Zum generellen Ablauf des Debug enablen solltet ihr hier auf jedenfall weiterlesen. Wie das alles in Field´s Tool geht steht in seiner Readme.

Hier nochmal ein Dank an Field für sein Tool, das ist echt gut :)


Bei "Lade ... " stehen bleib

Hinweis: Ich erhalte in letzter Zeit immer mehr Mails von Leuten die ihr Flash kaputt gemacht haben. Sowas kann passieren, obwohl es mir noch nicht passiert ist. Wer weiß was die gemacht haben. Was aber klar ist, ist das diese Kurzschlussmethode sehr RISKANT ist. Also genau überlegen ob ihr das Risiko eingehen wollt !!!


Das ist das Ziel, die DBox2 muss bei "Lade ..." stehen bleiben und der Chorus-Kernel muss einen RSH-Daemon aufmachen. Das passiert dann, wenn der Chorus-Kernel aus irgendeinem Grund sein Initscrippt nicht findet. Das erreichen wir, indem wir zum richtigen Zeitpunkt das Flash abschalten.


Jetzt mal einen Testdurchlauf machen :

  • DBox2 über ein Crossover-Kabel an euren Rechner auf dem RARP und DHCPD laufen, anschließen.
  • DBox2 anpingen (der Ping wird erstmal nicht beantwortet, aber den Ping im Auge behalten)
    • "Nur für Linux: Der Pingtimeout von Linux ist sehr hoch daher ist das ziemlich ungenau, es ist aber wichtig das man sofort kurzschließt sobald die DBox2 pingbar ist, deshalb am besten 10 pings gleichzeitig in einer Konsole laufen lassen also mit & starten ... "
  • DBox2 in den Strom stecken , nun läuft erstmal ein Balken von links nach rechts, danach kommt dann "Lade ..." nun solltet ihr einen Ping reply von der DBox2 bekommen, kommt er nicht, dann geht RARP nicht.


Wenn der Test Ok war, weitermachen, ansonsten Fehler suchen.

  • DBox2 aus aus dem Strom ziehen


Je nach DBox2 Version (Nokia,Sagem oder Philips) ist das anders, deshalb:


Nokia mit 2 * Intel Flash Rams

Ihr müsst zum richtigen Zeitpunkt zwei Lötpunkte auf der Platine verbinden (Schalter auf ON), und zwar die die auf dem Foto hier Rot eingekreist sind.


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Nokia mit 2 * AMD Flash Rams

Ihr müsst zum richtigen Zeitpunkt zwei Lötpunkte auf der Platine verbinden (Schalter auf ON), und zwar die die auf dem Foto hier Rot eingekreist sind.


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Sagem mit 1 * Intel Flash Ram

Einfach zum richtigen Zeitpunkt den Stromstecker abziehen auf dem Foto hier abziehen (Entspricht Schalter auf ON).


Stop hand.png An dieser Stelle muss noch ein Bild rein.

Tipp: Da der Stecker gegen unabsichtliches abziehen mit einer Lasche gesichert ist, am besten vorher den Stecker schon 2 mm hochziehen so das er schon über der Lasche steht.


Sagem mit 2 * Intel Flash Rams

Einfach zum richtigen Zeitpunkt den Stromstecker abziehen auf dem Foto hier abziehen (Entspricht Schalter auf ON).


Stop hand.png An dieser Stelle muss noch ein Bild rein.

Tipp: Da der Stecker gegen unabsichtliches abziehen mit einer Lasche gesichert ist, am besten vorher den stecker schon 2 mm hochziehen so das er schon über der Lasche steht.


Sagem mit 2 * AMD Flash Rams in 2 * Intel Layout

Einfach zum richtigen Zeitpunkt den Stromstecker abziehen auf dem Foto hier abziehen (Entspricht Schalter auf ON).


Stop hand.png An dieser Stelle muss noch ein Bild rein.

Tipp: Da der Stecker gegen unabsichtliches abziehen mit einer Lasche gesichert ist, am besten vorher den stecker schon 2 mm hochziehen so das er schon über der Lasche steht.


Sagem mit 2 * AMD Flash Rams in 1 * Intel Layout

Einfach zum richtigen Zeitpunkt den Stromstecker abziehen auf dem Foto hier abziehen (Entspricht Schalter auf ON).


Stop hand.png An dieser Stelle muss noch ein Bild rein.

Tipp: Da der Stecker gegen unabsichtliches abziehen mit einer Lasche gesichert ist, am besten vorher den stecker schon 2 mm hochziehen so das er schon über der Lasche steht.


Philips mit 2 * Intel Flash Rams

Es muß zum richtigen Zeitpunkt einfach PIN 12 auf GND gezogen werden. Liegt dann parallel an beiden FLASHs an.


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Der Zeitpunkt

Der Zeitpunkt zu dem ihr die Pins verbinden müsst ist auf jeder DBox2 gleich !

Sobald die DBox2 auf euren Ping antwortet müsst ihr SOFORT die jeweiligen Pins verbinden, und das SOFORT heißt auch SOFORT.

Also nicht erst dann anfangen zu suchen was man wie verbinden muss !!

Am besten löst man das, indem man an die jeweiligen Pins ein Stück Kabel anlötet, an das man einen kleinen Schalter macht.


Viele Leute haben ihren Flashinhalt mit dieser Methode gelöscht (kann passieren wenn mann den Zeitpunkt nicht genau trifft) daher habe ich diesen Part neu überarbeitet.

Also ihr solltet ein Kabel an die besagten Pins anlöten und dazwischen einen Schalter machen. Der Schalter sollte erstmal auf Offen stehen !!


Trotzdem passiert es das man nicht genau den Zeitpunkt erwischt. Ich habe es 100 mal versucht und nur 40 mal hat es geklappt :( . Also wenn es nicht geht, nochmal probieren. Bei euch muss es ja nur einmal klappen.


ACHTUNG:

Falls es nicht geht, erstmal alles noch einmal Gewissenhaft überprüfen !!

  1. Bin ich geerdet ?
  2. Ist ein Arbeitsmaterial geerdet ?
  3. Hab ich wirklich die richtigen Punkte erwischt ?

Nicht 1000 mal probieren das Flash kurzzuschließen !!! lieber mal abwarten, Teetrinken und nochmal alles überdenken !!


DIE PROZEDUR

1. DBox2 Stromstecker ist draußen und der über die Kabel angelegte Schalter steht auf offen (Bei sagem gibt es diesen schalter nicht, dort heißt Schalter Offen einfach, dass das Strockkabel auf dem Bild normal Steckt).

2. DBox2 über ein Crosskabel an euren Rechner auf dem RARP und DHCPD laufen, anschließen.

3. DBox2 anpingen (der Ping wird erstmal nicht beantwortet, aber den Ping im Auge behalten)

4. DBox2 Stromstecker in die Steckdose stecken.

5. Nun den Ping nicht aus den Augen lassen, wenn die DBox2 den Ping beantwortet müsst ihr den Schalter auf ON legen. Die DBox2 sollte nun bei "Lade ..." stehen bleiben, und der Ping sollte weiterhin beantwortet werden. (Bei Sagem gibt es diesen Schalter nicht, dort heißt Schalter ON einfach, dass das Strockkabel auf dem Bild abgezogen ist). Wird der Ping nicht mehr beatwortet, war es der falsche Zeitpunkt, dann den DBox2 Stromstecker rausziehen !!!


Nachdem der Stromstecker draußen ist den Schalter wieder auf offen legen (wirklich erst wenn die DBox2 keinen Strom mehr hat den Schalter auf offen legen, ansonsten macht ihr euren Flashinhalt kaputt!!!) und dann wieder bei 1 anfangen !!!


6. Wird der Ping nach dem "Schalter auf ON legen" noch immer beantwortet, dann seid ihr ein kleines Stück weiter. Probiert nun: 'rsh dbox help' in eurer Shell, daraufhin sollte eine Ausgabe kommen die so aussieht:

mpg:/ # rsh dbox 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
arun [-s site] [-S | -U] [-k] [-T] [-d] [-q] [-D] [-Z] actor_name [actor arguments]
akill [-s site] [-c] aid
aps [-s site]
reboot
route [add | delete [net | host] args]
ping host
echo string
setenv var value
unsetenv var
source filename
env
memstat
sleep [time in seconds, default=1s]
help
mpg:/ #


Wenn nichts kommt, dann war es der falsche Zeitpunkt, dann den DBox2 Stromstecker rausziehen!!! Nachdem der Stromstecker draußen ist den Schalter wieder auf offen legen (wirklich erst wenn die DBox2 keinen Strom mehr hat den Schalter auf offen legen, ansonsten macht ihr euren Flashinhalt kaputt!!!) und dann wieder bei 1 anfangen!!!

7. Wenn die Antwort 'help' kommt seid ihr wieder ein kleines Stück weiter. Probiert nun: 'rsh dbox mount' in eurer Shell, daraufhin sollte eine Ausgabe kommen die so aussieht:

mpg:/ # rsh dbox mount
C_INIT:
root_device mount on /    (flfs)
mpg:/ #


Das ist das schwerste das bekommt man sehr selten hin:

Wenn nichts kommt, dann war es der falsche Zeitpunkt. Dann den DBox2 Stromstecker rausziehen!!! Nachdem der Stromstecker draußen ist den Schalter wieder auf offen legen (wirklich erst wenn die DBox2 keinen Strom mehr hat den Schalter auf offen legen, ansonsten macht ihr euren Flashinhalt kaputt!!!) und dann wieder bei 1 anfangen!!!


8. Wenn ihr eine Ausgabe so wie sie oben da steht bekommt, dann habt ihr das schwierigste geschafft - Herzlichen Glückwunsch.


Ich wiederhole nochmal lieber:

  1. Die DBox2 sollte nun bei "Lade ..." stehen geblieben sein (das Display sollte sich nicht zu "Einen Moment bitte "ändern)
  2. Die DBox2 muss pingbar sein
  3. Die DBox2 muss auf den Befehl: 'rsh dbox help' eine kleine Help bringen
  4. Die DBox2 muss auf den Befehl: 'rsh dbox mount ' eine Rückgabe liefern die so aussieht:
mpg:/ # rsh dbox mount
C_INIT:
root_device mount on /    (flfs)
mpg:/ #


9. OK, nur wenn wirklich alle vorherigen Punkte erfolgreich waren macht ihr hier weiter!! Ansonsten wieder zurück zu Punkt 1!

10. Schalter auf offen legen! Nur wenn der Schalter auf offen liegt könnt ihr die Files aus der DBox2 rauskopieren.

11. Mit dem Software rauskopieren weitermachen.


Software Rauskopieren

Auf eurem Rechner muss jetzt noch ein NFS-Server laufen:

  • Das Verzeichnis /dbox sollte existieren und sollte per NFS freigegeben sein
  • Im Verzeichnis /dbox müssen die cpR.class und das copy.sh. bzw copy_dbox2.bat Script liegen.
  • Nachdem eure DBox2 nun bei "Lade..." steht und der NFS-Server auch läuft, könnt ihr den Inhalt mit dem copy.sh Script rüberkopieren.

Einfach 'copy.sh ip-eures-rechners' oder 'copy_dbox2 ip-eures-rechners' im Verzeichnis /dbox eingeben (copy.sh muss natürlich ausführbar sein).

Nun sollte folgende Meldung kommen:

C_INIT: mount 192.168.0.201:/dbox on /lost+found
started aid = 10
//
creating /lost+found/
//usr/
creating /lost+found//usr
//usr/siege/

................... etc ....

Das dauert einige Minuten, wenn es fertig ist habt ihr in /dbox den kompletten Dateisystem Inhalt eures Flashs.


Debug-Mode enablen


Nun braucht ihr noch das Scippt debug.sh bzw debug_dbox2.bat in /dbox.

Der Flashbereich den wir verändern wollen ist schreibgeschützt, deshalb muss man jetzt noch ein Paar Pins verbinden um den Schreibschutz zu deaktivieren.


Schreibschutz Disablen

Ist wieder je nach DBox2 anders. Ihr könnt das während des Betriebes machen (aber aufpassen, ein Pin ist 3.3V also nicht im Betrieb mit einem geerdeten Lötkolben rumlöten). Der Schreibschutz muss auch nur für den Zeitraum vom Start der debug.sh bis auf eurem Terminalprogramm "done !!" steht verbunden sein.

Natürlich kann man das gerade bei der Philips schlecht, da muss man am besten einen Draht dafür unten auf der Platine anlöten. Wichtig ist, dass nachdem die DBox2 im Debug-Mode ist, ihr den Schreibschutz wieder enabled, sonst killt ihr euch später mal ausversehen den Bootloader und damit habt ihr dann einen Briefbeschwerer.


Nokia mit 2 * Intel Flash Rams

Jumper XH4 und XH6 (sind direkt am Flash) setzen. Bei den meisten neueren Boxen sind hier leider keine Jumper mehr eingelötet, sondern nur noch Lötpunkte. Diese beiden Lötpunkte einfach mit einem Kabel verbinden (Kabel anlöten).


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Nokia mit 2 * AMD Flash Rams

Jumper XH3 setzen. Bei den meisten neueren Boxen sind hier leider keine Jumper mehr eingelötet, sondern nur noch Lötpunkte. Diese beiden Lötpunkte einfach mit einem Kabel verbinden (Kabel anlöten).


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Sagem mit 1 * Intel Flash Ram

Die zwei Lötpunkte auf diesem Bild verbinden.


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Sagem mit 2 * Intel Flash Rams

Wie auf dem Bild beschrieben verbinden.


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Sagem mit 2 * AMD Flash Rams in 2 * Intel Layout

Die beiden Lötpunkte auf diesem Bild (Pin 14 von jedem Flash) mit dem Lötpunkt auf diesem Bild ( 9V) verbinden.


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Sagem mit 2 * AMD Flash Rams in 1 * Intel Layout

Die beiden Lötpunkte auf diesem Bild (pin 14 von jedem Flash) mit dem Lötpunkt auf diesem Bild ( 9V) verbinden.


Stop hand.png An dieser Stelle muss noch ein Bild rein.


Philips mit 2 * Intel Flash Rams

Den einen Pin (an dem Pin 14 vom Flash ankommt) vom Wiederstand R3556 der leider auf der Rückseite der Platine ist, mit 3.3 V verbinden.


Stop hand.png An dieser Stelle muss noch ein Bild rein.


OK nun kann es losgehen

Die DBox2 über ein Nullmodemkabel mit eurem Rechner verbinden, Terminalprogramm starten, Einstellungen : 57600,8n1 kein Protokoll 'debug.sh ip-eures-rechners' oder 'debug_dbox2 ip-eures-rechners' im Verzeichnis /dbox eingeben (debug.sh muss natürlich ausführbar sein).


Da kommen jetzt ganz viele Fehlermeldungen, die kann man getrost ignorieren.

Hier aber die wichtigsten Ausgaben :

C_INIT: mount 192.168.0.105:/dbox on /

Und nun ins Terminalprogram gucken (57600,8,n,1)

started aid = 10
INIT Version 0.9 loaded
INIT: library path:
 LD_LIBRARY_PATH=/root/platform/sagem-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: 3059 sec, 530000000 nsec
INIT:   started aid = 11

Wenn ihr das gesehen habt ist alles OK da kommen eventuell vorher und nachher noch einige Fehlermeldungen, das ist normal !

Wichtig sind die paar Zeilen da oben !


Nun sollte auf eurem Terminalclient (verbunden über ein Serielles Nullmodemkabel, Einstellungen 57600,8n1 kein Protokoll) folgendes zu sehen sein:

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

wobei die Variablen von DBox2 zu DBox2 anders sind ....


Wenn am Ende kein "Done !!" steht , sondern ein "FAILED!!!" dann hat das Schreibschutz disablen nicht funktioniert (lack auf den Lötstellen etc. ...).

Wenn "Done!!" da steht, dann ist eure DBox2 im Debugmodus. Ihr könnt sie jetzt ausmachen. Das sie im Debugmodus ist seht ihr dann auch nachdem ihr sie wieder an den Strom steckt, nun stehen auf dem Display viel mehr Infos.

Das LCD im Debug-Mode beim Starten


Wenn da steht "bl-version : unknown, please report" dann kennt der Debugenabler euren Bootloader nicht. Überprüft dann erstmal was für eine Version der DebugEnabler hat, das steht in der ersten Zeile. Die Version die mit allen uns bekannten Boxen funktioniert ist die " DebugEnabler (c) tmbinc, gillem +(sagem,amd,philips) 1.6final ". Wenn nicht das da steht, dann habt ihr vergessen '/dbox/root/platform/drv/tuner.so' mit 'tuner.so' von http://dbox2.elxsi.de/files/tuner.so zu ersetzen.!!!

Holt das nach und probiert es dann nochmal, allerdings müsst ihr wieder von vorne anfangen (also Stromstecker raus ...).


Wenn aber da steht :

DebugEnabler (c) tmbinc, gillem +(sagem,amd,philips) 1.7 "bl-version : unknown, please report"

dann meldet euch bei uns mit eurem Problem und wir gucken das wir euch helfen ....


Weiter geht es jetzt wie gewohnt:


Achtung:

Zunächst ein Image der Originalsoftware auslesen und daraus die UCodes mittels des Bootmanagers extrahieren !!!

Dieser Vorgang ist sehr wichtig, da ihr die Originalsoftware benötigt, um eine funktionierende Linux DBox2 zu erhalten!


Danach könnt ihr ein Linux-Image flashen, z.B. von update.tuxbox.org.



Review-KandidatDieser Artikel befindet sich derzeit im Reviewprozess. Hilf mit, ihn zu verbessern! Falls du bei weiteren Artikeln helfen willst, findest du hier eine Auswahl offener Artikel.