Image flashen mit Adam2

Das ist sozusagen aus dem Flugschreiber, ich hab kein Medium befragt und im Totenreich angerufen :)

Weiter oben habe ich beschrieben, dass ich eine netzlose serielle Shell gestartet habe.

Hier 2 Logs, mal ohne und mal mit Netzwerk

.
 

Anhänge

  • minishell.serlog.zip
    3.3 KB · Aufrufe: 16
  • serlog2cycles.zip
    5.7 KB · Aufrufe: 6
Zuletzt bearbeitet:
Der Bootloader ist doch schon mal in Ordnung. Vermutlich hast Du die Konfiguration durcheinander gebracht, die sich in mtd3 und mtd4 befindet.
 
Ähm, wie gesagt, das sind Flugschreiber-Aufzeichnungen aus der Zeit vor dem Ableben des Bootloaders.

Damit du nicht zurückblättern musst:
Es ging darum, einen Weg zu finden, den Bootloader zu überschreiben, wenn kein Telnet mehr geht. Bevor ich mtd2 überschreibe, wollte ich erstmal testen, ob ich 64kB von mtd4 nach mtd3 kopieren kann. Dabei ist aus unerfindlichen Gründen der Bootloader zu Schaden gekommen.
 
Zuletzt bearbeitet:
Warum postest du Logs, wenn die jetzt keinen Wert mehr haben? :gruebel:
Wann ist denn EJ-Tag?

MfG Oliver
 
Warum postest du Logs, wenn die jetzt keinen Wert mehr haben? :gruebel:
Ich würde gern wissen, was passiert ist und wieso. Z.B. das hier, beim "normalen" Bootversuch:
Code:
Ohio flash memory: Swapping erase regions for broken CFI table.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Was will uns das sagen?

Wann ist denn EJ-Tag?
Muss noch ein bissi basteln...


.
 
Zuletzt bearbeitet:
Das ist normal. Wenn dich das wirklich interessiert, dann solltest du im Kernelsource mal danach suchen.

MfG Oliver
 
"Normal" ist das glaub ich nicht. Ich hab mal ein paar Serial-Logs nach "brokenness" durchsucht und das eigentlich nur bei Problemboxen gefunden. In den Logs der Boxen, die "normal" laufen, steht das nicht drin.
 
Hallo,
ich hatte über die Feiertage ein bisschen Zeit zum Basteln und auch wieder einen PC mit Parallelport zur Verfügung. Heini66 hatte mir mal zu einem gepufferten EJTAG-Interface geraten, deshalb hab ich mir ein etwas abgespecktes "Wiggler"-Interface gebaut (Bilder anbei). Anders als beim Wiggler habe ich den nTRST-Eingang offen gelassen (dann hat er 0 Volt), mit Pullup-Widerstand an VCC macht es aber auch keinen Unterschied. Ach ja, und als Lesedraht habe ich nicht die BUSY-Leitung (11) genommen sondern die für das SELECTED-Signal des Druckers (13), weil die verwendete Debrick-Utility von HairyDairyMaid das so verlangt.

Aus der Windows-Command-Console gestartet schreibt das Programm:

Code:
====================================
WRT54G/GS EJTAG Debrick Utility v4.8
====================================
Probing bus ... Done
Instruction Length set to 5
CPU Chip ID: 11111111111111111111111111111111 (FFFFFFFF)
*** Unknown or NO CPU Chip ID Detected ***
Das ist jetzt mit stromversorgter Fritzbox, ohne Strom sind es lauter Nullen statt der Einsen und FFs.

Zum Programm gehört offenbar eine undokumentierte Datei Namens Debrick.ini, darin steht:

TCK = 1;
TMS = 2;
TDI = 0;
TDO = 4;


Nun könnte man ja annehmen, dass damit die Belegung des D25-Steckers vom Parallelport konfiguriert wird. Ich habe ein wenig mit den Werten herumgespielt, aber es ändert nichts. Gibt's wirklich keine Doku dazu?

Spaßeshalber hab ich dann mal die graphische Windows-Version probiert, mit dem gleichen Ergebnis.

Hat jemand n'Tipp?

Gruß,
Telefonicus

EDIT:
Inzwischen habe ich herausgefunden, dass es mindestens zwei JTAG-Welten gibt. Da sind zum einen die Legionen der Freunde des Satellitenempfangs, bei denen Wiggler sehr beliebt ist. Und dann gibt es da noch das Fähnlein der unerschrockenen Router-Löter, die mehr auf Xilinx stehen. Bei Ebay finden sich jedenfalls zahlreiche, teils spottbillige JTAG-Adapter vom Wiggler-Typ, Xilinx-kompatible jedoch eher selten.

Der Unterschied liegt hauptsächlich in der Pinbelegung des Printerports:

