Changeset 4
- Timestamp:
- 08/26/07 05:39:51 (1 year ago)
- Files:
-
- trunk/imagebuilder/files/bin/keepalive (modified) (4 diffs)
- trunk/imagebuilder/files/www/cgi-bin/webif/network-wan-lan.sh (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/imagebuilder/files/bin/keepalive
r1 r4 10 10 echo $$ > $lock 11 11 12 # Server that will be pinged 13 TARGET=$(nvram get wwan_keepalive_ip) 12 # Server that will be pinged, if no IP is specified, use the local IP 13 target=$(nvram get wwan_keepalive_ip) 14 peer=$(/sbin/ifconfig ppp0 | grep 'P-t-P:' | cut -d: -f3 | awk '{print $1}') 15 target=${target:-$peer} 14 16 15 # If no IP is specified, use the local IP 16 if [ "$TARGET" = "" ]; then 17 TARGET=$(/sbin/ifconfig ppp0 | grep 'P-t-P:' | cut -d: -f3 | awk '{print $1}') 18 fi 19 20 # Maximum packet loss percentage 21 MAX=65 17 # Maximum packet loss percentage, if none is specified use 75 18 max=$(nvram get wwan_keepalive_maxfail) 19 max=${max:-75} 22 20 23 21 # Keep the last log … … 27 25 28 26 # Startup message 29 echo "$(echo $old; echo "$(date '+%H:%M:%S'): Keepalive daemon started, maximum packet loss set to ${ MAX}%")" > /tmp/keepalive.log30 logger -p user.notice -t keepalive "Keepalive daemon started, maximum packet loss set to ${ MAX}%"27 echo "$(echo $old; echo "$(date '+%H:%M:%S'): Keepalive daemon started, maximum packet loss set to ${max}%")" > /tmp/keepalive.log 28 logger -p user.notice -t keepalive "Keepalive daemon started, maximum packet loss set to ${max}%" 31 29 32 30 # Wait 10 seconds before initializing … … 37 35 do 38 36 39 PACKETLOSS=$(ping -c 10 -q $TARGET| grep 'packet loss' | awk -F',' '{ print $3 }' | awk -F'%' '{ print $1 }')37 packetloss=$(ping -c 10 -q $target | grep 'packet loss' | awk -F',' '{ print $3 }' | awk -F'%' '{ print $1 }') 40 38 # If packet loss exceeds the maximum 41 if [ $ PACKETLOSS -gt $MAX]; then39 if [ $packetloss -gt $max ]; then 42 40 # Make sure that the blue light is still on 43 41 [ "$(cat /proc/diag/led/3g_blue)" = "1" ] && { 44 42 # Reconnnect 45 echo "$(cat /tmp/keepalive.log | tail -n 100; echo "$(date '+%H:%M:%S'): Reached ${ PACKETLOSS}% packet loss, reconnecting...")" > /tmp/keepalive.log46 logger -p user.notice -t keepalive "Reached ${ PACKETLOSS}% packet loss, reconnecting..."43 echo "$(cat /tmp/keepalive.log | tail -n 100; echo "$(date '+%H:%M:%S'): Reached ${packetloss}% packet loss, reconnecting...")" > /tmp/keepalive.log 44 logger -p user.notice -t keepalive "Reached ${packetloss}% packet loss, reconnecting..." 47 45 ifdown wwan 48 46 sleep 10 … … 51 49 exit 52 50 else 53 echo "$(cat /tmp/keepalive.log | tail -n 100; echo "$(date '+%H:%M:%S'): Responding with ${ PACKETLOSS}% packet loss")" > /tmp/keepalive.log51 echo "$(cat /tmp/keepalive.log | tail -n 100; echo "$(date '+%H:%M:%S'): Responding with ${packetloss}% packet loss")" > /tmp/keepalive.log 54 52 fi 55 53 trunk/imagebuilder/files/www/cgi-bin/webif/network-wan-lan.sh
r1 r4 98 98 FORM_wwan_type=${wwan_type:-$(nvram get wwan_type)} 99 99 FORM_wwan_redial=${wwan_redial:-$(nvram get wwan_redial)} 100 FORM_wwan_keepalive=${wwan_keepalive:-$(nvram get wwan_keepalive)} 100 FORM_wwan_keepalive_ip=${wwan_keepalive_ip:-$(nvram get wwan_keepalive_ip)} 101 FORM_wwan_keepalive_maxfail=${wwan_keepalive_maxfail:-$(nvram get wwan_keepalive_maxfail)} 101 102 FORM_wwan_idletime=${wwan_idletime:-$(nvram get wwan_idletime)} 102 103 … … 210 211 211 212 # These can be blank 212 save_setting network wwan_keepalive "$FORM_wwan_keepalive" 213 save_setting network wwan_keepalive_ip "$FORM_wwan_keepalive_ip" 214 save_setting network wwan_keepalive_maxfail "$FORM_wwan_keepalive_maxfail" 213 215 save_setting network wwan_network "$FORM_wwan_network" 214 216 save_setting network wwan_passwd "$FORM_wwan_passwd" … … 292 294 set_visible('field_wwan_redial', v); 293 295 set_visible('wwan_network_settings', v); 294 set_visible('opendns_form', v); 295 set_visible('field_wwan_keepalive', v && !isset('wwan_redial', 'demand')); 296 set_visible('help_keepalive', v && !isset('wwan_redial', 'demand')); 296 set_visible('field_wwan_keepalive_ip', v && !isset('wwan_redial', 'demand')); 297 set_visible('field_wwan_keepalive_maxfail', v && !isset('wwan_redial', 'demand')); 297 298 set_visible('field_wwan_idletime', v && isset('wwan_redial', 'demand')); 298 299 … … 327 328 option|persist|@TR<<Always Connected>> 328 329 option|manual|@TR<<Connect Manually>> 329 field|@TR<<Custom Keepalive IP>>|field_wwan_keepalive|hidden 330 text|wwan_keepalive|$FORM_wwan_keepalive 330 field|@TR<<Custom Keepalive IP>>|field_wwan_keepalive_ip|hidden 331 text|wwan_keepalive_ip|$FORM_wwan_keepalive_ip 332 field|@TR<<Maximum Packet Loss %>>|field_wwan_keepalive_maxfail|hidden 333 text|wwan_keepalive_maxfail|$FORM_wwan_keepalive_maxfail 331 334 field|@TR<<Auto Disconnect (Min.)>>|field_wwan_idletime|hidden 332 335 text|wwan_idletime|$FORM_wwan_idletime