7570 Briefbeschwerer - JTAG Infos?

voipalex

Mitglied
Mitglied seit
18 Okt 2004
Beiträge
319
Punkte für Reaktionen
0
Punkte
16
Hallo!

Ich habe über ein bekanntes Auktionshaus eine 7570 erstanden auf der irgendeine Software von Hansenet (Alice) lief. Nach diversen fehlgeschlagenen Experimenten befand sich im Flash auf mtd1 nichts brauchbares mehr.

Hab mir gedacht, dass das ja nicht so schlimm ist, denn schließlich kann ich ja jederzeit die AVM Software über den Bootloader Eva_AVM / Adam2 per ftp einspielen, aber das hat nicht geklappt was mich schon etwas stutzig gemacht hat.

An dieser Stelle wollte ich aber noch nicht aufgeben, deshalb habe ich mir ein Kabel für die serielle Konsole gebastelt und mir angeschaut, was während des Updatevorgangs passiert.

Zunächst jedoch hier mal die Daten des Bootloaders abzüglich MAC Adressen und WLAN key

Code:
Eva_AVM >printenv
HWRevision            153
ProductID             Fritz_Box_7570_HN
SerialNumber          0000000000000000
annex                 B
autoload              yes
bootloaderVersion     1.541
bootserport           tty0
cpufrequency          360000000
firstfreeaddress      0x946BDA1C
firmware_version      avme
firmware_info         81.04.65
flashsize             0x01000000
kernel_args           annex=B
memsize               0x04000000
modetty0              38400,n,8,1,hw
modetty1              38400,n,8,1,hw
mtd0                  0x90000000,0x90000000
mtd1                  0x90040000,0x907E0000
mtd2                  0x90000000,0x90040000
mtd3                  0x90F80000,0x90FC0000
mtd4                  0x90FC0000,0x91000000
mtd5                  0x907E0000,0x90F80000
my_ipaddress          169.254.187.1
prompt                Eva_AVM
ptest                 
req_fullrate_freq     120000000
sysfrequency          120000000
urlader-version       1541
usb_device_id         0x0000
usb_revision_id       0x0000
usb_device_name       USB DSL Device
usb_manufacturer_name  AVM

Von meinem Linux Rechner mit zwischengeschaltetem Switch habe ich dann den manuellen Updatevorgang gestartet.

Code:
$ ftp -n 169.254.187.1
Connected to 169.254.187.1.
220 ADAM2 FTP Server ready
ftp> user adam2
331 Password required for adam2
Password: 
230 User adam2 successfully logged in
Remote system type is AVM.
ftp> bin
200 Type set to BINARY
ftp> passiv
Passive mode on.
ftp> quote MEDIA FLSH
200 Media set to MEDIA_FLASH
ftp> put kernel.image mtd1
local: kernel.image remote: mtd1
227 Entering Passive Mode (169,254,187,1,4,247)
150 Opening BINARY data connection
426 Data connection closed
10180104 bytes sent in 24.41 secs (407.3 kB/s)
ftp>

Parallel dazu hab ich mir die serielle Konsole angeschaut und siehe da...

Code:
flash ........................................
ERROR: <flashStore failed 0x79FE50 len 1460 0>

...er beschwert sich, dass das Flash zu klein ist.

Wenn man sich nun nochmal einen Teil der Bootloader Variablen zur Brust nimmt, wird einem auch klar warum:

mtd1 0x90040000,0x907E0000
mtd5 0x907E0000,0x90F80000

mtd1 hat eine Größe von 0x907E0000-0x90040000=0x7A0000 entspricht dezimal 7995392 byte, also knapp 8 MB. Die Datei kernel.image, die man aus dem FBF7570 firmware image auf dem AVM Server extrahieren kann ist aber etwa 10MB groß. Es ist also kein Wunder, dass diese Firmware nicht drauf passt.

Interessant ist aber, dass das Gerät anscheinend schon genug Platz im Flash hätte, jedoch wird der wohl von der Partition mtd5 genutzt, die zufälligerweise genau so groß ist wie mtd1.

Lange Rede, kurzer Sinn: der Bootloader scheint nicht der zur sein, der normalerweise auf einer 7570 drauf ist.

Um die 7570 wieder halbwegs nutzen zu können habe ich mir ein gefreetzes Image gebaut und so gut wie alles rausgeschmissen, damit es innerhalb von mtd1 (~ 8MByte) Platz findet. Das hat auch soweit geklappt, aber ich würde ja gerne die vollen 16MByte nutzen können, denn ohne DSL, WLAN und VoIP macht die 7570 nicht viel Sinn.

