Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projects:fritz3490 [2020/02/03 22:23] – Andreas Böhler | projects:fritz3490 [2020/05/28 08:53] (current) – Andreas Böhler | ||
---|---|---|---|
Line 3: | Line 3: | ||
====== Linux/ | ====== Linux/ | ||
- | 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 | + | 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 |
+ | |||
+ | The approach is similar to the 3390: You get a VDSL router/ | ||
+ | |||
+ | ===== 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: | ||
+ | |||
+ | 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:// | ||
+ | cd openwrt_lantiq | ||
+ | git checkout avm_fritz3490 | ||
+ | ./ | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | Then, you can configure the build using '' | ||
+ | |||
+ | < | ||
+ | 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 '' | ||
+ | |||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | 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=/ | ||
+ | </ | ||
+ | |||
+ | Then, connect to your router and run sysupgrade: | ||
+ | |||
+ | < | ||
+ | ssh -o UserKnownHostsFile=dev/ | ||
+ | # ....once connection is established, | ||
+ | sysupgrade / | ||
+ | </ | ||
+ | |||
+ | Your router should reboot and OpenWrt for the Lantiq target is successfully installed. | ||
+ | |||
+ | ==== ath79 target ==== | ||
+ | |||
+ | For the WiFi part, you need a separate OpenWrt installation that is booted from RAM. We need one file from an original AVM firmware in order to be able to boot the second instance (the stage 1 firmware). The stage 2 firmware is replaced by OpenWrt. | ||
+ | |||
+ | Run the following to extract it from an OEM firmware and transfer it to your box: | ||
+ | |||
+ | NOTE: unsquashfs4-avm-be is part of http:// | ||
+ | |||
+ | < | ||
+ | wget https:// | ||
+ | 7z e FRITZ.Box_3490-07.12.image -r filesystem.image | ||
+ | 7z e filesystem.image filesystem_core.squashfs | ||
+ | unsquashfs4-avm-be filesystem_core.squashfs -e lib/ | ||
+ | scp squashfs-root/ | ||
+ | </ | ||
+ | |||
+ | Assuming you have already built the Lantiq target, you need to prepare a second OpenWrt build: | ||
+ | |||
+ | Prepare the sources, switch to the required branch and fetch the package feeds: | ||
+ | < | ||
+ | git clone https:// | ||
+ | cd openwrt_ath79 | ||
+ | git checkout avm_fritz3490_wasp | ||
+ | ./ | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | Then, you can configure the build using '' | ||
+ | |||
+ | < | ||
+ | make defconfig | ||
+ | make -j5 | ||
+ | </ | ||
+ | |||
+ | If everything goes fine, you can transfer the resulting build to the FRITZ!Box: | ||
+ | |||
+ | < | ||
+ | scp bin/ | ||
+ | </ | ||
+ | |||
+ | Then, connect to your FRITZ!Box via SSH and start the WiFi system: | ||
+ | |||
+ | < | ||
+ | ssh root@192.168.1.1 | ||
+ | # ....once connection is established, | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | If the script succeeds, you have another OpenWrt instance ready at '' | ||
+ | |||
+ | The file '' | ||
+ | |||
+ | By default, the ath79 target uses a static IP address of 192.168.1.2, | ||
+ | |||
+ | Upon first start of '' | ||
+ | |||
+ | If you want to install additional packages on the ath79 target, you need to place all its files on the lantiq target into '' | ||
+ | |||
+ | Technically, | ||
+ | |||
+ | If you want to bring up WiFi on boot, you can add the script to the auto start file: | ||
+ | |||
+ | < | ||
+ | ssh root@192.168.1.1 | ||
+ | # ....once connection is established, | ||
+ | echo '/ | ||
+ | </ | ||
- | The approach is similar to the 3390. |