Arcadyan VGV7510KW22 (o2 Box 6431) - a few questions

I flashed v19.07 and uboot to an o2 box which I still had laying around.
I followed this very useful post by @Limer

Since I'm new to OpenWrt I have a bunch of questions.
Maybe someone here can kindly clarify a few things for me.

@Limer writes:

  1. Create a 16MiB firmware image for a full flash just for your router (*).
  2. Copy u-boot:
    dd of=./cImage.bin if=./u-boot.bin
  3. Integrate your oWRT nor image (at position 0x80000):
    dd bs=1024 seek=512 of=./cImage.bin if=./***NOR-squashfs-sysupgrade.bin
  4. Finish the image with the board_config (at 0xfe0000) and verify it's size (exactly 16 MiB = 16777216 Byte):
    dd bs=1024 seek=16256 of=./cImage.bin if=./board_config.dump
  5. Optional step - Add a 128KiB (131.072 byte) non-empty uboot environment with correct CRC between uboot and OpenWrt to make it usable for the uboot -envtools with:
    dd bs=1024 seek=384 conv=notrunc if=/<path>/uBoot-Env.bin of=cImage.bin
  6. Flash cImage.bin on your router via brnboot's hidden recover web interface ( similar to 1. - just select "Master" instead of Firmware or Bootloader.

I'm trying to understand what's actually being done in the above steps.
My current understanding:

A. Append the u-boot nor-image to the *-nor-squasfs-sysupgrade.bin-image
B. Append the board_config obtained from stock firmware with the image generated in A.

The resulting image should consume the exact size of the available flash storage on the device.

C. Flash the resulting image via brnboot's recovery interface.

After the successful flash, and ssh-ing into the device, I am presented with the following MTD partition-layout:

# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00020000 00020000 "board_config"
mtd1: 00060000 00020000 "uboot"
mtd2: 00020000 00020000 "uboot-env"
mtd3: 00f60000 00020000 "firmware"
mtd4: 001eaeb2 00020000 "kernel"
mtd5: 00d7514e 00020000 "rootfs"
mtd6: 009c0000 00020000 "rootfs_data"



  1. Once I built my squashfs-image, which partitions will be replaced when flashing the image?
    Is my assumption correct, that mtd4 - mtd6 would be replaced by the new image while mtd0 through mtd2 remain untouched?

    Or, would I have to do the concatenation dance every time I'd want to flash a new image?
    I.e. download/build my squashfs image, append board_config and uboot, then flash.

  2. What's stored in board_config? Should I keep a copy of the original dump I made from the stock partition, or could this easily be regenerated?

  3. According to this thread, it should be possible to enable to the second core on the device.
    @slh kindly pointed me in the direction of the device tree (DTS):

You'll need to edit the DTS, in order to disable the voice core reservation and enable SMP, before recompiling an image.

It seems that there exist no specific dts-file in the openwrt source for this particular device - at least I couldn't find one:

find -name "*lantiq*.dts"

Does "voice core reservation" pertain to the SIP capabilities of this device, or is this related to something entirely different?

How would I disable the "voice core reservation" and enable SMP and create the appropriate DTS file for this device?


The documentation indicates that I should pick the appropriate DSL firmware from this page.

  1. How do I choose the correct VDSL firmware?
    Do I have to make the choice depending on the device?
    The type of DSL line?
    Is it specific to my telecom provider?
    Or, more generally, what's the algorithm for picking the correct firmware?


Incorrect, the whole flash gets overwritten with u-boot, u-boot-env and the OpenWrt firmware no traces of the OEM firmware remain.

Yes, you really should make backups - of everything.

  • vr9_arcadyan_vgv7510kw22.dtsi
    • vr9_arcadyan_vgv7510kw22-nor.dts
    • vr9_arcadyan_vgv7510kw22-brn.dts

Yes, it's necessary to use the FXS (~= analogue phone-) ports (TAE-6FNF) via asterisk-chan-lantiq on the bottom of your device.

If you don't need vectoring, you don't need (but you can) to pick anything - however if you do need vectoring, you must pick a vectoring capable one.

No, they're compatible across all VRX2xx devices.

A bit of both, a bit of neither.

Trial and error, you can only determine the best one for your situation by testing it.

Disclaimer: I have installed the NOR OpenWrt images only my VGV7510KW22 with serial console access (almost four years ago by now, so the details may be a bit fuzzy), I will not comment about the alternative procedures laid out above - you may be lucky, or you might not be.


Well that is technically not a 100% accurate imho. The board_config, while being flashed again, remains at the same flash position as it was in the original firmware. But this doesn't change the answer in a significant way.

Afaik there are or were some useres trying to get the FXS ports to work without "voice core reservation" + asterisk-chan-lantiq. Dunno about the current state.

I once tried a o2 Box 6431 on my 50mbit/s VDSL2 17a G.Vector (ITU G.993.5) line with the VDSL firmware I extracted from the Fritzbox 7490 firmware image. It worked quite well for the short time I tested it.
But this o2 Box is useless for VDSL >100mbit/s.

AVM has proven that this is possible, but their approach is in a proprietary (binary) driver. asterisk-chan-lantiq is the only option you can actually use right now.

I have also used this device on a 100/40 MBit/s vectoring line, but the 100BASE-T ethernet is limiting for that (and SMP is necessary).