Lösungsansatz für JTAG enable

Started by mce2222, 14. Jan 2008, 00:55

previous topic - next topic
Go Down

Hruendel

#30
18. Jan 2008, 20:37 Last Edit: 18. Jan 2008, 21:01 by Hruendel
Hallo erst mall...

Würde auch auf das Draht mit Lackisolation tippen. Die Drähte gibt es oft bei den Kopfhörern. Um eine  Radeon 9800 mit 11 kaputten Leiterbahnen zu reparieren musste ich meine schöne Sennheiser opfern...
Aber anders rum gesehen: Wenn es da ein JTAG-Interface und den Jumper gibt dann muss es ja auch eine Verbindung geplant gewesen sein. JTAG brauch oft auch eine Betriebsspannung von 3,3V.

Wer einen JTAG Interface brauch kann selbst bauen. Gute Anleitungen gibt es hier: http://web.zackyfiles.com/secciones/programadores/jtag.htm
Die Palatine mit dem Komponententester (Hameg-Oszilloskop) nach Verbindungen durchforsten. Es fehlt bestimmt nur eine Wiederstand-Brücke irgendwo.

Zum Software:
WinHEX (benutze V 13.9) - Ist das einzige, mir bekannte Programm womit sich die Festplatten 1 zu 1 klonen lassen. Unter Extras-> Disk öffnen. Da kann man gleich die Festplatte bearbeiten.
IDA-Dekompiler - wird aber schwierig sein da etwas herauszufiltern. Mann muss sich  da teilweise  mit Accembler (Maschinenkode) gut auskennen. Und die kann je nach CPU anders sein.

Ein ganz anderer Ansatz:
Da ist doch WinCE 5.0 als OS installiert. WinCE gibt es auch oft in den anderen Geräten wie Navi (Medion, Navigon usw.). Diese Windows-Versionen kommunizieren oft mit dem Desktop-Windows via ActiveSync. Das geht meistens über USB. Kann aber auch über IR- und COM-Schnittstelle laufen. Da muss es bestimmt irgendein Modul unter WinCE geben um per ActiveSync mit dem PC zu kommunizieren. Kann bei dem Reciver aber auch fehlen. Aber wenn die Teile erst zusammenverbunden sind …  ::)
Da könnte man an solche Teile wie Desktopfree http://forum.pocketnavigation.de/thread.php?threadid=1091390 und Mobile RegEditor http://mobile-registry-editor.softonic.de/pocket und andere Sachen nachdenken.

AdvancedRemoteInfo könnte eventuel auch weiterhelfen:http://winfuture.de/news,16079.html

Dann hat das Ding garantiert verloren... ;D



Schneeleopard

Die Draehte bekommt man auch in einigermaßen gut sortierten Elektroläden zu kaufen :)
Ich habe meinen einfach aus der Primärwicklung eines defekten Transformators.

Die Meisten hier haben ein DLC5 oder Wiggler-Interface für JTAG, die Aufbauanleitung gibt es hier im Wiki, mit anderen wird wohl auch der Dumper nicht ohne Codingarbeit funktionieren ;)

Und ja, es gab früher eine JTAG-Verbindung zu dem Jumper, doch die Leute von t-home haben die komplette Leiterbahn bis zum Pad des BGA verschwinden lassen...

Details hier:
http://www.t-hack.com/forum/index.php?topic=54.30

guteseite

Strike! Auch bei mir hat's geklappt. Mit Lupe und zittriger Hand.
Dank an alle Mitstreiter. Jetzt erstmal 'nen Bier....

Hruendel

#33
18. Jan 2008, 21:31 Last Edit: 18. Jan 2008, 22:21 by Hruendel


Und ja, es gab früher eine JTAG-Verbindung zu dem Jumper, doch die Leute von t-home haben die komplette Leiterbahn bis zum Pad des BGA verschwinden lassen...

Details hier:
http://www.t-hack.com/forum/index.php?topic=54.30


Ach du SCHANDE!!!

beim Kopfhörer sind die meistens wesentlich dünner und die Isolation widerstandsfähiger. Geschmacksache...

