[Problem gelöst, FBF neu geflasht über JTag] FBF7050, adam2 Bootloader deadlock?

Irgendwas stimmt bei der Angabe von /hir /tir nicht, das ist in Deinen beiden log unterschiedlich definiert.
/hir /tir /hdr /tdr kann entfallen wenn und /bypass dv:XX verwendet wird.
dv:1 kann auch entfallen wenn dv:1 ist.
Fehler bei der manuellen Berechnung von:
/hir /tir /hdr /tdr führen zu undefinierbaren Ergebnissen.
Grundsätzlich gilt möglichst wenig angeben

Sieh Beispiele in ./start
# Not all parameter need to be specified usual /hir:X or /tir:X is sufficiant. /hir:0 /tir:0 /hdr:0 /tdr:0 is default.
#./wrt54g -backup:custom /skipdetect /silent /hir:9 /window:90000000 /start:90000000 /length:20000
#/debug2 >log
#./wrt54g -backup:custom /skipdetect /silent /tir:8 /window:90000000 /start:90000000 /length:20000 /dv:3
#/debug2 >log
#!!!!!!!!!!!!!!!!!!!!!!#
# If bypass Option is in use only /skipdetect /dv:X must be specified to select the decired device. /dev:1 is default.
Erneut was geändert.
 
Zuletzt bearbeitet:
@Jpascher:

Grossartig, Johann. Nach meiner Meinung funktioniert wrtjp.5.1 jetzt korrekt. Debug Mode ist kein Problem mehr.

Leider kann ich immer noch nicht lesen und schreiben!

Hier die Logs; jetzt ohne /hir und /tir, nur mit /bypass und /skipdetect.
Ergebnis (egal, ob mit oder ohne /dv:1): Das progi kommt über den watchdog nicht hinaus!
Code:
 (ohne dv:1)
>wrtjp.5.2.exe -backup:custom /bypass /skipdetect /window:90000000 /start:90000000 /length:100

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

***-----------------------------------------------------------------***

Beginning dedect scan leangth...
Switch on power!...
Chain lenght: 11 IR-Chain: 00010000011 (00000083)
Probing bus ...

*** CHIP Device number: '1' SET BY COMMANDLINE OPTION ***
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Device number: '2' Chip ID: 00010001110000011010000010010011 (11C1A093)
 *** Found a XC3S250E FPGE chip ***
---- Selected: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***


Count devives: '2' selected device: '2' count header bits added to DR: '1' count
 trailing bits added to DR: '0'
Chain length: '11' Selected IR length: '5' Sum of added header bits to IR: '6' S
um of added trailer bits to IR: '0'

Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***

check EJTAG ...
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No
    - EJTAG Implementation flags: R4k DINTsup ASID_8 NoDMA MIPS32


Issuing Processor / Peripheral Reset ...
Done
Enabling Memory Writes Skipped
-- > Halting Processor ...
<------ Processor Entered Debug Mode ------>
Clearing Watchdog (0xb8000080) ... Done
Code:
 (mit /dv:1)
>wrtjp.5.2.exe -backup:custom /bypass /skipdetect /window:90000000 /start:90000000 /length:100 /dv:1

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

***-----------------------------------------------------------------***

Beginning dedect scan leangth...
Switch on power!...
Chain lenght: 11 IR-Chain: 00010000011 (00000083)
Probing bus ...

*** CHIP Device number: '1' SET BY COMMANDLINE OPTION ***
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Device number: '2' Chip ID: 00010001110000011010000010010011 (11C1A093)
 *** Found a XC3S250E FPGE chip ***
---- Selected: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***


Count devives: '2' selected device: '2' count header bits added to DR: '1' count
 trailing bits added to DR: '0'
Chain length: '11' Selected IR length: '5' Sum of added header bits to IR: '6' S
um of added trailer bits to IR: '0'

Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***

check EJTAG ...
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No
    - EJTAG Implementation flags: R4k DINTsup ASID_8 NoDMA MIPS32