Soweit ich weiß sind W920V und die 7570 identisch von der Hardware. Deshalb hab ich mir gedacht, dass ich den Bootloader einer W920V auch auf der 7570 verwenden können, um so die volle Größe des Flashs nutzen zu können.

Daraufhin habe ich mir einen Speedport W920V von einem Bekannten ausgeliehen, ihn mit einer gefreetzten FW (fw_C_Speedport_920_75.04.81-0_Fritz_Box_DECT_W920V_54.04.80-16999-sp2fr-10.05.05-r-891M-1095_OEM-avm.image) versehen, so dass ich per telnet auf die Box komme. Deren Adam2 Variablen sehen so aus:

Code:
HWRevision	135.1.0.6
ProductID	Fritz_Box_DECT_W920V
SerialNumber	0000000000000000
annex	B
autoload	yes
bootloaderVersion	1.458
bootserport	tty0
cpufrequency	360000000
firstfreeaddress	0x946BD81C
firmware_version	avm
firmware_info	54.04.80
flashsize	0x01000000
jffs2_size	112
kernel_args	console=ttyS0,38400
memsize	0x04000000
modetty0	38400,n,8,1,hw
modetty1	38400,n,8,1,hw
mtd0	0x90000000,0x90000000
mtd1	0x90020000,0x90F80000
mtd2	0x90000000,0x90020000
mtd3	0x90F80000,0x90FC0000
mtd4	0x90FC0000,0x91000000
my_ipaddress	192.168.178.1
prompt	Eva_AVM
ptest   
req_fullrate_freq	120000000
sysfrequency	120000000
urlader-version	1458
usb_device_id	0x0000
usb_revision_id	0x0000
usb_device_name	USB DSL Device
usb_manufacturer_name	AVM

Um an einen funktionierenden Bootloader zu kommen, habe ich nun mtd2 aus dem W920V ausgelesen.
Code:
cat /dev/mtd2 > mtd2

Diese Datei habe ich per tftp auf die 7570 kopiert und dort ins Flash geschrieben

Code:
cat mtd2 > /dev/mtd2

Irgendwo muss ich mindestens einen Denkfehler haben, denn nach einem Reboot wird nicht mal mehr der Bootloader geladen. Soweit wie ich es momentan beurteilen kann, ist meine 7570 wohl nur noch als Briefbeschwerer zu gebrauchen.

Fragen:

1) Per JTAG Interface könnten man wohl das Flash neu beschreiben, aber ich habe bisher keine Infos zur JTAG Schnittstelle der 7570 gefunden. Hat jemand von Euch Infos dazu oder sogar Erfahrung damit?

2) Darüber hinaus würde mich auch interessieren, wo ich einen Denkfehler gemacht habe. Hat jemand eine Idee?

3) Hat jemand eine 7570 deren Partitionierung des Flash so sonderbar ist wie meine?

Gruß
Alex
 
Warum nimmst Du nicht den ruKernelTool von R@iner.
Wenn es mit dem nicht klappt hast Du wahrscheinlich einen teueren Briefbeschwerer.
 
Im Trac Wiki steht, dass man nach /dev/mtdblocX catten soll. Vielleicht war das dein Fehler. Oder es gab ein Problem, weil dein mtd2 doppelt so groß ist wie der auf der W920V.

Im Recover-Forum gibts doch ein Thread von feadi zu dem Thema JTAG. Versuchs besser dort.

Ich frage mich jedoch auch wo der mtd5 her kommt. Normalerweise kann man die Flashpartitionierung ja nicht so einfach ändern.

MfG Oliver
 
Bei einer Box mit überschriebenem Bootloader wird auch das ruKernelTool nichts mehr bringen.

Für das ursprüngliche Problem hätte ich ein setenv mtd1 empfohlen, aber dafür ist es inzwischen zu spät.
 

Wie von RalfFriedl richtig beschrieben, kann ruKernelTool nur bei funktionierendem Bootloader funktioneren.

setenv mtd1 mit passenden Parametern hatte ich vorher bereits erfolglos probiert. Die Variable mtd1 wird wahrscheinlich nur beim Starten von Adam2 ausgewertet und dummerweise konnte man diese Werte nicht speichern, denn nach einem setenv mit anschließendem reboot standen diese wieder auf den alten Werten. Oder wäre dafür noch ein spezieller Befehl zum speichern nötig gewesen?

