I once got a Fonera 2.0 and at the beginning I really liked the idea of sharing my wifi even I had some legal concern about someone abusing my internet connection. But the actual reason why my Fonera went offline was its buggy software. It was crashing all the time and I had huge problems getting VoIP running. After waiting for years for the promised software update I got very frustrated and now it was time to flash it with OpenWrt - the wireless freedom!

OpenWrt is a Linux distribution for embedded devices with a package management so you can install software on your router to worm entirely new functionality out of it - to use the device in ways never envisioned!
The Fonera 2.0 has a USB port which gives you plenty of new possibilities: iTunes server, printing server and web server.
First we need to flash the Fonera but as it turned out this is much easier than I expected thanks to a great script doing all the work for you! But there are unfortunately still some hurdle to clear.

Warning! Before you get started, I need to warn you that this of course harms your warranty and there is the potential risk of bricking your device! This guide comes with absolutely no warranty and you are totally self-responsible for hacking your Fonera!

  1. First you need to flash an official developer image to get ssh access to your Fonera. You can find them here
  2. next you have to stick to the instructions from the OpenWrt wikito get Redboot access:
    • ssh root@192.168.10.1
    • cd /tmp
    • wget ftp://downloads.linwin-solutions.com/hxcwyxwr/fonera_openwrt/FON2202_2.2.5.0_Flipper_RedBootC_VoteGOP.image
    • uci set registered.fonreg.dev=1
    • uci commit
    • tar cvzf sysupgrade.tgz /etc/passwd /etc/group /etc/dropbear /etc/samba/smbpasswd /etc/samba/secrets.tdb /etc/config/firewall /etc/config/upnpd /etc/config/umtsd /etc/config/registered /etc/config/gdata /etc/config/facebook /etc/config/flickr /etc/config/mountd /etc/config/fon /etc/config/ddns /etc/config/wizard /etc/pureftpd.pdb /etc/pureftpd.passwd /etc/config/luci_dlmanager /etc/config/twitter 
    • mtd -j sysupgrade.tgz -r write FON2202_2.2.5.0_Flipper_RedBootC_VoteGOP.image image
    • reboot
  3. After your Fonera finished rebooting you need to enable telnet
    • ssh 192.168.10.1
    • cd /tmp
    • wget ftp://downloads.linwin-solutions.com/hxcwyxwr/fonera_openwrt/out.hex
    • mtd -e "RedBoot config" write out.hex "RedBoot config"
  4. now we download the necessary files for flashing: first file and second file
  5. next step is getting the great fon-flash script: here
  6. you need libpcap-devel installed and then you build the software by make it downloads wxWindows for static linkage which fails to build in my case (uses out-dated version) but you do not need the GUI
  7. there is a command line version of the script which worked perfectly in my case
  8. connect your Fonera on the internet port with your computer by ethernet cable
  9. switch off you router and start the script: ./fon-flash -i eth0 -c openwrt  [rootfs file path] [kernel file path]
  10. turn on your Fonera and the script catches Redboot and flashes OpenWrt!
  11. DONE ;)

Now you have a router with all the basic features but you hacked your Fonera because this was just not enough anymore, right!? First you should set a safe password using trying the web interface browsing to 192.168.1.1 (default username is root and blank password)
Next connect to your Fonera by ssh as before and use the package management to install some great new features:

  1. opkg update
  2. First we enable the USB port: howto
  3. next is avahi support: opkg install avahi-daemon /etc/init.d/avahi-daemon enable
  4. Samba server: howto
  5. sftp: howto
  6. use your router as iTunes server:
    opkg install mt-daapd
    /etc/init.d/mt-daapd enable
    set the paths to the folder with your music and place the database on the hdd by editing the configuration file:
    /etc/mt-daapd.conf
    /etc/init.d/mt-daapd start
    use avahi to publish the service: create a file called: /etc/avahi/services/daap.service with the following content:
    <?xml version="1.0" standalone='no'?><!--*-nxml-*-->
    <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
    <service-group>
    <name replace-wildcards="yes">DAAP on %h</name>
    <service>
    <type>_daap._tcp</type>
    <port>3689</port>
    </service>
    </service-group>
  7. a reboot should show whether everything is working
  8. you find more help here