[FS#3324] Zyxel EMG2926-Q10A (aka NBG6716) requires changes in tree

OpenWrt Bugs openwrt-bugs at lists.openwrt.org
Sat Sep 5 23:18:50 EDT 2020


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - nwf (nwf_) 

Attached to Project - OpenWrt/LEDE Project
Summary - Zyxel EMG2926-Q10A (aka NBG6716) requires changes in tree
Task Type - Bug Report
Category - Base system
Status - Unconfirmed
Assigned To - 
Operating System - All
Severity - Medium
Priority - Very Low
Reported Version - Trunk
Due in Version - Undecided
Due Date - Undecided
Details - 459c8c9ef816156107e297964d088ddee2b4eef5 added support for the Zyxel NBG6716 device.  Unfortunately, I believe it made an error in the partition layout.  Because the RAS image header is written to flash, the offsets for sub-partitions of //firmware// must be shifted down by the size of this header (i.e., 128KiB):


diff --git a/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts b/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts                                            
index 90328078dd..148a6ea2d1 100644
--- a/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts
+++ b/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts
@@ -148,14 +148,19 @@
                        reg = ;
                };

-               partition at 500000 {
+               // There's a RAS image header inside the firmware partition,
+               // taking up one erase block (128KiB), so the kernel and ubi
+               // partitions are shifted by that amount.
+
+               partition at 520000 {
+                       // JFFS2 containing the compressed kernel
                        label = "kernel";
-                       reg = ;
+                       reg = ;
                };

-               partition at 900000 {
+               partition at 920000 {
                        label = "ubi";
-                       reg = ;
+                       reg = ;
                };
        };
 };


Without this change, the bootloader finds the kernel inside its JFFS2 partition just fine, but then the kernel dies when it cannot find the UBI header at the indicated offset.

**It is not clear to me whether this change should be applied to all NBG6716-equivalent devices or merely the one I have in hand.**

Speaking of, that device calls itself a //AAVK-EMG2926Q10A// in its RAS header and refuses to flash anything not so labeled.  Therefore, I have added a target for it by lightly extending the existing one:


diff --git a/target/linux/ath79/dts/qca9558_zyxel_aavk-emg2926q10a.dts b/target/linux/ath79/dts/qca9558_zyxel_aavk-emg2926q10a.dts                          
new file mode 100644
index 0000000000..ec94aa0d73
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_zyxel_aavk-emg2926q10a.dts
@@ -0,0 +1,2 @@
+/* This is just an alias, really */
+#include "qca9558_zyxel_nbg6716.dts"
diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk                                                                            
index ad79c487ad..7336dc45d7 100644
--- a/target/linux/ath79/image/nand.mk
+++ b/target/linux/ath79/image/nand.mk
@@ -263,3 +263,9 @@ define Device/zyxel_nbg6716
   UBINIZE_OPTS := -E 5
 endef
 TARGET_DEVICES += zyxel_nbg6716
+
+define Device/zyxel_aavk-emg2926q10a
+  $(call Device/zyxel_nbg6716)
+  RAS_BOARD := AAVK-EMG2926Q10A
+endef
+TARGET_DEVICES += zyxel_aavk-emg2926q10a



More information can be found at the following URL:
https://bugs.openwrt.org/index.php?do=details&task_id=3324

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.



More information about the openwrt-bugs mailing list