Ich habe noch kein Reciver… Wollte für meine Bekannte, die zum Studieren nach Hamburg gezogen ist einen DVBT Reciver kaufen. Vom Hardware und Preisverhältnis hat mich R 300 T sofort angesprochen. Und schon wider so eine …!
Vielleicht hole ich in mir noch.
Wenn ihr damit fertig seid last mich bitte sofort wissen, dann hole ich das Ding garantiert, … bevor die Preise explodieren!  Muss ehrlich gestehen:  In Moment bin ich zu faul um wirklich mitzumachen. Bin grad mit NAVI fertig geworden, bei meiner HP-NAS bin noch dabei… Brauche Urlaub...

Schaut euch die Foren an:
http://www.linuxforen.de/forums/showthread.php?t=226175

guteseite

hier noch ein Bild meiner Lötstelle im Anhang(keine Ahnung, wie man es direkt einbettet).
Der Draht ist nicht lackiert. Geht aber auch. Hab eine Ader von einem einfachen Litzekabel genommen. Die Leiterbahn auf dem Chip hab ich mit einer Nadel angekratzt bis sie kupferfarben wurde und dann das schon mit Lötzinn behandelte Drahtende angelötet. Waren einige Versuche nötig, bis es hielt. Die Leiterbahn ist doch strapazierfähiger als ich befürchtet hatte.
Viel Glück auch allen anderen!

robert_s

#35
18. Jan 2008, 22:10 Last Edit: 18. Jan 2008, 22:12 by robert_s
Vielleicht bin ich mal schneller als @mce2222 ;)

Wer seine Box mit Bootloader 1053 mal patchen möchte und die im Wiki hinterlegten Source selbst kompilieren kann, der kann es mal mit folgender Ergänzung in der Datei "x300tpatch2.c" versuchen [Einfügen z.B. vor der Zeile boolean patch1051()]:

Code: [Select]
boolean patch1053()
{
unsigned int addr1, addr2, data1, data2, data3, data4;
addr1 = 0x93640150;
data1 = ejtag_read(addr1);
data2 = ejtag_read(addr1+4);
// printf("0x93640150: %x%x\n", data1, data2);
if (data1 != 0x0cd8dce4 || data2 != 0x24040001)
{
return false;
}

addr2 = 0x93640250;
data3 = ejtag_read(addr2);
data4 = ejtag_read(addr2+4);
// printf("0x93640250: %x%x\n", data3, data4);
if (data3 != 0x0cd8dce4 || data4 != 0x24040001)
{
return false;
}

printf("Bootloader Version 1053 found\n");
ejtag_write(addr1, 0x10000019);   //  jal 0x93637390   -->  b 0x936401B8
ejtag_write(addr1+4, 0x00);
ejtag_write(addr2, 0x1000ffd9);   //  jal 0x93637390   -->  b 0x936401B8
ejtag_write(addr2+4, 0x00);
// signature skip flag
addr1 = 0x937E1728;
ejtag_write(addr1, 0x01000000);
return true;
}


Dann noch in der Funktion apply_patch() unter der Ausgabe "Detecting Bootloader Version" die Zeilen abändern:

Vorher:

Code: [Select]
patchOk = patch1051();
if (!patchOk)
{
patchOk = patch1039();
}

if (!patchOk)
{
patchOk = patch1061();
}


Nachher:

Code: [Select]
patchOk = patch1061();

if (!patchOk)
{
patchOk = patch1053();
}

if (!patchOk)
{
patchOk = patch1051();
}

if (!patchOk)
{
patchOk = patch1039();
}


Dann das ganze compilieren und das Ergebnis sollte ein Bootloader-Patcher sein, der für die Versionen 1039, 1051 und 1053 funktioniert...

Schneeleopard

Nett, werd ich morgen mal austesten :)

Ich schätze mal, den bootloader brauchst du dann nicht mehr (Habe gerade gemerkt, dass ich bei meiner Mail anscheinend den Anhang vergessen habe und die an mce ist wegen typo gebounced, doppel doh!).

robert_s


