Sunday, August 24, 2014

Protocol Stack in Wi-Fi Chipsets

Wi-Fi is found in various devices like Mobile phones, Laptops, Access points, TVs etc. The number of types of devices (or things) with Wi-Fi is set to grow with the advent of "Internet of Things". The various layers of the protocol stack in Wi-Fi devices are shown in the below figure. How are these layers implemented in different types of devices? What parts of the the protocol stack are implemented in Wi-Fi chipsets?

The protocol stack consists of the MAC, PHY, MLME, Supplicant (which handles security), Data Stack and Applications.

FullMAC and SoftMAC


Wi-Fi chipsets can be classified into two types based on whether they include the MLME or not.
The two types are "SoftMAC" and "FullMAC" (as defined by the Linux wireless community).

What is the advantage of having (or not having) the MLME in the Wi-Fi chipset?
MLME is MAC Sublayer Management Entity and takes care of various management procedures like Assocation, Authentication etc. MLME in the chip allows the host processor to save power by offloading certain functionality (most significant being roaming) to the chip. On the other hand, this can increase the cost (more memory, more processing etc) of the Wi-Fi chip.
"FullMAC" (why not FullMLME?) is suitable for battery powered mobile devices and "SoftMAC" is suitable for devices that are mains powered.

Another possible split is to have part of MLME in the chip and the rest outside. For e.g., the chip may handle beacons and probe request/response but not authentication and association.


FullStack

The classification of "Soft" and "Full" MAC can be applied to the Wi-Fi chipsets in almost all the usual (say laptops, Phones, Access Points) Wi-Fi devices. However, as Wi-Fi gets into more "things", the chipsets are also required to support more layers of the stack.
Consider the case of a wireless speaker that doesn't have its own processor. The Wi-Fi chipset itself could provide all the layers of the protocol stack. Two possible "FullStack" (Note: This is how I call it and is not a standard term) options are shown below.



Examples

The usual (do note that some implementations may vary) stack architecture in different types of devices is shown below with some examples.
Device Type Wi-Fi Chpset
Stack Architecture
Upper Layers of the Stack Chipset
Example(s)
Mobile Phone FullMAC Application Processor BCM4335 and other broadcom chipsets found in Smart phones
Laptop SoftMAC Application Processor Intel Wi-Fi chipsets for laptops
Home/Small Access Point SoftMAC Application Processor QCA9880
Enterprise (Light Weight)
Access Point
SoftMAC Wireless LAN Controller Chipsets in Cisco 3700 Aironet APs
Not clear who makes the Wi-Fi chipset/radio
Dumb things connected
to network/internet
FullStack No upper layers at all
(All layer in the chip)

or
A small processor/micro controller
in the "thing"
QCA4002 and QCA4004