Linux/OpenWrt on the AVM FRITZ!Box 3390

Since we have DSL-based Internet in the office and at home, I'm interested in capable WiFi routers with DSL modem. Finding such a device with OpenWrt support is not exactly easy. Basically, only Lantiq devices are supported, but WAVE300 WiFi is not. Thus, the options are very limited.

Based on the specs, I went for a FRITZ!Box 3390 in the hope it would be similar to the FRITZ!Box 3370 which is already supported by OpenWrt. A few days later, I received a used one for a few Euros.

Hardware Surprise

I disassembled the device to find the hardware details. I was quite surprised to find next to a Lantiq SoC als an Atheros AR9342 SoC with additional 64MB RAM. This was unexpected, because two other Atheros-based WiFi chips are also present (AR9580 and AR9381). How the heck does this system work?

Software Hacking

After some log-reading and adding serial support, I was quite convinced that a stage 1 firmware is loaded via MDIO to the Atheros target and then a stage 2 firmware is loaded using Ethernet. Using freetz, I could compile a firmware that dumps MDIO packets and got an MDIO trace.

Basically, I added MDIO support to the Lantiq switch driver, created a userspace stage 1 and stage 2 uploader and created a second OpenWrt instance for the Atheros target. So far, it works and I immediately went on to a FRITZ!Box 3490.

Support for both targets (i.e. Lantiq and ath79) will be added to OpenWrt via a series of Pull Requests:

While it's unlikely that the device will be officially supported, you can still install and run my patched version. Follow the HowTo for the FRITZ!Box 3490 and checkout different branches:

On the 3390, you get 5GHz WiFi directly on the Lantiq. For the 2.4GHz WiFi you need the second ath79 target.