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

@MaxMuster

Mich würde interessieren wie sich mein angepasstes tool bei dir verhält?
 
Post 1
Ich werde es heute abend mal testen, die letzten Versuche habe ich unter Win mit dem Feadi-Prog gemacht, welches ohne "TCK-Kondensator" nur manchmal, mit "relativ stabil" funktionierte. In einer deiner Beiträge hatte ich gesehen, dass du den durchgestrichen hattest? Sollte ich den ablöten?

Post 2
Habe jetzt dein Programm mal getestet, nicht so ganz erfolgreich, kann aber auch die Verkabelung sein, teste gleich mal die WIN-Version.
Code:
./wrt54g -backup:custom  /skipdetect   /window:90000000 /start:90000000 /length:20000 /nocwd /dv:1
Das Prog bleibt nach dem
Code:
<Processor Entered Debug Mode!> ... 
Done
stehen. Hänge mal einen Log mit /debug an und teste gleich im Windows, ob es da geht.

Jörg

EDIT: PC mit Win neu gestartet, und feadi's wrt gestartet läuft:
Code:
D:\jtag>wrt.exe -backup:custom /instrlen:5 /window:90000000 /start:90000000 /length:10000

====================================
WRT54G/GS EJTAG Debrick Utility v4.5
====================================

Probing bus ... Power up now...
Done

Instruction Length set to 5

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