Issuing Processor / Peripheral Reset ...
Done
Enabling Memory Writes Skipped
-- > Halting Processor ...
<------ Processor Entered Debug Mode ------>
Clearing Watchdog (0xb8000080) ... Done
Done

TAP reset ...

Probing Flash at (Flash Window: 0x90000000)
.

Der watchdog macht Ärger! Also muss ich "/nocwd" anfügen.
Hier der Log:
Code:
>wrtjp.5.2.exe -backup:custom /bypass /skipdetect /window:90000000 /start:90000000 /length:100 /dv:1 /nocwd

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

***-----------------------------------------------------------------***

Beginning dedect scan leangth...
Switch on power!...
Chain lenght: 11 IR-Chain: 00010000011 (00000083)
Probing bus ...

*** CHIP Device number: '1' SET BY COMMANDLINE OPTION ***
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Device number: '2' Chip ID: 00010001110000011010000010010011 (11C1A093)
 *** Found a XC3S250E FPGE chip ***
---- Selected: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***


Count devives: '2' selected device: '2' count header bits added to DR: '1' count
 trailing bits added to DR: '0'
Chain length: '11' Selected IR length: '5' Sum of added header bits to IR: '6' S
um of added trailer bits to IR: '0'

Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***

check EJTAG ...
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No
    - EJTAG Implementation flags: R4k DINTsup ASID_8 NoDMA MIPS32


Issuing Processor / Peripheral Reset ...
Done
Enabling Memory Writes Skipped
-- > Halting Processor ...
<------ Processor Entered Debug Mode ------>

TAP reset ...

Probing Flash at (Flash Window: 0x90000000) 
.

wrtjp.5.2 sucht den Flash-Chip, findet ihn aber nicht.
Also gebe ich ihn manuell ein: /fc:110 oder /fc:111.
Hier der Log:
Code:
>wrtjp.5.2.exe -backup:custom /bypass /skipdetect /window:90000000 /start:90000000 /length:100 /dv:1 /nocwd /fc:110

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

***-----------------------------------------------------------------***

Beginning dedect scan leangth...
Switch on power!...
Chain lenght: 11 IR-Chain: 00010000011 (00000083)
Probing bus ...

*** CHIP Device number: '1' SET BY COMMANDLINE OPTION ***
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Device number: '2' Chip ID: 00010001110000011010000010010011 (11C1A093)
 *** Found a XC3S250E FPGE chip ***
---- Selected: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***


Count devives: '2' selected device: '2' count header bits added to DR: '1' count
 trailing bits added to DR: '0'
Chain length: '11' Selected IR length: '5' Sum of added header bits to IR: '6' S
um of added trailer bits to IR: '0'

Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***

check EJTAG ...
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No
    - EJTAG Implementation flags: R4k DINTsup ASID_8 NoDMA MIPS32


Issuing Processor / Peripheral Reset ...
Done
Enabling Memory Writes Skipped
-- > Halting Processor ...
<------ Processor Entered Debug Mode ------>

TAP reset ...

Manual Flash Selection ...
Done

Flash Vendor ID: 00000000000000000000000101111110 (0000017E)
Flash Device ID: 00000000000000000001000000000000 (00001000)
*** Manually Selected a Spansion S29GL064M BotB    (8MB) Flash Chip ***

    - Flash Chip Window Start .... : 90000000
    - Flash Chip Window Length ... : 00800000
    - Selected Area Start ........ : 90000000
    - Selected Area Length ....... : 00000100

*** You Selected to Backup the CUSTOM.BIN ***

=========================
Backup Routine Started
=========================

Saving CUSTOM.BIN.SAVED_20101103_140030 to Disk...
[  1% Backed Up]   90000000: 00000000 00000000 00000000 ^C
.

Der Flash wird richtig erkannt, aber leider werden nur Nullen gelesen.
Ausserdem extrem langsam: jedes hex-word dauert ca. 30 Sekunden.

