web-dev-qa-db-ja.com

Linuxワイヤレスドライバーでレート制御を無効にする

さまざまなビットレートでいくつかのワイヤレスカードのパフォーマンスを評価する必要があります。 「minstrel」アルゴリズムがこのレートを継続的に調整していることがわかりました。

  1. 誰かが「これらのワイヤレスカードのビットレートを手動で設定する方法」を教えてもらえますか?

注:私は使用しました

iwconfig wlan0 rate 54M fixed

しかし、それは役に立たなかった。

(参照してください https://superuser.com/questions/870779/iwlist-wlan0-bitrate-says-unknown-bit-rate-information/

  1. これは私にとって何か助けになりますか?

    CONFIG_MAC80211_HAS_RC = y

4

1)コマンド

iwconfig wlan0 rate 54M fixed

linuxカーネル自体が2つのデフォルトのレート制御アルゴリズムの1つを呼び出すため、非効率的です[1]。

  1. minstrel(および/またはminstrel_ht)
  2. PID

'dmesg'の出力を確認することで、インターフェイスにどちらが選択されたかを確認できます。

アルゴリズムが「minstrel/minstrel_ht」の場合、手動でレートを設定するには、ターミナルから(rootユーザーとして)次の手順を実行します。

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

ここで、「インデックス」は許可された「レートインデックス」です。あなたは小さな整数を試すことができます。これにより、レートが数秒で固定値に調整されます。

参照:http://lxr.free-electrons.com/source/net/mac80211/rc80211_minstrel.h#L11

[1]この「非効率性」についてコメントしてくれる人が必要です。

2)スイッチ

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

で遊ぶことができます。しかしながら、

Failed to select rate control algorithm

これは、「dmesg」出力で見つけたメッセージの1つで、ワイヤレスインターフェイスが機能しませんでした。 ath * kドライバーではこの「レート制御」アルゴリズムに依存していると思います。どういうわけかこれを回避できるかどうか知りたいのですが。

謝辞:#linux-wirelessの@bcopelandと@johillに感謝します。

2