How to install LEDE on Fritz!Box 3370?

I am trying to install LEDE on a Fritz!Box 3370, but I don't know how to go about it.

What I already have done:

  • Following the *LEDED Quick Start Guide] to the Standard Flashing Instructions.
  • This does not work for me because the initial installation says to use a factory image and the Techdata page only lists a sysupgrade file.
  • I have a working serial console access
  • I can log in as root on the stock firmware
  • I can watch the boot messages of the Linux kernel
  • I can enter the ADAM2 bootloader and flash files onto the Fritz!Box.
  • Simply flashing the sysupgrade image fails as expected.
  • Extracting the sysupgrade tar archive and flashing the resulting kernel and root files to the corresponding devices also results in a failing boot (my notes say something like "kernel boots, but root device is not found", I could retry if a boot log is needed).
  • I can restore all the damage I did by flashing with the AVM recovery tool , so I am quite comfortable to flash wildly and just see what happens :wink:
  • I don't dare to touch to replace the boot loader by try and error, because recovering from that will be harder (I don't do JTAG yet).

So I am able to flash and I even have serial console access, but where do I go from here?
I think I have to replace the ADAM2 bootloader by uboot, but why and how and what next to install an image?

Are there any related systems from where I can adapt the steps I'll have to do?

Thanks in advance,
mitch

Addition:

  • I have also read this thread, but it contains no solution to my problem

Anyone? Please!

https://wiki.openwrt.org/toh/avm/fritz.box.wlan.7360 contains more verbose information, how much of that applies to the 3370 is another question (there may be differences between spi-nor flash or nand flash).

Found this old forum post.

#!/bin/sh
ftp -n 192.168.178.1<<EOT
user adam2 adam2
debug
bin
passive
quote MEDIA FLSH
put /"your path"/bin/lantiq/openwrt-lantiq-xrx200-FRITZ3370.eva.align.128k mtd1
put /"your path"/bin/lantiq/openwrt-lantiq-xrx200-FRITZ3370-jffs2-128k.image.eva mtd0
quit
EOT

seems to have kinda worked for MatrixCoder.

I was a little irritated by the notion to install uboot, but the files for the FB3370 distributed by lede suggest that.
The last OpenWRT release for this FB offers the files used above instead.

Have a look at these 2 commits at mkresins staging tree:
https://git.openwrt.org/?p=openwrt/staging/mkresin.git;a=commit;h=e5aea9d56daf7bcf1f7e0ae4661be0e5a45f2acc
https://git.openwrt.org/?p=openwrt/staging/mkresin.git;a=commit;h=f63dc3f38e7a7d8bd2989c00e7dfc7a08b412db1
The eva commit message has installation instructions. They build fine and I was able to flash these images, but the device is stuck in a bootloop afterwards. I'm currently a bit lazy and I didn't solder serial pins to see what's happening, but these patches might be a good starting point.

I found some time and tested the above mentioned patches. The file system/flash layout information seems to be wrong, hence the bootloop.
Here is a bootlog: https://pastebin.com/0ziQ0A9S

I'll play around with it the coming days.

Any news on this? Im exited to test it myself :smiley: I just dont have the hardware here to debug if i fuck up.

Greetings.

Not yet. Since I'm not a developer I have to do a lot by trial and error.

I can only guess that the (very limited) EVA bootloader doesn't check for ECC errors, that would explain all the errors like the one below, once mtd1 gets attached (that doesn't explain why the flashing of the kernel works, though).
ubi0 error: ubi_io_read: error -77 (ECC error) while reading 64 bytes from PEB 0:512, read 64 bytes

Does anyone know how to build the filesystem image with --space-fixup? (explanation)
There's the CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP option in include/image.mk, which I have set in my .config, but is there any way to check if this gets applied to the produced eva images? A build with V=s doesn't reveal if this option was used.

1 Like

Hello

I used a guide to flash the fritzbox :