Da die Variable mtd1 nicht dauerhaft gespeichert werden konnte, bin ich überhaupt erst auf diese Klimmzüge mit der Bootloaderänderung gekommen.

@olistudent:
So wie ich die Funktionsweise des Bootloaders verstehe, ist das Layout des Flashs in ihm selbst kodiert, so dass die Größe der Bootloader Partition keinen Einfluss haben dürfte. Wichtig ist wohl nur, dass sich der Bootloader an der richtigen Position im Flash befindet.
 
Zuletzt bearbeitet von einem Moderator:
Hast Du denn überhaupt noch einen original Bootloader?
Bei den neueren Boxen ist vermutlich die Größe des Bootloaders nicht deswegen anders, weil er größer geworden wäre, sondern weil Flash-Bausteine eine bestimmte Seitengröße haben und immer nur ganze Seiten geändert werden können.
Wenn also hier plötzlich nochmal die doppelte Größe von den anderen Boxen ist, dann ist da vermutlich ein anderer Flash-Baustein drin.
Generell ist es keine gute Idee, den Bootloader mit dem einer anderen Box zu überschreiben, auch wenn diese sonst sehr ähnlich sein mögen.

Besser wäre es gewesen, die Werte für mtd1 im original Bootloader zu überschreiben.
 
1) Per JTAG Interface könnten man wohl das Flash neu beschreiben, aber ich habe bisher keine Infos zur JTAG Schnittstelle der 7570 gefunden. Hat jemand von Euch Infos dazu oder sogar Erfahrung damit?
Such mal nach JTag und W920V, damit solltest du fündig werden. Ich glaube, JPascher hat da mal was dazu geschrieben.

2) Darüber hinaus würde mich auch interessieren, wo ich einen Denkfehler gemacht habe. Hat jemand eine Idee?
Der Bootloader des W920V ist nur halb so groß, wie der der Fritz_Box_7570_HN. Wenn ich mich noch richtig erinnere sind auch 2 weitere Environment-Variablen für HN enthalten und eben die andere Flash-Aufteilung mit der Möglichkeit, 2 verschiedene Firmware-Varianten im Flash zu haben.

3) Hat jemand eine 7570 deren Partitionierung des Flash so sonderbar ist wie meine?
Ich kenne schon 2 Leute, die die Box haben, nur das Problem ist, dass man weder via Eva-FTP, noch via telnet was auslesen kann.

Der Bootloader verhindert das Auslesen von den mtds und der telnetd war in den HN-Firmwaren disabled.

Happy computing!
R@iner
 
Um an einen funktionierenden Bootloader zu kommen, habe ich nun mtd2 aus dem W920V ausgelesen.
Code:
cat /dev/mtd2 > mtd2

Diese Datei habe ich per tftp auf die 7570 kopiert und dort ins Flash geschrieben

Code:
cat mtd2 > /dev/mtd2
Im Freetz-Wiki steht, dass /dev/mtd2 nicht gleich mtd2 bedeutet. Lies am besten mal hier.
Allerdings weiß ich nicht ob das bei der 7570 eventuell anders ist.
 
Such mal nach JTag und W920V, damit solltest du fündig werden. Ich glaube, JPascher hat da mal was dazu geschrieben.

Der Bootloader des W920V ist nur halb so groß, wie der der Fritz_Box_7570_HN. Wenn ich mich noch richtig erinnere sind auch 2 weitere Environment-Variablen für HN enthalten und eben die andere Flash-Aufteilung mit der Möglichkeit, 2 verschiedene Firmware-Varianten im Flash zu haben.

Ich kenne schon 2 Leute, die die Box haben, nur das Problem ist, dass man weder via Eva-FTP, noch via telnet was auslesen kann.

Der Bootloader verhindert das Auslesen von den mtds und der telnetd war in den HN-Firmwaren disabled.

Danke für den Hinweis zum JTAG Thread für den W920V. Ich werde versuchen, einen passenden Adapter zu basteln.

Sämtliche Environment Variablen habe ich oben bereits gelistet. Ich bin mir nicht sicher, auf welche du dich da beziehst.

Können die Bekannten von Dir, die ebenfalls über eine Hansenet verfügen, eine alternative Firmware überhaupt einspielen?

Gibt es denn eine offizielle Quelle für eine Hansenet Firmware?

Gruß
Alex
 
