X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Fbase-files%2Flib%2Fupgrade%2Fplatform.sh;h=eb812865db8882cb4bfaf06fb11f5ab5ed473986;hp=d469699d3cfa2023c3b4b68fbbbdb14ee3cf435d;hb=281785d74fcc70153c0741be36ee1f9d05e74f6f;hpb=4caab808300ad75575d778bae6e184caa26aeabc diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh index d469699d3c..eb812865db 100755 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh @@ -6,8 +6,8 @@ . /lib/ar71xx.sh PART_NAME=firmware -RAMFS_COPY_DATA=/lib/ar71xx.sh -RAMFS_COPY_BIN='nandwrite' +RAMFS_COPY_DATA='/lib/ar71xx.sh /etc/fw_env.config /var/lock/fw_printenv.lock' +RAMFS_COPY_BIN='nandwrite fw_printenv fw_setenv' CI_BLKSZ=65536 CI_LDADR=0x80060000 @@ -65,7 +65,7 @@ platform_do_upgrade_combined() { then local rootfspart=$(platform_find_rootfspart "$partitions" "$kernelpart") local append="" - [ -f "$CONF_TAR" -a "$SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR" + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP" if [ "$PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD" -ne 1 ]; then ( dd if="$1" bs=$CI_BLKSZ skip=1 count=$kern_blocks 2>/dev/null; \ @@ -164,7 +164,7 @@ platform_do_upgrade_compex() { if [ -n "$fw_mtd" ] && [ ${fw_blocks:-0} -gt 0 ]; then local append="" - [ -f "$CONF_TAR" -a "$SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR" + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP" sync dd if="$fw_file" bs=64k skip=1 count=$fw_blocks 2>/dev/null | \ @@ -218,6 +218,7 @@ platform_check_image() { archer-c7-v4|\ archer-c7-v5|\ bullet-m|\ + bullet-m-xw|\ c-55|\ carambola2|\ cf-e316n-v2|\ @@ -393,7 +394,7 @@ platform_check_image() { } local md5_img=$(dd if="$1" bs=2 skip=9 count=16 2>/dev/null) - local md5_chk=$(dd if="$1" bs=$CI_BLKSZ skip=1 2>/dev/null | md5sum -); md5_chk="${md5_chk%% *}" + local md5_chk=$(fwtool -q -t -i /dev/null "$1"; dd if="$1" bs=$CI_BLKSZ skip=1 2>/dev/null | md5sum -); md5_chk="${md5_chk%% *}" if [ -n "$md5_img" -a -n "$md5_chk" ] && [ "$md5_img" = "$md5_chk" ]; then return 0 @@ -415,6 +416,7 @@ platform_check_image() { lan-turtle|\ mc-mac1200r|\ minibox-v1|\ + minibox-v3.2|\ omy-g1|\ omy-x1|\ onion-omega|\ @@ -497,7 +499,7 @@ platform_check_image() { local magic_ver="0100" case "$board" in - tl-wdr6500-v2) + tl-wdr3320-v2|tl-wdr6500-v2) magic_ver="0200" ;; esac @@ -556,6 +558,7 @@ platform_check_image() { rb-912uag-2hpnd|\ rb-912uag-5hpnd|\ rb-921gs-5hpacd-r2|\ + rb-922uags-5hpacd|\ rb-951g-2hnd|\ rb-951ui-2hnd|\ rb-2011l|\ @@ -565,6 +568,7 @@ platform_check_image() { rb-2011uas-2hnd|\ rb-2011uias|\ rb-2011uias-2hnd|\ + rb-2011uias-2hnd-r2|\ rb-sxt2n|\ rb-sxt5n) nand_do_platform_check routerboard $1 @@ -589,10 +593,15 @@ platform_check_image() { tplink_pharos_check_image "$1" "7f454c46" "$(tplink_pharos_get_model_string)" '' && return 0 return 1 ;; - cpe210-v2) + cpe210-v2|\ + cpe210-v3) tplink_pharos_check_image "$1" "01000000" "$(tplink_pharos_v2_get_model_string)" '\0\xff\r' && return 0 return 1 ;; + cpe510-v2) + tplink_pharos_check_image "$1" "7f454c46" "$(tplink_pharos_v2_get_model_string)" '\0\xff\r' && return 0 + return 1 + ;; a40|\ a60|\ mr1750|\ @@ -716,6 +725,7 @@ platform_check_image() { rb-lhg-5nd|\ rb-map-2nd|\ rb-mapl-2nd|\ + rb-sxt-2nd-r3|\ rb-wap-2nd|\ rb-wapg-5hact2hnd|\ rb-wapr-2nd) @@ -727,7 +737,43 @@ platform_check_image() { return 1 } -platform_pre_upgrade() { +platform_do_upgrade_mikrotik_rb() { + CI_KERNPART=none + local fw_mtd=$(find_mtd_part kernel) + fw_mtd="${fw_mtd/block/}" + [ -n "$fw_mtd" ] || return + + local board_dir=$(tar tf "$1" | grep -m 1 '^sysupgrade-.*/$') + board_dir=${board_dir%/} + [ -n "$board_dir" ] || return + + mtd erase kernel + tar xf "$1" ${board_dir}/kernel -O | nandwrite -o "$fw_mtd" - + + nand_do_upgrade "$1" +} + +platform_do_upgrade_nokia() { + case "$(fw_printenv -n dualPartition)" in + imgA) + fw_setenv dualPartition imgB + fw_setenv ActImg NokiaImageB + ;; + imgB) + fw_setenv dualPartition imgA + fw_setenv ActImg NokiaImageA + ;; + esac + ubiblock -r /dev/ubiblock0_0 2>/dev/null >/dev/null + rm -f /dev/ubiblock0_0 + ubidetach -d 0 2>/dev/null >/dev/null + CI_UBIPART=ubi_alt + CI_KERNPART=kernel_alt + + nand_do_upgrade "$1" +} + +platform_do_upgrade() { local board=$(board_name) case "$board" in @@ -744,6 +790,7 @@ platform_pre_upgrade() { rb-lhg-5nd|\ rb-map-2nd|\ rb-mapl-2nd|\ + rb-sxt-2nd-r3|\ rb-wap-2nd|\ rb-wapg-5hact2hnd|\ rb-wapr-2nd) @@ -751,46 +798,10 @@ platform_pre_upgrade() { [ -z "$(rootfs_type)" ] && mtd erase firmware ;; esac -} - -platform_nand_pre_upgrade() { - local board=$(board_name) - - case "$board" in - rb*) - CI_KERNPART=none - local fw_mtd=$(find_mtd_part kernel) - fw_mtd="${fw_mtd/block/}" - [ -n "$fw_mtd" ] || return - mtd erase kernel - tar xf "$1" sysupgrade-routerboard/kernel -O | nandwrite -o "$fw_mtd" - - ;; - wi2a-ac200i) - case "$(fw_printenv -n dualPartition)" in - imgA) - fw_setenv dualPartition imgB - fw_setenv ActImg NokiaImageB - ;; - imgB) - fw_setenv dualPartition imgA - fw_setenv ActImg NokiaImageA - ;; - esac - ubiblock -r /dev/ubiblock0_0 2>/dev/null >/dev/null - rm -f /dev/ubiblock0_0 - ubidetach -d 0 2>/dev/null >/dev/null - CI_UBIPART=ubi_alt - CI_KERNPART=kernel_alt - ;; - esac -} - -platform_do_upgrade() { - local board=$(board_name) case "$board" in all0258n) - platform_do_upgrade_allnet "0x9f050000" "$ARGV" + platform_do_upgrade_allnet "0x9f050000" "$1" ;; all0305|\ eap7660d|\ @@ -802,19 +813,19 @@ platform_do_upgrade() { pb44|\ routerstation|\ routerstation-pro) - platform_do_upgrade_combined "$ARGV" + platform_do_upgrade_combined "$1" ;; all0315n) - platform_do_upgrade_allnet "0x9f080000" "$ARGV" + platform_do_upgrade_allnet "0x9f080000" "$1" ;; cap4200ag|\ eap300v2|\ ens202ext) - platform_do_upgrade_allnet "0xbf0a0000" "$ARGV" + platform_do_upgrade_allnet "0xbf0a0000" "$1" ;; dir-825-b1|\ tew-673gru) - platform_do_upgrade_dir825b "$ARGV" + platform_do_upgrade_dir825b "$1" ;; a40|\ a60|\ @@ -836,13 +847,21 @@ platform_do_upgrade() { om5p-ac|\ om5p-acv2|\ om5p-an) - platform_do_upgrade_openmesh "$ARGV" + platform_do_upgrade_openmesh "$1" ;; c-60|\ hiveap-121|\ nbg6716|\ r6100|\ rambutan|\ + wndr3700v4|\ + wndr4300) + nand_do_upgrade "$1" + ;; + mr18|\ + z1) + merakinand_do_upgrade "$1" + ;; rb-411|\ rb-411u|\ rb-433|\ @@ -862,6 +881,7 @@ platform_do_upgrade() { rb-912uag-2hpnd|\ rb-912uag-5hpnd|\ rb-921gs-5hpacd-r2|\ + rb-922uags-5hpacd|\ rb-951g-2hnd|\ rb-951ui-2hnd|\ rb-2011il|\ @@ -871,28 +891,25 @@ platform_do_upgrade() { rb-2011uas-2hnd|\ rb-2011uias|\ rb-2011uias-2hnd|\ + rb-2011uias-2hnd-r2|\ rb-sxt2n|\ - rb-sxt5n|\ - wi2a-ac200i|\ - wndr3700v4|\ - wndr4300) - nand_do_upgrade "$1" - ;; - mr18|\ - z1) - merakinand_do_upgrade "$1" + rb-sxt5n) + platform_do_upgrade_mikrotik_rb "$1" ;; uap-pro|\ unifi-outdoor-plus) MTD_CONFIG_ARGS="-s 0x180000" - default_do_upgrade "$ARGV" + default_do_upgrade "$1" + ;; + wi2a-ac200i) + platform_do_upgrade_nokia "$1" ;; wp543|\ wpe72) - platform_do_upgrade_compex "$ARGV" + platform_do_upgrade_compex "$1" ;; *) - default_do_upgrade "$ARGV" + default_do_upgrade "$1" ;; esac }