Saturday, April 14, 2012

What happens in a Linux sysctl call? What is sysctl?

Sysctl interface is a mechanism exported under the proc file system at /proc/sys. This interface allows you to read and change the current running configuration of the Linux kernel. Typically, this involves reading and writing files under the /proc/sys virtual file system.

802.11n Dynamic MIMO power save mode

Dynamic MIMO power save is used by 802.11n radios for power saving across multiple tx-rx chains.
Running multiple radio chains increases power consumption, and also increase the achievable data rate by a larger amount. However, it is not useful to have all chains available all the time. So this mechanism is useful in shutting unused chains to conserve power. So for example if a receiver is only receiving beacons from an AP and not doing anything else, running two chains will  not be useful.

Hence, if the client is operating in a conservative battery mode, it could downshift to a minimal 1x1 configuration by negotiation with the AP. The AP can activate the full MIMO mode in the client by sending an RTS (request to send) frame. This mode is optional in the 802.11n standard.

Debugging and detecting 802.11n MIMO power save: 
If your wireless trace shows low throughput performance and a lot of RTS packets sent from the AP to the client, it could be indicative of this power save scheme being in use. To change this setting, change the power manager settings on the client to prevent this from being used. I have observed this a a lot with Intel3600 client chipsets working with Atheros AP chipsets.

Recent studies have also suggested that it may not be always advantageous to use SMPS at the client since in some cases the receiver can end up spending more energy irrespective.

Difference between dynamic mimo PS and SMPS
+ This power save mechanism is also referred to as spatial multiplexing power save (SMPS).
+ This is also available on all newer WLAN technologies such as 802.11ac