Old Fonera FON2100 – New life

Do you steill remember these tiny Fonera boxes that came up in the early 2000 (maybe 2005 or so)? Fonera started out to create public WiFi infrastructure and you could participate in it by sharing your internet connection with ours – either for free or even earning some money. The routers they used came almost for free so they got quite an adoption. I also particiated in it, at home and at my company so I ended up with three of these tiny FON2100 devices:

This is how it looks from the inside:

FON2100 PCB top

On the top side you may also be able to spot a second antenna connector. The FON2100 only has one antenna connected to ANT2. With OpenWRT you can also enable diversity which could help with signal quality and thus adding the 2nd antenna may be helpful. That shouldn’t be a big problem with a SMA pigtail and a drill…

FON2100 PCB bottom

The FON2100 is based on a reference design by the maker of the chip used, the Atheros AR2315 – and they run Linux! Albeit super resource limited with 16MB RAM and 8MB flash storage.

16MB RAM! Imagine that! I started with Linux on a 386SX CPU with 4MB RAM and it worked, this router / WiFi access point has four times the RAM and we call it super limited today! Times change…

Anyway, for using it as a simple access point for something these are still totally fine – though 2.4GHz only. I needed one this week so I got one out of the closet and set it up with OpenWRT again. The process is pretty simply and well documented on the Fonera OpenWRT page. The page links to an OpenWRT version 10.03.1 which is comparably old. I looked at the server and also found a version 14.07. But after about an hour I gave up, this is super instable on the FON2100, it reboots frequently and I bascially never managed to fully set it up, not even talking about using it. So I went back to 10.03.1 which seems pretty stable.

The process is fairly simple, you need a Linux host machine running a TFTP server to serve the files to flash, a USB serial adapter with 3.3V levels (like one of these cheap FTDI boards) and a terminal program to run on your Linux host – oh, and of course an ethernet connection from your Linux host to the FON2100. As serial terminal I currently prefer tio, super simple commandline thing, can be fired up like this:

tio -b 9600 -d8 -f none -s1 -p none -m INLCRNL /dev/ttyUSB0

assuming the USB serial adapter shows up as ttyUSB0. The serial console has indeed just 9600 baud, that confused me the first time I tried it, I am used to 115200 baud. After placing the files in the TFTP server directory my steps in RedBoot to install OpenWRT (taken from teh OpenWRT page and condensed) are:

ip_address -h -l
load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma
fis init
fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs
fis create rootfs

The IP is my Linux host IP and the IP that gets assigned to RedBoot on the FON2100. Getting into RedBoot (the FON2100 bootloader) can be a bit tricky. When you power up the FON2100 with the serial adapter attached it my not boot. Then only detach the RX and TX lines (keep GND attached), connect power, wait a second or two and then attach the serial lines again. You should see something like this then:

+PHY ID is 0022:5521
Ethernet eth0: MAC address 00:18:84:1e:96:00
IP:, Gateway:
Default server:

RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version v1.3.0 - built 16:57:58, Aug 7 2006

Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

Board: ap51 
RAM: 0x80000000-0x81000000, [0x80040450-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 1.000 seconds - enter ^C to abort

At that point hit CTRL-C to interrupt the boot process and get access to the RedBoot console. Once that’s achieved you can follow the step above and voilà – you have OpenWRT on your FON2100!


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

5 × 4 =