Wenn ich jetzt /dma setze, das gewohnte Bild: Alles perfekt, aber es werden nur Nullen gelesen (kein Log).

Meine Meinung zur Sachlage:
a) wrtjp.5.2 funktioniert jetzt korrekt, daran liegt es nicht
b) Der watchdog blockiert den Ablauf. Glaubst Du, das könnte das Problem sein?
c) Der Flash-Chip wird richtig erkannt, aber nicht ausgelesen. Glaubst Du, irgendwie gesetzte bits/Schalter blockieren das Auslesen?
 
Meine Meinung zur Sachlage:
a) wrtjp.5.2 funktioniert jetzt korrekt, daran liegt es nicht


Man müsste das natürlich noch an anderen Platinen und Prozessoren verifizieren.
Ich hab das auch nur an einer defekten angeschlossen, leider mit den selben ernüchternden Ergebnis,
dass auch damit das gleiche Verhalten auftritt als mit der Vorgängerversion.
Den Jtag Anschluss an eine funktionierte Platine anlöten - das hab ich mir bis jetzt gespart.


b) Der watchdog blockiert den Ablauf. Glaubst Du, das könnte das Problem sein?


Ja möglich - aber wenn ich es wüsste wäre ich bereits aktiv geworden.

c) Der Flash-Chip wird richtig erkannt, aber nicht ausgelesen. Glaubst Du, irgendwie gesetzte bits/Schalter blockieren das Auslesen?


Erkannt wird der Flash Chip ja nicht sondern der gewählte Chip wird nur in der Liste an möglichen Chips gefunden.

Programmausführung funktioniert so wie ich das sehe mal überhaupt nicht richtig.

Das auslesen wird so langsam da praktisch die Verifizierung des gelesenen sehr oft fehl schlägt und der Lesevorgang wiederholt wird. Da aber beinahe nur Nullen gelesen werden ist nicht sichergestellt ob ein wiederholter Lesevorgang wirklich stimmt.

(Einmal tap reset nach clear watchdog herausgenommen, einige Tippfehler entfernt)
Download aktualisiert
 
Zuletzt bearbeitet:
Den Jtag Anschluss an eine funktionierte Platine anlöten - das hab ich mir bis jetzt gespart.
Ja, der Test könnte weiter helfen.
Kein Problem, heute abend kann ich das mal machen (ab ca. 21:00 h)

btw: Hast Du noch die defekte 7113, die ich Dir mal geschickt hatte? An der könntest Du nach Belieben flashen und Backup mit wrtjp.5.2 ausprobieren.

Erkannt wird der Flash Chip ja nicht sondern der gewählte Chip wird nur in der Liste an möglichen Chips gefunden.
Da hast Du recht. Ist also kein Indiz auf funktionierendes wrtjp.5.2

Download aktualisiert
Werde ich heute abend ausprobieren.
 
Hast Du noch die defekte 7113, die ich Dir mal geschickt hatte?

Ja hab ich, nur da ist auch derzeit kein Kabel dran.

Hab nochmal was geändert.
 
@Jpascher:

Bin erst spät nach Hause gekommen und habe ziemliches Schlafdefizit.
Deswegen jetzt nur ein kurze Ausprobieren mit der aktuellen Version von wrtjp.5.2. Den Funktionstest mit einer intakten FB muss ich auf morgen verschieben.

Leider habe ich auch mit der neuen Version die selben Probleme: wrtjp5.2 bleibt an den selben Stellen hängen wie zuvor: Zuerst am watchdog und nach Einfügen von /nocwd am Erkennen bzw. Auslesen des Flash Chip.

Sorry, jetzt muss ich in's Bett. Morgen abend mache ich weiter.
 
Zuletzt bearbeitet:
wrtjp.5.2 funktioniert perfekt!

Hab nochmal was geändert.

Hallo Johann, good news:
Dein neues wrtjp.5.2 ist ohne bug! Getestet und für gut befunden!

