Fritz!Box Fon WLAN 7270

Hardware

FritzBox Mainboard FritzBox Mainboard, component side
FritzBox Serial Connector FritzBox serial connector
Since I've sold my Fritzbox in March 2013, I can NOT answer any questions that aren't answered here anyway.
This webpage is only kept for your convenience.

DynDNS

You need to enable the "expert mode". Then look in Settings / Internet - "Shares" (German: Freigaben).

Collection of "Phone cheatcodes"

Fritzbox boots up normally, but connecting is impossible ?

Maybe the network settings are wrong. However, the fritzbox has an "emergency access" that always can be accessed with the IP 169.254.1.1, so you need to assign your network interface just an IP from the same subnet, like 169.254.1.2.

Recover a "bricked" Fritzbox

As long as the device boots (blinking Power LED), you might still have a chance to connect to the bootloader and re-flash the device. The FritzBox has a bootloader which can be accessed with ftp the first seconds when the box is turned on. The recover.exe tool recovers the Box this way. But if you dont have Windows ?

Step 1: Check the size of mtd0 and mtd1

Before we can start, we need to know a few things - like the "partitioning" of the Flash. On a typical Fritzbox, it is configured like this:
There are some Fritzboxes where mtd0 is of size 0 - then the filesystem is included in the kernel image mtd1 which will be larger of course, also the file "filesystem.image" which is flashed to mtd0 must be 0 bytes in this case.
To check the size on a still running Fritzbox, type 'cat /proc/sys/dev/adam2/environment', to check it on a bricked Fritzbox you can issue the command 'quote GETENV mtd0' via ADAM2 (also see step 3 how to do this).

Step 2: Extract and prepare files

The recovery image is a normal tar file, we need to extract the files "filesystem.image" and "kernel.image".
Check that their size match to what you have found out in step 1 about you mtd0 and mtd1.
Unfortunately, ADAM2 seems to have a bug that prevent uploading files which are larger than about 1 MiB. So we have to split larger files in smaller chunks, like so:
$ split -b 512k filesystem.image

Step 3: Connect to ADAM2

Some seconds after power on, the bootloader ADAM2 gets active and opens a FTP server for some seconds. When nobody connects, ADAM2 continues booting. So we need to get the right moment to connect with our FTP client. This can be quite tricky, so I made a small shell script that monitors the eth0 link state and connect with ftp exactly when the link comes up. The script can be downloaded here: recover.sh
Use adam2 as login and as password...

Step 4: Flash the images

First please keep in mind that flash areas needs to be erased before they can be programmed - so please DON'T PANIC if there is no reaction after the PUT command for some seconds or minutes.
ftp> debug ftp> bin ftp> quote MEDIA FLSH ftp> put kernel.image "kernel.image mtd1"
The splitted images need to be programmed like so (adjust adresses as needed):
ftp> debug ftp> bin ftp> quote SETENV mtd1,0x0340000,0x903c0000 ftp> quote MEDIA FLSH ftp> put kernel.image.006 "kernel.image.006 mtd1"
Also it seems that adam2 reboots after about 2 blocks of 512KiB data... never mind and just continue uploading the next blocks until you are done.