802.11 a/b/g Wi-Fi Support
Wi-Fi capability is built into the two hc variants of the stack ( io-pkt-v4-hc and io-pkt-v6-hc ). The NetBSD stack includes
its own separate 802.11 MAC layer that's independent of the driver. Many other implementations pull the 802.11 MAC inside
the driver; as a result, every driver needs separate interfaces and configuration utilities. If you write a driver that conforms
to the stack's 802.11 layer, you can use the same set of configuration and control utilities for all wireless drivers.
NetBSD 802.11 layer
The net80211 layer provides functionality required by wireless cards. The code is meant to be shared between FreeBSD and NetBSD, and you
should try to keep NetBSD-specific bits in the source file ieee80211_netbsd.c (likewise, there's ieee80211_freebsd.c in FreeBSD).
Using Wi-Fi with io-pkt
When you're connecting to a Wireless Network in Neutrino, the first step that you need to do is to start the stack process
with the appropriate driver for the installed hardware.
Connecting to a wireless network
For the general case of connecting to a Wi-Fi network, we recommend that you use the wpa_supplicant daemon. It handles unsecure,
WEP, WPA, and WPA2 networks and provides a mechanism for saving network information in a configuration file that's scanned
on startup, thereby removing the need for you to constantly reenter network parameters after rebooting or moving from one
network domain to another. The information following covers the more specific cases if you don't want to run the supplicant.
Using a Wireless Access Point (WAP)
A Wireless Access Point (WAP) is a system that allows wireless clients to access the rest of the network or the Internet.
Your WAP will operate in BSS mode. A WAP will have at least one wireless network interface to provide a connection point for
your wireless clients, and one wired network interface that connects to the rest of your network. Your WAP will act as a bridge
or gateway between the wireless clients, and the wired intranet or Internet.