#20939: Astoria ARV7519RW22 dts out of bounds of flash memory
-------------------------+------------------------
Reporter: howl | Owner: developers
Type: defect | Status: new
Priority: normal | Milestone:
Component: base system | Version: Trunk
Keywords: |
-------------------------+------------------------
In this device flash memory bounds are 0xB0000000-0xB1FC0000 (as they are
shown in original BRN-BOOT and with the flashed U-Boot).
Also is possible to check this by dumping surrounding memory address:
{{{
arv7519rw # md 0xB1FBFF80
b1fbff80: ffffffff ffffffff ffffffff ffffffff ................
b1fbff90: ffffffff ffffffff ffffffff ffffffff ................
b1fbffa0: ffffffff ffffffff ffffffff ffffffff ................
b1fbffb0: ffffffff ffffffff ffffffff ffffffff ................
b1fbffc0: ffffffff ffffffff ffffffff ffffffff ................
b1fbffd0: ffffffff ffffffff ffffffff ffffffff ................
b1fbffe0: ffffffff ffffffff ffffffff ffffffff ................
b1fbfff0: ffffffff 00003c00 12345678 51d7afe6 ......<..4VxQ...
b1fc0000: 00000000 00000000 00000000 00000000 ................
b1fc0010: 00000000 00000000 00000000 00000000 ................
b1fc0020: 00000000 00000000 00000000 00000000 ................
b1fc0030: 00000000 00000000 00000000 00000000 ................
b1fc0040: 00000000 00000000 00000000 00000000 ................
b1fc0050: 00000000 00000000 00000000 00000000 ................
b1fc0060: 00000000 00000000 00000000 00000000 ................
b1fc0070: 00000000 00000000 00000000 00000000 ................
arv7519rw #
}}}
0xB1FC0000 is not flash memory as it's erased state is not 0xFFFFFFFF and
b1fbfff0 is just the last address of the Boot Parameters partition in the
original firmware.
{{{
Original:
- Flash Image 0xB0000000-0xB1FC0000 32768K
- Boot 0xB0000000-0xB0080000 |- 512K
- Linux Image 0xB0080000-0xB1880000 |- 24576K
- ?? 0xB0080000-0xB1280000 | |- 18432K
- Image 0 0xB1280000-0xB1880000 | \- 6144K
- Image 1 0xB1880000-0xB1E80000 |- 6144K
- Configuration 0xB1E80000-0xB1F80000 |- 1024K
- Boot Parameters 0xB1F80000-0xB1FC0000 \- 256K
OpenWrt:
- Flash Image 0xB0000000-0xB1FC0000 32768K
- uboot 0xB0000000-0xB0060000 |- 384K
- uboot-env 0xB0060000-0xB0080000 |- 128K
- firmware 0xB0080000-0xB1E80000 |- 30720K
- ?? 0xB0080000-0xB02164B8 | |-
~1625,18K ( 1664184B)
- rootfs 0xB02164B8-0xB1E80000 | \-
~29094,82K (29793096B)
- ?? 0xB02164B8-0xB04C0000 |
|- ~2726,82K ( 2792264B)
- rootfs_data 0xB04C0000-0xB1E80000 |
\- 26368K
- dsl_fw 0xB1E80000-0xB1F80000 |- 1024K
- boardconfig 0xB1F80000-0xB2000000 \- 512K (this
one goes 256K beyond the flash memory limit)
}}}
As you can see in the original and openwrt memory partitions boardconfig
corresponds to Boot Parameters and is 512K instead of 215K as it goes 215K
beyound the Flash.
This is the patch that corrects this:
{{{
--- a/target_linux_lantiq_dts_ARV7519RW22.dts 2015-11-18
23:31:34.780122560 +0100
+++ b/target_linux_lantiq_dts_ARV7519RW22.dts 2015-11-18
23:44:16.705647525 +0100
@@ -18,7 +18,7 @@
nor-boot@0 {
compatible = "lantiq,nor";
bank-width = <2>;
- reg = <0 0x0 0x2000000>;
+ reg = <0 0x0 0x1FC0000>;
#address-cells = <1>;
#size-cells = <1>;
@@ -46,7 +46,7 @@
boardconfig: partition@1f80000 {
label = "boardconfig";
- reg = <0x1f80000 0x80000>;
+ reg = <0x1f80000 0x40000>;
read-only;
};
};
}}}
It's present in trunk, Chaos Calmer and Barrier Breaker.
I have seen this thinking about repartitioning the flash in another way
for this router to make more room for newer versions of U-Boot, as 2014.7
doesn't fit in 3 pages and new the 4th writing it over the uboot_env area,
but this is another issue.
--
Ticket URL: <https://dev.openwrt.org/ticket/20939>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets