Installing LEDE/u-boot via brnboot web interface (without rs232)

LEDE on VGV7510KW22 / O2 Box 6431 (the easy way)

UPDATE: The easy was is explained in post #6 of this thread and may apply to all/other brnboot devices.

The rest of this post is mostly for posterity...


I installed "....BRN-squashfs-factory.bin" from the hwdata page with the brnboot "recovery" web UI method (everything over Ethernet no need for rs232 connection at all).
A few minutes after starting the firmware update the recover web UI displayed some lines filled with random non ASCII characters but another few minutes later I powercycled the router and LEDE booted successfully.

The flash layout looks like this now (gathered with dmesg | grep -i -e mtd -e 0x0 and comparing to the default flash layout):

ltq_nor: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x00227e
Amd/Fujitsu Extended Query Table at 0x0040
8 ofpart partitions found on MTD device ltq_nor
Creating 8 MTD partitions on "ltq_nor": <Size KiB> <default>
0xfe0000-0x1000000 : "board_config"       128       [7] "Boot Params"
0x000000-0x040000 : "Boot"                256       [0]
0x040000-0x080000 : "Configuration"       256       [1]
0x080000-0x0a0000 : "Certificate"         128       [2]
0x0a0000-0x0c0000 : "Special_Area"        128       [3]
0x0c0000-0x0e0000 : "Primary_Setting"     128       [4]
0x0e0000-0x860000 : "Code_Image_0"        7680      [5]
0x860000-0xfe0000 : "firmware"            7680      [6] "Code Image 1"
2 brnimage-fw partitions found on MTD device firmware
0x860000-0x9f5665 : "kernel"              ~1621,6   inside [6]
0x9f5800-0xfdfff4 : "rootfs"              ~6058     inside [6]
mtd: device 9 (rootfs) set to be root filesystem
1 squashfs-split partitions found on MTD device rootfs
0xd80000-0xfc0000 : "rootfs_data"         2304      inside rootfs?!

Now I have a few questions:

  1. Am I right to assume that "rootfs_data" is the jffs2 part of "rootfs"?
  2. Can I just format "[5] Code Image 0" with JFFS2 and use it as overlay (instead of or in addition to "rootfs_data")?
  3. Or is it possible to install das u-boot from the running LEDE? And, if necessary, reinstall LEDE over the recover WebIF of uboot (I seem to remember such a possibility)?
  4. There are two different brn-u-boot images for the different HW revisions but only one nor-u-boot image. Can I use the nor one for both HW revisions?
  5. Can I switch between dualcore and 1core+FXS mode with a boot/kernel paramter/option (without reflashing)?
  6. Which DSL firmware do I need top install for "Annex J"?
  7. Is it possible to build a combined u-boot + LEDE image which can be installed via the hidden secret recovery web interface of brnboot? It is! See post #6

Problems / oddities

My O2 Box 6431 behaves odd now that I have installed LEDE.

While configuring some basic stuff over LuCi my ethernet connection to the router was suddenly gone. As it turned out LAN ports 1 and 2 where "off" (no connection/blinking led what so ever) but 3 and 4 kept working. After cycling the power everything was fine again.

To play a little more I turned the router on again today but when I tried to connect ~15 minutes later I noticed only the power LED was on. All 4 ports and WiFi were offline and the power consumption was just 4W.
After cycling the power again everything except for the WiFi LED (which just remains off) is working again and it's pulling >6W (for ~4 continuous hours now).

Anyone got any ideas on how to properly reproduce and diagnose that?
I haven't taken the router apart so far... maybe it's a sign of aging hardware (PSU and internal voltage converters)? But I don't hear or smell bad electronics so far.

I've only tried the NOR variant (especially for FXS/ asterisk operations, you do want the additional space that gives you), so I'll only provide a partial answer.

1: yes, mtdsplit being at work, subdividing the given mtd.
4: no, there is only one targets/lantiq/xrx200/u-boot-vgv7510kw22_brn/u-boot.bin, which covers both hardware revisions. The reason why the old OpenWrt wiki lists two, is because the newer revision required a newer u-boot version/ snapshot (newer than CC) than the older. Current u-boot versions (LEDE) cover both variants (reality diverging from (OpenWrt/ wiki) documentation confused me quite bit while doing the initial flash).
5: afaik no, the kernel (DTS) provided cmdline override, hardcodes nosmp - you need to patch DTS/ recompile/ flash to change that (I'd be rather interested in a VGV7510KW22NORSMP/NOFXS) variant myself for different use cases/ devices without having to build it twice (using MULTI_PROFILE/ PER_DEVICE_ROOTFS).
6: if by “Annex J” you mean pure ADSL2+ && Annex J operations, the default firmware preinstalled by LEDE should be fine - you only need to update it if VDSL2 && vectoring is required (if you're in doubt, updating shouldn't hurt either).

Using VGV7510KW22NOR, I haven't observed any oddities so far on two devices (one as modem (uptime >4 weeks), one as fxs gateway (shorter uptimes, as I'm still tweaking the image/ configuration), although neither of them are in real production so far).

