我需要评估一些无线卡在不同比特率下的性能。我发现“minstrel”算法不断调整这个速率。
- 有人可以告诉我“如何手动设置这些无线卡的比特率”吗?
注意:我使用了
iwconfig wlan0 rate 54M fixed
但那没有用。
(请参见https://superuser.com/questions/870779/iwlist-wlan0-bitrate-says-unknown-bit-rate-information/)
这对我有帮助吗?
CONFIG_MAC80211_HAS_RC=y
答案1
1)命令
iwconfig wlan0 rate 54M fixed
效率低下[1],因为 Linux 内核本身会调用以下两种默认速率控制算法之一:
- 吟游诗人(和/或吟游诗人_ht)
- PID
您可以通过检查“dmesg”的输出来验证为您的接口选择了哪个。
如果算法是“minstrel/minstrel_ht”,要手动设置费率,请从终端执行以下操作(作为根用户)
# echo 'index' > /sys/kernel/debug/ieee80211/phy0/rc/fixed_rate_idx
其中“索引”是允许的“速率索引”。您可以尝试使用小整数。这会在几秒钟内将速率调整为某个固定值。
参考: http://lxr.free-electrons.com/source/net/mac80211/rc80211_minstrel.h#L113
[1] 我需要有人对这种“低效率”发表评论。
2)开关
CONFIG_MAC80211_HAS_RC=y (and similar switches around it in the 'kernel .config file')
可以玩。然而,
Failed to select rate control algorithm
这是我在执行此操作后在“dmesg”输出中发现的一条消息,并且没有无线接口工作。我相信 ath*k 驱动程序中存在对这种“速率控制”算法的依赖。我想知道是否可以通过某种方式避免这种情况。
致谢: 感谢 #linux-wireless 的 @bcopeland 和 @johill 一路以来的指导!