diff --git a/libexec/rc/rc.d/wpa_supplicant b/libexec/rc/rc.d/wpa_supplicant index 8a86fec90e4d..3c5c9d243f68 100755 --- a/libexec/rc/rc.d/wpa_supplicant +++ b/libexec/rc/rc.d/wpa_supplicant @@ -1,47 +1,52 @@ #!/bin/sh # # $FreeBSD$ # # PROVIDE: wpa_supplicant # REQUIRE: mountcritremote # KEYWORD: nojail nostart . /etc/rc.subr . /etc/network.subr name="wpa_supplicant" desc="WPA/802.11i Supplicant for wireless network devices" +start_postcmd="wpa_poststart" rcvar= ifn="$2" if [ -z "$ifn" ]; then return 1 fi is_ndis_interface() { case `sysctl -n net.wlan.${1#wlan}.%parent 2>/dev/null` in ndis*) true ;; *) false ;; esac } +wpa_poststart() { + ifconfig ${ifn} up +} + if is_wired_interface ${ifn} ; then driver="wired" elif is_ndis_interface ${ifn} ; then driver="ndis" else driver="bsd" fi load_rc_config $name command=${wpa_supplicant_program} conf_file=${wpa_supplicant_conf_file} pidfile="/var/run/${name}/${ifn}.pid" command_args="-B -i $ifn -c $conf_file -D $driver -P $pidfile" required_files=$conf_file required_modules="wlan_wep wlan_tkip wlan_ccmp" run_rc_command "$1"