I need to evaluate the performance of a few wireless cards at different bitrates. I found out that "minstrel" algorithm continuously adjusts this rate.

  1. Can someone point me to 'how I can manually set the bit-rate for these wireless cards'?

NOTE: I used

iwconfig wlan0 rate 54M fixed

but that was of no use.

(Please see https://superuser.com/questions/870779/iwlist-wlan0-bitrate-says-unknown-bit-rate-information/)

  1. Is this of any help to me?


1 Answer 1


1) The command

iwconfig wlan0 rate 54M fixed

is inefficient[1] since Linux kernel itself invocates one of the two default rate control algorithms:

  1. minstrel (and/or minstrel_ht)
  2. PID

You can verify which was chosen for your interface by checking the output of 'dmesg'.

In case the algorithm is 'minstrel/minstrel_ht', to manually set the rates, do the following from the terminal (as a root user)

# echo 'index' > /sys/kernel/debug/ieee80211/phy0/rc/fixed_rate_idx 

where the 'index' is an allowed 'rate index'. You can try small integers. This adjusts the rate to some fixed value in a few seconds.

References: http://lxr.free-electrons.com/source/net/mac80211/rc80211_minstrel.h#L113

[1] I need someone to comment on this 'inefficiency'.

2) The switch

CONFIG_MAC80211_HAS_RC=y (and similar switches around it in the 'kernel .config file')

can be played with. However,

Failed to select rate control algorithm

is one message I found in 'dmesg' output once I did that and no wireless interfaces worked. I believe there's a dependency on this 'rate control' algorithm in the ath*k drivers. I would like to know if this can be avoided somehow.

Acknowledgements: Thanks to @bcopeland and @johill at #linux-wireless for the guidance all the way!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.