USERNAME PASSWORD LOST PASSWORD? REGISTER
"A Complete Mobile Application Development Environment"
Advertisement

Downloads
Documentation
Forums
Blog
Press
Contact Us




Wireless Network Communications PDF Print E-mail
Documentation »  ACCESS Linux Platform Native Development »  Networking Guide »  Wireless Network Communications

The ACCESS Linux Platform Wi-Fi radio reference design is an 802.11g radio. The Wi-Fi components bring up Wi-Fi under ACCESS Linux Platform, providing support for the latest security and simple connectivity to the WLAN network.

Wi-Fi Architecture ^TOP^

The following diagrams illustrate the components of the Wi-Fi middleware framework and the platform user interface architecture.

Figure 4.1  Wi-Fi Middleware Framework

  • Wi-Fi Library: Functions used by applications requiring Wi-Fi services.
  • Wi-Fi Connection Manager plug-in: Central component that manages boot initialization, connections, and kernel driver controls.
  • Wi-Fi Interface: Hardware component customizable by licensees.
  • WPA Supplicant: Open-source component used for connections

Figure 4.2  Platform User Interface Architecture

  • Wi-Fi Flight Enabler: Interface between the Wi-Fi radio and the Flight Mode/All Wireless Off feature.
  • Wi-Fi UI Library: Functions used to create the user interface of applications that use Wi-Fi services.

Wi-Fi Middleware Library ^TOP^

The Wi-Fi Middleware Library is made up of two main parts: Wi-Fi Radio Services and Wi-Fi Connection Services. This library is linked to the Connection Manager Client Library.

Wi-Fi Radio Services ^TOP^

Wi-Fi Radio Services rely on the following types of calls:

  • ioctl calls from the Wireless Kernel API, for radio information and scanning results
  • Connection Manager control calls to the plug-in for other services, particularly the On/Off Wi-Fi feature, power management, and Wi-Fi scan start. The ioctl calls for these services are done in the Wi-Fi Connection Manager Plug-in or in the Wi-Fi Interface Library.

Wi-Fi Connection Services ^TOP^

Wi-Fi Connection Services rely on the Connection Manager. Connection Manager interactions often use the Wi-Fi Connection profile. Wi-Fi Connection Services also manages a list of favorite networks. Each favorite network is saved in the Connection Manager database as a profile, and has the following structure:

NetWifi/IPIF:IPvs=4/Wifi:Ssid='MyEssid',WEnc=0

Every access point of a favorite network that has been successfully connected is added to the database. A network's access points are associated with the favorite network in the database.

Wi-Fi Connection Manager Plug-in ^TOP^

The Wi-Fi Connection Manager plug-in operates in three phases: startup, connection, and control.

Startup ^TOP^

At startup, the Wi-Fi Connection Manager plug-in loads the Wi-Fi interface library specific for the target (e.g., /opt/share/wifi/libalp_wifi_targetname.so). With information from the target's interface library, a RAW file is put in the system's /tmp directory as the current Wi-Fi context, which includes required information about the Wi-Fi radio on the device.. Subsequently, the Wi-Fi radio is turned off.

Connection ^TOP^

The Wi-Fi Connection Manager plug-in attempts to obtain a connection by performing these steps in the following order:

  1. Retrieves parameters for a specific network from that network's Connection Manager profile. The plug-in then searches a database of "favorite" networks (i.e., a network to which the device has previously connected) to retrieve WEP or WPA keys required to connect to the network. .
  2. Connects to the network whether it is a favorite or not. If the network is not a favorite, the user must supply any required WEP or WPA keys. This scenario is used when the application calls alp_wifi_connect() from the Wi-Fi library. If no network is specified in the function parameters, the plug-in scans the area and searches for a favorite network to connect to.
  3. If there is no cached network found, the plug-in sends the scanning results to the Connection Progress dialog, where the information is displayed to the user.

When searching for a favorite network, the MAC address of the access point is searched first, and the ESSID is searched second. If the connection is successful at the Wi-Fi level, the network and its associated access point is added to the database of favorite networks. The connection itself is completed by the open-source component wpa_supplicant, described in "WPA Supplicant".

Control ^TOP^

The plug-in controls the setting of parameters to the Wi-Fi driver, such as turning the radio on and off, starting a new scan, and establishing power management settings.

Wi-Fi Interface Library ^TOP^

The Wi-Fi Interface set of APIs is a small library that is written for each type of Wi-Fi hardware. The library is loaded at boot time by the Wi-Fi Connection Manger plug-in. The Wi-Fi Interface library must provide the following information, which is supplied by the licensee:

  • the interface name (e.g., eth1, wlan0, ... )
  • the security mode that is supported by the Wi-Fi hardware or kernel driver
  • the bit rate norms that are supported by the Wi-Fi hardware or kernel driver (e.g., a/b/g ...)
  • the signal strength table to translate the raw signal returned by the driver into 0-4 bars
  • a callback function for turning the Wi-Fi radio on and off

WPA Supplicant ^TOP^

The WPA supplicant component handles all major Wi-Fi security modes, including Open, WEP, and WPA/WPA2 Personal/Enterprise. The component does not make direct ioctl calls to the kernel itself. Rather, it uses a driver wrapper. Each driver must have its own wrapper in wpa_supplicant or the driver should support the generic wrapper.

The WPA Supplicant component only runs as a daemon when a connection is active. Data and connections are embedded in the Connection Manager.

Wi-Fi User Interface Library ^TOP^

The Wi-Fi User Interface library uses the Wi-Fi Middleware Library, GTK, and libglade to provide the following user interface services:

  • Wi-Fi scanning dialog that displays a list of discovered access points and a refresh button (alp_wifi_ui_display_scan())
  • On/Off dialog for enabling or disabling Wi-Fi services on a device (alp_wifi_ui_display_turn_on_warning())
  • Low-power warning dialog that appears when a user attempts to turn on Wi-Fi and battery power is limited (alp_wifi_ui_display_low_battery_warning())

These functions are described in more detail in the SDK Doxygen-generated Reference material documenting the public APIs within ACCESS Linux Platform.

Wi-Fi Flight Mode Enabler ^TOP^

The "flight mode" feature of a Wi-Fi application allows a user to quickly and easily turn off the Wi-Fi radio on a device. The ACCESS Linux Platform Wi-Fi Flight Mode Enabler is a simple component that can start and stop the host wireless module, provide the name of the module, or the module's state. The enabler uses only the Wi-Fi Library of APIs.

 

Add as favourites (273) | Quote this article on your site | Views: 4385

Be first to comment this article
RSS comments

Only registered users can write comments.
Please login or register.

Powered by AkoComment Tweaked Special Edition v.1.4.6
AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com
All right reserved

 


© 2009 ACCESS Developer Network    |    Joomla! is Free Software released under the GNU/GPL License.    |    ACCESS Global Website
Events Support Community Platforms Home