This guide describes the Nanoradio NRX API, an easy-to-use application interface that provides access to most standard WLAN configuration functions and all Nanoradio specific functions of the Nanoradio WLAN Host Driver and NRX700. See Host Environment Architecture for an overview of the Nanoradio environment.
Normally, the easiest and
most common way to use a WLAN driver from a Linux application is to use the Wireless Tools programs (iwconfig,
iwlist, etc), either directly, through scripts or combined in a
state machine application to create autonomous configuration and connection. When WPA authentication is required a WPA Supplicant is also used. And when
Wi-Fi Protected Setup is required a WPS
Supplicant must be used.
Most of the typical WLAN configuration and
operation on Linux can also be done through the Wireless Extensions API, which gives a more fine-grained control of
the WLAN device than what is offered by the Wireless Tools. The Wireless
Extensions is the de-facto standard interface for 802.11 device control in
Linux with native support in all modern kernels. Different distributions and
versions of Linux support different versions of Wireless Extension API. The
mechanism used for making requests from the application to the driver is IOCTL
calls. The Wireless Extension API is implemented as a thin adaptation layer
above WiFi Engine, the “Wireless Extensions ADL”.
The NRX API is a robust and easy-to-use
extension to the Wireless Extensions API to be used as the primary
configuration method for the Nanoradio Linux WiFi networking driver. The
Wireless Extensions may not offer support for all features available because it
is specific to the Nanoradio chipset or because the feature is too new. The NRX
API supports all the advanced features of the Nanoradio NRX700 and will
continuously be extended as new features become available.