flash.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/bash
  2. #
  3. # tftp flash script for wireless routers
  4. #
  5. # Copyright (C) 2004 by Oleg I. Vdovikin <oleg@cs.msu.su>
  6. # Copyright (C) 2005 by Waldemar Brodkorb <wbx@openwrt.org>
  7. #
  8. # This program is free software; you can redistribute it and/or modify
  9. # it under the terms of the GNU General Public License as published by
  10. # the Free Software Foundation; either version 2 of the License, or
  11. # (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful,
  14. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. # General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU General Public License
  19. # along with this program; if not, write to the Free Software
  20. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  21. #
  22. if [ -z "$1" ] || [ ! -f $1 ] || [ -z $2 ]; then
  23. echo Usage: $0 firmware vendor
  24. cat << EOF
  25. IMPORTANT:
  26. Notes for Linksys / Asus WL500gx router:
  27. be sure you have set boot_wait to yes. Power on your router
  28. after executing this script.
  29. Notes for Asus WL500g router:
  30. be sure POWER led is flashing (If this is not the case
  31. poweroff the device, push the reset button & power on
  32. it again, then release button)
  33. 1) connect your pc to the LAN port
  34. 2) be sure your link is up and has an address in the
  35. 192.168.1.0/24 address range (and not the 192.168.1.1)
  36. Notes for Toshiba router:
  37. boot_wait is enabled by default on these units.
  38. 1) connect your pc to any of the four LAN ports
  39. 2) be sure your link is up and has an address in the
  40. 192.168.10.1/24 address range (and not the 192.168.10.1)
  41. 3) run this script (unit will only accept .trx images)
  42. 4) Turn unit power on.
  43. EOF
  44. exit 0
  45. fi
  46. if [ "$2" = "asus" ]; then
  47. echo Confirming IP address setting...
  48. echo -en "get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null\nquit\n" | tftp 192.168.1.1
  49. echo Flashing 192.168.1.1 using $1...
  50. echo -en "binary\nput $1 ASUSSPACELINK\nquit\n" | tftp 192.168.1.1
  51. echo Please wait until leds stops flashing.
  52. elif [ "$2" = "linksys" ]; then
  53. echo Flashing 192.168.1.1 using $1...
  54. echo -en "rexmt 1\ntrace\nbinary\nput $1\nquit\n" | tftp 192.168.1.1
  55. echo Please wait until power led stops flashing. Do not poweroff! Then you can login via telnet 192.168.1.1.
  56. elif [ "$2" = "toshiba" ]; then
  57. echo Flashing 192.168.10.1 using $1...
  58. echo -en "rexmt 1\ntrace\nbinary\nput $1\nquit\n" | tftp 192.168.10.1
  59. echo Unit will automatically reboot within 5 minutes. Do not power off. Then you can login via telnet 192.168.10.1.
  60. fi