Skip to content

mirland/rrpaa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

 
                              ██████╗ ██████╗ ██████╗  █████╗  █████╗ 
                              ██╔══██╗██╔══██╗██╔══██╗██╔══██╗██╔══██╗
                              ██████╔╝██████╔╝██████╔╝███████║███████║
                              ██╔══██╗██╔══██╗██╔═══╝ ██╔══██║██╔══██║
                              ██║  ██║██║  ██║██║     ██║  ██║██║  ██║
                              ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝

This repository contains the development of the rate & power controller Robust Rate Adaptation Algorithm (RRPAA) for ath9k drivers. It adds the RRPAA algorithm to the Linux mac80211 subsystem and it also updates the driver ath9k in order to be consistent with the new algorithm. It is based on the RRPAA algorithm specification defined on "IEEE 802.11 parameters adaptation for Performance enhancement in high density Wireless networks" master thesis by Matías Richart.

The code was made in 2 steps:

  1. Adding power support to Linux mac80211 subsystem.
  2. Adding the implementation of the RRPAA algorithm.

The first step is based on the code generated by Thomas Hühn in his Mintrel Blues rate & power controller implementation. We updated a bit this code and we integrated it to the ath9k driver. In the second step we created the RRPAA algorithm in three files:

  • rc80211_rrpaa.h defines all constants and structures to be used by the algorithm.
  • rc80211_rrpaa.c contains the algorithm.
  • rc80211_rrpaa_debugfs.c contains the debugger functions.

How to use RRPAA ?

Our development environment is Linux OpenWRT on embedded routers driving Atheros ath9k WiFi hardware

  1. get the current trunk verision of OpenWRT (git clone https://github.com/openwrt/openwrt.git)
  2. checkout RRPAA current version
  3. copy all patches from the src folder into /openwrt/packages/kernel/mac80211/patches
  4. Add MAC80211_RC_RRPAA and MAC80211_RC_DEFAULT_RRPAA constants below MAC80211_RC_MINSTREL_VHT constant in the mac80211 makefile (openwrt/package/kernel/mac80211/Makefile).
  5. rebuild mac80211 subsystem by: make package/mac80211/{clean,compile} or re-build complite OpenWrt
  6. install new mac80211 package and new ath9k packages or flash full image to your router

You can use the rrpaa_install.sh script, which will make automatically the step 1 to the step 5.

Contributing

Everybody can participate, and any help is highly appreciated. Feel free to send pull requests or open a new issue via GitHub.

Former maintainers

About

Rate & power controller Robust Rate Adaptation Algorithm (RRPAA) for ath9k drivers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages