#!/bin/sh export DATE="27.8.2007";SCRIPT=${0#/rom} export TITLE="Admin: Restart" . ${SCRIPT%/*}/cgi-bin-pre.sh cat<Admin: Restart EOF if [ "$REQUEST_METHOD" = "POST" ]; then read QUERY_STRING fi if [ -z "$QUERY_STRING" ]; then ff_firmware= if ! grep -q ff_reset /rom/etc/preinit /etc/preinit>/dev/null 2>&1; then ff_firmware='" DISABLED="DISABLED' fi cat<
Normal restart
Restart in failsafe mode
Restart in read-only mode (for firmware update)
Restart with initializing ("Format hard disk/JFFS2", Duration: 2 minutes) EOF if [ '"nvram"' = "$(grep mtd3: /proc/mtd|if read line; then set $line;echo $4;fi)" ]; then cat<
Restart with the boot loader defaults. This option is tested only for these devices: Linksys WRT54G + WRT54GS! For the Siemens SE505 manually save the et0macaddr and il0macaddr NVRAM variables to restore them afterwards. EOF fi cat<
 
   
EOF if [ "$(nvram get boot_wait)" != "on" ]; then cat<Please note: The boot_wait config setting has an actual value of "$(nvram get boot_wait)". To open up the possibility to upload a new firmware via TFTP, the restart will change this setting to "on".

EOF fi if [ -n "$ff_firmware" ]; then cat<Attention: The extended restart options are active with the Freifunk firmware only.

EOF fi else IFS=\&;set ${QUERY_STRING%%[^%&=+-:@-_a-z~]*};unset IFS;eval $* DIRTY= if [ -n "$post_reset" ]; then if [ "$ff_reset" = "killnvram" ]; then if [ '"nvram"' = "$(grep mtd3: /proc/mtd|if read line; then set $line;echo $4;fi)" ]; then mtd erase /dev/mtd/3 fi else for V in ff_reset boot_wait; do eval "C=\$$V" C=$(httpd -d "$C") if [ "$C" != "$(nvram get $V)" ]; then DIRTY=1 nvram set $V="$C" fi done test -n "$DIRTY" && nvram commit>/dev/null 2>&1 fi cat< The device restarts now. Please wait... EOF if [ "$ff_reset" = "failsafe" ]; then cat<

Tip: In failsafe mode, the IP address of the device is always 192.168.1.1. While you wait for the device to come up again, the network card can be configured to the appropriate IP address, for example to 192.168.1.2.

EOF elif [ "$ff_reset" = "format" ] || [ "$ff_reset" = "killnvram" ]; then cat< EOF else cat< EOF fi sh -c "sleep 2;reboot">/dev/null 2>&1 & fi fi . ${SCRIPT%/*}/cgi-bin-post.sh