reading IMPCODE register... 00000000000000000000000000000000 (00000000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No

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

Probing Flash at (Flash Window: 0x90000000) ... 1 flash vendorID:194 deviceID:8871
Done

Flash Vendor ID: 00000000000000000000000011000010 (000000C2)
Flash Device ID: 00000000000000000010001010100111 (000022A7)
*** Found a MX29LV320T 2Mx16 TopB      (4MB) Flash Chip ***

    - Flash Chip Window Start .... : 90000000
    - Flash Chip Window Length ... : 00400000
    - Selected Area Start ........ : 90000000
    - Selected Area Length ....... : 00010000

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

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

Saving CUSTOM.BIN.SAVED_20090729_184705 to Disk...
[  0% Backed Up]   90000000: 40809000 40809800 401a6000 241bfffe
[  0% Backed Up]   90000010: 035bd024 3c1bffbf 377bffff 035bd024
[  0% Backed Up]   90000020: 409a6000 40806800 24080003 40888000
[  0% Backed Up]   90000030: 3c08a861 35081600 ad000000 8d180008
[  0% Backed Up]   90000040: 3c029000 24420230 3c011fff 3421ffff
[  0% Backed Up]   90000050: 00411024 3c01a000 00411025 0040f809
[  0% Backed Up]   90000060: 00000000 14400044 00000000 3c089000
[  0% Backed Up]   90000070: 8d080000 3c089000 25080098 3c011fff
[  0% Backed Up]   90000080: 3421ffff 01014024 3c018000 01014025
[  0% Backed Up]   90000090: 01000008 00000000 3c029000 24420aa8
[  0% Backed Up]   900000a0: 0040f809 00000000 3c048000 3c069000
[  0% Backed Up]   900000b0: 24c603d0 00c0f809 00000000 3c048000
[  0% Backed Up]   900000c0: 34840180 3c069000 24c603d0 00c0f809
[  0% Backed Up]   900000d0: 00000000 3c048000 34840200 3c069000
[  0% Backed Up]   900000e0: 24c603b8 00c0f809 00000000 17000004
[  0% Backed Up]   900000f0: 00001021 0c000079 00000000 14400020
[  0% Backed Up]   90000100: 00000000 3c029000 24420418 0040f809
[  0% Backed Up]   90000110: 00000000 3c029460 24420700 0040f809
[  0% Backed Up]   90000120: 00000000 401a6800 335a007c 001ad082
[  0% Backed Up]   90000130: 275a0000 13400004 3c1a9000 275a0cbc
[  0% Backed Up]   90000140: 03400008 00000000 401a6000 00000000
[  0% Backed Up]   90000150: 00000000 00000000 001ad042 001ad040
[  0% Backed Up]   90000160: 409a6000 00000000 00000000 00000000
[  0% Backed Up]   90000170: 42000018 00000000 10000005 24042000
[  0% Backed Up]   90000180: 10000003 24041000 10000003 24040400
[  0% Backed Up]   90000190: 3c1f9000 27ff01dc 3c08a861 35081600
[  0% Backed Up]   900001a0: 8d090000 35290040 ad090000 3c08a861
[  0% Backed Up]   900001b0: 35080900 3c09f00c 35293ff0 ad09000c
[  0% Backed Up]   900001c0: 3c09ffff 3529c97f ad090008 3c0affff
[  0% Backed Up]   900001d0: 354a367f 008a2026 ad040004 03e00008
[  0% Backed Up]   900001e0: 00000000 03e0c821 3c049400 0c000363
[  0% Backed Up]   900001f0: 00000000 1440000c 00000000 3c049400
[  0% Backed Up]   90000200: 3c050004 0c00037c 00000000 14400006
[  0% Backed Up]   90000210: 00000000 3c049400 3c050004 0c00038f
[  0% Backed Up]   90000220: 00000000 00003021 03200008 00000000
[  0% Backed Up]   90000230: 24044000 24050010 03e0c821 0c000095
[  0% Backed Up]   90000240: 00000000 0c00009f 00000000 03200008
[  0% Backed Up]   90000250: 00001021 4080e000 4080e800 3c068000
[  0% Backed Up]   90000260: 00c43821 00e53823 bcc80000 14c7fffe
[  0% Backed Up]   90000270: 00c53021 03e00008 00000000 4080e000
[  0% Backed Up]   90000280: 4080e800 3c068000 00c43821 00e53823
[  1% Backed Up]   90000290: bcc90000 14c7fffe 00c53021 03e00008
[  1% Backed Up]   900002a0: 00000000 3c0ca861 358c1a00 8d8c0000
[  1% Backed Up]   900002b0: 318c0020 15800032 00000000 3c0ca861
[  1% Backed Up]   900002c0: 358c0900 958c0014 240d002b 158d001e
[  1% Backed Up]   900002d0: 00000000 310c0020 11800002 21080040
[  1% Backed Up]   900002e0: 210800a0 ad000000 ad040010 340c8000
[  1% Backed Up]   900002f0: ad0c0014 240c04b0 1580ffff 218cffff
[  1% Backed Up]   90000300: 8d0c003c 318c0001 1580fffd 00000000
[  1% Backed Up]   90000310: 340c8000 ad0c0018 240c0001 ad0c0040
[  1% Backed Up]   90000320: 240c0001 ad0c0038 8d0c003c 318c0001
[  1% Backed Up]   90000330: 1580fffd 00000000 240c0001 ad0c0000
[  1% Backed Up]   90000340: 03e00008 00000000 00042300 348407fe
[  1% Backed Up]   90000350: ad000000 240c0004 ad0c0010 8d0c0010
[  1% Backed Up]   90000360: 318c0001 1580fffd 00000000 ad040010
[  1% Backed Up]   90000370: 8d0c0010 318c0001 1180fffd 00000000
[  1% Backed Up]   90000380: 03e00008 00000000 00a02021 09180235
[  1% Backed Up]   90000390: 00000000 00a02021 00c02821 09180235
[  1% Backed Up]   900003a0: 00000000 3c1a9000 275a0cbc 03400008
[  1% Backed Up]   900003b0: 00000000 00000000 3c089000 25080124
[  1% Backed Up]   900003c0: 3c0b9000 256b03ec 01600008 00000000
[  1% Backed Up]   900003d0: 3c011fff 3421ffff 00812024 3c018000
[  1% Backed Up]   900003e0: 00812025 3c089000 250803a4 25090010
[  1% Backed Up]   900003f0: 8d020000 ac820000 bc990000 0000000f
[  1% Backed Up]   90000400: bc900000 21080004 1509fff9 20840004
[  1% Backed Up]   90000410: 03e00008 00000000 3c089460 25080700
[  1% Backed Up]   90000420: 3c099000 25290f90 3c0a0001 254ad620
[  1% Backed Up]   90000430: 01495021 8d220000 ad020000 21080004
[  1% Backed Up]   90000440: 152afffc 21290004 012a2023 03e00008
[  1% Backed Up]   90000450: 00000000 3c089000 25080580 8d050000
[  1% Backed Up]   90000460: ^C
D:\jtag>
 

Anhänge

  • out.txt.gz
    5.2 KB · Aufrufe: 9
Zuletzt bearbeitet:
@MaxMuster
Post 1
... welches ohne "TCK-Kondensator" nur manchmal, mit "relativ stabil" funktionierte. In einer deiner Beiträge hatte ich gesehen, dass du den durchgestrichen hattest? Sollte ich den ablöten?

Mit meiner Version auf jeden Fall ohne Kondensator.


Post 2
Habe jetzt dein Programm mal getestet, nicht so ganz erfolgreich, ...
Code:
./wrt54g -backup:custom  /skipdetect   /window:90000000 /start:90000000 /length:20000 /nocwd /dv:1
Das Prog bleibt nach dem
Code:
<Processor Entered Debug Mode!> ... 
Done
stehen. Hänge mal einen Log mit /debug an und teste gleich im Windows, ob es da geht.

Leicht möglich, dass es ab <Processor Entered Debug Mode!> ...
nicht mehr so funktioniert wie es soll, da ich ja mit meinen W701 leider nicht mal bis dahin kam, und daher nie wirklich testen konnte ob der Rest so funktioniert. Die Programmteile die aber ab diesen Punkt durchlaufen werden sind noch Original, wie bei Feadi. Es ist jedoch möglich, dass da auch noch was anzupassen ist um mit den verbesserten Timming Routinen kompatibel zu werden. Damals zeigte ja niemand mehr Interesse wie man unschwer aus den älteren Beiträgen entnehmen kann.
EDIT:
Habe erst jetzt den Log angesehen, das Progamm müßte angepasst werden da bei den wiederkehrenden Befeln die Schreibbefehle oder Lesebefehle nicht ausgeführt werden da es idente Befehle sind dei ich abgefangen habe.

Hänge mal eine Version an bei der die Weiderholte Ausführung von gleichen Befehlen nicht unterbunden wird, getestet habe ich jedoch nichts, hab nur die Abfragen rausgenommen.

Frage: Wie viel Bausteine in der Chain erkennt meine Version?

EDIT:
see Post
 
Zuletzt bearbeitet:
Eine Device, wenn ich mich recht erinnere (bin ja jetzt im Windows). Aber ich habe momentan auch den Punkt TDO/cTDI abgegriffen, bin also "in der Chain". Ich löte mal an "cTDO" um, boote wieder Linux und poste die Ergebnisse hier.

Jörg

EDIT: Findet (mit cTDO) zwei Devices in der Chain
Code:
./wrt54g -backup:custom  /skipdetect   /window:90000000 /start:90000000 /length:20000 /nocwd /dv:1

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v4.8
==================================================

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

Beginning decect scan leangth...

Chain lenght: 11 IR-Chain: 00010100011 (000000A3)
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: 00000001010000001101000010010011 (0140D093)
 *** Found a Spartan-3 FPGA 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'
You must specify /tir:X or /hir:X by Option!
Mit "/hir:6" geht es so wie oben und bleibt stehen.
Ich nutze übrigens jetzt ein IF ohne Kondensator am TCK...

EDIT2 Die oben angehängten Version kommt zu einem Fehler, erkennt den Flash-Baustein nicht. Gebe ich /fc:32 vor, werden lauter Nullen ausgelesen.

EDIT3 Das "nur Widerstandinterface" verhält sich identisch: 2 Devices korrekt erkannt, Flash nicht.
 
Zuletzt bearbeitet:
Ja sehr gut, so wie erwartet.

Ich habe oben mal eine geänderte Version angehängt, ob die überhaut was vernünftiges macht weiß ich jedoch nicht. Hab nur die Abfrage rausgenommen die ein wiederholtes Ausführen von gleichen Instruktionen unterbindet.
 
Hier mal die Ausgabe zur Version oben (wrtgjp4.tar.gz):

Code:
 ./wrt54g -backup:custom  /skipdetect   /window:90000000 /start:90000000 /length:20000  /dv:1 /hir:6 

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v4.8
==================================================

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

Beginning decect scan leangth...

Chain lenght: 11 IR-Chain: 00010100011 (000000A3)
Probing bus ...
'6' Header bits added to IR, 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: 00000001010000001101000010010011 (0140D093)
 *** Found a Spartan-3 FPGA 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 Version ....... : 2.6
    - EJTAG DMA Support ... : No


TAP reset ... 

Issuing Processor / Peripheral Reset ... 
Done

TAP reset ... 
Halting Processor ... 
<Processor Entered Debug Mode!> ... 
Done
Clearing Watchdog (0xb8000080) ... 
Done

Probing Flash at (Flash Window: 0x90000000) ...Done

*** Unknown or NO Flash Chip Detected ***

 *** REQUESTED OPERATION IS COMPLETE ***

Jörg

EDIT: Und als Anhang der Debug-Output...
 

Anhänge

  • debug.out.gz
    706.4 KB · Aufrufe: 8
Danke!
Etwas weiter, warum es nun mit dem Erkennen des Flash nichts weiter geht bin ich noch nicht klar.
Die Längenangabe ist eine andere aber das sollte eigentlich keine Rolle spielen.
/length:10000

Für den log hast du /debug2 verwendet, versuche bitte einmal /debug1#

Nachdem das Verhalten bis an diesen Punkt normal und vergleichbar mit dem dem anderen Programm von feadi ist sollte es eigentlich auch den Flash Chip erkennen da an diesen Programmteilen nichts geändert wurde.
 
Reicht dir dieser Anfang? Das geht dann immer so weiter...

Code:
~/jtag/4>./wrt54g -backup:custom  /skipdetect   /window:90000000 /start:90000000 /length:20000  /dv:1 /hir:6 /debug1 > debug1.out

~/jtag/4> head -n 100 debug1.out 

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v4.8
==================================================

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

Beginning decect scan leangth...

Chain lenght: 11 IR-Chain: 00010100011 (000000A3)
Probing bus ...
'6' Header bits added to IR, 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: 00000001010000001101000010010011 (0140D093)
 *** Found a Spartan-3 FPGA 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 Version ....... : 2.6
    - EJTAG DMA Support ... : No


TAP reset ... 

Issuing Processor / Peripheral Reset ... 
Done

TAP reset ... 
Halting Processor ... 
<Processor Entered Debug Mode!> ... 
Done
Clearing Watchdog (0xb8000080) ... 
CPU-DEBUG: Start module.
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000001000000000 (FF200200)
2-CPU-DEBUG: Instruction read at 0xFF200200  offset -> 0000  data -> 0x3C01FF20
last data send                           : 00111100000000011111111100100000 (3C01FF20)
last data_reg read                       : 10100010001100010000000010000100 (A2310084)
last ctrl_reg read/write PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000001000000100 (FF200204)
2-CPU-DEBUG: Instruction read at 0xFF200204  offset -> 0001  data -> 0x34210000
last data send                           : 00110100001000010000000000000000 (34210000)
last data_reg read                       : 00111100000000011111111100100000 (3C01FF20)
last ctrl_reg read/write PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000001000001000 (FF200208)
2-CPU-DEBUG: Instruction read at 0xFF200208  offset -> 0002  data -> 0x8C220000
last data send                           : 10001100001000100000000000000000 (8C220000)
last data_reg read                       : 00110100001000010000000000000000 (34210000)
last ctrl_reg read/write PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000001000001100 (FF20020C)
2-CPU-DEBUG: Instruction read at 0xFF20020C  offset -> 0003  data -> 0x8C230004
last data send                           : 10001100001000110000000000000100 (8C230004)
last data_reg read                       : 10001100001000100000000000000000 (8C220000)
last ctrl_reg read/write PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000000000000000 (FF200000)
CPU-DEBUG: ERROR!!.
Done

Probing Flash at (Flash Window: 0x90000000) ...CPU-DEBUG: Start module.
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000000000000000 (FF200000)
CPU-DEBUG: ERROR!!.
CPU-DEBUG: Start module.
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000000000000000 (FF200000)
CPU-DEBUG: ERROR!!.
CPU-DEBUG: Start module.
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000000000000000 (FF200000)
CPU-DEBUG: ERROR!!.
CPU-DEBUG: Start module.
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000000000000000 (FF200000)
CPU-DEBUG: ERROR!!.
CPU-DEBUG: Start module.
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000000000000000 (FF200000)
CPU-DEBUG: ERROR!!.
CPU-DEBUG: Start module.
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)
last address read                        : 11111111001000000000000000000000 (FF200000)
CPU-DEBUG: ERROR!!.
CPU-DEBUG: Start module.
last reed/write  PRACC | PROBEN | SETDEV : 01000000000001001100000000001000 (4004C008)

