Tuesday, September 11, 2018

WiFi: Difference between 802.11ac VHT Capabilities and Operation IE MCS

This is a common question that frequently leads to confusion.

Please read this brief app note for clarification: PDF

Monday, February 19, 2018

WiFi: A Short Introduction to 802.11ax

Citation info:
Gautam Bhanage, "A Short Introduction to 802.11ax", Technical report GDB2018-001, published at bhanage.com, 2018

Download PDF
802.11ax support for Uplink MU-MIMO

Who should read these?
At the time of writing this blog post the 802.11ax standard is in the process of getting ratified and we are at the version 2.0. Are you intrigued about what makes this standard different from the previous 802.11ac standard?

Download PDF of the TR.

Disclosure:
Slides from a talk I recently presented on 802.11ax technology.
These slides are purely based on my reading of the standards and other free documents available on the internet.
Copyright for the images are held by the owners. I have only used the ones which were labeled for reuse.

Tech report: GDB2018-001

Wednesday, December 6, 2017

Linux: Why use MSI over the GIC mechanism (Brief)

MSIs are implemented as a write from the device rasising the interrupt to a special memory location which causes raising of the MSI.

Two main reasons to consider MSI over PICs:

1. Speed: Pin based PCI interrupts are usually shared across devices and hence we would typically need to invoke each associated interrupt handler. MSIs are not shared so this does not arise.
Another case is that PCI can only support single interrupt per function. In this case drivers have to explicitly check what event happened (e.g. tx done, rx etc for a single MAC interrupt in case of Wifi radios). Using MSI, there could be a dedicated interrupt for each type of event (from the MAC).


2. Consistency: In case of pin based interrupts, the interrupt may be raised before the complete data has arrived in memory. There are ways to work around this. However, in case of MSIs this is not a concern since MSI writes cannot pass data writes on the bus.

Reference:
Linux Kernel Documentation - https://www.kernel.org/doc/Documentation/PCI/MSI-HOWTO.txt

Wednesday, July 19, 2017

WiFi: PER based adaptive AMSDU aggregation worth the effort?

This has been a lingering question. A lot of studies (including one of ours) in the past has delved into the support for AMSDU aggregation - and the ability to consider PER as a factor for adaptively controlling AMSDU aggregation. But is it worth the computational effort? Can this be simplified by making AMSDU aggregation static and using other mechanisms for limiting PER?

Monday, June 19, 2017

WiFi: Load balancing through probe response control

Basic Idea:
Clients use probe requests as one of the first frames before connecting to an access point (AP). If the AP does not respond with a probe-response frame, the client will not proceed with the connection. We leverage this condition to control how clients are distributed across multiple access points in the network. This approach to client - balancing has the advantage that:
1. Load both RF and CPU are balanced across the APs.
2. No disconnect/connect is required for load balancing.
3. Leverages the fact that typical WLAN mobility is pseudo-static. So clients will not move significantly from the places where they connect. Even in case of mobility, the disruption is minimal.