Blog posts

2023

GSoC ‘23: Final Report on Joint Power and Rate Control in Userspace

less than 1 minute read

Published:

The final GSoC ‘23 report presents the completed joint power and rate controller, inspired by Minstrel-Blues. The controller selects rates using a utility function balancing throughput and interference cost, while dynamically adjusting reference and sample power levels based on success probability thresholds. Experiments on TP-Link WDR4900 routers (ATH9K, UDP via iperf3) and a MacBook Pro station (TCP via Flent) showed consistent 10-25% throughput improvements over kernel Minstrel-HT — even in single-link setups — attributed to better aggregation decisions and dynamic power selection. Future work targets multi-AP spatial reuse experiments and an independent power controller for newer closed-source WiFi chips.

GSoC ‘23: Midterm Report on Joint Power and Rate Control in Userspace

less than 1 minute read

Published:

The midterm report covers two workstreams. First, a passive variant of py-minstrel-ht was developed to validate that user space rate selection matches the kernel Minstrel-HT — running alongside the kernel algorithm and comparing MRR chain decisions. Multiple bugs were identified and fixed, bringing error rates below 0.5% across all MRR positions. Second, the proposed joint power and rate controller is introduced: it uses a utility function that trades off throughput against interference cost to select rates, and tracks safe and optimal power levels per rate through cyclic power sampling.

GSoC ‘23: Joint Power and Rate Control in Userspace for Freifunk OpenWrt Mesh & Access Networks

less than 1 minute read

Published:

This post introduces the GSoC ‘23 project on joint power and rate control in user space. While rate control algorithms like Minstrel-HT optimize transmission rates, they typically use a fixed high power level that causes unnecessary interference in dense networks. The project extends the existing py-minstrel-ht package with a power tuning module that finds the lowest power level still delivering peak throughput. Three modes are planned: fixed power, power ceiling, and maximum throughput. The post provides background on the WPCA API that enables joint rate and power setting from user space.

2022

Final Report on Minstrel TX Rate Control in User space – GSoC ‘22

less than 1 minute read

Published:

The final GSoC ‘22 report details all contributions to the user space Minstrel HT. New kernel functions were ported including dynamic retransmission calculation, sudden-death detection, and spatial stream reduction. The codebase was restructured into separate minstrel and sample modules, significantly reducing computation time. A rate-setting experiment framework was built to validate rate control behavior on real hardware. Additionally, a user space implementation of the Sample Rate algorithm (Bicket, 2005) was developed as a standalone Python package. All initial goals were met and exceeded.

Update on Minstrel TX Rate Control in User space – GSoC ‘22

less than 1 minute read

Published:

The midterm report covers three main additions to the user space Minstrel HT. First, two new estimators were implemented: the Butterworth filter (now used by the kernel) and an Exponentially Discounted Averaging filter for research. Second, the output was redesigned to match the kernel debug format, producing human-readable rate statistics tables and CSV files for offline analysis. Third, a configuration module was added to let users tune filter parameters and rate control properties. The post concludes with a first analysis comparing the three filters on real WiFi hardware.

Minstrel TX Rate Control in User space – GSoC ‘22

less than 1 minute read

Published:

This introductory post for GSoC ‘22 covers the motivation and plan for implementing Minstrel HT — Linux’s default WiFi rate control algorithm — in user space for OpenWRT access points. Development in kernel space is restricted (no floating-point, high crash risk, limited debugging), making a Python-based user space variant valuable for research and experimentation. The post introduces the WiFi-Manager package and outlines the planned deliverables: a fully functional user space Minstrel HT with documentation, demo scripts, and performance comparisons against the kernel variant.