Ich habe mir einen zweiten IAD5130 beschafft, um damit Dein tool zu testen. Hat auf Anhieb geklappt. JTAG Interface angelötet, an die parallele Schnittstelle angeschlossen, wrtjp.5.2 gestartet und ... bingo!
Nur mit den minimal Optionen und das backup ist sofort gestartet.

Hier ist der Log:
Code:
>wrtjp.5.2 -backup:custom /instrlen:5 /window:90000000 /start:90000000 /length:100 /bypass /skipdetect

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

***-----------------------------------------------------------------***

Beginning detect scan leangth...
Switch on power!...
Chain lenght: 11 IR-Chain: 00011101011 (000000EB)
Probing bus ...
Instruction length set to 5, through commmand line option

*** CHIP Device number: '1' SET BY COMMANDLINE OPTION ***
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Device number: '2' Chip ID: 00010001110000011010000010010011 (11C1A093)
 *** Found a XC3S250E FPGE chip ***
---- Selected: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***

Count devives: '2' Selected device: '2' count header bits added to DR: '1' count trailing bits added to DR: '0'
Chain length: '11' Selected IR length: '5' Sum of added header bits to IR: '6' Sum of added trailer bits to IR: '0'

Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***

check EJTAG ...
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No
    - EJTAG Implementation flags: R4k DINTsup ASID_8 NoDMA MIPS32

TAP reset ...

Issuing Processor / Peripheral Reset ...
Done
Enabling Memory Writes Skipped
-- > Halting Processor ...
<------ Processor Entered Debug Mode ------>
Clearing Watchdog (0xb8000080) ... Done
Done

Probing Flash at (Flash Window: 0x90000000) Done

Flash Vendor ID: 00000000000000000000000101111110 (0000017E)
Flash Device ID: 00000000000000000001000000000001 (00001001)
*** Found a Spansion S29GL064M TopB    (8MB) Flash Chip ***

    - Flash Chip Window Start .... : 90000000
    - Flash Chip Window Length ... : 00800000
    - Selected Area Start ........ : 90000000
    - Selected Area Length ....... : 00000100

*** You Selected to Backup the CUSTOM.BIN ***

=========================
Backup Routine Started
=========================

Saving CUSTOM.BIN.SAVED_20101104_212258 to Disk...
[  1% Backed Up]   90000000: 40809000 40809800 401a6000 241bfffe
[  7% Backed Up]   90000010: 035bd024 3c1bffbf 377bffff 035bd024
[ 14% Backed Up]   90000020: 409a6000 40806800 24080003 40888000
[ 20% Backed Up]   90000030: 3c08a861 35081600 8d180008 ad000000
[ 26% Backed Up]   90000040: 3c029000 24420114 3c011fff 3421ffff
[ 32% Backed Up]   90000050: 00411024 3c01a000 00411025 0040f809
[ 39% Backed Up]   90000060: 00000000 3c089000 25080088 3c011fff
[ 45% Backed Up]   90000070: 3421ffff 01014024 3c018000 01014025
[ 51% Backed Up]   90000080: 01000008 00000000 00008021 3c029000
[ 57% Backed Up]   90000090: 2442024c 0040f809 00000000 17000004
[ 64% Backed Up]   900000a0: 00001021 0c0000e3 00000000 1440ffff
[ 70% Backed Up]   900000b0: 00000000 3c029000 24420484 0040f809
[ 76% Backed Up]   900000c0: 00000000 3c1d946c 27bdcb94 24084000
[ 82% Backed Up]   900000d0: 03a8e821 3c1c9461 279c7600 3c089461
[ 89% Backed Up]   900000e0: 2508f610 3c09946c 2529cb94 11090003
[ 95% Backed Up]   900000f0: 25080001 1000fffd a100ffff 24080010
Done  (CUSTOM.BIN.SAVED_20101104_212258 saved to Disk OK)