EDIT: Wie ist das denn in der Version mit dem "Bypass", was die Feadi-Version wohl mit /instrpostfix und /instrprefix macht? Ich bin ja jetzt nicht mehr mit einem Gerät in der Chain unterwegs...
 
Zuletzt bearbeitet:
OK danke das reicht schon!

Um die Sache nicht endlos in die Länge zu ziehen:

Es vielleicht besser hier mal eine Pause einzulegen, wenn ich einen Router hätte bei dem ich sicher währe, dass ich das selbe Verhalten erreichen würde dann würde ich auch sofort hier weitermachen.

Interessant währe nun zu wissen ob el_valente bei seine Router zu den selben Ergebnissen kommt oder ob er auch mit meiner Version nicht in den debug Modus der CPU wechseln kann.
Meine Vermutung ist leider, dass alle neueren CPUs das nicht mehr unterstützen, würde mich aber freun wenn ich mich irre.

Behebung der Probleme mit meiner Version bezüglich Erkennung des Flash währe wünschenswert aber auch mit der Version von feadi ist offensichtlich das auslangen zu finden zumindest für die Router die nicht mehrere Chips in der Chain haben.

Meine Version ermöglicht einiges mehr an debug Information aber eben mit den Einschränkung, dass das derzeit das wichtigste nicht funktioniert nämlich der Zugriff auf das Flash.

Verdrahtung ist damit bei weiten unkritischer und ein zusätzlicher Kondensator wird nicht verwendet.

Ein weiterarbeiten an meiner Version währe für mich erst wieder interessant wenn ich die Hoffnung hätte, dass auch CPUs die von infineon erzeugt wurden in den debug modus versetzt werden können.
Wie ist das denn in der Version mit dem "Bypass", was die Feadi-Version wohl mit /instrpostfix und /instrprefix macht? Ich bin ja jetzt nicht mehr mit einem Gerät in der Chain unterwegs...
Bypass wird bei meiner Version automatisch richtig gesetzt wenn einer der Parameter hir oder tir gesetzt wird.
Sind all Chips in der Cain aktiv so ist die Instruktion Länge für jeden Chip individuell. Nur die CPU darf in unseren Fall aktiv sein die restlichen Chips müssen auf Bypass umgeschaltet werden, dadurch verringert sich die komplette Länge der Summe aller ausgelesen Register in der Kette, da die auf Bypass geschalteten Chips nur mehr das Bypass Register ausgeben.

Ist nur ein Chip in der Chain gibt es auch kein Bypass Register, somit ist die Ausgabe der Daten nicht um die entsprechende Anzahl von Bybass Registern verfälscht, und somit auch wesentlich einfacher zu handhaben.

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'
Wir haben eine kette von Istruktionsregistern und eine Kette von Datenregistern, siehe oben.
In unseren Fall mit zwei Chips ist das noch relativ einfach.
Da die Länge des Datenregisters eines abgeschaltet Chips ein bit ist (Bypass register) und und die CPU der 2. Chip in der Chain ist so müssen muss ein bit als Header bit vorn am Datenregister angehängt werden.

