Image flashen mit Adam2

Das geht nur aus der laufenden Box. Welchen Loader hast du denn jetzt? den Englischen? Dann solltest du das englische Recover nehmen.
Hast du mal den "ds-kernel" probiert? Wie gesagt, ich habe die Hoffnung, dass der mit "beiden" Loadern spielen sollte...

Jörg
 
MaxMuster schrieb:
Das geht nur aus der laufenden Box. Welchen Loader hast du denn jetzt? den Englischen? Dann solltest du das englische Recover nehmen.
Ja, das englische war ja mein erster Versuch
Hast du mal den "ds-kernel" probiert? Wie gesagt, ich habe die Hoffnung, dass der mit "beiden" Loadern spielen sollte
Du meinst, einfach kernal.image nach mtd1 flaschen? Will ich heut mal probieren...






.
 
Hab beide Images probiert, sie starten gar nicht erst. Die INFO-LED blinkt, und ich kann die ganze Zeit "pingen". Danach hab ich eine Recovery gemacht und die Box ist wieder im Reboot-Loop.

Ich habe auch versucht, dem Recover-Programm einen alten Urlader vorzugaukeln. dann löscht und überschreibt es mtd2 (sagt es jedenfalls) und beim Überprüfen kommt ein Winerror -4. Hinterher ist mtd2 allerdings noch unverändert. Gibt es denn keine Möglichkeit, mit dem Adam diese Speicherbereiche zu überschreiben?
Code:
000830   FF FF FF FF  FF FF FF FF  FF FF 61 6E  6E 65 78 00             annex   
000840   41 00 75 73  62 5F 6D 61  6E 75 66 61  63 74 75 72   A usb_manufactur  
000850   65 72 5F 6E  61 6D 65 00  41 56 4D 00  75 73 62 5F   er_name AVM usb_  
000860   72 65 76 69  73 69 6F 6E  5F 69 64 00  30 78 30 32   revision_id 0x02  
000870   30 30 00 75  73 62 5F 64  65 76 69 63  65 5F 69 64   00 usb_device_id  
000880   00 30 78 33  44 30 30 00  53 65 72 69  61 6C 4E 75    0x3D00 SerialNu  
000890   6D 62 65 72  00 30 30 30  30 30 30 30  30 30 30 30   mber 00000000000  
0008A0   30 30 30 30  30 00 50 72  6F 64 75 63  74 49 44 00   00000 ProductID   
0008B0   46 72 69 74  7A 5F 42 6F  78 5F 37 31  37 30 5F 41   Fritz_Box_7170_A  
0008C0   6E 6E 65 78  41 00 48 57  52 65 76 69  73 69 6F 6E   nnexA HWRevision  
0008D0   00 31 32 37  2E 31 2E 31  2E 30 00 75  73 62 5F 72    127.1.1.0 usb_r  

000B80   00 00 00 00  00 00 00 00  48 57 52 65  76 69 73 69           HWRevisi  
000B90   6F 6E 00 31  32 37 00 6D  61 63 61 00  30 30 3A 30   on 127 maca 00:0  

