As already explained at wireless.overview the Linux IEEE 802.11 subsystem is fragmented. The available tools depend entirely on your driver. Wireless devices have an API different from that of Ethernet devices because the specifications of IEEE 802.11 regulate quite precisely the whole communications process, so it makes sense to NOT implement this requirements in each driver but only once for all drivers and also because there is the problem of the diverging frequency regulations world wide.
iwinfo is a CLI frontend to the custom library, which assembles information from various places. It is also used by LuCI
iwinfo wlan0/wl0/ath0 assoclist
iw dev <devname> interface add <name> type <type> [mesh_id <meshid>] [4addr on|off] [flags <flag>*]
Valid interface types are: managed, ibss, monitor, mesh, wds. See →wireless modes
The flags are only used for monitor interfaces, valid flags are: none, fcsfail, control, otherbss, cook
iw phy <phyname> interface add <name> type <type> [flags <flag>*]
iw reg get
iw dev wlan0 station dump
iw reg set XX
ath9k driver (and all other softmac drivers?) sets its own regulatory restrictions based on its EEPROM, i.e. the ART (Atheros Radio Test) partition on flash. Setting the domain from userland can only further restrict the regulatory settings. So if EEPROM says Japan, you can use all 14 channels, if you then set it to US, you can use merely the 12. It does not work the other way around, i.e. if EEPROM says US, you only can use the allowed 12 channels, no matter what you set in userspace! The value
98 represents a synthesized regulatory domain, based on the intersection of the available source of regulatory information (which can include the EEPROM, the userland setting, and a country IE from your AP).
Due to this, the old method of issuing
iwconfig <wireless interface> mode master no longer works. Userspace programs like hostapd now use netlink (the nl80211 driver) to create a master mode interface for your traffic and a monitor mode interface for receiving and transmitting management frames.
Is a hostapd + wpa_supplicant multicall binary.
Are stripped down versions without OpenSSL dependency.
|hostapd||232.885|| This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS Authenticator.
|hostapd-utils||10.198||This package contains a command line utility to control the IEEE 802.1x/WPA/EAP/RADIUS Authenticator.|
|hostapd-mini||134.598||This package contains a minimal IEEE 802.1x/WPA Authenticator (Alles Version: 20110527-2)|
|wpad||355.463||This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS Authenticator and Supplicant|
|wpa-cli||19.887||WPA Supplicant command line interface|
|wpad-mini||203.085||This package contains a minimal IEEE 802.1x/WPA Authenticator and Supplicant (WPA-PSK only).|
|wpa-supplicant-mini||111.984||WPA Supplicant (minimal version)|
|libnl-tiny||13.529||This package contains a stripped down version of libnl; all packages in hostapd depend on it|
|libnl||107.504||This package contains a library for applications dealing with netlink sockets|
|xsupplicant||122.996||This software allows a host to authenticate with a RADIUS server using 802.1x and various EAP protocols.|
Also see atheros.and.generic.mac80211.wifi
wpad-miniis the base system with only WPA(2)-PSK authentication.
wpadsupports IEEE 802.1x/WPA/EAP/RADIUS (adds the 'WPA supplicant' package with OpenSSL library)
hostapd-utilsjust adds a small hostapd_cli command line tool for messaging with the daemon.
/usr/sbin/hostapd → wpad.
wpa_supplicantdecreased size of
wpad-package from ~365 KiB to ~286 KiB. Turning off debugging for hostapd did nothing. Because it's a different binary, not included in
wlanconfig ath0 list sta
wl assoclist wl sta_info macaddr