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
23if [ -z "$1" ] || [ ! -f $1 ] || [ -z $2 ]; then
24    echo Usage: $0 firmware vendor
25cat << EOF
26IMPORTANT:
27Notes for Linksys / Asus WL500gx router: 
28   be sure you have set boot_wait to yes. Power on your router
29   after executing this script.
30 
31Notes for Asus WL500g router:
32   be sure POWER led is flashing (If this is not the case
33   poweroff the device, push the reset button & power on
34   it again, then release button)
35
361) connect your pc to the LAN port
372) be sure your link is up and has an address in the
38   192.168.1.0/24 address range (and not the 192.168.1.1)
39
40Notes for Toshiba router:
41   boot_wait is enabled by default on these units.
42
431) connect your pc to any of the four LAN ports
442) be sure your link is up and has an address in the
45   192.168.10.1/24 address range (and not the 192.168.10.1)
463) run this script (unit will only accept .trx images)
474) Turn unit power on.
48
49EOF
50    exit 0
51fi
52if [ "$2" = "asus" ]; then
53echo Confirming IP address setting...
54echo -en "get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null\nquit\n" | tftp 192.168.1.1
55echo Flashing 192.168.1.1 using $1...
56echo -en "binary\nput $1 ASUSSPACELINK\nquit\n" | tftp 192.168.1.1
57echo Please wait until leds stops flashing. 
58elif [ "$2" = "linksys" ]; then
59echo Flashing 192.168.1.1 using $1...
60echo -en "rexmt 1\ntrace\nbinary\nput $1\nquit\n" | tftp 192.168.1.1
61echo Please wait until power led stops flashing. Do not poweroff! Then you can login via telnet 192.168.1.1.
62elif [ "$2" = "toshiba" ]; then
63echo Flashing 192.168.10.1 using $1...
64echo -en "rexmt 1\ntrace\nbinary\nput $1\nquit\n" | tftp 192.168.10.1
65echo Unit will automatically reboot within 5 minutes.  Do not power off.  Then you can login via telnet 192.168.10.1.
66fi
67