This patch adds a number of configuration options to the MadWifi package. You can
[15.05/openwrt.git] / package / madwifi / Config.in
1 # MadWifi configuration
2
3 config MADWIFI_DEBUG
4         bool "Enable compilation of debugging features"
5         depends on EXPERIMENTAL
6         default n
7
8 choice
9         prompt "Bus selection"
10         default MADWIFI_BUS_DEFAULT
11         help
12           This option controls how MadWifi communicates with the hardware.
13
14 config MADWIFI_BUS_DEFAULT
15         bool "Use default bus"
16         help
17           This makes MadWifi determine the needed bus based on the target
18           hardware. This will generally work most of the time, but there are some
19           cases where you need to override it.
20
21 config MADWIFI_BUS_PCI
22         bool "Use PCI bus"
23         depends on PCI_SUPPORT
24
25 config MADWIFI_BUS_AHB
26         bool "Use AHB bus"
27         depends on TARGET_atheros
28
29 endchoice
30
31 choice
32         prompt "HAL selection"
33         default MADWIFI_HAL_DEFAULT
34         help
35           This option controls how MadWifi communicates with the hardware.
36
37 config MADWIFI_HAL_DEFAULT
38         bool "Use default HAL"
39         help
40           This makes MadWifi determine the needed HAL based on the target
41           hardware. This will generally work most of the time, but there are some
42           cases where you need to override it.
43
44 config MADWIFI_HAL_MIPS_BE_ELF
45         bool "Use MIPS big endian ELF HAL"
46         depends on mips
47         depends on BIG_ENDIAN
48
49 config MADWIFI_HAL_MIPS_LE_ELF
50         bool "Use MIPS little endian ELF HAL"
51         depends on mips
52         depends on !BIG_ENDIAN
53
54 config MADWIFI_HAL_I386_ELF
55         bool "Use i386 ELF HAL"
56         depends on TARGET_x86
57
58 config MADWIFI_HAL_XSCALE_BE_ELF
59         bool "Use XScale big endian ELF HAL"
60         depends TARGET_ixp4xx
61         depends on BIG_ENDIAN
62
63 config MADWIFI_HAL_XSCALE_LE_ELF
64         bool "Use XScale little endian ELF HAL"
65         depends TARGET_iop32x
66         depends on !BIG_ENDIAN
67
68 config MADWIFI_HAL_ARMV4_LE_ELF
69         bool "Use ARMV4 little endian ELF HAL"
70         depends TARGET_storm
71         depends on !BIG_ENDIAN
72
73 config MADWIFI_HAL_AP30
74         bool "Use AP30 HAL"
75         depends on TARGET_atheros
76
77 config MADWIFI_HAL_AP43
78         bool "Use AP43 HAL"
79         depends on TARGET_atheros
80
81 config MADWIFI_HAL_AP51
82         bool "Use AP51 HAL"
83         depends on TARGET_atheros
84
85 config MADWIFI_HAL_AP61
86         bool "Use AP61 HAL"
87         depends on TARGET_atheros
88
89 endchoice
90
91 choice
92         prompt "Rate control algorithm selection"
93         default MADWIFI_RCA_MINSTREL
94         help
95           This option controls how MadWifi chooses its bitrate.
96
97 config MADWIFI_RCA_MINSTREL
98         bool "Use the Minstrel rate control algorithm"
99         help
100           This code is takes a wandering minstrel approach. Wander around the
101           different rates, singing wherever you can. And then, look at the
102           performance, and make a choice. Note that the wandering minstrel will
103           always wander in directions where he/she feels he/she will get paid
104           the best for his/her work.
105
106 config MADWIFI_RCA_ONOE
107         bool "Use the Onoe rate control algorithm"
108         help
109           Onoe is a credit based RCA where the value of the credit is determined
110           by the frequency of successful, erroneous and retransmissions
111           accumulated during a fixed invocation period of 1000 ms. If less than
112           10% of the packets need to be retransmitted at a particular rate, Onoe
113           keeps increasing its credit point till the threshold value of 10 is
114           reached. At this point, the current transmission rate is increased to
115           the next available higher rate and the process repeated with credit
116           score of zero. Similar logic holds for deducting the credit score and
117           moving to a lower bit-rate for failed packet
118           transmission/retransmission attempts. However, once a bit-rate has
119           been marked as failure in the previous attempt, Onoe will not attempt
120           to select that bit-rate until 10 seconds have elapsed since the last
121           attempt. Due to the manner in which it operates, Onoe is conservative
122           in rate selection and is less sensitive to individual packet failure.
123
124 config MADWIFI_RCA_AMRR
125         bool "Use the AMRR rate control algorithm"
126         help
127           AMRR uses Binary Exponential Backoff (BEB) technique to adapt the
128           length (threshold) of the sampling period used to change the values of
129           bit-rate and transmission count parameters. It uses probe packets and
130           depending on their transmission status adaptively changes the threshold
131           value. The adaptation mechanism ensures fewer failed
132           transmission/retransmission and higher throughput by not switching to a
133           higher rate as specified by the backoff mechanism. In addition to this,
134           the AMRR employs heuristics to capture the short-term variations of the
135           channel by judiciously setting the rate and transmission count
136           parameters.
137
138 config MADWIFI_RCA_SAMPLERATE
139         bool "Use the SampleRate rate control algorithm"
140         help
141           SampleRate decides on the transmission bit-rate based on the past
142           history of performance; it keeps a record of the number of successive
143           failures, the number of successful transmits and the total transmission
144           time along with the destination for that bit-rate. Stale samples are
145           removed based on a EWMA windowing mechanism. If in the sampling
146           process, no successful acknowledgment is received or the number of
147           packets sent is multiple of 10 on a specific link, it transmits the
148           packet with the highest rate which has not failed 4 successive times.
149           Other than that it transmits packets at the rate which has the lowest
150           average transmission time.
151
152 endchoice