[openwrt/openwrt] gemini: try fis-index-block with 128 KiB sectors

LEDE Commits lede-commits at lists.infradead.org
Sat Nov 27 16:14:27 PST 2021


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/a662d8550fb802526dd860ad26e74b7562b34c12

commit a662d8550fb802526dd860ad26e74b7562b34c12
Author: Christian Lamparter <chunkeey at gmail.com>
AuthorDate: Thu Nov 25 21:32:25 2021 +0100

    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 <s.maddox at lantizia.me.uk>
    Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
 ...ini-NAS4220-B-fis-index-block-with-128-Ki.patch | 52 ++++++++++++++++++++++
 1 file changed, 52 insertions(+)

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 0000000000..8170917a49
--- /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 <chunkeey at gmail.com>
+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 <s.maddox at lantizia.me.uk>
+Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
+--- 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>;
+ 			};
+ 		};
+ 



More information about the lede-commits mailing list