diff options
Diffstat (limited to 'sysconfig/network-scripts/ifup-wireless')
-rwxr-xr-x | sysconfig/network-scripts/ifup-wireless | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/sysconfig/network-scripts/ifup-wireless b/sysconfig/network-scripts/ifup-wireless index 70e84a21..702b6199 100755 --- a/sysconfig/network-scripts/ifup-wireless +++ b/sysconfig/network-scripts/ifup-wireless @@ -26,31 +26,37 @@ # Only meant to be called from ifup. -IW=iw +cd /etc/sysconfig/network-scripts +. ./network-functions + +IW=${IW:-iw} -[ "$DEVICE" -a "$MODE" ] || exit [ "$KEY" ] && KEYS="key d:0:$KEY" shopt -s nocasematch case "$MODE" in managed) - [ "$ESSID" ] || exit - $IW dev "$DEVICE" set type managed - $IW dev "$DEVICE" connect -w "$ESSID" $FREQ $KEYS + if [ "$ESSID" ]; then + $IW dev "$DEVICE" set type managed + $IW dev "$DEVICE" connect -w "$ESSID" $FREQ $KEYS + fi ;; ad-hoc) - [ "$ESSID" && "$FREQ" ] || exit - $IW dev "$DEVICE" set type ibss - $IW dev "$DEVICE" ibss join "$ESSID" "$FREQ" $KEYS + if [ -n "$ESSID" -a -n "$FREQ" ]; then + $IW dev "$DEVICE" set type ibss + $IW dev "$DEVICE" ibss join "$ESSID" "$FREQ" $KEYS + fi ;; monitor) - [ "$FREQ" ] || exit - $IW dev "$DEVICE" set type monitor - $IW dev "$DEVICE" set freq "$FREQ" + if [ "$FREQ" ]; then + $IW dev "$DEVICE" set type monitor + $IW dev "$DEVICE" set freq "$FREQ" + fi + ;; esac if [ -n "$WOWLAN" ] ; then - PHYDEVICE=phy_wireless_device $DEVICE + PHYDEVICE=$(phy_wireless_device $DEVICE) iw phy $PHYDEVICE wowlan enable ${WOWLAN} fi |