• Bruno Randolf's avatar
    ath5k: Adaptive Noise Immunity (ANI) Implementation · 2111ac0d
    Bruno Randolf authored
    This is an Adaptive Noise Imunity (ANI) implementation for ath5k. I have looked
    at both ath9k and HAL sources (they are nearly the same), and even though i
    have implemented some things differently, the basic algorithm is practically
    the same, for now. I hope that this can serve as a clean start to improve the
    algorithm later.
    
    This also adds a possibility to manually control ANI settings, right now only
    thru a debugfs file:
      * set lowest sensitivity (=highest noise immunity):
    	echo sens-low > /sys/kernel/debug/ath5k/phy0/ani
      * set highest sensitivity (=lowest noise immunity):
    	echo sens-high > /sys/kernel/debug/ath5k/phy0/ani
      * automatically control immunity (default):
    	echo ani-on > /sys/kernel/debug/ath5k/phy0/ani
      * to see the parameters in use and watch them change:
    	cat /sys/kernel/debug/ath5k/phy0/ani
    
    Manually setting sensitivity will turn the automatic control off. You can also
    control each of the five immunity parameters (noise immunity, spur immunity,
    firstep, ofdm weak signal detection, cck weak signal detection) manually thru
    the debugfs file.
    
    This is tested on AR5414 and nearly doubles the thruput in a noisy 2GHz band.
    Signed-off-by: default avatarBruno Randolf <br1@einfach.org>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    2111ac0d
attach.c 9.81 KB