From 159ca5c844cdbbef9cb921bae89aabb2277a8bf3 Mon Sep 17 00:00:00 2001 From: Nathan Whitehorn Date: Sun, 6 Dec 2015 00:20:45 +0000 Subject: [PATCH] Adapt to new wireless scheme where base wlan interfaces do not show up in ifconfig anymore. --- usr.sbin/bsdinstall/scripts/netconfig | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/netconfig b/usr.sbin/bsdinstall/scripts/netconfig index d5a14ce2b47..f9913c32422 100755 --- a/usr.sbin/bsdinstall/scripts/netconfig +++ b/usr.sbin/bsdinstall/scripts/netconfig @@ -41,19 +41,24 @@ DIALOG_TAGS="" : ${DIALOG_ITEM_HELP=4} : ${DIALOG_ESC=255} -# Do a dirty check to see if this a wireless interface -- there should be a -# better way -is_wireless_if() { - ifconfig $1 | grep -q 'media: IEEE 802.11 Wireless' -} - for IF in `ifconfig -l`; do test "$IF" = "lo0" && continue (ifconfig -g wlan | egrep -wq $IF) && continue INTERFACES="$INTERFACES $IF" +done + +INTERFACES="$INTERFACES $(sysctl -in net.wlan.devices)" +is_wireless_if() { + for IF in $(sysctl -in net.wlan.devices); do + if [ $IF = $1 ]; then + return 0 + fi + done + return 1 +} + +for IF in $INTERFACES; do DESC=`sysctl -n dev.$(echo $IF | sed -E 's/([[:alpha:]]*)([[:digit:]]*)/\1.\2/g').%desc` - is_wireless_if $IF && echo $DESC | - grep -iqv wireless && DESC="Wireless $DESC" DIALOG_TAGS="$DIALOG_TAGS $IF \"$DESC\"" done