Here you can find a little procedure to reflash all FON-partitions on your Fonera+.


I received lot of requests, following bad flashing, or unsuccessfull tries to run Fonera+ with alternative firmwares (as DD-WRT, OpenWRT).

Remember, never try to reflash directly native RedBoot partitions ( RedBoot, FIS Directory, RedBoot config), there is a risk to brick your Fonera+ .

If you do so : maybe only serial access may help you after this !



If you want to reflash your Fonera+ (with shell access) to have a second chance to join FON-folk follow these steps !

Congratulations to: Raymond Hui from Hong-Kong, Reynald F (France), David M (Spain), Negece (Italy), Paule (Germany), Mystique (France), and others for unbricking their Fonera+ with this procedure !

Comments and feedback welcome !


  • Pre-requisite

Fonera+ with RedBoot access and IP address for computer set to 192.168.1.254
Download loader and image2 (failsafe boot) partitions here
Download main FON-firmware partition image here (FON firmware 1.1.1r1 and JFFS partition for shell access)
Extract downloaded files in your TFTP home directory server.


1. Check partitions on RedBoot


First perform a "fis list" command to check partitions structure.
Check name and adresses for loader, image, and image2 partitions
Here is a copy of "fis list" of default factory partitions on a new Fonera+

Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xA8000000  0xA8000000  0x00030000  0x00000000
loader            0xA8030000  0x80100000  0x00010000  0x80100000
image             0xA8040000  0x80040400  0x00230004  0x80040400 
image2            0xA8660000  0xA8660000  0x00140000  0x80040400
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0x00000000
RedBoot config    0xA87EF000  0xA87EF000  0x00001000  0x00000000



2. Check and modify RedBoot init script


Perform a "fconfig -l -n" to display init informations.

Here is a default FON RedBoot init script:

RedBoot> fconfig -l -n
boot_script: true
boot_script_data:
.. fis load loader
.. go 0x80100000

boot_script_timeout: 2
bootp: false
bootp_my_gateway_ip: 0.0.0.0
bootp_my_ip: 192.168.1.1
bootp_my_ip_mask: 255.255.255.0 
bootp_server_ip: 192.168.1.254
console_baud_rate: 9600
gdb_port: 9000
info_console_force: false
net_debug: false
RedBoot>

If partition list in step1 and fconfig result in this step2 looks similar to your, try to jump directly to step 5.

If you reflash your Fonera+ with alternative firmware, you probably need to modify boot script.

Use the command "fconfig boot_script_data" to re-type the init script, end with a blank line (example with a previous DD-WRT init script):

RedBoot> fconfig boot_script_data
boot_script_data: 
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load loader
>> go 0x80100000
>>
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot>

Take a minute to change delay for RedBoot access at boot, default is 2 seconds, modify this value to 5 ou 10 seconds.

To do this use the command : fconfig boot_script_timeout

Double-check a last time your config ( fconfig -l -n ) before jumping to next step !

3. Create FON partitions


First perform a "fis init" to erase all non-RedBoot partitions, then create your three FON-partitions:
RedBoot prompt truncated here ...

RB> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System 
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

RB> fis create -f 0xa8030000 -l 0x00010000 -e 0x80100000 -r 0x80100000 -n loader
... Erase from 0xa87e0000-0xa87f0000: . 
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

RB> fis create -f 0xa8660000 -l 0x00140000 -e 0x80040400 -n image2
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . 

RB> fis create -f 0xa8040000 -l 0x00230004 -e 0x80040400 -r 0x80040400 -n image
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RB>



4. Flash "loader" and "image2" partitions


Load each file by TFTP to your Fonera+, and directly write file loaded to the flash ( RedBoot remembers last load command, we don't need to send memory addresses) :

  • Loader
load -r -b 0x80100000 loader.bin
fis create loader


  • image2
load -r -b 0x80100000 image2.bin 
fis create image2


For image2 partition, flashing time is about 10 minutes, be patient !

Optional: at this stage, failsafe mode for your Fonera+ should be working if you try to reboot your Fonera+ (Fonera+ IP address for failsafe mode is 192.168.1.1)

5. Flash main partition "image"


This is a 2-in-one command flashing, we are going to flash FON "image" partition ( kernel + squashfs) and JFFS partition at the same time.

So we use "fis write" command instead of classic "fis create" command. Flashing time is 15 minutes.

load -r -b 0x80100000 image.bin 
fis write -b 0x80100000 -f 0xa8040000 -l 0x00610000



6. Reboot and customize


That's it !
Now, you can reboot : RedBoot command is "reset", or just unplug your AC adapter, and power-on your La Fonera+

Cross fingers ...

For customization, check our multilingual guide at http://wiki.fonboard.nl

Good luck !