Flashaufruestung

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen

Das Board mit Freiheiten





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

Originalzustand

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.

Point of no Return

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 ;-)

Es lebt wieder

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

Wichtige Links