Flashaufruestung

Zebradem AVM Wiki >> Fritzbox Tipps & Tricks >> Flashaufruestung | Magyar, Nederlands, Italiano, English |
Community | Modelle | Freetz | Fritzbox Tipps & Tricks |
Hardware-Tipps | System-Tipps | Netzwerk-Tipps | Telefonie-Tipps | Software-Tipps | Sonstige Tipps |
Im folgenden beschreibe ich die Aufrüstung einer 7050 von 4MB Flash auf 8MB. Da ich nicht gleich meine "Produktionsbox" zerschiessen wollte, habe ich die Aufrüstung erstmal mit der Spielbox (einer Fon ATA) durchgeführt.
Da aber nur der neuere Bootloader EVA sich vernünftig auf 8MB umpatchen lässt bzw. in 8MB Versionen ggf. von anderen Boxen geklaut werden kann, tue ich in der Beschreibung so, als hätte ich bereits die 7050 umgerüstet. Also nicht wundern ...
Vorbereitung
Unabdingbar ist die Sicherung des alten Flashinhalts, vor allem des Bootloaders, da dieser (EVA!) die unveränderlichen Einstellungen des Environments enthält, wie z. B. die MACs, die mtd und auch die Flashgröße. Daher muss man die Sicherung vor Wiederverwendung noch patchen.
Hardware
Als erstes benötigt man mal ein passendes 64 Mbit Flash (4Mx16) in TSOP-48. Das ist in Einzelstückzahlen gar nicht so einfach zu bekommen. Farnell hat einen passenden Typen von Spansion (AMD) halbwegs günstig lieferbar. Die liefern aber nur an Gewerbetreibende und Studenten.
altes Flash raus
Wenn man kein professionelles Entlötwerkzeug zur Verfügung hat, muss man das alte Flash opfern. Am besten man trennt es vorsichtig und gefühlvoll mit einem scharfen Cutter an den Beinchen ab und entnimmt den dann unbrauchbaren Chip von der Platine.
Danach entfernt man die verbliebenen Drahtenden mit dem Lötkolben von den Pads _ohne_ diese zu Überhitzen (Ablösungsgefahr!). Die Pads sollten danach alle schön sauber wie frisch verzinnt und frei von Lötbrücken sein.
neues Flash rein
Nun werden die Pads mit genug Flußmittel bestrichen und der neue Flashchip sorgfältig ausgerichtet. Darauf zieht man den Lötkolben mit einem kleien Tropfen Zinn einmal über die Pinreihen und die Sache ist erledigt. Sollten dennoch hartnäckige Lötbrücken bleiben hilft notfalls Entlötlitze. Ist halt auch etwas Übungssache ;-)
Nach einer sorgfältigen Sichtprüfung unter Lupe oder Mikroskop kann man die Box in Betrieb nehmen. Wenn sie nicht abraucht, hat man nun einen wunderschönen Briefbeschwerer, den man mittels EJTAG wiederbeleben muss.
Software
Nun sucht man mit einem Hexeditor im gesicherten Urlader nach den Stellen, an denen die Flashgröße und die MTD-Aufteilung gesichert ist. Die Flashgröße ändert man von 0x00400000 auf 0x00800000. Bei den MTD-Grenzen ändert man alle Werte von 0x903x0000 auf 0x907x0000. Als diff eines Dump sieht das bei mir so aus (little endian byteorder beachten!):
--- hex.7050 2007-04-26 21:14:33.000000000 +0200 +++ hex.8mb 2007-04-26 21:14:38.000000000 +0200 @@ -88,10 +88,10 @@ 000570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000580 02 00 00 00 80 00 00 40 21 60 00 00 d5 03 00 00 000590 18 58 21 02 81 05 b0 00 00 87 90 10 34 2d a6 05 -0005a0 36 2d a6 05 00 00 00 02 00 00 40 00 00 00 00 00 +0005a0 36 2d a6 05 00 00 00 02 00 00 80 00 00 00 00 00 0005b0 00 00 00 00 00 00 00 90 00 00 00 00 00 00 01 90 -0005c0 00 00 3b 00 00 00 00 90 00 00 01 00 00 00 3c 90 -0005d0 00 00 02 00 00 00 3e 90 00 00 02 00 00 00 00 00 +0005c0 00 00 7b 00 00 00 00 90 00 00 01 00 00 00 7c 90 +0005d0 00 00 02 00 00 00 7e 90 00 00 02 00 00 00 00 00 0005e0 00 00 00 00 09 00 00 00 00 00 00 00 70 06 00 90 0005f0 6a 09 00 90 65 09 00 90 53 09 00 90 4e 09 00 90 000600 3c 09 00 90 34 09 00 90 22 09 00 90 1b 09 00 90
Bei dem ersten Unterschied mit der Flashgröße erkennt man BTW auch die RAM-Größe (0x02000000 = 32MB), die brauchen wir dann beim nächsten Mal ;-)
Diesen gepatchten Bootloader schreibt man dann per EJTAG in das Flash. Das wrt54g Tool erkennt den von mir verwendeten Chip zwar nur als 4MB Flash, macht aber nix, da ja nur die unteren 64kB beschrieben werden. Wichtig ist, dass der Chip korrekt als Bottom Boot und damit mit der richtigen Sektoraufteilung erkannt wird, sonst könnte es Probleme beim Löschen geben.
$ sudo ./wrt54g -flash:custom /window:90000000 /start:90000000 /length:10000 /silent ==================================== WRT54G/GS EJTAG Debrick Utility v4.5 ==================================== Probing bus ... Done Instruction Length set to 5 CPU Chip ID: 00000000000000000001000000001111 (0000100F) *** Found a TI AR7WRD TNETD7300GDU Rev 1 CPU chip *** - 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) ... Done Flash Vendor ID: 00000000000000000000000000000001 (00000001) Flash Device ID: 00000000000000000010001000000000 (00002200) *** Found a AMD 29lv320MB 2Mx16 BotB (4MB) Flash Chip *** - Flash Chip Window Start .... : 90000000 - Flash Chip Window Length ... : 00400000 - Selected Area Start ........ : 90000000 - Selected Area Length ....... : 00010000 *** You Selected to Flash the CUSTOM.BIN *** ========================= Flashing Routine Started ========================= Total Blocks to Erase: 8 Erasing block: 1 (addr = 90000000)...Done Erasing block: 2 (addr = 90002000)...Done Erasing block: 3 (addr = 90004000)...Done Erasing block: 4 (addr = 90006000)...Done Erasing block: 5 (addr = 90008000)...Done Erasing block: 6 (addr = 9000a000)...Done Erasing block: 7 (addr = 9000c000)...Done Erasing block: 8 (addr = 9000e000)...Done Loading CUSTOM.BIN to Flash Memory... Done (CUSTOM.BIN loaded into Flash Memory OK) ========================= Flashing Routine Complete ========================= elapsed time: 2015 seconds *** REQUESTED OPERATION IS COMPLETE ***
Danach freut man sich dann an der Bigbox:
<create new TFFS> (AVM) EVA Revision: 1.203 Version: 1203 (C) Copyright 2005 AVM Date: Feb 16 2007 Time: 14:52:05 (0) 2 0-1101 [FLASH:] SPANSION Bottom-MirrorBit-Flash 8MB 32 Bytes WriteBuffer [FLASH:](Eraseregion [0] 127 sectors a 64kB) [FLASH:](Eraseregion [1] 8 sectors a 8kB) [SYSTEM:] AR7 on 150MHz/125MHz Eva_AVM > [cpmac]<no link> Eva_AVM >printenv HWRevision 76 ProductID Fritz_Box_FON_2_WLAN SerialNumber 0000000000000000 annex B autoload yes bootloaderVersion 1.203 bootserport tty0 bluetooth 00:04:0E:FF:FF:07 cpufrequency 150000000 firstfreeaddress 0x946B1D78 flashsize 0x00800000 maca 00:04:0E:xx:xx:xx macb 00:04:0E:xx:xx:xx macwlan 00:04:0E:xx:xx:xx macdsl 00:04:0E:xx:xx:xx memsize 0x02000000 modetty0 38400,n,8,1,hw modetty1 38400,n,8,1,hw mtd0 0x90000000,0x90000000 mtd1 0x90010000,0x907C0000 mtd2 0x90000000,0x90010000 mtd3 0x907C0000,0x907E0000 mtd4 0x907E0000,0x90800000 my_ipaddress 192.168.178.1 prompt Eva_AVM reserved 00:04:0E:FF:FF:00 req_fullrate_freq 125000000 sysfrequency 125000000 urlader-version 1203 usb_board_mac 00:04:0E:xx:xx:xx usb_rndis_mac 00:04:0E:xx:xx:xx usb_device_id 0x3D00 usb_revision_id 0x0200 usb_manufacturer_name AVM
Und das schönste daran ist, dass der Flashchip von EVA sogar völlig korrekt erkannt wird.
Zum Schluss muss man natürlich noch mit den bekannten Mitteln die Firmware wieder einspielen.
Quellenangaben
http://www.wehavemorefun.de/fritzbox/index.php/Flashaufr%C3%BCstung