I found a major flaw in the script I submitted last night, I attached
the fixed copy. The scanning should now work properly.
#!/bin/sh
########################################################################
# Begin $network_devices/services/wireless
#
# Description : Wireless Handler
#
# Authors     : Joe Ciccone - [EMAIL PROTECTED]
#
# Version     : 00.00
#
# Notes       :
#
########################################################################

. /etc/sysconfig/rc 
. ${rc_functions} 
. ${IFCONFIG}

if [ ! -d "${network_devices}/ssid" ]; then
        boot_mesg "${network_devices}/ssid does not exist, cannot continue." 
${FAILURE}
        echo_failure
        exit 1
fi

case "${2}" in
        up)
                if [ "${ESSID}" = "scan" ]; then
                        for wnet in `iwlist ${1} scan | grep ESSID | cut -d: 
-f2 | cut -d'"' -f2` \
                        `iwlist ${1} scan | grep Address | awk '{print $5}'`; do
                                if [ -f "${network_devices}/ssid/${wnet}" ]; 
then
                                        ESSID=${wnet}
                                        break
                                fi
                        done
                fi
                
                if [ -n "${OVERRIDE_ESSID}" ]; then
                        ESSID=${OVERRIDE_ESSID}
                fi
                
                if [ "${ESSID:-scan}" = "scan" ]; then
                        boot_mesg "Could not find a configurable ssid for ${1}, 
cannot continue." ${FAILURE}
                        echo_failure
                        exit 1
                else
                        if [ ! -f "${network_devices}/ssid/${ESSID}" ]; then
                                boot_mesg "Unable to open 
${network_devices}/ssid/${ESSID}, cannot continue." ${FAIURE}
                                echo_failure
                                exit 1
                        fi
                        source ${network_devices}/ssid/${ESSID}
                fi
                
                args1="essid ${ESSID}"
                
                if [ -n "${MODE}" ]; then
                        args1="${args1} mode ${MODE}"
                fi
                
                if [ -n "${FREQ}" ]; then
                        args1="${args1} freq ${FREQ}"
                fi
                
                if [ -n "${RATE}" ]; then
                        args1="${args1} rate ${RATE}"
                fi
                
                boot_mesg "Configuring ${1} for essid ${ESSID}"
                iwconfig ${1} ${args1}
                evaluate_retval

                boot_mesg "Setting up ${TYPE} on ${1} ..."
                case "${TYPE}" in
                        wep)
                                args2=""
                                if [ -n "${KEY1}" ]; then
                                        args2="key ${KEY1}"
                                fi

                                if [ -n "${KEY2}" ]; then
                                        args2="${args2} key ${KEY2}"
                                fi

                                if [ -n "${KEY3}" ]; then
                                        args2="${args2} key ${KEY3}"
                                fi

                                if [ -n "${KEY4}" ]; then
                                        args2="${args2} key ${KEY4}"
                                fi

                                iwconfig ${1} ${args2}
                                evaluate_retval
                        ;;
                        *)
                                boot_mesg "Unknown Type ${TYPE}, cannot 
continue." ${FAILURE}
                                echo_failure
                                exit 1
                        ;;
                esac
                evaluate_retval
        ;;
        
        down)
        ;;
        
        *)
                echo "Usage: ${0} [interface] {up|down}"
                exit 1
        ;;
esac

# End $network_devices/services/wireless
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to