mediatek: mt7622: sync buffalo.sh with ramips/mt7621
authorINAGAKI Hiroshi <musashino.open@gmail.com>
Sat, 28 Dec 2024 08:48:02 +0000 (17:48 +0900)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 4 Jan 2025 17:55:31 +0000 (18:55 +0100)
Sync buffalo.sh with the one in ramips/mt7621 to improve handling of the
TRX magic numbers of Buffalo WSR devices and switching sysupgrade method
between buffalo_upgrade_ubinized() and nand_do_upgrade().

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17408
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/mediatek/mt7622/base-files/lib/upgrade/buffalo.sh
target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh

index 844cc4ed95939e6d74aeba5a9364fa43b860dde5..fcfea36966d255e5ba3d48ae5e1391e4869beeee 100644 (file)
 #
 # The mtd partitions "firmware" and "Kernel2" on NAND flash are os-image
 # partitions. These partitions are called as "Image1/Image2" in U-Boot
-# on WSR-2533DHP2, and they are checked conditions when booting.
+# on WSR devices, and they are checked conditions when booting.
 # "Image1" is always used for booting.
 #
 # == U-Boot Behaviors ==
 # - "Image1"/"Image2" images are good, images are different or
 #   "Image2" image is broken
-#   -> writes os-image to "Image2" from "Image1"
+#   -> copy os-image to "Image2" from "Image1"
 #
 # - "Image1" image is broken
-#   -> writes os-image to "Image1" from "Image2"
+#   -> copy os-image to "Image1" from "Image2"
 #
 # - "Image1"/"Image2" images are broken
 #   -> fall to U-Boot command line
 
+# TRX magic numbers of each model
+case "$(board_name)" in
+buffalo,wsr-2533dhp2)
+       BUFFALO_TRX_MAGIC="44485032" # "DHP2"
+       ;;
+buffalo,wsr-3200ax4s)
+       BUFFALO_TRX_MAGIC="44485033" # "DHP3"
+       ;;
+esac
+
 buffalo_check_image() {
        local board="$1"
        local boardname="$(echo $board | tr ',' '_')"
@@ -56,7 +66,7 @@ buffalo_check_image() {
 
        # return error state if TRX + UBI formatted image specified
        # to notify about configurations
-       if [ "$magic" = "44485032" -o "$magic" = "44485033" ]; then
+       if [ "$magic" = "$BUFFALO_TRX_MAGIC" ]; then
                echo "Your configurations won't be saved if factory-uboot.bin image specified."
                echo "But if you want to upgrade, please execute sysupgrade with \"-F\" option."
                return 1
@@ -124,3 +134,12 @@ buffalo_upgrade_ubinized() {
                exit 1
        fi
 }
+
+buffalo_do_upgrade() {
+       if [ "$(get_magic_long "$1")" = "$BUFFALO_TRX_MAGIC" ]; then
+               buffalo_upgrade_ubinized "$1"
+       else
+               CI_KERNPART="firmware"
+               nand_do_upgrade "$1"
+       fi
+}
index 2607f170e0596c04c1b3fcc3becc8fe7834f1c45..f017509637efb036bcbc2f4ad430e5a7f4c90419 100755 (executable)
@@ -16,16 +16,7 @@ platform_do_upgrade() {
                ;;
        buffalo,wsr-2533dhp2|\
        buffalo,wsr-3200ax4s)
-               local magic="$(get_magic_long "$1")"
-
-               # use "mtd write" if the magic is "DHP2 (0x44485032)"
-               # or "DHP3 (0x44485033)"
-               if [ "$magic" = "44485032" -o "$magic" = "44485033" ]; then
-                       buffalo_upgrade_ubinized "$1"
-               else
-                       CI_KERNPART="firmware"
-                       nand_do_upgrade "$1"
-               fi
+               buffalo_do_upgrade "$1"
                ;;
        dlink,eagle-pro-ai-m32-a1|\
        dlink,eagle-pro-ai-r32-a1|\