source: genesis/tools/flash-ns5m@ 14024

Last change on this file since 14024 was 12360, checked in by rick, 12 years ago

Make it no newlines, for readability.

  • Property svn:executable set to *
File size: 1.6 KB
Line 
1#!/bin/sh
2#
3# Flash stock nanostation for use in WL network
4#
5# Rick van der Zwet <info@rickvanderzwet.nl>
6#
7DIRNAME=`dirname $0`
8TOTAL_TRIES=60
9
10# Argument helpers
11if [ -z "$2" ]; then
12 echo "Usage: $0 <node> <iface>"
13 exit 128
14fi
15
16if [ ! -r "fwupdate.bin" ]; then
17 echo "Unable to read fwupdate.bin (download latest firmware file)"
18 exit 1
19fi
20
21HOSTNAME=$1
22NS_IFACE=$2
23
24
25# Create configuration
26$DIRNAME/gformat.py test $HOSTNAME $NS_IFACE-ns5m.conf > system.cfg.new
27if [ $? -ne 0 ]; then
28 echo "Unable to generate configuration file"
29 exit 1
30fi
31
32# Verify connectivity
33TRY=0
34while true; do
35 sshpass -p ubnt ssh -oUserKnownHostsFile=/dev/null ubnt@192.168.1.20 'uname -a'
36 if [ $? -eq 0 ]; then
37 break
38 fi
39
40 TRY=`expr $TRY + 1`
41 echo "Unable to connect to NanoStation (attempt $TRY of $TOTAL_TRIES)"
42 if [ $TRY -ge $TOTAL_TRIES ]; then
43 exit 1
44 fi
45 sleep 1
46done
47
48# Variables needed from Nanostaion, as to be filled into configuration
49MAC=`arp -na | awk '/192.168.1.20/ {print $4}'`
50IFACE=`arp -na | awk '/192.168.1.20/ {print $7}'`
51
52# XXX: Automatically put MAC into configuration
53echo "# MAC of NanoStation is $MAC"
54
55# Flash node
56sshpass -p ubnt scp -oUserKnownHostsFile=/dev/null system.cfg.new fwupdate.bin ubnt@192.168.1.20:/tmp || exit 1
57sshpass -p ubnt ssh -oUserKnownHostsFile=/dev/null ubnt@192.168.1.20 'cfgmtd -w -f /tmp/system.cfg.new && fwupdate -m' || exit 1
58
59echo "Ones the leds are off configuration is done"
60
61# TODO: Login on auto-alias IP address to verify
62sudo tcpdump -nn -v -i $IFACE -s 1500 -c 1 'ether[18:4] == 0x000c2000'
63
64echo "All done, press CTRL-C to quit"
65while true; do
66 echo -ne "\a"
67 sleep 5
68done
Note: See TracBrowser for help on using the repository browser.