bytes written: 256
=========================
Backup Routine Complete
=========================
elapsed time: 1 seconds

 *** REQUESTED OPERATION IS COMPLETE ***
Genau so perfekt hatte es mit meinem ersten IAD5130 geklappt, damals aber mit dem feadi tool.
Übrigens: Mit /dma werden auch am "guten" Chip nur Nullen ausgelesen. /dma kann man also vergessen.

Wir wissen jetzt also um einiges mehr:
a) wrtjp.5.2 funktioniert einwandfrei
b) Beide Prozessoren werden korrekt erkannt
c) Der Prozessor geht in den Debug Mode
d) Der watchdog wird correct gelöscht (es braucht kein /nocwd)
e) Der Flash Chip wird korrekt erkannt
f) Es ist ein Spansion S29GL064M TopB (Nr.111)
g) Backup startet absolut korrekt

Ausserdem wissen wir jetzt, dass mein Problem mit dem ersten IAD5130 irgendwie mit dem falschen Bootloader zu tun hat, den ich geflasht habe. Das bestätigt deine Vermutung: Durch irgendein oder irgendwelche bits/switches ist der Zugang zum Flash Chip blockiert.

Hast Du irgendeine Idee, was ich noch probieren könnte?
 
Danke für die ausführliche Rückmeldung!

Leider hab ich absolut keine Idee was Du jetzt noch machen könntest.

Ich habe am Tool noch weiter gesucht ob irgendwas nicht sauber sein könnte.
habe erneut Kleinigkeiten beim Auslesen verändert.
Bei meine Test verhält sich das Tool auch nach den Änderungen gleich.
Wird aber eher etwas schneller beim Auslesen sein, da nun nicht mehr mehrfach gelesen wird.
Wird der Swich /check verwendet dann wird nur mehr beim Schreiben jedes mal sofort gelesen und verglichen ob das geschriebene auch gelesen werden konnte.

Download
 
@Johann: Da du ja "im Sourccode" drin bist ;-), kannst du da vielleicht etwas Licht reinbringen: Was macht das Tool denn hier
Code:
Probing Flash at (Flash Window: 0x90000000) Done

Flash Vendor ID: 00000000000000000000000101111110 (0000017E)
Flash Device ID: 00000000000000000001000000000001 (00001001)
*** Found a Spansion S29GL064M TopB    (8MB) Flash Chip ***
Wie genau wird die Flash-Erkennung gemacht?? Mach das die CPU oder wie geht das?

@el_valiente: Bekommst du eigentlich noch eine serielle Ausgabe??

Jörg
 
@MaxMuster
Was macht das Tool denn hier?
Probing Flash at (Flash Window: 0x90000000) Done
Gibt nur an dass die Suchroutine durchlaufen wurde.

Flash Vendor ID: 00000000000000000000000101111110 (0000017E)
Flash Device ID: 00000000000000000001000000000001 (00001001)

Das ist die Herstellerkennung die aus dem Flash ausgelesen wurde.

*** Found a Spansion S29GL064M TopB (8MB) Flash Chip ***

Übersetzung der Herstellerkennung in Klartext durch das Tool.

Wie
genau wird die Flash-Erkennung gemacht??
Hängt stark von Type ab und ist nun bei einigen zusätzlichen seriellen Flash Typen auch nicht exakt vergleichbar.
Wenn du willst könne wir ja den Code gemeinsam durchsehen.

Mach das die CPU oder wie geht das?

