2.  /*  Wi Fi On FreeBSD Made Easier */  by: Dual_Parallel  [www.oldskoolphreak.com]

I want to start this article by saying, up front, that I'm a n00b with BSD.
I tried FreeBSD 4.5 and couldn't get X to run properly (I know why now), so
I let it rest for some time.  But the allure was just too much.  I decided
to give FreeBSD 4.7 a shot.  I am so glad I did.
	FreeBSD has turned out to be stable, simple and extremely useful for
wireless exploration.  I say stable not only because I hear the same things
you do, about how Yahoo! is run on FreeBSD and FreeBSD has crushed uptime
records, but because I am running it on a PII 266 laptop (granted no X) and
have had no problems whatsoever.  Simple?  The simplest.  I am so impressed
that such a powerful operating system has made certain aspects so simple.
Ports for one thing.  Setting up wireless, another.  And not only was
wireless simple to implement, the things that can be done with FreeBSD, a
wireless NIC and the Net tools available will amaze you.
	As with my other Wi-Fi articles, I am going to walk you through, in
a straight-forward manner, setting up wireless on a FreeBSD laptop.  Also,
like my other articles, I will be concentrating on the Orinoco 802.11b NIC.
	To begin, insert your NIC and install FreeBSD.  Make sure to install
ncurses, the ports collection and Linux compatibility.  Whether it be Linux
or BSD, always install the development packages.  The next step was supposed
to include compiling the kernel to include wireless support.  But as you
will see, in 4.7 it's already done for you.
	Wireless support for specific chipsets must be compiled into the
FreeBSD kernel.  The kernel config file, /usr/src/sys/i386/conf/GENERIC,
must have the line "device wi" present and uncommented to include wireless
capability for the Orinoco card.  Again, this is the default in FreeBSD 4.7.
Next, there are a couple of config files to edit [1].
	In /etc/rc.conf, add the following lines.

pccard_enable="YES"
ifconfig_wi0="DHCP"
hostname="localhost"

Substitute a host name as desired.  The next file will be created in
/usr/local/etc/rc.d and will be called wireless.sh.  Add the following
lines.

sleep 7
wicontrol -p 1
wicontrol -n SSID
wicontrol -e 0
wicontrol -t 3
wicontrol -f 6
wicontrol wi0 -o

wicontrol is the Orinoco-specific, BSD equivalent of iwconfig.  One setting
of note is wicontrol -e 0, which disables WEP (and the subsequent absence
of wicontrol -k - the WEP key).  For the meaning of the remaining
settings, see the reference below.
	All that's left is the complicated task of... rebooting.  That's
it.  You have just set up wireless on your new FreeBSD box.  But you can't
just stop there.  Why not set up wardriving capability?
	Go to http://www.freebsd.org/ports and search for bsd-airtools
[2].  Download the tar.gz file and save it to /usr/ports/distfiles.  Untar
it and cd to the new directory.  Type make and then make install.  You now
have functioning, active, wardriving capability.  Specifically, dstumbler
has been installed in /usr/local/bin.  dwepcrack, dwepdump, dwepkeygen,
prism2ctl and prism2dump have also been installed, but do not concern the
Orinoco card (unless you are just cracking WEP with prism2-collected
packets).
	I have just begun to explore BSD and I am already amazed (just
look at the number of Net ports and you will see how much there is to
learn).  Try FreeBSD for yourself and see how enjoyable it really is.

[1] http://www.cs.berkeley.edu/~bira/freebsdwireless.html
[2] http://www.dachb0den.com/projects/bsd-airtools.html