Ich schätze mal, den bootloader brauchst du dann nicht mehr (Habe gerade gemerkt, dass ich bei meiner Mail anscheinend den Anhang vergessen habe und die an mce ist wegen typo gebounced, doppel doh!).


Zum Vergleich wär's aber nicht schlecht. Ich habe übrigens gar nicht überprüft, ob der Bootloader, für den ich obigen Patch ausbaldowert habe, tatsächlich die Version 1053 ist, sondern mich dabei auf die Angabe des Absenders verlassen. Ausserdem ist nicht zwingend jede Bootloader-Version, die im Diagnosemodus dieselbe BL-Version anzeigt, tatsächlich identisch, man weiss ja nie...

Schneeleopard

Ok, habe ihn gerade noch einmal gesendet, laut Display ist es V1053 :)

Hab ihn gleich mehrmals gedumpt und ein Diff drauf gemacht um sicherzugehen, dass er in Ordnung ist.

robert_s


Ok, habe ihn gerade noch einmal gesendet, laut Display ist es V1053 :)
Ah, Dankeschön :) Ist identisch mit dem 1053er Bootloader, den ich schon hatte, also sollte der Patch genauso gut (oder schlecht;)) funktionieren...

Schwierig könnte allerdings das Timing des Patchzeitpunkts sein... Die bisherigen Boxen fragen ja "Internet OK?" und während die Box auf Antwort wartet, patcht man. Die mit BL 1053 ausgelieferten Boxen sind allerdings darauf konfiguriert, diese Frage zu übergehen, deshalb wird es möglicherweise nicht einfach, den richtigen Zeitpunkt zum Patchen zu erwischen... Müsst ihr mal probieren, ansonsten muss man sich mit dem Patch noch etwas einfallen lassen...

mce2222

mir gefällt das auch noch nicht so gut...

da das Laden des NK.BIN diverse Sekunden dauert, könnte man den Patch so verändern, das man währen des Ladens jederzeit patchen kann, und dann direkt den Signaturcheck überspringen lassen, wenn das Laden abgeschlossen ist.

Paul

also werd mich heut bzw morgen auch mal dran traun dort was an zu löten.

aber was ich mir jetzt bildhaft gut vorstellen kann, ist das gesicht des entwicklers der verantwortlich war das die leitung wegkommen ist. dem werden sich die nackenhaare aufstellen wenn er die bilder von den am proz angelöteten kabel sieht. ;D ::)

Schneeleopard

Wuerd mich nicht wundern wenn naechstes mal der gesamte JTAG header fehlt, 5 Kabel sind schon etwas nerviger da anzufriemeln.
Womoeglich vergiessen sie das Ding auch gleich :P

Paul

Code: [Select]
C:\WINDOWS\system32>x300tpatch.exe

=========================================================
X300t bootloader patcher v1.1  by MCE2222
based on WRT54G/GS EJTAG Debrick Utility which
is actually derived from Mips32 EJTAG from
TotalEmbedded without giving credit... ts ts ts
=========================================================
= This version only works on bootloader V1051 and V1039 =
=========================================================

USAGE: x300tpatch
            /wiggler ........... use wiggler cable

            -----------------------------------------------
Probing bus ... Done

CPU Chip ID: 00001000011000110000000000000001 (08630001)
*** Found a SigmaDesigns SMP8634 Rev A CPU chip ***

Issuing Processor / Peripheral Reset ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
============================
Detecting Bootloader Version
============================
Bootloader Version 1051 found
Patch applied !
...   now press OK Button on the X300T.
Processor exited debug mode.


puhhhhhhh ich glaub ich habs auch

war aber echt kurz vorm verzeifeln
man wird halt alt
und 3 tassen kaffee sind halt nicht unbedingt dienlich wenn man ne ruhige hand braucht.

Schneeleopard

Ich habe mal den Patch getestet, also bei mir funktioniert es nicht.

Wenn ich patche übergeht er zwar den Download des neuen nk.bin, aber sobald er es entpackt hat geht das Display aus und er rebootet.
Entweder ich erwische immer den falschen Zeitpunkt, mein gepatches nk.bin ist inkorrekt oder der patch geht nicht.

Gute Frage :)

Go Up