Wenn kein DMA Mode möglich ist geht der komplette Lese- und Schreibzugriff über die CPU.
Die CPU wird in den Debug Modus versetzt was bedeutet, dass Assembler Befehle (Binärcode) in Einzelschritten abgearbeitet werden können.
Dazu ist es erforderlich, dass die Verdrahtung des Flash mit der CPU bekannt ist, denn nur so kann das Flash richtig Adressiert werden.
Siehe Meldung: Flash at (Flash Window: 0x90000000)
Je nach Flash kann die Verdrahtung für die Daten (und Adressleitungen ?? müsste selber erst genauer nachsehen) Leitungen jedoch 8 Bit 4bit oder 1bit betragen. Zumindest gibt es im Programm derzeit diese Unterscheidungen.
Also muss man bei jeden Flash Type bereits festlegen wie letztlich für das entsprechende Flach vorgegangen werden soll. Die Festlegungen sind in einer Tabelle fix eingetragen.
Vorausgesetzt, dass diese Vorgaben richtig sind wird nun ein Lese- oder Scheinvorgang in Einzelschritten durchgeführt passt irgendwas nicht so kommen wohl auch Daten nur die sind dann nicht relevant.

Das Programm kennt derzeit mehre CPU Befehlssätze, es müsste auch mit einer Atheros CPU funktionieren.
auf meiner W722 mit zerstörten Bootlader findet das Tool jedoch derzeit noch immer keine CPU nur der Xilinx Chip wird in der Chain erkannt.
CPU am W722 und 7390 ist eine IKANOS FUSIV 6850, Programm müsste um diese CPU erweitert werden.

@el_valiente

Beim Schreiben ist mir noch was in den Sinn gekommen.
Wir kennen ja leider nicht die Verdrahtung.
Im Bereich des möglichen ist auch, dass eine richtige Adressierung des Flash über die CPU nur möglich ist
wenn die Verdrahtung zum Flash existiert.
vorausgesetzt die CPU geht in den DEBUG Mode und das Flash ist trotzdem nicht auffindbar.
Möglich wäre, dass einige Adressleitungen erst über den Xilinx richtig "verdrahtet" werden.
AVM könnte den XILINX natürlich direkt per EJTAG laden, was wir ja nicht machen.
Würde aber wieder bedeuten das zumindest der Bereich der für den Boolader adressiert wird
schon zur Bootzeit ohne Xilinx verdrahtet ist.
Irgendwie beißt sich da was in meiner Überlegung nur Theoretisch doch im Bereich des Möglichen.
Diese Xilinx Chips werden erst funktionsfähig nachdem er mit einen "Binärcode" geladen wurde.
Wenn wir einen Schaltplan hätten wäre die Sache eindeutig.
 
Zuletzt bearbeitet:
... Wenn du willst könne wir ja den Code gemeinsam durchsehen.
Das wäre toll und bringt uns evtl. weiter!

@MaxMuster:
Nein. Ich bekomme keine Ausgabe auf der seriellen Konsole. Die Box ist tot.
Aber heute abend schaue ich nochmal genau nach.
(Bei der intakten 5130 funktioniert meine serielle Konsole, über Hyperterminal)


EDIT:
MaxMuster: Zu Deiner Frage "Ausgabe an der seriellen Konsole ?"
Habe es nochmal überprüft: An der toten FB5130 schweigt die serielle Konsole. Es herrscht Totenstille.

Es ist ja so, dass ADAM gar nicht startet: Weder mit ftp noch mit recover.exe kommt man an die Box.
Und die LEDs bleiben auch alle dunkel.
Die Box ist so tot, toter geht es nicht. Da habe ich anscheinend ein paar ganz böse bits geflasht.
 
Zuletzt bearbeitet:
Ganz böse Bits?
Gibt es so etwas den?


Möchte nur mal kurz berichten ich hab nochmal getestet mit der letzten Version und hab auf den Print von Dir problemlos den Bootlader lesen und auch wieder schreiben können.

Habe dann ausgiebig nochmal den gebrickten W722 genommen und versucht damit weiter zu kommen.

Nachdem der W722 und der 7390 eine andere CPU hat müsste diese mal im ersten Schritt wenigstens erkannt werden, was aber leider nicht der Fall ist.
Beim W722 ist die Jtag Pinbelegung ähnlich.
Es wird der Xilinx in der Chain erkannt und die Chainlänge 15 wird angezeigt.
Um zu klären ob außer dem Xilinx noch weitere Chips in der Chain sind hab ich mir das Oszilloskope genommen und in Kombination mit der /test Option des wrtgjp-5.2 Die Leitungen TDO TDI am Print bis zu den Anschlusspins der Bauteile verfolgt.

