Wireless NIC in FreeBSD 6.0 ?
Yuan Jue
yuanjue02 at gmail.com
Tue Dec 27 17:54:22 PST 2005
On Tuesday 27 December 2005 00:12, Giorgos Keramidas wrote:
> On 2005-12-26 11:07, Yuan Jue <yuanjue02 at gmail.com> wrote:
> > instead, I figure out another way to work around.
> >
> > 1.ifconfig bge0 delete
> > % this would shut my local NIC down totally
> >
> > 2.kldload if_ath
> > dhclient ath0
> >
> > then I can enjoy the wireless internet surfing :)
> >
> > antway, thank you again!
>
> FWIW,
>
> On my laptop, which has to switch between a couple of wireless networks and
> my local LAN at home, I use custom shell scripts called ``/root/net/*.sh''
> to encapsulate the changes I'd have to manually make.
>
> I have prepared working sets of files, like:
>
> /etc/resolv.conf_home
> /etc/resolv.conf_work
>
> and then run /root/net/home.sh which contains:
>
> #!/bin/sh
>
> if test -n "$1" && test -f "/root/netstart-home-$1.sh" ; then
> mode="$1"
> else
> mode=wlan
> fi
>
> echo "## Stopping local services"
> /etc/rc.d/named stop
> /etc/rc.d/sendmail stop
>
> echo "## Setting up /etc and /usr/local/etc files"
> (
> cd /etc;
> cp resolv.conf_home resolv.conf;
> cp dhclient.conf_home dhclient.conf;
> cp namedb/named.conf_home namedb/named.conf;
>
> cd /usr/local/etc/postfix;
> cp main.cf_home main.cf;
> )
>
> echo "## Bringing up the network connection"
> "/root/net/netstart-home-${mode}.sh"
>
> echo "## Refreshing the firewall rules"
> /etc/rc.d/pf reload
>
> echo "## Starting local services again"
> /etc/rc.d/named start
> /etc/rc.d/sendmail start
>
> The real work is done by netstart-home-wlan.sh or netstart-home-wlan.sh.
> The wlan script is the one that sets up a wireless connection, and
> contains:
>
> #!/bin/sh
>
> # Default setup for my bge0 interface.
> export ifconfig_ath0="DHCP ssid 'gker' \
> wepmode on weptxkey 1 wepkey
> '1:0xXXXXXXXXXXXXXXXXXXXXXXXXXX'" export defaultrouter="192.168.1.2"
>
> /etc/rc.d/netif stop bge0
> /etc/rc.d/netif stop ath0
>
> echo -n "Waiting for ath0 to associate "
> _timeout=0
> _associated=NO
> while [ "$_timeout" -lt 30 ]; do
> status=$( ifconfig ath0 2>&1 | grep status: |\
> awk '{print $2}' )
> if [ X"${status}" = X"associated" ]; then
> _associated=YES
> break
> fi
> echo -n '.'
> sleep 1
> _timeout=$(( $_timeout + 1 ))
> done
> if [ X"${_associated}" = X"YES" ]; then
> echo " ok"
> else
> echo ''
> echo "Failed to bring up ath0. Aborting."
> /etc/rc.d/netif stop ath0
> exit 1
> fi
>
> #
> # The default route may be pointing to another interface. Find out
> # the IP address of the default gateway, delete it and point to the
> # default gateway of my home network.
> #
> if [ -n "${defaultrouter}" ]; then
> _oldrouter=`netstat -rn | grep default | awk '{print $2}'`
> if [ -n "${_oldrouter}" ]; then
> route delete default "${_oldrouter}"
> unset _oldrouter
> fi
> route add default "$defaultrouter"
> fi
>
> This seems to work remarkably well so far. All I need to do once the
> laptop boots is to log in as root and run the proper /root/net/*.sh script
> :)
thanks for your shell scripts. it is very appreciated.
thanks again :)
--
Best Regards.
Yuan Jue
More information about the freebsd-questions
mailing list