Skip to content

Re-Flash LaFonera with original Firmware

After playing around with my LaFonera and ddWRT i decided to go back to the original LaFonera firmware. I liked ddWRT for it’s feature-richness, but as my requirements changed i don’t need the router to sit inside the LaFonera and thought it would be good to re-join the fon community 😉

I found most of the commands to achieve this on Stefano Testi’s Blog in this article. I ran into some problems because i tried this on Mac OS X, so i added some steps to this procedure to succeed.

Here are my steps how to do this:

Step 1: Get the firmware and setup TFTP

First: read Stefano’s article! 🙂

Second: get a copy of TFTPServer for Mac OS X here
it’s very simple to use, just make a folder to serve the files using the TFTP protocol, configure TFTPServer to use it and start the server.

Third: get the original 0.7.1.1 firmware files and put them into your recently created tftpd folder from stefano’s article or here

Step 2: network setup on MacBook / OS X

i made a new network location “LaFonera RedBoot” with these settings:

IP address: 192.168.1.166

Network mask: 255.255.255.0

disabled all interfaces except “Ethernet”

then i connected my macbook pro to the LaFonera using a normal network cable.

Step 3: RedBoot commands on the LaFonera

Now comes the part that took me hours to figure out how to do it on Mac OS X.

To get into RedBoot you should do this:

  • connect your macbook and your LaFonera using a standard network cable
  • unplug the LaFonera’s power supply
  • open two Terminal windows on your OS X
  • type ping 192.168.1.254 in the first window and hit enter and you should see lotsa “host unknown” or “no route to host” messages – that’s ok right now
  • type telnet 192.168.1.254 9000 in the second window, but don’t press enter now!
  • plug LaFonera’s power supply in and watch the first terminal window until you see a response
  • press enter in second terminal window, maybe you have to repeatedly enter the telnet command until you can connect to RedBoot
  • when you see the message from RedBoot to hit ^C (ctrl + C), do it!
  • you should see a RedBoot> prompt

My problem was that somehow ^C didn’t do anything and the LaFonera continued to boot 🙁

Then after some googling i found a note that Mac OS X’s terminal doesn’t send ^C if it’s not in line mode, whatever that is. Anyhow, to enable line mode for a particular host add these lines to your ~/.telnetrc file:

192.168.1.254 9000
        mode line

After doing this, the ^C worked after redoing all those steps and i was presented the RedBoot> prompt 🙂

Step 4: reflash LaFonera on RedBoot

The next steps are from Stefano’s blog, reposting them here for (my) convinience:

RedBoot> ip_address -l 192.168.1.254/24 -h 192.168.1.166
RedBoot>?fis init
RedBoot>?load -r -v -b 0x80040450 rootfs.squashfs

The next step took about 20 minutes(!), so be patient!

RedBoot>?fis create -b 0x80040450 -f 0xA8030000 -l 0x00700000 -e 0x00000000 rootfs
RedBoot>?load -r -b %{FREEMEMLO} kernel.lzma

The next step took about 5 minutes.

RedBoot>?fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
RedBoot> fconfig

Run script at boot: true
Boot script:
.. fis load -l linux
.. exec
Enter script, terminate with empty line
>> fis load -l vmlinux.bin.l7
>> exec
>>
Boot script timeout (1000ms resolution): 10
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.1.254
Local IP address mask: 255.255.255.0
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

To end the flashing process, type:

RedBoot>?fis load -l vmlinux.bin.l7
RedBoot>?exec

Your Fonera will reboot and in a couple of seconds you will have your original Fon firmware.

2 thoughts on “Re-Flash LaFonera with original Firmware”

  1. You say you set the macbook to 192.168.1.166 and then the first redboot command you used was “-h 192.168.1.2”. I would have expected “-h 192.168.1.166”, though I certainly do not claim to be a redboot expert!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.