Für das Instruktionregister sieht das ähnlich aus jedoch sind die Anzahl der bits je nach chip unterschiedlich es gibt kein Bypassregister für die Instruktionregister. instrpostfix und instrprefix reicht somit nicht aus um Daten richtig auszulesen. Wenn nicht die Software Daten Header und/oder trailig bits berechnet und entsprechend einsetzt.
dataprefix und datapostfix sind entweder anzugeben wie in der Version von feadi oder werden berechnet wie bei meiner Version.
 
Zuletzt bearbeitet:
Noch zwei Dinge kommen, der erste hier: Mit Anschluss an TDO (also "nur ein Dev in der Chain") wird Flash auch nicht erkannt:
Code:
:~/jtag/4> ./wrt54g -backup:custom  /skipdetect   /window:90000000 /start:90000000 /length:10000 

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v4.8
==================================================

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

Beginning decect scan leangth...

Chain lenght: 5 IR-Chain: 00011 (00000003)
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 ***
---- Selected: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
 *** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***


Count devives: '1' selected device: '1' count header bits added to DR: '0' count trailing bits added to DR: '0'
Chain length: '5' Selected IR length: '5' Sum of added header bits to IR: '0' 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 Version ....... : 2.6
    - EJTAG DMA Support ... : No


TAP reset ... 

Issuing Processor / Peripheral Reset ... 
Done

TAP reset ... 
Halting Processor ... 
<Processor Entered Debug Mode!> ... 
Done
Clearing Watchdog (0xb8000080) ... 
Done

Probing Flash at (Flash Window: 0x90000000) ...Done