Wiggler
pin3 (D1) - TMS
pin4 (D2) - TCK
pin5 (D3) - TDI
pin6 (D4) - nTRST
pin11 (BUSY) - TDO

Xilinx
pin2 (D0) - TDI
pin3 (D1) - TCK
pin4 (D2) - TMS
pin13 (SEL) - TDO

Natürlich muss die verwendete Software diese Pinbelegung berücksichtigen. Hairydairymaid, der Autor der Debrick-Tools[/U]RL für die WRT54-Router von Linksys - bislang eher ein Xilinx-Purist - hat offenbar wegen der großen Verbreitung von Wiggler-Hardware in seiner letzten Version v48 die Startoption /wiggler eingeführt. Originalsoftware dür das Wiggler-Interface erkennt übrigens das Vorhandensein desselben an der Feedback-Brücke von D6 nach ERR.

Die weiter oben erwähnte Datei Debrick.ini gehört zu Sherman Owen's Portierung der Hairydairymaid-Software nach Windows XP, die bei [URL=http://www.ranvik.net/prosjekter-privat/jtag_for_wrt54g_og_wrt54gs/xp%20files%20(working)/]Erik Ranvik
zu finden ist. Damit soll es möglich sein, die Software an die Pinbelegung des Adapters zu anzupassen. Ich habe damit nicht weiter experimentiert sondern lieber aus meinem Wiggler- ein Xilinx-kompatibles Interface gemacht.

EDIT 20.5.2008:
Bisherige Erfolge: keine :-(
Mit dem Testprogramm von Feadi habe ich meinen Xilinx-Adapter auf korrekte Leitungsführung überprüft. Alle Signale sind wo und wie sie sein sollen.

HairyDairyMaid's wrt54g -probeonly liefert mit und ohne Strom nur Nullen, aber wrt54g -probeonly /wiggler liefert Nullen oder Einsen je nach Stromversorgungszustand. Dabei liegt TDO doch gar nicht mehr an BUSY (Parallelport Pin 11, wie bei Wiggler) sondern an SEL (Pin 13, wie bei Xilinx), und die Wiggler-Brücke habe ich auch entfernt. Sehr seltsam...

Im Reflextest-Modus (wrt.exe -reflex-test /instrlen:5 /instrprefix:9 /dataprefix:2) kommen nur lauter Einsen, wenn die Fritzbox unter Strom steht, und lauter Nullen bei stromloser Box. Bzw. beim Start ca. 2 Sekunden Nullen, dann nur noch Einsen. Der probeweise Einbau eines Beruhigungs-Kondensators (nach Feadi) an der D1-Leitung (TCK) brachte keinen Unterschied. Jetzt steckt der Interface-Adapter ohne Kabel direkt am PC.

So far, so brick...
 

Anhänge

  • my_simplified_Xilinx.jpg
    my_simplified_Xilinx.jpg
    128.5 KB · Aufrufe: 87
  • my_simplified_Wiggler.jpg
    my_simplified_Wiggler.jpg
    124.8 KB · Aufrufe: 71
Zuletzt bearbeitet:
Hallo, da bin ich mal wieder :)

Probier mal mit meinem Testprogramm den IR Length test. Der sollte irgend einen Wert zwischen 5 und 20 ausgeben.

Zu der nTRST Leitung kann ich Dir sagen dass 'RST' Reset bedeutet und 'n' bedeutet active low. Du _musst_ also diesen Pin mit 3v3 verbinden um den JTag-Reset zu deaktivieren.

Ausserdem ist der nTRST Pin vom Spartan auch noch auf das Pad unten an der Box geführt, dieser muss auch auf 3v3, sonst unterbricht der Spartan die JTag-Chain.

Sobald der IR Length test einen gültigen Wert ausspuckt, ist Deine FBF bereit zum flashen.

Gruß,
- Feadi
 
Hallo Feadi,
deine Überlegung zum nTRST vom Spartan klingt plausibel. Bloß, warum hat das bisher noch niemand so gemacht, bzw. warum habe ich's noch nicht gefunden?

Die 7170 v1 hat einen Spartan, die v2 hat den Xilinx 3s500E. Ich habe einen Scan von der Platinenunterseite gemacht. Wo muss ich jetzt kontaktieren?

Den IR length test mach ich nachher mal gleich.

Dank und Gruß
Telefonicus

EDIT:
Wie in meiner Xilinx-Schaltung zu sehen, ist jetzt ein Pullup-Widerstand am nTRST-Pin. Was ich ganz oben in #88 über nTRST geschrieben habe, war natürlich vor dem Edit und vor der Schaltungsänderung :)

Wenn du mit "nTRST vom Spartan" cTRST meinst, dann habe ich im Moment schlechte Karten. Mit meinen gegenwärtigen Nadeladapter komme ich da im Moment nicht dran (s. Foto). Ändern ist mit dem Fotoeditor sehr einfach (3. Bild), in echt aber eher schwierig, weil die Nadeln meines Prototyp-Adapters geklebt sind. Wenn ich mit der 7170 fertig bin, poste ich mal eine Bauanleitung für EJTAG-Nagelbettadapter mit gelöteten Kontaktnadeln.

Da muss ich noch ein bisschen basteln (Bild 4)
 

Anhänge

  • 7170v2 Unterseite.jpg
    7170v2 Unterseite.jpg
    331.9 KB · Aufrufe: 67
  • Bulleye.JPG
    Bulleye.JPG
    181 KB · Aufrufe: 52
  • Bulleye2.JPG
    Bulleye2.JPG
    173.8 KB · Aufrufe: 54
  • Bulleye mit Nadeladapter+2-auf-FBFW7050.JPG
    Bulleye mit Nadeladapter+2-auf-FBFW7050.JPG
    144.7 KB · Aufrufe: 76
Zuletzt bearbeitet:
Woher willst Du wissen, dass das noch niemand gemacht hat? Ich weiss nämlich was ich gemacht habe und was nicht... :p

Kleine Anmerkung: Ein XC3S500e ist auch ein Spartan.

Das Pinout ist Kompatibel zur 7050, da habe ich den Pin cTRST genannt. Den musst Du benutzen.
 

Anhänge

  • FBF7050-PINOUT.jpg
    FBF7050-PINOUT.jpg
    376.6 KB · Aufrufe: 57
...aaahhh, den cTRST meinst du also. Ich dachte, der zweite Satz EJTAG14-Pins gehörte zum internen Coprozessor des AR7. Aber ok, ein FPGA braucht sowas wahrscheinlich auch.

Ja, wie gesagt (mein Edit während du schon deine Antwort geschrieben hattest), da muss ich noch ein bisschen basteln. Ich will zunächst versuchen, eine Nadel ein wenig zu kürzen oder zu verbiegen (ich hab nämlich kein Stückchen Rasterplatte mehr :) )
 
Die anderen Pins gehören zum Koprozessor, das ist richtig. Jedoch ist dieser nicht in der CPU integriert, sondern auf der Platine present. Im Fall der 7050 ist es ein ASIC und bei der 7170 ist es der Spartan.
 
Wackeres Kerlchen, dieser Spartaner, hab gar nicht gewusst, was der so alles kann. :)

Ich habe die entsprechende Kontaktnadel gekürzt und zurechtgebogen, ging leichter als ich dachte. cTRSt hat jetzt einen Pullup-Widerstand und HIGH-Potential.

Dann habe ich noch ein wenig mit dem feadi-jtag.exe Testprogramm gespielt. Geniales Teil, man kann ja auch ganze Ziffernfolgen (=Programme) eingeben, also etwa 144144144144144 [ENTER]. Beim IR Length Test allerdings kommt keine Rückmeldung.

Seit cTRST HIGH ist, gibt TDO nur noch Einsen aus. Beim Kurzschlusstest (TDI mit TDO IC-seitig 14 mit 11 verbunden) folgt TDO dem Pegel von TDI. Ich will's nachher mal EJTAG-seitig kurzschließen.

Im wrt.exe -reflex-test sind es allerdings immer Nullen und nur unmittelbar nach dem Power-Up kommen ca 33 Zeilen Einsen. Wie ist das möglich, ich meine, woher kommen jetzt die Nullen?

Gruß,
Telefonicus
 
Zuletzt bearbeitet:
Schliess mal alles an und starte mein JTag Testprogramm. Mach einen JTag Reset (9) und danach den IR Length Scan (5). Was passiert dann?
 
Heute gibt TDO nur Nullen raus, ist also immer auf LOW, das habe ich auch gemessen. Beim wrt.exe -reflex-test kommen jetzt nur noch 25 Zeilen Einsen. Liegt's vielleicht an der Umgebungstemperatur oder am Wochentag?

Reset (9) habe ich eingegeben (was wird da resettet - das Programm?). Bei Eingabe von 5 kommt keine Antwort. Oder hab ich nicht lang genug gewartet?
 
Hast Du nach 5 "return" gedrückt?
 
ja, natürlich. Hätt' ich das nicht soll'n?
 
Doch, ist schon richtig so. Ich habe in den Quellcode geschaut und einen Fall entdeckt in dem das Programm keine Meldung ausgibt.

Hier die korrigierte Version.

Probier es damit noch mal.
 

Anhänge

  • feadi-jtag.zip
    137.9 KB · Aufrufe: 34
Danke für das neue Programm! Es sagt: warning: no chain detected
 
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.