slitaz-boot-scripts rev 109
Misc wifi fixes from sygne@ombres.eu
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Jul 22 22:25:02 2008 +0000 (2008-07-22) |
parents | 7ed6dc4683ad |
children | d6f7d8765539 |
files | etc/init.d/network.sh etc/network.conf |
line diff
1.1 --- a/etc/init.d/network.sh Sat Jul 19 15:17:25 2008 +0000 1.2 +++ b/etc/init.d/network.sh Tue Jul 22 22:25:02 2008 +0000 1.3 @@ -5,6 +5,9 @@ 1.4 . /etc/init.d/rc.functions 1.5 . /etc/network.conf 1.6 1.7 +# Only configure hostname and loopback at boot time 1.8 +if [ -n "$1" ]; then 1.9 + 1.10 # Set hostname. 1.11 echo -n "Setting hostname... " 1.12 /bin/hostname -F /etc/hostname 1.13 @@ -16,6 +19,8 @@ 1.14 /sbin/route add 127.0.0.1 lo 1.15 status 1.16 1.17 +fi 1.18 + 1.19 # For wifi. Users just have to enable it throught yes and usually 1.20 # essid any will work and interface is autodetected. 1.21 if [ "$WIFI" = "yes" ] || grep -q "wifi" /proc/cmdline; then 1.22 @@ -23,17 +28,20 @@ 1.23 for i in $NDISWRAPPER_DRIVERS; do 1.24 ndiswrapper -i $i 1.25 done 1.26 + echo -n "Loading ndiswrapper module..." 1.27 modprobe ndiswrapper 1.28 + status 1.29 fi 1.30 - if ! iwconfig $WIFI_INTERFACE 2>&1 | grep -iq "essid"; then 1.31 + if [ ! -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then 1.32 + echo "$WIFI_INTERFACE is not a wifi interface, changing it." 1.33 WIFI_INTERFACE=$(grep : /proc/net/dev | cut -d: -f1 | \ 1.34 while read dev; do iwconfig $dev 2>&1 | \ 1.35 grep -iq "essid" && { echo $dev ; break; }; \ 1.36 done) 1.37 [ -n "$WIFI_INTERFACE" ] && sed -i "s/^WIFI_INTERFACE=.*/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" /etc/network.conf 1.38 fi 1.39 - [ -n "$WPA_DRIVER" ] && WPA_DRIVER="wext" 1.40 - if iwconfig $WIFI_INTERFACE 2>&1 | grep -iq "essid"; then 1.41 + [ -n "$WPA_DRIVER" ] || WPA_DRIVER="wext" 1.42 + if iwconfig $WIFI_INTERFACE 2>&1 | grep -iq "unassociated"; then 1.43 IWCONFIG_ARGS="" 1.44 [ -n "$WIFI_MODE" ] && IWCONFIG_ARGS="$IWCONFIG_ARGS mode $WIFI_MODE" 1.45 [ -n "$WIFI_KEY" ] && case "$WIFI_KEY_TYPE" in 1.46 @@ -49,7 +57,8 @@ 1.47 priority=5 1.48 } 1.49 EOF 1.50 - wpa_supplicant -B -w -c/tmp/wpa.conf -D$DRIVER -i$WIFI_INTERFACE 1.51 + echo -n "starting wpa_supplicant, for WPA-PSK" 1.52 + wpa_supplicant -B -w -c/tmp/wpa.conf -D$WPA_DRIVER -i$WIFI_INTERFACE 1.53 ;; 1.54 any|ANY) cat > /tmp/wpa.conf <<EOF 1.55 ap_scan=1 1.56 @@ -63,13 +72,17 @@ 1.57 priority=5 1.58 } 1.59 EOF 1.60 + echo -n "starting wpa_supplicant for any key type" 1.61 wpa_supplicant -B -w -c/tmp/wpa.conf -D$WPA_DRIVER -i$WIFI_INTERFACE 1.62 ;; 1.63 esac 1.64 + rm -f /tmp/wpa.conf 1.65 [ -n "$WIFI_CHANNEL" ] && IWCONFIG_ARGS="$IWCONFIG_ARGS channel $WIFI_CHANNEL" 1.66 + echo -n "configuring $WIFI_INTERFACE..." 1.67 ifconfig $WIFI_INTERFACE up 1.68 iwconfig $WIFI_INTERFACE txpower on 1.69 iwconfig $WIFI_INTERFACE essid $WIFI_ESSID $IWCONFIG_ARGS 1.70 + status 1.71 INTERFACE=$WIFI_INTERFACE 1.72 fi 1.73 fi