*** Unknown or NO Flash Chip Detected ***

 *** REQUESTED OPERATION IS COMPLETE ***

Gleich löte ich den Adapter noch an mein IAD 5130 mit Infineon und Spartan...

Bitte sehr, mit Infineon CPU:

Code:
 ./wrt54g -backup:custom  /skipdetect   /window:90000000 /start:90000000 /length:10000  /dv:1 /hir:6

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v4.8
==================================================

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

Beginning decect scan leangth...

Chain lenght: 11 IR-Chain: 00011101011 (000000EB)
Probing bus ...
'6' Header bits added to IR, 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 Version ....... : 2.6
    - EJTAG DMA Support ... : No


TAP reset ... 

Issuing Processor / Peripheral Reset ... 
Done

TAP reset ... 
Halting Processor ... 
<Processor Entered Debug Mode!> ... 
Done
Clearing Watchdog (0xb8000080) ... 
Done

Probing Flash at (Flash Window: 0x90000000) ...Done

*** Unknown or NO Flash Chip Detected ***

 *** REQUESTED OPERATION IS COMPLETE ***

EDIT Unter Windows ist zumindest das Auslesen möglich, auch wenn das jetzt mal wieder (weil ohne Kondensator?!?) nach 5% abstürzt. Der Bootlader wird aber soweit gelesen, dass man MAC, ProdoctID, HWRevision usw gut erkennen kann. Prinzipiell lassen sich also auch Infineon CPUs so "bearbeiten"

EDIT2: Erfolgreich ausgelesen:
Code:
D:\jtag>wrt.exe -backup:custom /silent /instrlen:5 /instrprefix:6 /dataprefix:1 /window:90000000 /start:90000000 /length:10000

====================================
WRT54G/GS EJTAG Debrick Utility v4.5
====================================

Probing bus ... Power up now...
Done

Instruction Length set to 5

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

reading IMPCODE register... 00000000000000000000000000000000 (00000000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
    - EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No

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

Probing Flash at (Flash Window: 0x90000000) ... 1 flash vendorID:1 deviceID:8830

Done

Flash Vendor ID: 00000000000000000000000000000001 (00000001)
Flash Device ID: 00000000000000000010001000000001 (00002201)
*** Found a AMD 29lv320MT 2Mx16 TopB   (4MB) Flash Chip ***

    - Flash Chip Window Start .... : 90000000
    - Flash Chip Window Length ... : 00400000
    - Selected Area Start ........ : 90000000
    - Selected Area Length ....... : 00010000

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

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

Saving CUSTOM.BIN.SAVED_20090729_212920 to Disk...
Done  (CUSTOM.BIN.SAVED_20090729_212920 saved to Disk OK)

bytes written: 65536
=========================
Backup Routine Complete
=========================
elapsed time: 255 seconds


 *** REQUESTED OPERATION IS COMPLETE ***

exit...Drücken Sie eine beliebige Taste . . .

D:\jtag>
 
Zuletzt bearbeitet:
Unter Windows ist zumindest das Auslesen möglich, auch wenn das jetzt mal wieder (weil ohne Kondensator?!?) nach 5% abstürzt. Der Bootlader wird aber soweit gelesen, dass man MAC, ProdoctID, HWRevision usw gut erkennen kann. Prinzipiell lassen sich also auch Infineon CPUs so "bearbeiten"
Wenn du sicher bist, dass du eine Infoneon CPU hast, dann müsste ich meine Vermutung revidieren!

Bleibt dann die Frage warum ich beim W701 nicht in den Debug Modus wechseln kann, an der Verdrahtung liegt es mit Sicherheit nicht.
Mir geht es absolut so wie el_valente.

EDIT: Bitte poste mal den Link zur Windows Version von feadi ich bin mir nicht sicher ob ich die selbe Version noch irgendwo habe.
Ich werden morgen dann erneut den W701 anstecken für heute reicht es mir.
 
Zuletzt bearbeitet:
Hier der "Beweis" ;-)

EDIT Hier noch die Version, die ich nutze (ich weiß nicht mehr, welche das jetzt war...)
 

Anhänge

  • IAD_5130_Rückseite.jpg
    IAD_5130_Rückseite.jpg
    354.8 KB · Aufrufe: 86
  • cpu.jpg
    cpu.jpg
    269.8 KB · Aufrufe: 60
  • IAD_5130_Bestückung.jpg
    IAD_5130_Bestückung.jpg
    486.2 KB · Aufrufe: 58
  • wrt.zip
    306.4 KB · Aufrufe: 31
