diff --git a/target/linux/mediatek/mt7622/base-files/lib/upgrade/buffalo.sh b/target/linux/mediatek/mt7622/base-files/lib/upgrade/buffalo.sh index 844cc4ed959..fcfea36966d 100644 --- a/target/linux/mediatek/mt7622/base-files/lib/upgrade/buffalo.sh +++ b/target/linux/mediatek/mt7622/base-files/lib/upgrade/buffalo.sh @@ -34,20 +34,30 @@ # # 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 +} diff --git a/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh index 2607f170e05..f017509637e 100755 --- a/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh +++ b/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh @@ -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|\