Contributor
Jonas Jelonek

TX-Power Control in WiFi Networks


Mentors
Bluse-Blue, tabas
Organization
freifunk
Technologies
Ansi C
Topics
wireless communication, linux kernel, TX-Power Control, WiFi networks
Wireless communication and in particular WiFi networks are becoming more and more important. Research already focuses on improving reliability, performance of such networks and also efficiency of the underlying hardware. One promising candidate for improvements is TX-Power Control (TPC). Adjusting the transmit power per packet basically promises improvements in overall throughput in wireless networks and/or the efficiency by improved resource allocation in wireless networks. Dated back to 2007, Atheros IEEE 802.11a/b/g/n chipsets driven by ath5k and ath9k Linux drivers did first and Mediatek joined recently with hardware support for tx-power control. Those also allow access to set the tx-power per packet, but yet do not provide a driver interface for this. Unfortunately, also the mac80211 subsystem, which is responsible for WiFi communication in the Linux kernel, does not provide an appropriate API to support TPC and per-packet annotation of tx-power. The goal of this project is to implement the missing three-tier software parts: (1) mac80211 structs to annotate tx-power levels per packet, (2) mac80211 structs to account tx-power status information once transmitted and (3) a transmit power control (TPC) API for TPC algorithms. This is achieved by developing and implementing the required structs in the mac80211 subsystem, modifying Linux WiFi drivers to make use of this API, and testing and validating the implementation in several experiments.