Zuletzt bearbeitet:
Danke das macht Mut!
Werde morgen ernuet den W701 bearbeiten.
 
Zuletzt bearbeitet:
Interessant währe nun zu wissen ob el_valente bei seine Router zu den selben Ergebnissen kommt oder ob er auch mit meiner Version nicht in den debug Modus der CPU wechseln kann.
Sehr interessant, was Ihr beide da so treibt ...

Sorry, dass ich mich heute ausgeklinkt hatte - ich brauchte einfach mal einen Tag Pause.

@Jpascher: Jetzt wollte ich Deine Version des debrick tools von HairyDairyMaid ausprobieren. Habe wrtjp.1.5 und wrtjp.4.
Mit Knoppix habe ich wrtjp nicht zum Laufen gebracht, weder mit ./start noch mit ./wrt54g.
Sieht so aus, als ob mein parport in Linux streikt.
Habe versucht, parport zu installieren (mit Kommandozeile wie in start), es kam aber Fehlermeldung.
Wie muss ich vorgehen?

Habe dann nochmal versucht, über Windows mit dem passiven JTAG interface auf die FB5010 zu kommen - erfolglos. Die CPU geht nicht in den debug mode (wie bei Jpascher).
Das komische ist, vor 2 Tagen hatte ich ein paarmal Zugang zum Flash, also da schaltete die CPU der 5010 in den debug mode, aber seither nicht mehr.
An der Verdrahtung sollte es auch nicht liegen, habe erfolgreich Zugriff auf FBF, FB5050 und FB SL.

Kann sein, dass meine 5010 einen Hardware Fehler hat.

Jetzt aber ab ins Bett!
.
 
Zuletzt bearbeitet:
Habe versucht, parport zu installieren (mit Kommandozeile wie in start), es kam aber Fehlermeldung.
Wie muss ich vorgehen?

Wie es in ./start kurz als Info auskommentiert ist solle man den parport aktivieren können.
Etwas verzwickt ist das schon, möglich dass sich nicht jeder PC gleich verhält.

Wir sollten vielleicht versuchen das Programm für windows übersetzen, hab aber derzeit keinen windows compiler installiert.
Ich muss auch auf den älteren Laptop wechseln damit ich überhaut eine parport habe.
Ich werde jetzt erst mal meine alten in betriebnehmen, dann melde ich mich wieder.
 
Bleibt dann die Frage warum ich beim W701 nicht in den Debug Modus wechseln kann, an der Verdrahtung liegt es mit Sicherheit nicht.
Mir geht es absolut so wie el_valente.
Gestern nacht habe ich die Lötpads auf der 5010-Platine mit Entlötlitze gereinigt und das IF mit der Lupe sauber aufgelötet. Also an den Lötstellen kann es jetzt nicht liegen.

Trotzdem dasselbe Verhalten: Die CPU geht nicht in den debug mode (dasselbe Problem wie bei Jpascher mit der W701V).
Wohlgemerkt: Die CPU der 5010 ist von TI, nicht von Infineon.

Danach habe ich das IF an einer FB 7113 probiert - bei dieser (modernen) Platine scheint das (passive) JTAG-Interface gar nicht zu funktionieren (ich finde auch gar keine Kontakte für den Coprozessor?). Jedenfalls verhält sich das IF wie "nicht angeschlossen", egal ob mit oder ohne Spannung.
Also lege ich die 7113 mal beiseite.

Zurück zur 5010: Auch da würde ich ja einfach sagen "das IF funktioniert halt nicht mit der 5010"
Aber: Beim ersten Versuch vor 3 Tagen hatte ich mit dem passiven IF einige Male Zugang zur 5010! Damals konnte ich mtd3 und mtd4 der 5010 erfolgreich auslesen. Ich hatte auch einen bootloader geflasht, aber der war leider fehlerhaft.

Bei FB SL, FBF und FBF5050 funktioniert mein passives JTAG-IF ganz wunderbar!

Deswegen wurmt mich die Frage: Was ist in der Zwischenzeit passiert?
- Ist die 5010 über den Jordan gegangen?
- Oder ist "nur" irgendein Register in einen Zustand gesprungen, so dass der debug mode nicht mehr möglich ist?
. (Frage an Jpascher: Welches Register könnte das sein?)
- Kann ich das Problem evtl. lösen, indem ich das IF an andere (zusätzliche?) Kontakte anlöte?
.
 
