# 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
	  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
