#!/usr/bin/webif-page >|max=10|$FORM_submit EOF if [ "$?" != "0" ] then FORM_submit="" fi load_settings fon get_default mode wan mode if empty "$FORM_submit"; then get_default ssid private essid get_default hide_ssid private hidden get_default enc private encryption get_default oldenc private oldenc get_default crypto private wpa_crypto get_default bgmode advanced bgmode get_default channel advanced channel case "${FORM_enc##/*}" in wep|WEP) FORM_auth=WEP;; WPA|WPA1|wpa|wpa1) FORM_auth=WPA;; WPA2|wpa2) FORM_auth=WPA2;; mixed|MIXED) FORM_auth=MIXED;; *) FORM_auth=OPEN;; esac case "${FORM_crypto}" in aes|AES|ccmp|CCMP) FORM_crypto="aes";; tkip|TKIP) FORM_crypto="tkip";; tkip+aes|TKIP+AES|aes+tkip|AES+TKIP) FORM_crypto="tkip+aes";; *) FORM_crypto=tkip+aes;; esac get_default psk private password get_default wepkey private wepkey get_default ascii private wepphrase get_default key1 private key1 get_default key2 private key2 get_default key3 private key3 get_default key4 private key4 get_default txp private txpower else validate <>|required max=28|$FORM_ssid bool|FORM_hide_ssid|@TR<>|required|$FORM_hide_ssid chk_auth|FORM_auth|@TR<>||$FORM_auth int|FORM_wepkey|@TR<>|min=1 max=4|$FORM_wepkey chk_crypto|FORM_crypto|@TR<>||$FORM_crypto EOF equal "$?" 0 && { case "$FORM_auth" in WPA|WPA2|MIXED) V_PSK="required" ;; WEP) eval "V_K$FORM_wepkey=required" ;; esac validate <>|min=8 max=63 $V_PSK|$FORM_psk wep|FORM_key1|@TR<> 1|$V_K1|$FORM_key1 wep|FORM_key2|@TR<> 2|$V_K2|$FORM_key2 wep|FORM_key3|@TR<> 3|$V_K3|$FORM_key3 wep|FORM_key4|@TR<> 4|$V_K4|$FORM_key4 EOF equal "$?" 0 && { save_setting fon private essid "$FORM_ssid" save_setting fon private hidden "$FORM_hide_ssid" save_setting fon private txpower "$FORM_txp" case "$FORM_auth" in WPA|WPA2|MIXED) save_setting fon private encryption "$FORM_auth" save_setting fon private wpa_crypto "$FORM_crypto" save_setting fon private password "$FORM_psk" save_setting fon private oldenc "$FORM_auth" ;; WEP) get_default oldenc private oldenc if [ "$FORM_oldenc" != "WEP" -a "$FORM_oldenc" != "OPEN" ]; then reboot_mandatory=1 else reboot_mandatory=0 fi save_setting fon private oldenc "$FORM_auth" save_setting fon private encryption WEP save_setting fon private wepphrase "$FORM_ascii" save_setting fon private wepkey "$FORM_wepkey" save_setting fon private key1 "$FORM_key1" save_setting fon private key2 "$FORM_key2" save_setting fon private key3 "$FORM_key3" save_setting fon private key4 "$FORM_key4" ;; *) get_default oldenc private oldenc if [ "$FORM_oldenc" != "WEP" -a "$FORM_oldenc" != "OPEN" ]; then reboot_mandatory=1 else reboot_mandatory=0 fi save_setting fon private encryption OPEN save_setting fon private oldenc "$FORM_auth" ;; esac if [ "$FORM_mode" != "wlan" ]; then validate <>|required|$FORM_bgmode chk_channel|FORM_channel|@TR<>|required|$FORM_channel EOF equal "$?" 0 && { save_setting fon advanced bgmode "$FORM_bgmode" save_setting fon advanced channel "$FORM_channel" } fi commit_settings SAVED=1 } } fi if [ "$FORM_mode" != "wlan" ]; then channels= for ch in $(iwlist ath1 freq | grep 'Channel ' | grep -v "reque" | awk '{print $2}'); do channels="${channels:+$channels$N}option|$ch|$ch" done #fallback channels="${channels:- option|01|01 option|02|02 option|03|03 option|04|04 option|05|05 option|06|06 option|07|07 option|08|08 option|09|09 option|10|10 option|11|11}" fi header "Priv_Title#Private Wireless Settings" if [ "$SAVED" = "1" ]; then echo "

EXECUTING CONFIGURATION" [ "$reboot_mandatory" = "1" ] && echo "

Reboot mandatory." echo "

@TR<>..." fi cat < EOF display_form <> add_input_cell|ssid|$FORM_ssid|tableTextButton add_label_cell|(@TR<>) end_row add_row add_label_cell|@TR<> start_select_cell|hide_ssid|$FORM_hide_ssid|tableTextSelect option|0|@TR<> option|1|@TR<> end_select_cell end_row add_row add_label_cell|@TR<> start_select_cell|auth|$FORM_auth|tableTextSelect|modechange option|OPEN|@TR<> option|WEP|WEP option|WPA|WPA option|WPA2|WPA2 option|MIXED|@TR<> end_select_cell end_row end_table start_div|wpa_stuff start_table|0|10|5 add_row add_label_cell|@TR<> start_select_cell|crypto|$FORM_crypto|tableTextSelect option|tkip+aes|@TR<> option|tkip|TKIP option|aes|AES end_select_cell end_row add_row add_label_cell|@TR<> add_input_cell|psk|$FORM_psk|tableTextButton EOF cat < EOF display_form <> add_input_cell|ascii|$FORM_ascii|tableTextButton|tohex EOF cat < EOF display_form <> start_select_cell|wepkey|$FORM_wepkey|tableTextSelect option|1|1 option|2|2 option|3|3 option|4|4 end_select_cell end_row add_row add_label_cell|@TR<> 1 add_input_cell|key1|$FORM_key1|tableTextButton end_row add_row add_label_cell|@TR<> 2 add_input_cell|key2|$FORM_key2|tableTextButton end_row add_row add_label_cell|@TR<> 3 add_input_cell|key3|$FORM_key3|tableTextButton end_row add_row add_label_cell|@TR<> 4 add_input_cell|key4|$FORM_key4|tableTextButton end_row end_table end_div EOF [ -f /etc/debug ] && { display_form <> start_select_cell|txp|$FORM_txp|tableTextSelect option|18|18 dBm (63 mW) option|16|16 dBm (39 mW) option|14|14 dBm (25 mW) option|12|12 dBm (15 mW) option|10|10 dBm (10 mW) option|8|8 dBm (6 mW) option|6|6 dBm (3 mW) option|0|0 dBm (1 mW) end_row end_table EOF } display_form <> end_row end_table call_js|modechange EOF if [ "$FORM_mode" != "wlan" ]; then display_form <> start_select_cell|channel|$FORM_channel|tableTextSelect option|auto|@TR<> $channels end_select_cell end_row add_row add_label_cell|@TR<> start_select_cell|bgmode|$FORM_bgmode|tableTextSelect option|mixed|@TR<> option|g|@TR<> option|b|@TR<> end_select_cell end_row add_row add_button_cell|submit|@TR<>|tableTextButton end_row end_table EOF fi footer if [ "$SAVED" = "1" ]; then SAVED=0 if [ "$reboot_mandatory" = "1" ]; then display_form <