Dabei hab ich festgestellt, dass es ein relativ einfache Methode gibt die Schnittstellen zwischen den einzelnen Chips am Print zu finden.
Man startet das Tool mit der zusätzlichen Option ./test.
Verkabelung des Jtag sollte bereits richtig sein.

Man entferne den TDO Anschluss und verbindet diese Leitung mit einer Messspitze wie bei eine Multimedialer oder wie in meinen Fall den Tastknopf des Oszilloskops.

Sinn der Sache ist nur, dass man eine handliche Prüfnadel bekommt mit der man verschieden Punkte einfach antasten kann.

Dann Router mit Spannung versorgen und beim Tool den Befehl "9" einmal eintippen und mit Enter bestätigen.
Solange TDO nicht angeschlossen ist laufen nun infolge am Bildschirm dauernd Einzelschritte durch.
Das Tool findet kein Chainende da ja TDO nicht angeschlossen ist.
Nimmt man nun die Prüfspitze mit der TDO Leitung und berührt den richtigen Kontakt stoppt das Tool und schreibt die Chainlänge auf den Bildschirm.

Wiederholt man nun das Eintippen von "9 und Enter" so kann man die in Frage kommenden andere Kontakte abtasten, das Tool stoppt sobald irgendwo die Chain erwischt wurde, auch wenn das ein Anschluss ist der zwischen den Chips liegt.
Einziger Unterschied es wird eine kürzere Chainlänge angezeigt.

Die Clockleitung lässt sich auch relativ einfach mit dem Oszilloskop verfolgen wenn man mit der Testoption "999 .... 9 Enter" dauernd Clocks erzeugen lässt.

Zurück zum W722:
So konnte ich wohl alle Leitungen am Xilinx feststellen.
Am Xilinx sind Die Anschlüße CLK, TMS, TDO-9, TDO-15. Chainlänge: 5, 9, 15.
Hingegen an der CPU nur TMS Anschluss gefunden.

Möglicherweise nicht auffindbar da das Polgrid doch sehr eng ist und ich vielleicht doch die Anschlüsse nicht gefunden habe.
Einige Anschlüsse der CPU sich auch nicht nach unten mit Durchkontaktierung durchgeführt und daher auch nicht mit der Nadelspitze erreichbar. (Pinbelegung der CPU konnte ich bis jetzt leider auch nirgends auf einer Webseite finden.
Habe auch den Chiphersteller angeschrien leider bis jetzt ohne Antwort.)
Ich vermute jedoch eher, dass die CPU eigne Jtag Anschlüsse verwendet,
und überhaupt nicht in der von mir verdrahtenden Chain auftaucht.

Bleibt die Frage warum am Xilinx mehrere interne Schnittstellen der Leitung TDI -> TDO nach außen geführt sind.

Einen dubiosen nicht auffindbaren Chip mit nur einigen Bits Chainlänge gibt es auch in den anderen AVM Platinen die mit Xilinx bestückt sind.

Sind da die bösen Bits versteckt?
 

Anhänge

  • jtag-f.jpg
    jtag-f.jpg
    183.7 KB · Aufrufe: 124
  • jpeg2.JPG
    jpeg2.JPG
    245.3 KB · Aufrufe: 101
  • W722-jtag-pinbelegubg.jpg
    W722-jtag-pinbelegubg.jpg
    245.6 KB · Aufrufe: 108
Zuletzt bearbeitet:
@Jpascher:

Nochmals danke, dass Du Dich da (wieder mal) so reinkniest.
So ungefähr verstehe ich, wie Du die Suche nach den "bösen bits" beschreibst, aber richtig unterstützen kann ich Dich dabei nicht.