000E40   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF 61                  a  
000E50   6E 6E 65 78  00 41 00 75  73 62 5F 6D  61 6E 75 66   nnex A usb_manuf  
000E60   61 63 74 75  72 65 72 5F  6E 61 6D 65  00 41 56 4D   acturer_name AVM  
000E70   00 75 73 62  5F 64 65 76  69 63 65 5F  6E 61 6D 65    usb_device_name  
000E80   00 55 53 42  20 44 53 4C  20 44 65 76  69 63 65 00    USB DSL Device   
000E90   75 73 62 5F  72 65 76 69  73 69 6F 6E  5F 69 64 00   usb_revision_id   
000EA0   30 78 30 32  30 30 00 75  73 62 5F 64  65 76 69 63   0x0200 usb_devic  
000EB0   65 5F 69 64  00 30 78 33  44 30 30 00  50 72 6F 64   e_id 0x3D00 Prod  
000EC0   75 63 74 49  44 00 46 72  69 74 7A 5F  42 6F 78 5F   uctID Fritz_Box_  
000ED0   37 31 37 30  5F 41 6E 6E  65 78 41 00  60 94 08 3C   7170_AnnexA `  <
 
Zuletzt bearbeitet:
Was ist denn das für ein Adam, also von was für einer Box? Wenn du von der Box, von der der ADAM stammt auch die mtd3/4 flasht sollte das zur Box "zugehörige" Recover funktionieren.
Im Moment denke ich, wirst du ohne serielle Konsole nicht groß weiterkommen, weil du nicht siehst, worüber die Box sich beim Booten "beschwert" (Ich tippe immer noch auf das Branding oder ProductID).

Im Prinzip kannst du übrigen mit dem "seriellen" Adam-Zugriff dann auch Speicherbereiche verändern, aber ob das gut ist...


Jörg
 
Wenn ich mich noch recht entsinne, habe ich diesen Adam beim englischen Recover-Versuch bekommen. Ich hatte meinen alten Rosstäuscher-Trick aus der 2.4er-Kernelzeit angewandt (quote SETENV urlader-version 97) und dann wurde mtd2 mit urlader 1203 überschrieben.

Ich guck schon mal bei Ebay nach Handykabeln. Irgendeine Empfehlung, welches Modell ich suchen sollte?

Vielen Dank erstmal, hab viel gelernt :)

Gruß,
Telefonicus

[EDIT]:
Ich hab's noch aus meinen Logfiles rekonstruieren können, den englischen Adam hatte ich aus der englischen Box geholt.
Code:
Source Box

tftp -p -l /dev/mtdblock3 -r mtd2.bin 192.168.178.14 69

Target Box 

cd /var/tmp
tftp -g -l mtd2.bin -r mtd2.bin 192.168.178.14 69
cat /var/tmp/mtd2.bin > /dev/mtdblock3
 
Zuletzt bearbeitet:
Ich hatte irgendein billiges "normales" serielles S55-Kabel gekauft. Ist aber schon Jahre her, weil man das auch an diversen anderen Boxen benötigt.
Heini66 hat 'nen Tipp für USB

Jörg
 
Danke für den Tipp! Wie läuft das denn PC-seitig, welche Kommandomuschel spricht via USB? Putty vielleicht?

Ich bin übrigens grad dabei eine 7170 SL (fs) zu schrotten. Sie hatte die 29.04.22 drauf, und ich habe sie erst mal auf 29.04.40 aufgemöbelt. Jetzt könnte ich mit Adam die üblichen Verdächtigen auf Annex A, avme etc. setzen und das englische recover-image.exe drüberbruzzeln. Einmal hat es funktioniert, ein andermal nicht.

Oder ich (sichere und) überschreibe erst mal per tftp den Adam 1153 mit seinem englischen Kollegen 1203 und dann per Adam-ftp die anderen mtd's.

Was ist ungefährlicher?

Telefonicus

[EDIT]: geschafft, geschrottet! :)
Weil das Überschreiben von mtd2 im Telnet-Mode mit tftp so schön geklappt hat, wollte ich auch gleich noch mtd3 und mtd4 überschreiben. Leider hab ich mich dabei mit den mtd's und den mtdblocks verzählt, und weil es an der Tür klingelte und ich abgelenkt war hab ich's nicht gleich gerafft, was ich da angestellt habe und irgendwann den Stecker gezogen :-(

Jetzt enthält mtd2 nicht mehr den Bootloader sondern die ersten 64k von mtd3 - kein Adam mehr, und keine LED leuchtet. Klar, ich hätte mtd2 und mtd3 vorher zurückschreiben sollen, einfach dumm gelaufen...
 
Zuletzt bearbeitet:
Das neuste Putty sollte wohl gehen (die erste Version mit serieller Konsole stürzte ständig ab, da war immer TeraTerm das Programm der Wahl).

Also, das "Adam überschreiben" ist immer eine riskante Sache, weil da eben diverse Variablen drin gesetzt sind/werden. Besser ist es, wenn man den Adam aus dem "laufenden System" überschreiben lässt, wie beim Update, denn da werden die Variablen "ordentlich übertragen". Ich bin offengestanden auch skeptisch, wie es das Recover schaffen sollte, das Programm, was es gerade "bedient" (also den FTP-Server) auszutauschen.

Ich würde dir immer empfehlen, erstmal die Box zu "ent-branden", also eine "normale" AVM-Box draus zu machen. Das ist dann für die default-Geschichte nach dem Recover eine Sorge weniger.

Für dich wäre sicher die Firmware der Fritzbox Fon interessant: In der ist ein "Bootloader-Variablen-Setz-Programm" für den 2.6-er Kernel (wegen eines Bugs haben diese Boxen manchmal den Annex "vergessen" und der musste dann nachgetragen werden) alle anderen Updates, die ich kenne, haben das nur für den 2.4-er Kernel, damit beim ersten Wechsel von 2.4 auf 2.6 diese Dinge in den Loader geschrieben werden konnten, danach waren sie halt "fest kodiert".

Jörg
 
Wollte nochmal kurz berichten...
Auf das serielle Kabel warte ich immer noch, aber inzwischen hatte ich bei einer anderen 7170-Box Erfolg :)

Was habe ich gemacht? Erstmal die aktuellen Einstellungen gelesen und die MAC-Adressen gesichert:
ftp 192.168.178.1
adam2
adam2
quote GETENV HWRevision
quote GETENV ProductID
quote GETENV annex
quote GETENV bootloaderVersion
quote GETENV firmware_version
quote GETENV firmware_info
quote GETENV prompt
quote GETENV urlader-version
quote GETENV usb_board_mac
quote GETENV usb_rndis_mac
quote GETENV macdsl
quote GETENV maca
quote GETENV macb
quote GETENV macwlan
quote GETENV wlan_key
quote REBOOT
bye


Telefon angeschlossen und Lautsprecher an. Wenn die Box gestartet ist macht es "TUT-TUT-TUT". Dann #96*7* gewählt. "TUUUUUUUT", und den Telefonstecker wieder raus.

Am (Windows-) PC den TFTP-Desktop von Weird Solutions gestartet. Die Dateien mtd2.bin, mtd3.bin und mtd4.bin habe ich vorher ins Verzeichnis C:\Programme\TFTP Desktop gelegt. Ich hätte sie auch gleich in mtdblock3 bis 5 umbenennen können, aber so wird vielleicht deutlicher, was passiert. Jetzt passierts:

telnet 192.168.178.1
tftp -g -r mtd2.bin -l /dev/mtdblock3 192.168.178.14 69
tftp -g -r mtd3.bin -l /dev/mtdblock4 192.168.178.14 69
tftp -g -r mtd4.bin -l /dev/mtdblock5 192.168.178.14 69

-g steht für GET (wir sind auf der Fritzbox!), -r ist remote (PC) und -l ist local (Fritz).

Danach kann man sich vom telnet noch mit einem höflichen "exit" verabschieden, auf jeden Fall muss man jetzt aber ganz unhöflich den Netzteil-Stecker ziehen und das recover-image.exe starten. Nach ein paar Minuten darf man sich über die neue Firmware freuen :)

Meine Versuche, das Kernel-Image direkt mit Adam2 nach mtd1 zu flaschen ergaben leider kein lauffähiges System. Danach hat auch keine Recovery mehr geholfen. Offenbar geht es nur so, wie oben beschrieben.

Ein Problem habe ich noch: Die gesicherten MAC-Adressen habe ich mit Adam2 wieder reingeschrieben, aber das kümmert die Fritzbox nach dem nächsten Start überhaupt nicht mehr. Hat jemand eine Idee, wie das permanent zu machen geht?

Gruß,
Telefonicus
 
Zuletzt bearbeitet:
MaxMuster schrieb:
Für dich wäre sicher die Firmware der Fritzbox Fon interessant: In der ist ein "Bootloader-Variablen-Setz-Programm" für den 2.6-er Kernel (wegen eines Bugs haben diese Boxen manchmal den Annex "vergessen" und der musste dann nachgetragen werden) alle anderen Updates, die ich kenne, haben das nur für den 2.4-er Kernel, damit beim ersten Wechsel von 2.4 auf 2.6 diese Dinge in den Loader geschrieben werden konnten, danach waren sie halt "fest kodiert".
Das Ding ist in der "fritz.box_fon.06.04.33.image" und heißt "urlader.setconfig26". Aufruf im Skript mit:
Code:
/var/urlader.setconfig${kversion} -i /var/urlader.config -e /proc/sys/urlader/environment  -u /dev/mtdblock${umtd} 
# übersetzt:
/var/urlader.setconfig26 -i /var/urlader.config -e /proc/sys/urlader/environment  -u /dev/mtdblock3
in der "urloader.config" steht alles dass, was in der Bootloader kommt,
Code:
maca                    overwrite
macb                    overwrite   
macwlan                 overwrite
macdsl                  overwrite
usb_board_mac           overwrite
usb_rndis_mac           overwrite
bluetooth               overwrite
reserved                overwrite      
HWRevision              overwrite
ProductID               overwrite
SerialNumber            overwrite
usb_device_id           overwrite
usb_revision_id         overwrite
usb_manufacturer_name   overwrite
annex                   overwrite
aus dem aktuellen Env gelesen.

Schau dir das mal an...

Jörg

Ergänzung: Ich würde dir sehr empfehlen (wenn du die Box mal ausgelesen hast) erstmal in der qemu Umgebung auszuprobieren, ob und wie dort dann die Variablen gesetzt werden. Wenn ich mich recht entsinne, wird während der laufenden Emulation auch ein "Flash-Änderung" emuliert, so dass man das sehen könnte, nach dem Ende der Emulation ist das aber nicht mehr vorhanden.
 
Zuletzt bearbeitet:
Hallo Jörg,
danke für den Tipp! Soll ich mir jetzt das besagte Image mit fwmod auspacken und das urlader.setconfig26 Proggi nach /var auf die Box kopieren und aufrufen? Hab ich das richtig verstanden?

Ich konnte leider noch nichts auslesen, hab noch kein serielles Datenkabel und mein VMplayer sieht kein LAN, nichts zu machen. Er sieht nur das WLAN und das Internet. Ähm, da fällt mir ein: könnte ich nicht eigentlich per WLAN über eine zweite Fritzbox (7050) auf die Box telnetten?
 
Image kannst du auch mit einem Packprogramm auspacken (z.B. 7zip), das ist ja nur ein tar. In /var ist dann das Programm drin (und auch urlader.config), was du per (t)ftp auf die Box bringen kannst. Ich vermute zumindest, dass ein Ändern der Variablen im Env der laufenden Box mit anschließendem Aufruf des Programms diese im Bootloader "verankert". Ich könnte es bei Gelegenheit mal mit einem meiner Eumex-Images im Emulator testen.

Ich dachte dass mit dem LAN wäre nun endlich "vom Tisch". Du benötigst aber eigentlich auch kein Linux zum Auslesen (ist meine Mail im SPAM-Ordner gelandet ? Oder habe ich die nicht abgeschickt? ;-))

Jörg

EDIT: Im Emulator zumindest sagt er, wenn du das im laufenden Betrieb machst:
Code:
ERROR: config not empty
du brauchst also erstmal einen "leeren" Bootloader aus einer "Wechselfirmware" dafür, den du vorher in den entsprechenden Bootlader-mtd bringst. Dann klappt es (zumindest im Emulator konnte ich die MAC dann ändern) !
 
Zuletzt bearbeitet:
Deine Mail ist durchaus angekommen, ich versuche immer noch zu verstehen was ich da genau machen soll, und warum. Wird mit Memread ein Memory-Dump, also ein "Snapshot"-Image des laufenden Systems gespeichert? Würde es für den Emulator nicht reichen, das Flash-Image zu booten?

Warum brauche ich einen Webserver um eine Datei auf die Box zu schieben? Wieso geht das nicht mit tftp?

Qemu hab ich mir besorgt aber noch nicht installiert. Mal eben schnell die Fritzbox emulieren :) Ich will ja auch verstehen, was ich da mache...

Emuliert Qemu eine Standard MIPS-Architektur oder den kompletten AR7 samt DSP und allen Registern? Ich hoffe, ich komme am Sonntag dazu mal was darüber zu lesen.
 
hi telefonicus,
was die zerschossene sl (adam2 platt) angeht wiederherstellen ist lt. enrik über jtag möglich. allerdings benötigt man für die ohio chipsets nen buffered interface , geht nicht mit dem einfachen mit den 5 100ohm widerständen.
habhier ne 701 liegen, bei der is mir genau so geht, wollt sie lange zu enrik geschickt haben, da ich kein buffred interface habe.
wenn du das hinbekommen haben solltest, meld dich mal dazu rein.
 
Zuletzt bearbeitet:
telefonicus schrieb:
Wird mit Memread ein Memory-Dump, also ein "Snapshot"-Image des laufenden Systems gespeichert? Würde es für den Emulator nicht reichen, das Flash-Image zu booten?
Der Emulator (auch zu deiner späteren Frage) versucht, die komplette HW eines AR7 Basierenden Routers, speziell der FritzBox-en nachzubauen. Dafür benötigt er ein "Komplett-Abbild" des Flashs, also aller mtds und genau das macht das Programm, es liefert ein 1:1 Abzug des Flashspeichers, so wie der "physikalisch" aufgebaut ist. Darin "findet" die emulierte Box dann ihr mtd2 (also den Bootlader), mtd1/0 mit Kernel und Filesystem usw.

Wenn du die Datei so auf die Box bekommst, brauchst du natürlich keinen Server, das wäre halt eine Möglichkeit, wenn du keine andere Chance dazu hast, etwas auf die Box zu bekommen.

Ich hoffe, es wird klarer, ansonsten immer fragen.

Jörg
 
Hallo,
./memread.mips 0x10000000 8388608 >mem hab ich gemacht und per tftp gesichert. Der TFTP Desktop gefällt mir ganz gut.

Code:
mount mem /usr/www/all/index.html -o bind
musste man das per http machen, bevor die Fritzbox tftp konnte? :)

Leider läuft der Qemu bei mir nur sehr kurz, und wenn er irgendwas gemacht hat, war ich zu langsam, es zu sehen. Mit qemu-system-mipsel.exe ist's genauso.

Wie muss ich das aufrufen?

Gruß,
Telefonicus
 
Zuletzt bearbeitet:
Da ist ein Beispiel mit drin in dem Post mit dem Binary und im Thread sind mehrere Verweise (für deine Box halt mit "8MB" oder so aufrufen).
Bei mir klappt das Hochfahren, aber das LAN funzt nicht, so dass ich kein Update simulieren kann.

Bin gerade etwas knapp an Zeit.

Jörg
 
Aaah ja, hätt ich ja auch selbst sehen können:
Und hier noch was für "die ganz harten" qemu-system-mipsel "für unter Windows zum Ausführen!"

Starten mit:

Zitat:
qemu-system-mipsel.exe -M fbox-4mb -L <Verzeichnis mit "flashimage.bin"> -parallel none -redir tcp:2323::23 -redir tcp:8080::80 -redir tcp:8181::81 2> :NUL
 
Heute, nach gut 2 Wochen, ist endlich das serielle Datenkabel gekommen. Hab gleich den Löko aus dem Bastelkeller geholt und einen Stecker gemacht, der in die Platinenlöcher passt. Danke @heini66 für die Adernfarben, hätte sonst nicht gewusst, wie ich das Kabel anschließen muss. Alle Steckerbelegungen im Forum passten nicht. Später hab ich dann bei Nobbi noch die richtige gefunden.

Ser2pl.sys musste ich noch installieren, damit das USB-Kabel schließlich als COM8 erkannt wird. Mein PC hat gar kein reelles Serial Port, wusste gar nicht dass er schon so viele virtuelle hat. Mit Putty v.0.60 38400 Baud ohne XON/OFF eingestellt, und ich bin drin :)

Was wollte ich nochmal damit machen?

Gruß,
Telefonicus
 

Anhänge

  • Siemens Datenkabel.GIF
    Siemens Datenkabel.GIF
    5.8 KB · Aufrufe: 63
Zuletzt bearbeitet:
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.