slitaz-tools rev 256
netbox: fix essid detection (2)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Jul 19 21:02:33 2008 +0200 (2008-07-19) |
parents | 87842dc336d6 |
children | 2a9ff6288248 |
files | tinyutils/netbox |
line diff
1.1 --- a/tinyutils/netbox Sat Jul 19 15:12:30 2008 +0000 1.2 +++ b/tinyutils/netbox Sat Jul 19 21:02:33 2008 +0200 1.3 @@ -28,17 +28,17 @@ 1.4 1.5 # Detect WIFI_INTERFACE and update /etc/network.conf 1.6 . /etc/network.conf 1.7 -if ! iwconfig $WIFI_INTERFACE 2>&1 | grep -iq "essid"; then 1.8 - WIFI_INTERFACE=$(grep : /proc/net/dev | cut -d: -f1 | \ 1.9 - while read dev; do iwconfig $dev 2>&1 | \ 1.10 - grep -iq "essid" && { echo $dev ; break; }; \ 1.11 - done) 1.12 +if [ ! -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then 1.13 + WIFI_INTERFACE=$(for i in /sys/class/net/*/wireless; do \ 1.14 + [ -d $i ] && echo $(basename $(dirname $i)) || echo wlan0; \ 1.15 + break; done) 1.16 [ -n "$WIFI_INTERFACE" ] && sed -i "s/^WIFI_INTERFACE=.*/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" /etc/network.conf 1.17 fi 1.18 1.19 ESSIDS="" 1.20 # Detect ESSID list 1.21 -if iwconfig $WIFI_INTERFACE 2>&1 | grep -iq "essid"; then 1.22 +if [ -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then 1.23 + ifconfig $WIFI up 1.24 for i in $(iwlist $WIFI_INTERFACE scanning | grep "ESSID" | \ 1.25 grep -v "<hidden>" | sed -n 's/ESSID:"//p' | sed -n 's/"//p'); do 1.26 ESSIDS="$ESSIDS<item>$i</item>" 1.27 @@ -218,11 +218,8 @@ 1.28 <combobox> 1.29 <variable>INTERFACE</variable>' 1.30 . /etc/network.conf 1.31 -NET_BOX="$NET_BOX<item>$INTERFACE</item>$( 1.32 -grep : /proc/net/dev | cut -d: -f1 | while read dev; do 1.33 - [ "$(echo $dev)" = "$INTERFACE" ] && continue 1.34 - echo "<item>$dev</item>" 1.35 -done)" 1.36 +NET_BOX="$NET_BOX<item>$INTERFACE</item>$(for dev in $(ls /sys/class/net); do 1.37 + echo "<item>$dev</item>"; done)" 1.38 tmp=' </combobox> 1.39 </hbox> 1.40 </frame>