#!/bin/sh
ftp -n 192.168.178.1<<EOT
user adam2 adam2
debug
bin
passive
quote MEDIA FLSH
put /"your path"/bin/lantiq/openwrt-lantiq-xrx200-FRITZ3370.eva.align.128k mtd1
put /"your path"/bin/lantiq/openwrt-lantiq-xrx200-FRITZ3370-jffs2-128k.image.eva mtd0
quit
EOT


I used the current version from here http://archive.openwrt.org/chaos_calmer/15.05.1/lantiq/xrx200/ but the fritzbox
failed to boot.
Could some one provide me a working image or is there no working image (even older ones)

Greets
Grüße

Lukas

Have you tried to build and flash this fork?

No, I didn't know about this repository, thanks for the pointer!
Especially the ECC-related commits in fb3370-4.9-eccondie-WIP look interesting.

Looks like the ECC-on-die patch got mainlined for Linux 4.14, this makes things easier:
start with a current git master and apply the most recent versions of mkresins FB3370 patches (do NOT use the ones I linked above, these patches are a moving target), build with kernel 4.14 and use "on-die" ECC mode:

diff --git a/target/linux/lantiq/Makefile b/target/linux/lantiq/Makefile
index 4ae3a9a..2180b83 100644
--- a/target/linux/lantiq/Makefile
+++ b/target/linux/lantiq/Makefile
@@ -12,7 +12,7 @@ FEATURES:=squashfs
 SUBTARGETS:=xrx200 xway xway_legacy falcon ase
 MAINTAINER:=John Crispin <john@phrozen.org>
 
-KERNEL_PATCHVER:=4.9
+KERNEL_PATCHVER:=4.14
 
 define Target/Description
        Build firmware images for Lantiq SoC
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts
index 40d77b4..2943f72 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts
@@ -205,6 +205,7 @@
                reg = <1 0x0 0x2000000>;
                #address-cells = <1>;
                #size-cells = <1>;
+               nand-ecc-mode = "on-die";
 
                partitions {
                        compatible = "fixed-partitions";

This results in bootable images for me.

Just to be sure you mean this git with the patch you appended to your message, right?

Have you found the time to figure out what works and what doesn't?
Did you try to use one of the sysupgrade images from the build bot?

Yes. Just the most recent versions of those patches.

No, not yet. I tried to do a sysupgrade with my own build, which didn't work.

I found the time to compile it and set it up Wifi and the switch including VLAN seem to work fine so far. I didn't test the DSL interface since I don't use DSL anymore.

Edit: Looks like a lot of network io performance was lost, caps at ~55 mbit/s.

Edit2: Today a few commits got pushed from a staging repo to the main repo which add support for the FB3370! link

You can enable kernel 4.14 on lantiq and test flowoffload, in my tests I go from ~80-85 MBit/s to 96 MBit/s on a BT Business Hub 5 type A (SMP enabled).

1 Like

I just flashed my spare 3370 and it booted right up!

@BIGFAT

Hi Julien,

would you be willing to share some details how you proceeded?
Have you build the image yourself, or you uses latest 18.x. release from openwrt and loaded over WebGUI of FritzBox?

Sorry for stupid questions, just having a spare 3370, HW rev.5 with the UrLoader 2186 with 30 seconds limitation on adam2, so any hints, or help would be very appreciated! Tried it with 15.x, with 17, and 18.x. image, no luck. Would be amazing to have openwrt on that box.

I guess you already know the 3370 devicepage https://openwrt.org/toh/avm/fritz.box.wlan.3370?

It mentions:

Since commit 0b62fe5e OpenWrt can be installed using the eva/adam2 bootloader. Within the same HW revision 5 of the Fritz!Box 3370 different NAND flash chips are used and the correct image has to be chosen. Please read the detailed commit message before trying an install.

Only snapshot has the specific images for the different flash chips used, see http://downloads.openwrt.org/snapshots/targets/lantiq/xrx200/

Hmmm... just noticed that the sanpshot images refer to rev2, not rev5... confusing :-/