Sämtliche Environment Variablen habe ich oben bereits gelistet. Ich bin mir nicht sicher, auf welche du dich da beziehst.
Ich weiß das auch nur von einem Techniker, dass es da angeblich 2 Variablen gibt, die für das Umschalten der Kernel-Bereiche da sein sollen. Ob das wirklich stimmt, weiß ich nicht.

Können die Bekannten von Dir, die ebenfalls über eine Hansenet verfügen, eine alternative Firmware überhaupt einspielen?
Wurde nie probiert. Wir haben damals nur versucht, die Original-Firmware auszulesen, was uns aber nicht gelang.

Gibt es denn eine offizielle Quelle für eine Hansenet Firmware?
Weiß ich nicht, da müßteste besser im HN-Forum nachfragen. Im Pilotprojekt waren die 7570 Teststellungen von HN, die vorinstalliert waren oder Vorort von einem Techniker hergerichtet wurden und im laufenden Betrieb via TR069 konfiguriert und angeblich auch upgedatet wurden.

Happy computing
R@iner
 
Wenn der Bootloader nicht mehr erreichbar ist, hat er schon den richtigen Bereich überschrieben, nur mit dem falschen Inhalt.

Einfach nur ein geiler Spruch, den muss ich mir merken :)
(sorry für OT, konnte aber nicht wiederstehen...)
 
Dank meiner Idee, calllog zu missbrauchen, hat stevve33 inzwischen ein telnet auf seiner 7570 laufen. Wie genau müsste man die mtds da auslesen ?

Ich persönlich hab das das letzte mal mit 2.4er Kernel auf einer EUMEX gemacht.
 
Mein Chef hat eine 7570

Ich werde die zwar nicht flashen dürfen, aber ich kann sicher mal mit telnet ran um was auszulesen. Er ist allerdings bei 1und1

Kann ich dennoch irgendwie behilflich sein deine Box wieder zum laufen zu bekommen?
 
firmware_info 81.04.65

Was würde denn passieren wenn man auch eine FW für das Gerät verwendet. Ich hab hier mal im Forum gelesen, dass es jetzt eine HN-81.04.86-16971.image geben soll.

Vlt. könnte das die Box wiederbeleben !?

Gruss
KlausBock
 
Hi, also ich hatte genau das gleiche Problem und würde mich auch total über eine Lösung freuen. Bin "noch" (glücklicherweise) im Stadium das es funktioniert, aber nur mit 8 MB freetz.
(http://www.ip-phone-forum.de/showthread.php?t=225491)

Ich hatte zusätzlich noch probiert einfach mit split -b 7995... das kernel.image in zwei Teile zu teilen und in mtd1 und mtd5 zu schreiben. Aber das hat auch nicht geholfen. Irgendeinen magischen Trick muss es da noch geben, den bootloader anzuweisen, beide zusammenzufügen oder so.

Es wäre daher echt praktisch, wenn Leute mit noch original HN firmware und telnet bzw. im adam mal die ENV alle auslesen könnten und dann per anhang hier posten. ich denke da gibt es irgendwo einen mtd=mtd1+mtd5 oder etwas in der richtung.

die chips könnte man bestimmt mit einer gewagten konstruktion wiederherstellen: im laufenden betrieb einlöten in alternativbox, dann zurückflashen und wieder alles zurücklöten. wohl besser mit sockel und sockel flash chips wenn das geht... (ok, ist ne ziemlich kranke variante...)

niemals aufgeben - niemals kapitulieren! :D
 
Ich hab die original Alice / HN Firmware drauf aber in Version .90 und leider hab ich da bist jetzt noch nicht wieder Telnet zum laufen gebracht.
 
Wie gelöst?

Moin zusammen,

ist dieses Thema eigentlich mal gelöst worden, sprich, hat es jemand hinbekommen auf eine Alice-7570 eine Original-FW oder wenigstens OpenWRT oder sowas draufzukriegen?
Ich wäre für Tipps, wie das geht, sehr dankbar :)

Vielen Dank und schöne Grüße,
mbscholz
 
Wird denn die endgültige Aufteilung der mtds nicht im Kernel gemacht? Wenn man die Größen fest vorgeben würde, dann müsste das doch funktionieren? Zumindest solange man einen selbst gebauten Kernel einsetzt.

Gruß
Oliver
 
Ich gehe davon aus, dass die Aufteilung der mtds im Environment steht. Schließlich muss auch der Bootloader wissen, wie der Speicher aufgeteilt ist.
 
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.