From a662d8550fb802526dd860ad26e74b7562b34c12 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Thu, 25 Nov 2021 21:32:25 +0100 Subject: [PATCH] gemini: try fis-index-block with 128 KiB sectors Steven Maddox reported in the OpenWrt bugzilla, that his RaidSonic IB-NAS4220-B was no longer booting with the new OpenWrt 21.02 (uses linux 5.10's device-tree). However, it was working with the previous OpenWrt 19.07 series (uses 4.14). (This is still under investigation.) Bugzilla: https://bugs.openwrt.org/index.php?do=details&task_id=4137 Reported-by: Steven Maddox Signed-off-by: Christian Lamparter --- ...AS4220-B-fis-index-block-with-128-Ki.patch | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 target/linux/gemini/patches-5.10/0003-ARM-dts-gemini-NAS4220-B-fis-index-block-with-128-Ki.patch diff --git a/target/linux/gemini/patches-5.10/0003-ARM-dts-gemini-NAS4220-B-fis-index-block-with-128-Ki.patch b/target/linux/gemini/patches-5.10/0003-ARM-dts-gemini-NAS4220-B-fis-index-block-with-128-Ki.patch new file mode 100644 index 00000000000..8170917a495 --- /dev/null +++ b/target/linux/gemini/patches-5.10/0003-ARM-dts-gemini-NAS4220-B-fis-index-block-with-128-Ki.patch @@ -0,0 +1,52 @@ +From 447fd4347f06af3a369045149ba74f9b914cd99e Mon Sep 17 00:00:00 2001 +From: Christian Lamparter +Date: Tue, 23 Nov 2021 21:42:21 +0100 +Subject: [PATCH] ARM: dts: gemini: NAS4220-B: fis-index-block with 128 KiB + sectors + +Steven Maddox reported in the OpenWrt bugzilla, that his +RaidSonic IB-NAS4220-B was no longer booting with the new +OpenWrt 21.02 (uses linux 5.10's device-tree). However, it was +working with the previous OpenWrt 19.07 series (uses 4.14). + +|[ 5.548038] No RedBoot partition table detected in 30000000.flash +|[ 5.618553] Searching for RedBoot partition table in 30000000.flash at offset 0x0 +|[ 5.739093] No RedBoot partition table detected in 30000000.flash +|... +|[ 7.039504] Waiting for root device /dev/mtdblock3... + +The provided bootlog shows that the RedBoot partition parser was +looking for the partition table "at offset 0x0". Which is strange +since the comment in the device-tree says it should be at 0xfe0000. + +Further digging on the internet led to a review site that took +some useful PCB pictures of their review unit back in February 2009. +Their picture shows a Spansion S29GL128N11TFI01 flash chip. + +From Spansion's Datasheet: +"S29GL128N: One hundred twenty-eight 64 Kword (128 Kbyte) sectors" +The reported also provided a "cat /sys/class/mtd/mtd0/erasesize", +which returned "131072". + +With the 128 KiB Sector/Erasesize in mind. This patch changes the +fis-index-block property to (0xfe0000 / 0x20000) = 0x7f. + +Note: +Let's hope the vendor stuck to the 128 KiB sector size flash chip +for all units still out there. + +Fixes: b5a923f8c739 ("ARM: dts: gemini: Switch to redboot partition parsing") +Bugzilla: https://bugs.openwrt.org/index.php?do=details&task_id=4137 +Reported-by: Steven Maddox +Signed-off-by: Christian Lamparter +--- a/arch/arm/boot/dts/gemini-nas4220b.dts ++++ b/arch/arm/boot/dts/gemini-nas4220b.dts +@@ -84,7 +84,7 @@ + partitions { + compatible = "redboot-fis"; + /* Eraseblock at 0xfe0000 */ +- fis-index-block = <0x1fc>; ++ fis-index-block = <0x7f>; + }; + }; +