1# 2# Copyright (C) 2010 OpenWrt.org 3# 4 5. /lib/ramips.sh 6 7PART_NAME=firmware 8RAMFS_COPY_DATA=/lib/ramips.sh 9 10platform_check_image() { 11 local board=$(ramips_board_name) 12 local magic="$(get_magic_long "$1")" 13 14 [ "$#" -gt 1 ] && return 1 15 16 case "$board" in 17 3g150b|\ 18 3g300m|\ 19 3g-6200n|\ 20 3g-6200nl|\ 21 a5-v11|\ 22 ai-br100|\ 23 air3gii|\ 24 all0239-3g|\ 25 all0256n|\ 26 all5002|\ 27 all5003|\ 28 ar725w|\ 29 asl26555|\ 30 awapn2403|\ 31 awm002-evb|\ 32 awm003-evb|\ 33 bc2|\ 34 broadway|\ 35 carambola|\ 36 cf-wr800n|\ 37 cs-qr10|\ 38 d105|\ 39 dap-1350|\ 40 db-wrt01|\ 41 dcs-930|\ 42 dcs-930l-b1|\ 43 dir-300-b1|\ 44 dir-300-b7|\ 45 dir-320-b1|\ 46 dir-600-b1|\ 47 dir-600-b2|\ 48 dir-615-d|\ 49 dir-615-h1|\ 50 dir-620-a1|\ 51 dir-620-d1|\ 52 dir-810l|\ 53 duzun-dm06|\ 54 e1700|\ 55 esr-9753|\ 56 ex2700|\ 57 f7c027|\ 58 firewrt|\ 59 fonera20n|\ 60 freestation5|\ 61 gl-mt300a|\ 62 gl-mt300n|\ 63 gl-mt750|\ 64 hc5*61|\ 65 hg255d|\ 66 hlk-rm04|\ 67 hpm|\ 68 ht-tm02|\ 69 hw550-3g|\ 70 ip2202|\ 71 jhr-n805r|\ 72 jhr-n825r|\ 73 jhr-n926r|\ 74 linkits7688|\ 75 linkits7688d|\ 76 m2m|\ 77 m3|\ 78 m4|\ 79 microwrt|\ 80 miniembplug|\ 81 miniembwifi|\ 82 miwifi-mini|\ 83 miwifi-nano|\ 84 mlw221|\ 85 mlwg2|\ 86 mofi3500-3gn|\ 87 mpr-a1|\ 88 mpr-a2|\ 89 mr-102n|\ 90 mt7628|\ 91 mzk-750dhp|\ 92 mzk-dp150n|\ 93 mzk-ex300np|\ 94 mzk-ex750np|\ 95 mzk-w300nh2|\ 96 mzk-wdpr|\ 97 nbg-419n|\ 98 nw718|\ 99 oy-0001|\ 100 pbr-m1|\ 101 psg1208|\ 102 psg1218|\ 103 psr-680w|\ 104 px-4885|\ 105 re6500|\ 106 rp-n53|\ 107 rt5350f-olinuxino|\ 108 rt5350f-olinuxino-evb|\ 109 rt-g32-b1|\ 110 rt-n10-plus|\ 111 rt-n13u|\ 112 rt-n14u|\ 113 rt-n15|\ 114 rt-n56u|\ 115 rut5xx|\ 116 sap-g3200u3|\ 117 sk-wb8|\ 118 sl-r7205|\ 119 tew-691gr|\ 120 tew-692gr|\ 121 tiny-ac|\ 122 ur-326n4g|\ 123 ur-336un|\ 124 v22rw-2x2|\ 125 vocore|\ 126 w150m|\ 127 w306r-v20|\ 128 w502u|\ 129 wf-2881|\ 130 whr-1166d|\ 131 whr-300hp2|\ 132 whr-600d|\ 133 whr-g300n|\ 134 widora-neo|\ 135 witi|\ 136 wizfi630a|\ 137 wl-330n|\ 138 wl-330n3g|\ 139 wl-341v3|\ 140 wl-351|\ 141 wli-tx4-ag300n|\ 142 wmr-300|\ 143 wnce2001|\ 144 wndr3700v5|\ 145 wr512-3gn|\ 146 wr6202|\ 147 wrh-300cr|\ 148 wrtnode|\ 149 wrtnode2r |\ 150 wrtnode2p |\ 151 wsr-600|\ 152 wt1520|\ 153 wt3020|\ 154 wzr-agl300nh|\ 155 x5|\ 156 x8|\ 157 y1|\ 158 y1s|\ 159 zbt-ape522ii|\ 160 zbt-wa05|\ 161 zbt-we826|\ 162 zbt-wg2626|\ 163 zbt-wg3526|\ 164 zbt-wr8305rt|\ 165 zte-q7|\ 166 youku-yk1) 167 [ "$magic" != "27051956" ] && { 168 echo "Invalid image type." 169 return 1 170 } 171 return 0 172 ;; 173 ar670w) 174 [ "$magic" != "6d000080" ] && { 175 echo "Invalid image type." 176 return 1 177 } 178 return 0 179 ;; 180 br-6475nd) 181 [ "$magic" != "43535953" ] && { 182 echo "Invalid image type." 183 return 1 184 } 185 return 0 186 ;; 187 c20i|\ 188 c50) 189 [ "$magic" != "03000000" ] && { 190 echo "Invalid image type." 191 return 1 192 } 193 return 0 194 ;; 195 cy-swr1100|\ 196 dir-610-a1|\ 197 dir-645|\ 198 dir-860l-b1) 199 [ "$magic" != "5ea3a417" ] && { 200 echo "Invalid image type." 201 return 1 202 } 203 return 0 204 ;; 205 wsr-1166) 206 [ "$magic" != "48445230" ] && { 207 echo "Invalid image type." 208 return 1 209 } 210 return 0 211 ;; 212 ubnt-erx) 213 nand_do_platform_check "$board" "$1" 214 return $?; 215 ;; 216 esac 217 218 echo "Sysupgrade is not yet supported on $board." 219 return 1 220} 221 222platform_nand_pre_upgrade() { 223 local board=$(ramips_board_name) 224 225 case "$board" in 226 ubnt-erx) 227 platform_upgrade_ubnt_erx "$ARGV" 228 ;; 229 esac 230} 231 232platform_pre_upgrade() { 233 local board=$(ramips_board_name) 234 235 case "$board" in 236 ubnt-erx) 237 nand_do_upgrade "$ARGV" 238 ;; 239 esac 240} 241 242platform_do_upgrade() { 243 local board=$(ramips_board_name) 244 245 case "$board" in 246 *) 247 default_do_upgrade "$ARGV" 248 ;; 249 esac 250} 251 252disable_watchdog() { 253 killall watchdog 254 ( ps | grep -v 'grep' | grep '/dev/watchdog' ) && { 255 echo 'Could not disable watchdog' 256 return 1 257 } 258} 259 260blink_led() { 261 . /etc/diag.sh; set_state upgrade 262} 263 264append sysupgrade_pre_upgrade disable_watchdog 265append sysupgrade_pre_upgrade blink_led 266