That said, depending on the LEDE version you installed, the firmware might lock up if it couldn't get a xDSL connection after some time (20(?) minutes) of trying to sync. So you either need to disable the xDSL modem (proto=none) or update to a newer version; I don't know if 17.01.4 already contains the fixed code - current snapshots are fixed (for at least a couple of weeks already).

Where can in get current versions? All I could find were the oWRT links and similar ones to dropbox etc.
How did you install lede anyway?
And i just stumbled over a brnboot info page - the recovery webinterface even includes a hidden page which can flash the entire flash in one go. Now how to build a combined u-boot + LEDE image....

I wouldn't call it ADSL2+ but i guess it is (I don't have POTS or ISDN). The nomenclature is kinda wired IMHO - different DSL, Annex and codec (G.XYZ.bla) versions and I'm never sure what covers what exactly. Oh and don't forget All-IP!
Hmm... then I have to try again, because the last time nothing happened and dsl_control didn't show any changes.

Thanks - I'll look into that but so far it was running for 4 hours straight and all I did was pinging it and getting the flash layout etc.
Ha - while writing this all LEDs flashed once and the router was gone again (~5 minutes after power up).
In LuCi I set Protocol to Unmanaged (which is proto=none)


Here it is: pepe2k integrated a web server in an older u-boot version but it does not appear to be in the mainstream u-boot(?).

Depending on what you need/ want:

In short, loading the brn u-boot variant via serial console/ brnboot (open the device and access the serial header - or get inventive with short pipes to go through the vents of the closed device) and then flashing the NOR u-boot via tftpboot (run write-uboot-nor); loading/ flashing LEDE from there via tftpboot after rebooting into the NOR u-boot.

That's not available.

1 Like

Ha! It worked! I successfully installed u-boot and OpenWrt on my O2 box 6431 over ethernet, completely without requireing any rs232 access what so ever!

UPDATE: later builds like 18.06.1 including LUCI might work without problems...
I updated the links here to 18.06.1 but I haven't tested it myself so far (@drvcucwk has tested the 18.06-SNAPSHOT build successfully I think).

Prerequisites:

  1. The latest brn build.
  2. The latest nor build.
  3. An u-boot nor build.
  4. A workstation with some kind of *NIX shell to ssh, dd and sftp/scp some stuff (Swan is great for Windows users!).
  5. One ethernet interface of your workstation must be connected to the router and configured to use the ip+netmask 192.168.1.10/24 (just to be on the safe side).

