Wi-Fiアクセスポイントとしてラズベリーパイを設定しました。この時点で私がしたいのはssh rpiだけです。私は1〜6分ごとにSSHセッションが5〜30秒間中断されることを発見しました。私のラップトップはAPに接続している唯一のクライアントです。ノートブックからAPアドレスに連続pingを設定すると、平均ping時間は約1〜4msですが、時々100〜500ms程度の過剰な遅延時間や最大5〜30秒のタイムアウトが発生することがあります。これは、SSH セッションがアクティブであるかどうかに関係なく発生します。これと比較してイーサネットポートでpingを実行すると、すべての遅延時間は1ms以下でタイムアウトもありません。チャンネルを変えてみましたが、何もできませんね。
興味深いことに、wifi 'n'モード(現在のgで実行中)、wmm、およびht_capabをHostapd.confで無効にすると、状況が大幅に改善され、タイムアウトがほとんど発生しません。これらの機能が無効になっている場合、通常のping時間は1〜2msで、時々120msの遅延が発生することがあります。
lsmod は次のモジュールを表示します。
-Module Size Used by
-aes_generic 31536 1
-8021q 17966 0
-garp 6295 1 8021q
-stp 1969 1 garp
-llc 5440 2 stp,garp
-snd_bcm2835 15846 0
-snd_pcm 77560 1 snd_bcm2835
-snd_page_alloc 5145 1 snd_pcm
-snd_seq 53329 0
-snd_seq_device 6438 1 snd_seq
-snd_timer 19998 2 snd_pcm,snd_seq
-snd 58447 5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
-arc4 1676 2
-rt2800usb 14940 0
-rt2800lib 55351 1 rt2800usb
-rt2x00usb 11215 1 rt2800usb
-rt2x00lib 42334 3 rt2x00usb,rt2800lib,rt2800usb
-mac80211 273413 3 rt2x00lib,rt2x00usb,rt2800lib
-cfg80211 184163 2 mac80211,rt2x00lib
-rfkill 18202 2 cfg80211
-crc_ccitt 1522 1 rt2800lib
-leds_gpio 2235 0
-led_class 3562 2 leds_gpio,rt2x00lib
ホスト構成ファイル
-interface=wlan0
-driver=nl80211
-ctrl_interface_group=0
-ssid=ivoPI
-hw_mode=g
-ieee80211n=1
-wmm_enabled=1
-channel=5
-#macaddr_acl=0
-auth_algs=3
-#ignore_broadcast_ssid=0
-wpa=3
-wpa_passphrase=*******
-wpa_key_mgmt=WPA-PSK
-wpa_pairwise=TKIP
-rsn_pairwise=CCMP
-ht_capab=[HT20][SHORT-GI-20] #[RX-STBC1]
誰かがここで助けてくれたら大変感謝します。乾杯
イボ
上で次のようにします。
これで、上記のWiFiアダプタとクライアントモードの他のアダプタを試してみました。最初のアダプタにはrt3072チップとrtl2800usb/cfg80211ドライバがあります。 2番目のアダプタには、Realtek rtl8188usチップとr8712uステージングドライバがあります。各アダプタは、電源が供給されるハブに(個別に)接続されます。 Raspberry Piはイーサネットに接続されていません。
最初のアダプタにはプロセッサの負荷が低く、シェルまたはシェルトラフィックがないため、一般的なping結果はありません。遅延時間は、どこでも2msから320msの間で完全にランダムに見えます。時々タイムアウトが発生します。 topが0.01秒で実行されている場合、pingは2〜3msで非常に安定しており、時々単一のping待ち時間は195〜222msでした。約20分間、5秒のタイムアウトが観察されました。
2番目のアダプタは、プロセッサの負荷が低く、シェルがないかトラフィックがないシェルです。一般的なping結果は1〜2msです。 pingの結果は通常非常に安定しています。負荷がある場合 - 最大0.01秒実行時のping待機時間は約2〜3ms、時々単一のping待ち時間は166〜200msです。タイムアウトは観察されません。
それでは、私たちはこれからどのような結論を下すことができますか?私の例では、これがrtl2800usb / cfg80211または他の関連コンポーネントのドライバの問題であるようです。引き続きtopを実行すると問題がほとんど解決されますが、これはちょっと惜しいですね!それでも時々タイムアウトが発生します。プロセッサの負荷が高くなったか、TCP/IP トラフィックが増加して改善が行われたかはまだわかりません。
ベストアンサー1
私のRaspberry Piの他のワイヤレススティックでも同じ問題が発生します。さまざまな電源、さまざまなラズベリー、電源USBハブを試してみました。だから私はWi-Fi 'n'モードを無効にすると、より良い結果がwmm
得られるというあなたの観察を見るのに十分幸運でしたht_capab
。wmm
Wi-FiルーターAsus RT-N66U(実行/)openwrt
でnモードを無効にし、pingtomato
時間が10-100msから1-3msに短縮され、接続が非常に安定しています。以前は、接続が頻繁に切断され(30〜60分後)、速度が遅くなることが多かったです。
しかし、Wi-Fiネットワーク全体のnモードを無効にすることは解決策ではなく、他の提案を見つけました(https://github.com/xbianonpi/xbian/issues/217):
/etc/modprobe.d/8192cu.conf
次の行を含むファイルを作成します。options 8192cu rtw_power_mgnt=0 rtw_enusbss=0
再起動
これにより、Wi-FiスティックとUSB自動一時停止スリープ機能がオフになります。
バッテリー節約モードがオフになっていることを確認できます。
cat /sys/module/8192cu/parameters/rtw_power_mgnt
24時間後に2つの異なるラズベリーのWiFi接続が安定しています。 ping時間は、Wi-Fiルーターでnモードとwmmを無効にするよりもわずかに長いですが(5-6ms)、わずかな変更で非常に安定しています。