#!/bin/sh case $1 in drivers) . /etc/init.d/rc.functions setup_drivers "$(cd /lib/modules/$(uname -r)/kernel/drivers/net/wireless; find . -name "*.ko" -printf "%P\n" | sed 's/\.ko//')" ;; interfaces) . /etc/rc.config test -n "$NETWORK_WIRELESS_INTERFACE" -a "$NETWORK_WIRELESS_INTERFACE" != "auto" && echo "$NETWORK_WIRELESS_INTERFACE" echo "auto" iwconfig 2>/dev/null | grep "^\S" | cut -d " " -f1 ;; essids) . /etc/rc.config echo "$NETWORK_WIRELESS_ESSID" echo "-" iwconfig 2>/dev/null | grep "^\S" | cut -d " " -f1 | while read dev; do enabled=$(ifconfig | grep "^$dev ") test -z "$enabled" && ifconfig $dev up iwlist $dev scan 2>/dev/null | grep ESSID | sed "s/.*://" | sed "s/\"//g" test -z "$enabled" && ifconfig $dev down done true ;; esac