atheros wireless setup

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Dec 16 08:21:28 PST 2005


On 2005-12-15 22:34, Jim Pazarena <fquest at ccstores.com> wrote:
> I can't believe how incredibly easy it was to get
> the wireless going in my laptop.
>
> add:  if_ath_load="YES"   to /boot/loader.conf
>
> and:   ifconfig_ath0="dhcp"   to /etc/rc.conf
>
> and it "works" !
>
> please tell me where I can read up on how to "control" the wireless
> link. Such as how to enter the "SSID", and connect speed etc.

I started by reading this Handbook section:

    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-wireless.html

One thing that you may want to note, if you are not *ALWAYS* around a
known wireless network, is that making changes to /etc/rc.conf may cause
the startup process to print harmless, but annoying nevertheless,
warnings when ath0 is down.  This is especially true if your wireless
NIC is not on-board, but a PC-CARD that you sometimes use (like mine).

In this case, you can 'override' the /etc/rc.conf settings by making a
small shell script like this (almost identical to the one I use to bring
up ath0 on my laptop):

     1 | export ifconfig_ath0="inet DHCP ssid 'XXXXXX' \
     2 |     wepmode on weptxkey 1 wepkey '1:0xXXXXXXXXXXXXXXXXXXXXXXXXXX'"
     3 |
     4 | /etc/rc.d/netif stop          # Stop all other interfaces.
     5 | /etc/rc.d/netif start ath0            # Bring up ath0.
     6 | if test $? -eq 0 ; then
     7 |     echo >&2 "ath0: ERROR: Could not bring up interface."
     8 |     exit 1
     9 | fi
    10 |
    11 | echo -n "Waiting for ath0 to associate "
    12 | _timeout=0
    13 | _associated=NO
    14 | while [ "$_timeout" -lt 30 ]; do
    15 |     status=$( ifconfig ath0 2>&1 | grep status: |\
    16 |               awk '{print $2}' )
    17 |     if [ X"${status}" = X"associated" ]; then
    18 |             _associated=YES
    19 |             break
    20 |     fi
    21 |     echo -n '.'
    22 |     sleep 1
    23 |     _timeout=$(( $_timeout + 1 ))
    24 | done
    25 | if [ X"${_associated}" = X"YES" ]; then
    26 |     echo " ok"
    27 | else
    28 |     echo ''
    29 |     echo >&2 "ath0: ERROR: Timed out while waiting to associate."
    30 |     /etc/rc.d/netif stop ath0
    31 |     exit 1
    32 | fi

By setting ifconfig_ath0 in the script itself (see lines 1-2), you don't
have to modify `/etc/rc.conf'.  The /etc/rc.d/netif script will be happy
by simply finding the appropriate stuff in its running environment :-)

I hope this helps,

- Giorgos



More information about the freebsd-questions mailing list