This is an old revision of the document!


Linux/OpenWrt on the AVM FRITZ!Box 3490

After working on the 3390, I bought a used 3490 which is more capable (twice the RAM, Flash and more WiFi bandwidth). Currently, I'm experiencing problem with the xhci controller, but apart from that, it's working fine.

The approach is similar to the 3390: You get a VDSL router/modem (Lantiq target) and a separate WiFi access point (ath79 target) on one PCB.

Overview

The FRITZ!Box 3490 actually contains two SoCs, one Lantiq with no WiFi and one QCA558 with 5GHz and 2.4GHz WiFi (via QCA9880). Only the Lantiq has access to the flash memory, the QCA runs fully from RAM.

  • Lantiq 500 MHz
  • 256MiB RAM
  • 512MiB NAND
  • 8MBit Flash
  • QCA9558 720MHz and 2.4GHz WiFi
  • QCA9880 (5GHz only)
  • 128MiB RAM

Building and running OpenWrt

Since you've basically got two devices in one, you need two separate builds of OpenWrt and a few files from the original firmware. First, you need to prepare your environment to be able to compile OpenWrt. Follow the instructions on the OpenWrt Wiki to setup a build environment: https://openwrt.org/docs/guide-developer/build-system/install-buildsystem

Follow the tutorial, but don't download the sources - you need a different source that includes the necessary patches for the FRITZ!3490.

Lantiq Target

The first system that you need to build and install is the Lantiq target. This brings up the VDSL modem and prepares everything to be able to boot the ath79 target (the WiFi system).

Prepare the sources, switch to the required branch and fetch the package feeds:

git clone https://github.com/andyboeh/openwrt openwrt_lantiq
cd openwrt_lantiq
git checkout avm_fritz3490
./scripts/feeds update -a
./scripts/feeds install -a

Then, you can configure the build using make menuconfig. Select “Lantiq” and “AVM FRITZ!Box 3490” as target. Do not touch any other configuration options. Then, compile with the following (replace -j5 by the number of cores you have +1, so -j5 is for my quad-core system).

make defconfig
make -j5

If everything goes fine, you can start OpenWrt on your box using the initramfs image (this is not permanent and does not modify your device). Power off your router and connect it via an Ethernet cable to your computer. Configure your computer statically to 192.168.178.100. Then, power on your router and run the following command as soon as the network connection is established:

./scripts/flashing/eva_ramboot.py 192.168.178.1 bin/targets/lantiq/xrx200/openwrt-lantiq-xrx200-avm_fritz3490-initramfs-kernel.bin

This will load the initramfs image to the router and boot it. After boot up succeeds, you can reset your network interface to DHCP. You should get an IP address in the 192.168.1.xxx range.

If you are satisifed with it, you can permanently install OpenWrt on the flash. Transfer the sysupgrade file to the router:

scp -o UserKnownHostsFiles=/dev/null bin/targets/lantiq/xrx200/openwrt-lantiq-xrx200-avm_fritz3490-sysupgrade.bin root@192.168.1.1:/tmp

Then, connect to your router and run sysupgrade:

ssh -o UserKnownHostsFile=dev/null root@192.168.1.1
# ....once connection is established, run on the OpenWrt device:
sysupgrade /tmp/openwrt-lantiq-xrx200-avm_fritz3490-sysupgrade.bin

Your router should reboot and OpenWrt for the Lantiq target is successfully installed.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies