diff --git a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
index 18bc4821b0..126e4cc541 100644
--- a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -1075,7 +1075,7 @@ wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
- Clients
+ 802.11b ClientsAlmost all 802.11b wireless cards are currently supported
under FreeBSD. Most cards based on Prism, Spectrum24, Hermes,
@@ -1083,8 +1083,119 @@ wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
IBSS (ad-hoc, peer-to-peer, and BSS) mode.
-
+
+ 802.11a & 802.11g Clients
+
+ The &man.ath.4; device driver supports 802.11a and 802.11g.
+ If your card is based is based on an Atheros chipset, you may
+ be able to use this driver.
+
+ Unfortunately, there are still many vendors that do not
+ provide schematics for their drivers to the open source
+ community because they regard such information as trade
+ secrets. Consequently, the developers of FreeBSD and other
+ operating systems are left two choices-- develop the drivers by
+ a long and pain-staking process of reverse engineering or using
+ the existing driver binaries available for the
+ µsoft.windows; platforms. Most developers, including those
+ involved with FreeBSD, have taken the latter approach.
+
+ Thanks to the contributions of Bill Paul (wpaul), as of
+ FreeBSD 5.3-RELEASE there is "native"
+ support for the Network Driver Interface Specification
+ (NDIS). The FreeBSD NDISulator (otherwise known as Project Evil)
+ takes a &windows; driver binary and basically tricks it into
+ thinking it is running on &windows;. This feature is still
+ relatively new, but most test cases seem to work
+ adequately.
+
+ In order to use the NDISulator, you need three things:
+
+
+
+ Kernel sources
+
+
+ &windowsxp; driver binary
+ (.SYS extension)
+
+
+ &windowsxp; driver configuration file
+ (.INF extension)
+
+
+
+ You may need to compile the &man.ndis.4; mini port driver
+ wrapper module. As root:
+
+ &prompt.root; cd /usr/src/sys/modules/ndis
+&prompt.root; make && make install
+
+ Locate the files for your specific card. Generally, they can
+ be found on the included CDs or at the vendors' websites. In the
+ following examples, we will use
+ W32DRIVER.SYS and
+ W32DRIVER.INF.
+
+ The next step is to compile the driver binary into a
+ loadable kernel module. To accomplish this, as
+ root, go into the
+ if_ndis module directory and copy the
+ Windows driver files into it:
+
+ &prompt.root; cd /usr/src/sys/modules/if_ndis
+&prompt.root; cp /path/to/driver/W32DRIVER.SYS ./
+&prompt.root; cp /path/to/driver/W32DRIVER.INF ./
+
+ We will now use the ndiscvt utility to
+ create the driver definition header
+ ndis_driver_data.h to build the
+ module:
+
+ &prompt.root; ndiscvt -i W32DRIVER.INF -s W32DRIVER.SYS -o ndis_driver_data.h
+
+ The and options specify
+ the configuration and binary files, respectively. We use the
+ option because the
+ Makefile will be looking for this file when it
+ comes time to build the module.
+
+
+ Some &windows; drivers require additional files to operate. You
+ may include them with ndiscvt by using the
+ option. Consult the &man.ndiscvt.8; manual page
+ for more information.
+
+
+ Finally, we can build and install the driver module:
+
+ &prompt.root; make && make install
+
+ To use the driver, you must load the appropriate modules:
+
+ &prompt.root; kldload ndis
+&prompt.root; kldload if_ndis
+
+ The first command loads the NDIS miniport driver wrapper;
+ The second loads the actual network interface. Check
+ &man.dmesg.8; to see if there were any errors loading. If all
+ went well, you should get output resembling the
+ following:
+
+ ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
+ndis0: NDIS API version: 5.0
+ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
+ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
+ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
+
+ From here you can treat the ndis0 device
+ like any other wireless device (e.g. wi0) and
+ consult the earlier sections of this chapter.
+
+
+
+