Selber muss ich hier jetzt ein wenig aufräumen und dabei auch die zerlegten Fritzboxen wieder entlöten, zusammen bauen und verstauen.
Die nicht ansprechbare FB5130 mit den "bösen bits" werde ich als solche kennzeichnen und darauf warten, sie irgendwann wieder zum Leben erwecken zu können (das "how to" käme dabei von Dir und MaxMuster).

Für mich hat dieses "Abenteuer" (mindestens) zwei positive Souvenirs hinterlassen:
a) Ich weiss jetzt, wie man per serielle Schnittstelle flashen kann
b) Mit wrtjp.5.2 stellst Du uns allen ein aktuelles und effizientes JTAG tool zur Vefügung

Gruss
el_valiente
 
Hallo,

ist schon länger her als ich das letzte mal eine FritzBox mit EJTAG belebt habe.
Vielleicht kann mir jemand paar Tips geben wo bei mir der Hacken ist...
C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>wrtjp.5.2.exe -prob
eonly

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

***-----------------------------------------------------------------***

Beginning detect scan leangth...
Switch on power!...
Chain lenght: 5 IR-Chain: 00011 (00000003)
Probing bus ...
Beginning scan chain auto-detection
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
*** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Done

Processing is stopped now, you must specify new commandline options now:
/skipdetect and /dv:XX with the device number of the CPU found.

C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>wrtjp.5.2.exe -back
up:custom /silent /window:90000000 /start:90000000 /lenght:20000

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

*** ERROR - Invalid <option> specified ***


C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>


Mfg
highlander78
 
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
*** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Done
bei dir wurde die CPU als dev 1 gefunden.
Processing is stopped now, you must specify new commandline options now:
/skipdetect and /dv:1 with the device number of the CPU found.

wrtjp. 5.2.exe -backup:custom /silent /window:90000000 /start:90000000 /lenght:20000 /skipdetect and /dv:1
 
Scheint nicht zu funktionieren hmmm.......


Code:
C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>wrtjp.5.2.exe -prob
eonly

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

***-----------------------------------------------------------------***

Beginning detect scan leangth...
Switch on power!...
Chain lenght: 5 IR-Chain: 00011 (00000003)
Probing bus ...
Beginning scan chain auto-detection
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Done

Processing is stopped now, you must specify new commandline options now:
/skipdetect and /dv:XX with the device number of the CPU found.

C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>wrtjp.5.2.exe -back
up:custom /silent /window:90000000 /start:90000000 /lenght:20000 /skipdetect and
 /dv:1

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

*** ERROR - Invalid <option> specified ***


C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>
 
Das and gehört nicht in die Zeile.

wrtjp. 5.2.exe -backup:custom /silent /window:90000000 /start:90000000 /lenght:20000 /skipdetect and /dv:1


 
hmm habe keine Ahnung was ich falsch mache.....


Code:
C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>wrtjp.5.2.exe -prob
eonly

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

***-----------------------------------------------------------------***

Beginning detect scan leangth...
Switch on power!...
Chain lenght: 5 IR-Chain: 00011 (00000003)
Probing bus ...
Beginning scan chain auto-detection
Device number: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***
Done

Processing is stopped now, you must specify new commandline options now:
/skipdetect and /dv:XX with the device number of the CPU found.

C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>wrtjp.5.2.exe -back
up:custom /silent /window:90000000 /start:90000000 /lenght:20000 /skipdetect /dv
:1

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v5.2
==================================================

*** ERROR - Invalid <option> specified ***


C:\Dokumente und Einstellungen\Michael\Desktop\wrtjp.5.2\bin>
 
up:custom /bypass /silent /window:90000000 /start:90000000 /lenght:20000 /skipdetect /dv:1

/bypass ist warscheinlich auch erforderlich.

In File start sind Beispeiel für die Kommandozeile
 
Danke für den Tipp

Code:
/bypass
war die Lösung
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.