madwifi: add sanity checks for monitor mode injection
[openwrt.git] / package / madwifi / Config.in
index 168f1e7..6191ce2 100644 (file)
@@ -1,10 +1,87 @@
-config PACKAGE_KMOD_MADWIFI
-       prompt "kmod-madwifi...................... Atheros Wifi driver"
-       tristate
-       default y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE
-       default m if DEVEL
+# MadWifi configuration
+
+config MADWIFI_DEBUG
+       bool "Enable compilation of debugging features"
+       depends on DEVEL && PACKAGE_kmod-madwifi
        default n
+
+choice
+       prompt "Madwifi version"
+       depends on PACKAGE_kmod-madwifi
+       default MADWIFI_STABLE
        help
-         Driver for Atheros 802.11a/b/g MiniPCI cards
-         
-         http://www.madwifi.org/
+         This option allows you to select the version of MadWifi to be built.
+
+config MADWIFI_STABLE
+       bool "Use the OpenWrt stable version of madwifi"
+
+config MADWIFI_UPSTREAM
+       depends BROKEN
+       depends !TARGET_atheros
+       bool "Use the upstream release version 0.9.4"
+
+endchoice
+
+choice
+       prompt "Rate control algorithm selection"
+       depends on PACKAGE_kmod-madwifi
+       default MADWIFI_RCA_MINSTREL
+       help
+         This option controls how MadWifi chooses its bitrate.
+
+config MADWIFI_RCA_MINSTREL
+       bool "Use the Minstrel rate control algorithm"
+       help
+         This code is takes a wandering minstrel approach. Wander around the
+         different rates, singing wherever you can. And then, look at the
+         performance, and make a choice. Note that the wandering minstrel will
+         always wander in directions where he/she feels he/she will get paid
+         the best for his/her work.
+
+config MADWIFI_RCA_ONOE
+       bool "Use the Onoe rate control algorithm"
+       help
+         Onoe is a credit based RCA where the value of the credit is determined
+         by the frequency of successful, erroneous and retransmissions
+         accumulated during a fixed invocation period of 1000 ms. If less than
+         10% of the packets need to be retransmitted at a particular rate, Onoe
+         keeps increasing its credit point till the threshold value of 10 is
+         reached. At this point, the current transmission rate is increased to
+         the next available higher rate and the process repeated with credit
+         score of zero. Similar logic holds for deducting the credit score and
+         moving to a lower bit-rate for failed packet
+         transmission/retransmission attempts. However, once a bit-rate has
+         been marked as failure in the previous attempt, Onoe will not attempt
+         to select that bit-rate until 10 seconds have elapsed since the last
+         attempt. Due to the manner in which it operates, Onoe is conservative
+         in rate selection and is less sensitive to individual packet failure.
+
+config MADWIFI_RCA_AMRR
+       bool "Use the AMRR rate control algorithm"
+       help
+         AMRR uses Binary Exponential Backoff (BEB) technique to adapt the
+         length (threshold) of the sampling period used to change the values of
+         bit-rate and transmission count parameters. It uses probe packets and
+         depending on their transmission status adaptively changes the threshold
+         value. The adaptation mechanism ensures fewer failed
+         transmission/retransmission and higher throughput by not switching to a
+         higher rate as specified by the backoff mechanism. In addition to this,
+         the AMRR employs heuristics to capture the short-term variations of the
+         channel by judiciously setting the rate and transmission count
+         parameters.
+
+config MADWIFI_RCA_SAMPLERATE
+       bool "Use the SampleRate rate control algorithm"
+       help
+         SampleRate decides on the transmission bit-rate based on the past
+         history of performance; it keeps a record of the number of successive
+         failures, the number of successful transmits and the total transmission
+         time along with the destination for that bit-rate. Stale samples are
+         removed based on a EWMA windowing mechanism. If in the sampling
+         process, no successful acknowledgment is received or the number of
+         packets sent is multiple of 10 on a specific link, it transmits the
+         packet with the highest rate which has not failed 4 successive times.
+         Other than that it transmits packets at the rate which has the lowest
+         average transmission time.
+
+endchoice