How detecting the Wifi area my iwi0 is in?
Matthias Apitz
m.apitz at oclcpica.org
Mon Jul 16 12:04:03 UTC 2007
El día Monday, July 16, 2007 a las 12:50:24PM +0300, Dennis Melentyev escribió:
> Hello Mattias,
>
> Have you tried wpa_supplicant for this? It can perfectly autodetect
> networks for me (office/home). With iwi driver on 7.0-CURRENT-200706
> snapshot (HP/Compaq nc8230).
Hello Dennis,
In some of the offices I'm as well using wpa_supplicant, at home
I have only WEP (maybe this would work as well with wpa_supplicant,
I've never tried it and just putting the wepkey with ifconfig into
the interface); but all this is more complex then just doing the
association, because I have also (sometimes) use a dedicated IP
addr, sometimes I must fetch it with DHCP, and/or have to set other
network related files accordingly (/etc/hosts, /etc/resolv.conf
and others); thats why my idea was having a script in
/usr/local/etc/rc.d/wlan.sh with the logic like:
#!/bin/sh
ifconfig iwi0 scan
ifconfig iwi0 list ap | fgrep -q office1 && wifi=office1
ifconfig iwi0 list ap | fgrep -q office2 && wifi=office2
ifconfig iwi0 list ap | fgrep -q office3 && wifi=office3
#....
#
# switch IP layout: office1 / office2 / ... based on ${wifi}
#
case ${wifi} in
office1) printf "Found Wifi 'office1' ... " ;
cat /home/guru/sys/hosts.office1 > /etc/hosts
cat /home/guru/sys/resolv.conf.office1 > /etc/resolv.conf
cat /home/guru/sys/nsswitch.conf.office1 > /etc/nsswitch.conf
route delete default > /dev/null
ifconfig bge0 down
ssid=office1
wepkey=xxxxxxxxxxxxxxxxxxxxxxxxxx
inet=192.168.2.3
netmask=0xffffff00
ifconfig iwi0 inet ${inet} \
netmask ${netmask} \
ssid ${ssid} \
wepkey ${wepkey} \
channel 9 weptxkey 1 wepmode on
ping -c3 -o smc
route add default 192.168.2.1 > /dev/null
printf "... done.\n" ;
;;
office2) printf "Found Wifi 'office2' ... " ;
route flush > /dev/null
route delete 193.31.10.32/27 > /dev/null
wpa_supplicant -B -i iwi0 -c /etc/wpa_supplicant.conf
# let the WPA client come up and init the iwi0 interface
sleep 1
ifconfig iwi0 inet 193.31.10.34 netmask 255.255.255.224
route add default 193.31.10.58 > /dev/null
cat /home/guru/sys/hosts.office2 > /etc/hosts
cat /home/guru/sys/resolv.conf.office2 > /etc/resolv.conf
cat /home/guru/sys/nsswitch.conf.office2 > /etc/nsswitch.conf
# ....
I'm clearer now what I want to do?
matthias
--
Matthias Apitz
Manager Technical Support - OCLC PICA GmbH
Gruenwalder Weg 28g - 82041 Oberhaching - Germany
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e <m.apitz at oclcpica.org> - w http://www.oclcpica.org/ http://www.UnixArea.de/
b http://gurucubano.blogspot.com/
OCLC PICA GmbH, Geschaeftsfuehrer: Christine Magin-Weeger, Norbert Weinberger
Sitz der Gesellschaft: Oberhaching, HRB Muenchen: 113261
More information about the freebsd-mobile
mailing list