Steps to reproduce:

  1. Install OpenWrt via brnboot's recover web interface.
    1. Press and hold the reset button while you power on the Router and release it ~5 seconds later (the power LED should be blinking/lit red).
    2. Open http://192.168.1.1/ , select Firmware as target and choose the brn build.
    3. Press apply and wait ~6 minutes. Running a continuous ping against the router (e.g. ping -t 192.168.1.1 on Windows) might indicate when flashing is done: The router answers before and after but not during the flashing process.
      Note: The webif might show a bundle of garbled characters - this is normal.
    4. After cycling the power of the router and giving it time to boot OpenWrt should be installed and usable, but if you want up to ~9 MiB free flash space you still need to get rid of the rest of the original firmware.
  2. Backup the boot_parms / board_config MTD partition.
    1. SSH into the running OpenWrt.
    2. Identify the 128KiB MTD partition board_config beginning at 0xFE0000 with
      dmesg | grep -i -e mtd -e 0x0 && echo && cat /proc/mtd
      (see default flash layout if necessary).
    3. Copy that MTD partition: dd if=/dev/mtd? of=/tmp/board_config.dump (replace ? with the correct number from the last step - usually 0).
    4. Get that file into your working directory with sftp/scp (e.g. scp -P ?22? root@192.168.1.1:/tmp/board_config.dump ./<path>/.).
    5. This is the perfect opportunity to make backups of the other remaining original partitions too (boot, Configuration, Certificate, Special_Area, Primary_Setting and Code_Image_0/1 I think - It may even be possible to recreate the original firmware by duplicating Code_Image_? to _0 and _1).
  3. Create a 16MiB firmware image for a full flash just for your router (*).
    1. Copy u-boot:
      dd of=./cImage.bin if=./u-boot.bin
    2. Integrate your oWRT nor image (at position 0x80000):
      dd bs=1024 seek=512 of=./cImage.bin if=./***NOR-squashfs-sysupgrade.bin
    3. 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
    4. 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
  4. Flash cImage.bin on your router via brnboot's hidden recover web interface (http://192.168.1.1/undoc_upgrade.stm) similar to 1. - just select "Master" instead of Firmware or Bootloader.

Now your router should be running with OpenWrt and be able to use the whole flash (-768 KiB for u-boot + env. and config).

(*) I tried a partial flash image without the board_config part but brnboot's webif didn't accept it and this 16 MiB image is only for the specific router the board_config came from!
If you want to use it for other o2 6431 boxes you need to repeat at least step 3.3.


While writing 4. I noticed this is not news at all (on oWRT's brnboot wiki page):

When the flashing is finished, the page may reload and show some garbled crap. Be sure to wait unil the flashing is finished before powercycling the device. On my IAD 4421 with 8MiB of NOR flash, a "master" flash (reflashing the entire flash, including the bootloader and the ART partition) took about 5 minutes.

... but i couldn't find any (step by step) guide explaining how to to this. ?!


Now can someone please put this guide on the oWRT wiki? I really don't want to mess with that heap of jumbled up (old) information... Or can I create a new page in the LEDE Wiki?

Can someone verify this works? My router keeps crashing randomly because it's still running 17.01.4 and so far I couldn't find the time to compile a proper image...



Ugh! I only looked in the release folder and couldn't find anything.

Which guide did you follow? All I found were the oWRT wiki and other old entries.

Btw. proto=none didn't help at all with 17.01.4 - the router sill hung randomly.

3 Likes

Since there is already a page about this device, please don't create a new page but add your instructions to the existing one https://wiki.openwrt.org/toh/arcadyan/vgv7510kw22

I understand your reluctance to edit this page, but since its a wiki, everybody can help to improve it. :slight_smile:

1 Like

That might explain the spurious reboots I had with 17.04, but it doesn't explain the spurious reboots I'm experiencing with latest trunk. Do you have a link to a flyspray report or commit id for this lockup bug?

https://github.com/openwrt/openwrt/commit/36fd53f9a9184de4583499b3dc119f33952cf04e

Thank you. This also means my own spurious reboots at https://bugs.openwrt.org/index.php?do=details&task_id=1328 are unrelated to this.

@Limer I'm following your guide atm. Could you help me with step 2 and 3 (I'm new to those things)?

What exactly are you struggling with?

1 Like

I managed to get it done! Everything went fine so far. Now I'm struggling to install luci. O2 Box is connect via LAN4 to my current dsl router. My Mac has internet through LAN1 (connected to the O2 Box) but when I try to make any changes via opkg (like "update") it can't connect.

I got it working. In case someone is wondering...

@Limer sorry to bother you again, but is it save to update open wrt via luci-update interface?

I've not done/tried that yet, but it should work without any problems.
I'd be more sure if I actually knew how exactly LEDE/owrt updates itself but other ways of installing oWRT on this router produce the same result as my tutorial here and I've not seen any posts concerning update problems...

@Limer is there a way to revert back to stock?

Here a tiny "just get openwrt working" installation howto with luci preinstalled based on official image:

  1. Download https://downloads.openwrt.org/releases/18.06-SNAPSHOT/targets/lantiq/xrx200/openwrt-18.06-snapshot-r6996-b295e3a-lantiq-xrx200-arcadyan_vgv7510kw22-brn-squashfs-factory.bin
  2. Set your computer at 192.168.1.2
  3. When device off, press reset-button and while holding the reset-button power the router on. When the power-led is red (after about 5sec) you should be able to use your browser to enter 192.168.1.1 and stop holding the reset-button.
  4. Choose the downloaded openwrt-firmware-file and leave the 192.168.1.1-config at "firmware".
  5. Install it and wait about 6 Minutes. At the end you would get some random charakters - thats fine. Just power it off and on.
  6. Done. Have fun with openwrt installed and usable.

Note: This does not free up all the internal possible ROM space. This does not matter for normale usage. If you like to install much additional software on the router for some reason, you can follow up the longer howto in this thread.

yes - that is the same as the first set of substeps (1.1 to 1.6) in my howto with a different image....

But I'd like to know how/where the 18.06-SNAPSHOT is documented (how you found it) and why LuCi is integrated? I Thought snapshot builds where LuCi-less.

@Manuuuel86 philosophically speaking there is just no way to turn back time to "un-invent" something but I'd guess if you have a full backup or manage to create a full image with the original firmware it should be possible (to overwrite the whole flash from within u-boot).

But why in sciences name and its holy Noodliness would you even want to revert back to the stock cripplecrapware?

Hello,

You guys are doing good job. Well done!

I have Speedport W 723V Typ B, want to run OpenWRT on it. But there are no ready images for this router.
Can I use another u-boot files from similar router ? If I successful on u-boot, is it possible to boot from TFTP without installing on flash? Could someone tell me the way to port, as summary of course?

Thank you in advance.