Was ist in der Zwischenzeit passiert?
ebnfalls Ratlos!

- Ist die 5010 über den Jordan gegangen?
Kaum!
- Oder ist "nur" irgendein Register in einen Zustand gesprungen, so dass der debug mode nicht mehr möglich ist?
Auch nicht vorstellbar da ja ein Resert alles auf Ausgangsituation bringen muss.
EDIT1:
Es gäbe noch die Optionen: /noreset and /nobreak die du probieren könntest.

Welches Register könnte das sein?
Vorausgesetzt der Reset funktioniert nicht, ist es praktisch kaum möglich an das richtige Register zu kommen.
- Kann ich das Problem evtl. lösen, indem ich das IF an andere (zusätzliche?) Kontakte anlöte?
Jede Veränderung oder auch nur eine Änderung der Position des Routers in Relation zum PC könnte bereits was verändern wenn es das Timingproblem betrifft.
EDIT2:
Ich muss mich mit meiner Aussage revidieren, dass ich beim W701 auch nur in den debug modus komme.
Das Verhalten ist fast so wie auch bei MaxMuster.
Ist wohl bereits zu lange her seit ich damit herumgebastelt habe.

Nicht reproduzierbar kam nur das erste mal in den debugmodus.
Weder mit meiner version noch mit der von feadi unter windos.
CPU wird erkannt bei beiden, darüber hinaus komme ich leider nicht.

==================================================
WRT54G/GS/AVM/Speedport EJTAG Debrick Utility v4.8
==================================================

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

Beginning decect scan leangth...

Chain lenght: 14 IR-Chain: 00010010100011 (000004A3)
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: 00001011011011000000000000101111 (0B6C002F)
*** Found a 0B6C002F ????? chip ***
Device number: '3' Chip ID: 00000001110000011010000010010011 (01C1A093)
*** Found a XC3S250E FPGE chip ***
---- Selected: '1' Chip ID: 00000000000000000001000000001111 (0000100F)
*** Found a TI AR7WRD TNETD7200ZWD Rev 1 CPU chip ***


Count devices: '3' selected device: '3' count header bits added to DR: '2' count trailing bits added to DR: '0'
Chain length: '14' Selected IR length: '5' Sum of added header bits to IR: '9' 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 Version ....... : 2.6
- EJTAG DMA Support ... : No


TAP reset ...

Issuing Processor / Peripheral Reset ...
Done

TAP reset ...
-- > Halting Processor ...
!!! Processor did NOT enter Debug Mode !!! ...
Done

C:\WRT>wrt.exe -backup:custom /instrlen:5 /instrprefix:9 /dataprefix:2 /window:90
000000 /start:90000000 /length:1000

====================================
WRT54G/GS EJTAG Debrick Utility v4.5
====================================

Probing bus ... Power up now...
Done

Instruction Length set to 5

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

reading IMPCODE register... 00000000000000000000000000000000 (00000000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
reading IMPCODE register... 01000001010000000100000000000000 (41404000)
- EJTAG IMPCODE ....... : 01000001010000000100000000000000 (41404000)
- EJTAG Version ....... : 2.6
- EJTAG DMA Support ... : No

Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Skipped
Halting Processor ... <Processor did NOT enter Debug Mode!> ... Done
Clearing Watchdog ...

Meine Erinnerungen haben mich leider in Stich gelassen ich muss meine Äußerungen in den vorhergehenden Beiträgen korrigieren nachdem ich nun den W701 wieder angeschlossen habe läuft nun das Auslesen des flasch.
Flash chip Erkennung funktionierte jedoch nicht mit der Angabe des Chips lese ich derzeit aus.

Es wurden ebenfalls nur Nullen gelesen wie MaxMuster berichtet.

Zur Aktivierung des Printer Ports:

Bereits vorhande Module entladen.

rmmod lpt
rmmod lp
rmmod parport_pc
rmmod ppdev
rmmod parport


Neu anlegen:

mknod /dev/parport0 c 99 0 -m 666
modprobe parport

#modprobe ppdev
Zum Kontrollieren:
lsmod |more
 
Zuletzt bearbeitet:
Aus der Erinnerung von gestern Abend:
ppdev benötigt parport -> erst rmmod ppdev, dann rmmood parport.

Jörg
 
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.