12118f387SNathan Whitehorn#!/bin/sh 22118f387SNathan Whitehorn#- 32118f387SNathan Whitehorn# Copyright (c) 2011 Nathan Whitehorn 4f18789d7SDevin Teske# Copyright (c) 2013-2016 Devin Teske 52118f387SNathan Whitehorn# All rights reserved. 62118f387SNathan Whitehorn# 72118f387SNathan Whitehorn# Redistribution and use in source and binary forms, with or without 82118f387SNathan Whitehorn# modification, are permitted provided that the following conditions 92118f387SNathan Whitehorn# are met: 102118f387SNathan Whitehorn# 1. Redistributions of source code must retain the above copyright 112118f387SNathan Whitehorn# notice, this list of conditions and the following disclaimer. 122118f387SNathan Whitehorn# 2. Redistributions in binary form must reproduce the above copyright 132118f387SNathan Whitehorn# notice, this list of conditions and the following disclaimer in the 142118f387SNathan Whitehorn# documentation and/or other materials provided with the distribution. 152118f387SNathan Whitehorn# 162118f387SNathan Whitehorn# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 172118f387SNathan Whitehorn# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 182118f387SNathan Whitehorn# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 192118f387SNathan Whitehorn# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 202118f387SNathan Whitehorn# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 212118f387SNathan Whitehorn# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 222118f387SNathan Whitehorn# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 232118f387SNathan Whitehorn# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 242118f387SNathan Whitehorn# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 252118f387SNathan Whitehorn# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 262118f387SNathan Whitehorn# SUCH DAMAGE. 272118f387SNathan Whitehorn# 282118f387SNathan Whitehorn# $FreeBSD$ 29bc4a673fSDevin Teske# 30bc4a673fSDevin Teske############################################################ INCLUDES 31bc4a673fSDevin Teske 32bc4a673fSDevin TeskeBSDCFG_SHARE="/usr/share/bsdconfig" 33bc4a673fSDevin Teske. $BSDCFG_SHARE/common.subr || exit 1 344913f849SAndriy Voskoboinykf_include $BSDCFG_SHARE/dialog.subr 35bc4a673fSDevin Teske 36f18789d7SDevin Teske############################################################ FUNCTIONS 372118f387SNathan Whitehorn 384913f849SAndriy Voskoboinykcountry_set() 394913f849SAndriy Voskoboinyk{ 40*bede0708SDevin Teske local error_str iface_up ifconfig_args= 414913f849SAndriy Voskoboinyk 4297a4c9f0SDevin Teske # 434913f849SAndriy Voskoboinyk # Setup what was selected 4497a4c9f0SDevin Teske # NB: Do not change order of arguments (or regdomain will be ignored) 4597a4c9f0SDevin Teske # 4638a99423SDevin Teske if [ "$2" ]; then 474913f849SAndriy Voskoboinyk ifconfig_args="${ifconfig_args}country $2" 484913f849SAndriy Voskoboinyk fi 4938a99423SDevin Teske if [ "$1" ]; then 5038a99423SDevin Teske if [ "$2" ]; then 514913f849SAndriy Voskoboinyk ifconfig_args="${ifconfig_args} " 524913f849SAndriy Voskoboinyk fi 534913f849SAndriy Voskoboinyk ifconfig_args="${ifconfig_args}regdomain $1" 544913f849SAndriy Voskoboinyk fi 5538a99423SDevin Teske if [ ! "$ifconfig_args" ]; then 564913f849SAndriy Voskoboinyk # Nothing to do (everything was skipped) 574913f849SAndriy Voskoboinyk return $SUCCESS 584913f849SAndriy Voskoboinyk fi 594913f849SAndriy Voskoboinyk 604913f849SAndriy Voskoboinyk # Regdomain/country cannot be applied while interface is running 61138ab67aSDevin Teske iface_up=$( ifconfig -lu | grep -w $WLAN_IFACE ) 6238a99423SDevin Teske if [ "$iface_up" ]; then 634913f849SAndriy Voskoboinyk ifconfig $WLAN_IFACE down 644913f849SAndriy Voskoboinyk fi 65138ab67aSDevin Teske error_str=$( ifconfig $WLAN_IFACE $ifconfig_args 2>&1 | 66138ab67aSDevin Teske sed 's/ifconfig: //' ) 6738a99423SDevin Teske if [ "$iface_up" ]; then 684913f849SAndriy Voskoboinyk # Restart wpa_supplicant(8) (should not fail). 694913f849SAndriy Voskoboinyk wpa_supplicant -B -i $WLAN_IFACE -c \ 704913f849SAndriy Voskoboinyk $BSDINSTALL_TMPETC/wpa_supplicant.conf 714913f849SAndriy Voskoboinyk fi 7238a99423SDevin Teske if [ "$error_str" ]; then 734913f849SAndriy Voskoboinyk dialog --backtitle "FreeBSD Installer" --title "Error" \ 744913f849SAndriy Voskoboinyk --yes-label Change --no-label Ignore --yesno \ 754913f849SAndriy Voskoboinyk "Error while applying chosen settings ($error_str)" 0 0 764913f849SAndriy Voskoboinyk if [ $? -eq $DIALOG_OK ]; then 774913f849SAndriy Voskoboinyk return $FAILURE # Restart 784913f849SAndriy Voskoboinyk else 794913f849SAndriy Voskoboinyk return $SUCCESS # Skip 804913f849SAndriy Voskoboinyk fi 814913f849SAndriy Voskoboinyk else 824913f849SAndriy Voskoboinyk : > $BSDINSTALL_TMPETC/rc.conf.net.wlan 834913f849SAndriy Voskoboinyk echo create_args_$WLAN_IFACE=\"$ifconfig_args\" >> \ 844913f849SAndriy Voskoboinyk $BSDINSTALL_TMPETC/rc.conf.net.wlan 854913f849SAndriy Voskoboinyk fi 864913f849SAndriy Voskoboinyk 874913f849SAndriy Voskoboinyk return $SUCCESS 884913f849SAndriy Voskoboinyk} 894913f849SAndriy Voskoboinyk 904913f849SAndriy Voskoboinykdialog_country_select() 914913f849SAndriy Voskoboinyk{ 92*bede0708SDevin Teske local input regdomains countries regdomain country 934913f849SAndriy Voskoboinyk local def_item_regdomain= 944913f849SAndriy Voskoboinyk local def_item_country= 954913f849SAndriy Voskoboinyk 9697a4c9f0SDevin Teske # 974913f849SAndriy Voskoboinyk # Parse available countries/regdomains 9897a4c9f0SDevin Teske # 99138ab67aSDevin Teske input=$( ifconfig $WLAN_IFACE list countries | sed 's/DEBUG//gi' ) 100138ab67aSDevin Teske regdomains=$( echo $input | sed 's/.*domains://' | tr ' ' '\n' | 101138ab67aSDevin Teske sort | tr '\n' ' ' ) 102138ab67aSDevin Teske countries=$( echo $input | sed 's/Country codes://' | 1034913f849SAndriy Voskoboinyk sed 's/Regulatory.*//' | awk '{ 1044913f849SAndriy Voskoboinyk for (i = 1; i <= NF; i++) { 1054913f849SAndriy Voskoboinyk printf "%s", $i 1064913f849SAndriy Voskoboinyk if (match($i, "[[:lower:]]")) 1074913f849SAndriy Voskoboinyk if (match($(i+1), "[[:lower:]]")) 1084913f849SAndriy Voskoboinyk printf "\\\\\\ " 1094913f849SAndriy Voskoboinyk else 1104913f849SAndriy Voskoboinyk printf "\n" 1114913f849SAndriy Voskoboinyk else 1124913f849SAndriy Voskoboinyk printf " " 1134913f849SAndriy Voskoboinyk } 114138ab67aSDevin Teske }' | sort -k 2 | tr '\n' ' ' ) 1154913f849SAndriy Voskoboinyk 1164913f849SAndriy Voskoboinyk # Change default cursor position (if required). 1174913f849SAndriy Voskoboinyk if [ "$1" != "<not selected>" ]; then 1184913f849SAndriy Voskoboinyk def_item_regdomain="--default-item $1" 1194913f849SAndriy Voskoboinyk fi 1204913f849SAndriy Voskoboinyk if [ "$2" != "<not selected>" ]; then 1214913f849SAndriy Voskoboinyk def_item_country="--default-item $2" 1224913f849SAndriy Voskoboinyk fi 1234913f849SAndriy Voskoboinyk 1244913f849SAndriy Voskoboinyk f_dialog_menu_size height width rows \"Regdomain selection\" \ 1254913f849SAndriy Voskoboinyk \"FreeBSD Installer\" \"Select your regdomain.\" \ 1264913f849SAndriy Voskoboinyk \"\" $regdomains 127138ab67aSDevin Teske regdomain=$( sh -c "dialog \ 1284913f849SAndriy Voskoboinyk --backtitle \"FreeBSD Installer\" \ 1294913f849SAndriy Voskoboinyk --title \"Regdomain selection\" \ 1304913f849SAndriy Voskoboinyk --cancel-label \"Skip\" \ 1314913f849SAndriy Voskoboinyk $def_item_regdomain \ 1324913f849SAndriy Voskoboinyk --no-items \ 1334913f849SAndriy Voskoboinyk --stdout \ 1344913f849SAndriy Voskoboinyk --menu \"Select your regdomain.\" \ 135138ab67aSDevin Teske $height $width $rows $regdomains" ) 1364913f849SAndriy Voskoboinyk 1374913f849SAndriy Voskoboinyk f_dialog_menu_size height width rows \"Country selection\" \ 1384913f849SAndriy Voskoboinyk \"FreeBSD Installer\" \"Select your country.\" \ 1394913f849SAndriy Voskoboinyk \"\" $countries 140138ab67aSDevin Teske country=$( sh -c "dialog \ 1414913f849SAndriy Voskoboinyk --backtitle \"FreeBSD Installer\" \ 1424913f849SAndriy Voskoboinyk --title \"Country selection\" \ 1434913f849SAndriy Voskoboinyk --cancel-label \"Skip\" \ 1444913f849SAndriy Voskoboinyk $def_item_country \ 1454913f849SAndriy Voskoboinyk --stdout \ 1464913f849SAndriy Voskoboinyk --menu \"Select your country.\" \ 147138ab67aSDevin Teske $height $width $rows $countries" ) 1484913f849SAndriy Voskoboinyk 1494913f849SAndriy Voskoboinyk country_set "$regdomain" "$country" 1504913f849SAndriy Voskoboinyk 1514913f849SAndriy Voskoboinyk return $? 1524913f849SAndriy Voskoboinyk} 1534913f849SAndriy Voskoboinyk 154f18789d7SDevin Teske############################################################ MAIN 155f18789d7SDevin Teske 156f18789d7SDevin Teskeecho -n > $BSDINSTALL_TMPETC/wpa_supplicant.conf 157f18789d7SDevin Teskechmod 0600 $BSDINSTALL_TMPETC/wpa_supplicant.conf 158f18789d7SDevin Teske 159f18789d7SDevin Teskeecho "ctrl_interface=/var/run/wpa_supplicant" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 160f18789d7SDevin Teskeecho "eapol_version=2" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 161f18789d7SDevin Teskeecho "ap_scan=1" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 162f18789d7SDevin Teskeecho "fast_reauth=1" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 163f18789d7SDevin Teskeecho >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 164f18789d7SDevin Teske 16597a4c9f0SDevin Teske# 166f18789d7SDevin Teske# Try to reach wpa_supplicant. If it isn't running and we can modify the 167f18789d7SDevin Teske# existing system, start it. Otherwise, fail. 16897a4c9f0SDevin Teske# 16938a99423SDevin Teske(wpa_cli ping >/dev/null 2>/dev/null || ([ "$BSDINSTALL_CONFIGCURRENT" ] && 170f18789d7SDevin Teske wpa_supplicant -B -i $1 -c $BSDINSTALL_TMPETC/wpa_supplicant.conf)) || 171f18789d7SDevin Teske (dialog --backtitle "FreeBSD Installer" --title "Error" --msgbox \ 172f18789d7SDevin Teske "Could not start wpa_supplicant!" 0 0; exit 1) || exit 1 173f18789d7SDevin Teske 174f18789d7SDevin Teske# See if we succeeded 175f18789d7SDevin Teskewpa_cli ping >/dev/null 2>/dev/null 17638a99423SDevin Teskeif [ $? -ne 0 -a ! "$BSDINSTALL_CONFIGCURRENT" ]; then 177f18789d7SDevin Teske dialog --backtitle "FreeBSD Installer" --title "Error" --msgbox \ 178f18789d7SDevin Teske "Wireless cannot be configured without making changes to the local system!" \ 0 0 179f18789d7SDevin Teske exit 1 180f18789d7SDevin Teskefi 181f18789d7SDevin Teske 18297a4c9f0SDevin Teske# 1834913f849SAndriy Voskoboinyk# There is no way to check country/regdomain without (possible) 1844913f849SAndriy Voskoboinyk# interface state modification 18597a4c9f0SDevin Teske# 18638a99423SDevin Teskeif [ "$BSDINSTALL_CONFIGCURRENT" ]; then 1874913f849SAndriy Voskoboinyk # Get current country/regdomain for selected interface 188138ab67aSDevin Teske WLAN_IFACE=$( wpa_cli ifname | tail -n 1 ) 189138ab67aSDevin Teske INPUT=$( ifconfig $WLAN_IFACE list regdomain | head -n 1 ) 190138ab67aSDevin Teske DEF_REGDOMAIN=$( echo $INPUT | cut -w -f 2 ) 1914913f849SAndriy Voskoboinyk if [ "$DEF_REGDOMAIN" = "0" ]; then 1924913f849SAndriy Voskoboinyk DEF_REGDOMAIN="<not selected>" 1934913f849SAndriy Voskoboinyk fi 194138ab67aSDevin Teske DEF_COUNTRY=$( echo $INPUT | cut -w -f 4 ) 1954913f849SAndriy Voskoboinyk if [ "$DEF_COUNTRY" = "0" ]; then 1964913f849SAndriy Voskoboinyk DEF_COUNTRY="<not selected>" 1974913f849SAndriy Voskoboinyk fi 1984913f849SAndriy Voskoboinyk dialog --backtitle "FreeBSD Installer" --title "Regdomain/country" \ 1994913f849SAndriy Voskoboinyk --yesno "Change regdomain/country (now \ 2004913f849SAndriy Voskoboinyk $DEF_REGDOMAIN/$DEF_COUNTRY)?" 0 0 2014913f849SAndriy Voskoboinyk if [ $? -eq 0 ]; then 2024913f849SAndriy Voskoboinyk while : 2034913f849SAndriy Voskoboinyk do 2044913f849SAndriy Voskoboinyk dialog_country_select "$DEF_REGDOMAIN" "$DEF_COUNTRY" 2054913f849SAndriy Voskoboinyk if [ $? -eq $SUCCESS ]; then 2064913f849SAndriy Voskoboinyk break 2074913f849SAndriy Voskoboinyk fi 2084913f849SAndriy Voskoboinyk done 2094913f849SAndriy Voskoboinyk fi 2104913f849SAndriy Voskoboinykfi 2114913f849SAndriy Voskoboinyk 2124913f849SAndriy Voskoboinykwhile : 2134913f849SAndriy Voskoboinykdo 2143220bdd8SDevin Teske SCANSSID=0 215bc4a673fSDevin Teske output=$( wpa_cli scan 2>&1 ) 216bc4a673fSDevin Teske f_dprintf "%s" "$output" 2174913f849SAndriy Voskoboinyk dialog --backtitle "FreeBSD Installer" --title "Scanning" \ 2184913f849SAndriy Voskoboinyk --ok-label "Skip" \ 2192118f387SNathan Whitehorn --pause "Waiting 5 seconds to scan for wireless networks..." \ 2202118f387SNathan Whitehorn 9 40 5 || exit 1 2212118f387SNathan Whitehorn 222138ab67aSDevin Teske SCAN_RESULTS=$( wpa_cli scan_results ) 223138ab67aSDevin Teske NETWORKS=$( echo "$SCAN_RESULTS" | awk -F '\t' \ 2244913f849SAndriy Voskoboinyk '/..:..:..:..:..:../ {if (length($5) > 0) \ 225138ab67aSDevin Teske printf("\"%s\"\t%s\n", $5, $4);}' | sort | uniq ) 2262118f387SNathan Whitehorn 22738a99423SDevin Teske if [ ! "$NETWORKS" ]; then 2282118f387SNathan Whitehorn dialog --backtitle "FreeBSD Installer" --title "Error" \ 2293d2b0857SDevin Teske --yesno "No wireless networks were found. Rescan?" 0 0 && 2304913f849SAndriy Voskoboinyk continue 2312118f387SNathan Whitehorn exit 1 2322118f387SNathan Whitehorn fi 2332118f387SNathan Whitehorn 2342118f387SNathan Whitehorn exec 3>&1 235138ab67aSDevin Teske NETWORK=$( sh -c "dialog --extra-button --extra-label \"Rescan\" \ 2364913f849SAndriy Voskoboinyk --backtitle \"FreeBSD Installer\" --title \"Network Selection\" \ 2374913f849SAndriy Voskoboinyk --menu \"Select a wireless network to connect to.\" 0 0 0 \ 238138ab67aSDevin Teske $(echo $NETWORKS | tr '\n' ' ')" 2>&1 1>&3 ) 2392118f387SNathan Whitehorn case $? in 2402118f387SNathan Whitehorn 0) # OK 2414913f849SAndriy Voskoboinyk break 2422118f387SNathan Whitehorn ;; 2432118f387SNathan Whitehorn 1) # Cancel 2443220bdd8SDevin Teske # here we ask if the user wants to select the network manually 2453220bdd8SDevin Teske f_dialog_title "Network Selection" 2463220bdd8SDevin Teske f_dialog_yesno "Do you want to select the network manually?" || exit 1 2473220bdd8SDevin Teske f_dialog_input NETWORK "Enter SSID" || exit 1 2483220bdd8SDevin Teske ENCRYPTION=$( dialog --backtitle "$DIALOG_BACKTITLE" --title \ 2493220bdd8SDevin Teske "$DIALOG_TITLE" --menu "Select encryption type" 0 0 0 \ 2503220bdd8SDevin Teske "1 WPA/WPA2 PSK" "" "2 WPA/WPA2 EAP" "" "3 WEP" "" "0 None" "" 2>&1 1>&3 ) || exit 1 2513220bdd8SDevin Teske SCANSSID=1 2523220bdd8SDevin Teske f_dialog_title_restore 2533220bdd8SDevin Teske break 2542118f387SNathan Whitehorn ;; 2552118f387SNathan Whitehorn 3) # Rescan 2562118f387SNathan Whitehorn ;; 2572118f387SNathan Whitehorn esac 2582118f387SNathan Whitehorn exec 3>&- 2594913f849SAndriy Voskoboinykdone 2602118f387SNathan Whitehorn 26138a99423SDevin Teske[ ! "$ENCRYPTION" ] && ENCRYPTION=$( echo "$NETWORKS" | awk -F '\t' \ 262138ab67aSDevin Teske "/^\"$NETWORK\"\t/ {printf(\"%s\n\", \\\$2 );}" ) 2632118f387SNathan Whitehorn 2642118f387SNathan Whitehornif echo $ENCRYPTION | grep -q 'PSK'; then 2652118f387SNathan Whitehorn exec 3>&1 266138ab67aSDevin Teske PASS=$( dialog --insecure --backtitle "FreeBSD Installer" \ 2672118f387SNathan Whitehorn --title "WPA Setup" --mixedform "" 0 0 0 \ 2682118f387SNathan Whitehorn "SSID" 1 0 "$NETWORK" 1 12 0 0 2 \ 269a4de89deSChristian Brueffer "Password" 2 0 "" 2 12 15 63 1 \ 270138ab67aSDevin Teske 2>&1 1>&3 ) \ 2712118f387SNathan Whitehorn || exec $0 $@ 2722118f387SNathan Whitehorn exec 3>&- 2732118f387SNathan Whitehornecho "network={ 2742118f387SNathan Whitehorn ssid=\"$NETWORK\" 2753220bdd8SDevin Teske scan_ssid=$SCANSSID 2762118f387SNathan Whitehorn psk=\"$PASS\" 2772118f387SNathan Whitehorn priority=5 2782118f387SNathan Whitehorn}" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 279093b9154SGavin Atkinsonelif echo $ENCRYPTION | grep -q EAP; then 280093b9154SGavin Atkinson exec 3>&1 281138ab67aSDevin Teske USERPASS=$( dialog --insecure --backtitle "FreeBSD Installer" \ 282093b9154SGavin Atkinson --title "WPA-Enterprise Setup" --mixedform "" 0 0 0 \ 283093b9154SGavin Atkinson "SSID" 1 0 "$NETWORK" 1 12 0 0 2 \ 284093b9154SGavin Atkinson "Username" 2 0 "" 2 12 25 63 0 \ 285093b9154SGavin Atkinson "Password" 3 0 "" 3 12 25 63 1 \ 286138ab67aSDevin Teske 2>&1 1>&3 ) \ 287093b9154SGavin Atkinson || exec $0 $@ 288093b9154SGavin Atkinson exec 3>&- 289093b9154SGavin Atkinsonecho "network={ 290093b9154SGavin Atkinson ssid=\"$NETWORK\" 2913220bdd8SDevin Teske scan_ssid=$SCANSSID 292093b9154SGavin Atkinson key_mgmt=WPA-EAP" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 293093b9154SGavin Atkinsonecho "$USERPASS" | awk ' 294093b9154SGavin Atkinson{ 295093b9154SGavin Atkinson if (NR == 1) { 296093b9154SGavin Atkinson printf " identity=\"%s\"\n", $1; 297093b9154SGavin Atkinson } else if (NR == 2) { 298093b9154SGavin Atkinson printf " password=\"%s\"\n", $1; 299093b9154SGavin Atkinson } 300093b9154SGavin Atkinson}' >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 301093b9154SGavin Atkinsonecho " priority=5 302093b9154SGavin Atkinson}" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 3032118f387SNathan Whitehornelif echo $ENCRYPTION | grep -q WEP; then 3042118f387SNathan Whitehorn exec 3>&1 305138ab67aSDevin Teske WEPKEY=$( dialog --insecure --backtitle "FreeBSD Installer" \ 3062118f387SNathan Whitehorn --title "WEP Setup" --mixedform "" 0 0 0 \ 3072118f387SNathan Whitehorn "SSID" 1 0 "$NETWORK" 1 12 0 0 2 \ 3082118f387SNathan Whitehorn "WEP Key 0" 2 0 "" 2 12 15 0 1 \ 309138ab67aSDevin Teske 2>&1 1>&3 ) \ 3102118f387SNathan Whitehorn || exec $0 $@ 3112118f387SNathan Whitehornecho "network={ 3122118f387SNathan Whitehorn ssid=\"$NETWORK\" 3133220bdd8SDevin Teske scan_ssid=$SCANSSID 3142118f387SNathan Whitehorn key_mgmt=NONE 3152118f387SNathan Whitehorn wep_key0=\"$WEPKEY\" 3162118f387SNathan Whitehorn wep_tx_keyidx=0 3172118f387SNathan Whitehorn priority=5 3182118f387SNathan Whitehorn}" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 3192118f387SNathan Whitehornelse # Open 3202118f387SNathan Whitehornecho "network={ 3212118f387SNathan Whitehorn ssid=\"$NETWORK\" 3223220bdd8SDevin Teske scan_ssid=$SCANSSID 3232118f387SNathan Whitehorn key_mgmt=NONE 3242118f387SNathan Whitehorn priority=5 3252118f387SNathan Whitehorn}" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 3262118f387SNathan Whitehornfi 3272118f387SNathan Whitehorn 3282118f387SNathan Whitehorn# Connect to any open networks policy 3292118f387SNathan Whitehornecho "network={ 330ebffa060SGavin Atkinson priority=0 3312118f387SNathan Whitehorn key_mgmt=NONE 3322118f387SNathan Whitehorn}" >> $BSDINSTALL_TMPETC/wpa_supplicant.conf 3332118f387SNathan Whitehorn 3342118f387SNathan Whitehorn# Bring up new network 335bc4a673fSDevin Teskeif [ "$BSDINSTALL_CONFIGCURRENT" ]; then 336bc4a673fSDevin Teske output=$( wpa_cli reconfigure 2>&1 ) 337bc4a673fSDevin Teske f_dprintf "%s" "$output" 338bc4a673fSDevin Teskefi 3392118f387SNathan Whitehorn 3400a835493SDevin Teskeexit $SUCCESS 341bc4a673fSDevin Teske 342bc4a673fSDevin Teske################################################################################ 343bc4a673fSDevin Teske# END 344bc4a673fSDevin Teske################################################################################ 345