From f00b265a1950d0b4f2d53d7bcdf18e516ef149f5 Mon Sep 17 00:00:00 2001 From: a.hoppe Date: Mon, 8 Feb 2010 19:58:28 +0100 Subject: some improvements for wlan-boot (recognition of wlan interface and essid settings) --- boot-env/preboot/uclib-rootfs/init | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/boot-env/preboot/uclib-rootfs/init b/boot-env/preboot/uclib-rootfs/init index f240d65d..ab2f9ca0 100755 --- a/boot-env/preboot/uclib-rootfs/init +++ b/boot-env/preboot/uclib-rootfs/init @@ -14,7 +14,7 @@ fetchip () { # we expect to get an ip address within 10++ seconds -( sleep 6 ; killall udhcpc >/dev/null 2>&1 ) & +( sleep 10 ; killall udhcpc >/dev/null 2>&1 ) & for i in 1 2 ; do udhcpc -f -n -q $vci -s /usr/share/udhcpc/default.script -i $nwif 2>/dev/null if grep "ip=" /tmp/ipstuff >/dev/null 2>&1 ; then @@ -141,6 +141,25 @@ fi if [ -n "${SSID}" ] ; then # WLAN setup will most probably change the network interface name stored in # nwif (to wlan0 or something like that) + [ $DEBUGLEVEL -gt 0 ] && echo "set essid to ${essid}"; + #value of essid unchecked yet + # load network adaptor modules + cd /lib/modules/$(ls /lib/modules/)/kernel/drivers/net/wireless + for mod in $(find . | grep .ko | sed 's,.*/\([^/]*\).ko,\1',); do + echo "Mod:"; + echo $mod; + modprobe $mod || echo "module $mod did not load for some reason" + usleep 10000 + done + cd / + wlanif=$(iwconfig 2>/dev/null|sed -n "/ESSID:/p"|sed "s/ .*//") + [ $DEBUGLEVEL -gt 0 ] && echo "wlancard recognized as ${wlanif}"; + ip link set dev ${wlanif} up + if iwconfig ${wlanif} mode managed essid "${essid}"; then + nwif=${wlanif} + else + error " Unable to configure the WLAN interface." + fi : else # check here for the active Ethernet link -- cgit v1.2.3-55-g7522