bootcount 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/sh /etc/rc.common
  2. START=99
  3. boot() {
  4. case $(board_name) in
  5. alfa-network,quad-e4g)
  6. [ -n "$(fw_printenv bootcount bootchanged 2>/dev/null)" ] &&\
  7. echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
  8. ;;
  9. beeline,smartbox-turbo|\
  10. beeline,smartbox-turbo-plus|\
  11. rostelecom,rt-sf-1)
  12. [[ $(hexdump -n 1 -e '/1 "%1d"' -s $((0x20001)) /dev/mtd3) == \
  13. $((0xff)) ]] || printf '\xff' | dd of=/dev/mtdblock3 \
  14. count=1 bs=1 seek=$((0x20001))
  15. ;;
  16. jdcloud,re-cp-02)
  17. echo -e "bootcount 0\nbootlimit 5\nupgrade_available 1" | /usr/sbin/fw_setenv -s -
  18. ;;
  19. linksys,e5600|\
  20. linksys,ea6350-v4|\
  21. linksys,ea7300-v1|\
  22. linksys,ea7300-v2|\
  23. linksys,ea7500-v2|\
  24. linksys,ea8100-v1|\
  25. linksys,ea8100-v2)
  26. mtd resetbc s_env || true
  27. ;;
  28. belkin,rt1800|\
  29. linksys,e7350|\
  30. samknows,whitebox-v8)
  31. fw_setenv bootcount 0
  32. ;;
  33. dna,valokuitu-plus-ex400|\
  34. genexis,pulse-ex400)
  35. fw_setenv boot_cnt_primary 0
  36. fw_setenv boot_cnt_alt 0
  37. ;;
  38. zyxel,lte3301-plus)
  39. [ $(printf %d $(fw_printenv -n DebugFlag)) -gt 0 ] || fw_setenv DebugFlag 1
  40. [ $(printf %d $(fw_printenv -n Image1Stable)) -gt 0 ] || fw_setenv Image1Stable 1
  41. [ $(printf %d $(fw_printenv -n Image1Try)) -gt 0 ] && fw_setenv Image1Try 0
  42. ;;
  43. zyxel,lte5398-m904|\
  44. zyxel,lte7490-m904|\
  45. zyxel,nr7101)
  46. [ $(printf %d $(fw_printenv -n DebugFlag)) -gt 0 ] || fw_setenv DebugFlag 0x1
  47. [ $(printf %d $(fw_printenv -n Image1Stable)) -gt 0 ] || fw_setenv Image1Stable 1
  48. [ $(printf %d $(fw_printenv -n Image1Try)) -gt 0 ] && fw_setenv Image1Try 0
  49. ;;
  50. esac
  51. }