Bienvenido! - Willkommen! - Welcome!

Bitácora Técnica de Tux&Cía., Santa Cruz de la Sierra, BO
Bitácora Central: Tux&Cía.
Bitácora de Información Avanzada: Tux&Cía.-Información
May the source be with you!

Monday, October 1, 2012

CFE backup

Common Firmware Environment (CFE) is a firmware developed by Broadcom for 64-bit SB1 (Swarm) and 32-bit BCM47xx SOCs.
How to backup your CFE
So you're afraid you will ever need to use a backup of your CFE (bootloader) in case you brick your router sooner or later.
If you own a Linksys WRT54G/GL/GS and your CFE is already screwed, you could try the Skynet repairkit to make yourself a new one. CFEs for these and other various models may also be found at CFE collection project ("Old" Forum CFE collection project ).
There are several methods to backup the CFE, as follows:
by web interface (preferred method)
this is working with dd-wrt post RC5 svn8428 backing up your cfe is easy, all you need to do is to point your browser to:
by telnet/SSH
this maybe works on other 3rd party firmwares, too. connect to the router via telnet or ssh (SSH must be enabled!) just enter the following command for all, except dd-wrt micro builds:
dd if=/dev/mtd/0 of=/tmp/cfe.bin
With v24 (mini and mega), paste that line into the Commands box on the Administration/Commands tab (Diagnostics.asp), and click the Run Commands button.
Then get the cfe.bin file from the /tmp directory with FTP, SFTP or SCP (using, for example, WinSCP).

On micro builds it's little more tricky:
cat /dev/mtd/0 > /tmp/www/cfe.jpg
Then point your browser to http://routerip/user/cfe.jpg and do a "save page as" cfe.bin to your disk drive. The resulting file should be 256K in size for a cfe.bin file.
Note: "/user/cfe.jpg" points to "/tmp/www/cfe.jpg"

You could do the same for mtd/1 (kernel, firmware), mtd/2 (jffs part if any) and mtd/3 (nvram)
this assumes you already have a JTAG-Adapter cable ready to use on your router, use the following command:
wrt54g -backup:cfe
you can do the same with the nvram, kernel, etc.
Restoring the CFE
by telnet/SSH
WARNING: Do not attempt to restore the CFE by telnet/SSH unless you know what you are doing and why you are doing it. If done incorrectly, this could render your router unbootable!
The following was tested and working on wl-500gp:
First copy your CFE into router's /tmp directory (using something like WinSCP or wget), then
mtd unlock cfe
mtd write -f /tmp/cfe_new.bin cfe
Use JTAG to restore the unit's CFE. For example,
tjtag -flash:cfe

No comments: