社内SEの話

日々起きたことの記録用

Wi-Fiの接続が不安定になったときにやれる事

↓プログラミングで副業を考えたらこちら↓

f:id:boonv4m312s:20191111110209j:plain

Wi-Fiアクセスポイントの近くで作業をしているときは不安定ではないが、別の部屋に移動したときなどに接続が不安定になった場合。

対策1

ネットワークアダプタからWi-Fiのドライバのプロパティから詳細設定タブからいくつかデフォルト設定から変更してみた。

ローミングの積極性

f:id:boonv4m312s:20191111103227p:plain
よく部屋の移動をする場合は中が推奨とメーカーなどのページでは記載がある

www.dell.com
しかしデフォルトの状態で接続が不安定になるので積極性を極端に設定してみます。
1.最低もしくは5.最高

電力の管理タブ

「電力節約のために、このコンピュータでこのデバイスの電源をオフにできるようにする」のチェックを外す
f:id:boonv4m312s:20191111103516p:plain

対策2

電力の設定

コントロールパネル - 電源オプション - 設定されているプラン プラン設定の変更 - 詳細な電源設定の変更
電源オプション
ワイヤレスアダプターの設定 - 省電力モード - バッテリ駆動 - 省電力(高)
デフォルトがバッテリで駆動した場合は省電力になってしまいアダプターが不安定になる可能性がある。
別の部屋で作業をするときは大抵は電源を抜いてバッテリーで作業しているので電源でなる可能性も十分ある。
f:id:boonv4m312s:20191111103556p:plain

対策3

SNPの無効化

自分で作った本家であるMicrosoftが言っているので無効化しましょう。
管理者権限でコマンドプロンプトを起動します 下記のコマンドで現在の設定を確認します Receive-Side Scaling状態がenabledになっている場合は標準の状態なので設定が必要になります。

  
C:\WINDOWS\system32>netsh int tcp show global  
アクティブ状態を照会しています...  
  
TCP グローバル パラメーター  
----------------------------------------------  
Receive-Side Scaling 状態          : enabled  
受信ウィンドウ自動チューニング レベル    : normal  
アドオン輻輳制御プロバイダー  : default  
ECN 機能                      : disabled  
RFC 1323 タイムスタンプ                 : disabled  
初期 RTO                         : 1000  
Receive Segment Coalescing 状態    : enabled  
非 Sack の Rtt 回復性             : disabled  
最大 SYN 再送信数             : 4  
Fast Open                           : enabled  
Fast Open フォールバック                  : enabled  
HyStart                             : enabled  
ペーシング プロファイル                      : off  

  

rssとautotuninglevelをdisabledに変更します。

C:\WINDOWS\system32>netsh int tcp set global rss=disabled autotuninglevel=disabled  
OK

設定が変更されていることを確認します。

C:\WINDOWS\system32>netsh int tcp show global  
アクティブ状態を照会しています...  
  
TCP グローバル パラメーター  
----------------------------------------------  
Receive-Side Scaling 状態          : disabled  
受信ウィンドウ自動チューニング レベル    : disabled  
アドオン輻輳制御プロバイダー  : default  
ECN 機能                      : disabled  
RFC 1323 タイムスタンプ                 : disabled  
初期 RTO                         : 1000  
Receive Segment Coalescing 状態    : enabled  
非 Sack の Rtt 回復性             : disabled  
最大 SYN 再送信数             : 4  
Fast Open                           : enabled  
Fast Open フォールバック                  : enabled  
HyStart                             : enabled  
ペーシング プロファイル                      : off  
C:\WINDOWS\system32>netsh int tcp set global help  
  
使用法: set global [[rss=]disabled|enabled|default]  
             [[autotuninglevel=]  
                disabled|highlyrestricted|restricted|normal|experimental]  
             [[congestionprovider=]none|ctcp|default]  
             [[ecncapability=]disabled|enabled|default]  
             [[timestamps=]disabled|enabled|default]  
             [[initialrto=]<300-3000>]  
             [[rsc=]disabled|enabled|default]  
             [[nonsackrttresiliency=]disabled|enabled|default]  
             [[maxsynretransmissions=]<2-8>]  
             [[fastopen=]disabled|enabled|default]  
             [[fastopenfallback=]disabled|enabled|default]  
             [[hystart=]disabled|enabled|default]  
             [[pacingprofile=]off|initialwindow|slowstart|always|default]  
  
パラメーター:  
  
    タグ           値  
    rss             - 次のいずれかの値を指定します:  
                      disabled: Receive-Side Scaling を無効にします。  
                      enabled : Receive-Side Scaling を有効にします。  
                      default : Receive-Side Scaling の状態をシステムの  
                          既定値に戻します。  
    autotuninglevel - 次のいずれかの値を指定します:  
                      disabled: 受信ウィンドウを既定値に  
                          固定します。  
                      highlyrestricted: 受信ウィンドウの既定値を少しだけ  
                          超えて拡大できるようにします。  
  
                      restricted: いくつかのシナリオで制限されますが、受信  
                          ウィンドウの既定値を超えて  
                          拡大できるようにします。  
                      normal: 受信ウィンドウをほとんどすべてのシナリオに  
                          合わせて拡大できるようにします。  
                      experimental: 受信ウィンドウを極端なシナリオにも合わせて  
                          拡大できるようにします。  
    congestionprovider - このパラメーターは使用されなくなりました。代わりに  
                         netsh int tcp set supplemental を使用してください。  
    ecncapability   - ECN 機能を有効または無効にします。  
                      default : 状態をシステムの既定値に戻します。  
    timestamps      - RFC 1323 タイムスタンプを有効または無効にします。  
                      default: 状態をシステムの既定値に戻します。  
    initialrto      - Connect (SYN) 再転送時間です (ミリ秒)。default: 3000。  
    rsc             - receive segment coalescing を有効または無効にします。  
                      default: 状態をシステムの既定値に戻します。  
    nonsackrttresiliency - 非 SACK のクライアントに対して RTT 回復性を有効  
                      または無効にします。default: 無効。  
    maxsynretransmissions - SYN パケットによる接続再試行回数を指定します。  
                      default: 2。  
    fastopen        - TCP Fast Open を有効または無効にします。  
                      default: 状態をシステムの既定値に戻します。  
    fastopenfallback - TCP Fast Open フォールバックを有効または無効にします。  
                      default: 状態をシステムの既定値に戻します。  
    hystart         - HyStart 低速開始アルゴリズムを有効/無効にします。  
                      default: 状態をシステムの既定値に戻します。  
    pacingprofile   - ペーシングを有効にする期間を設定します。  
                      次のいずれかの値を指定します:  
                      off: ペーシングしません。  
                      initialwindow: 初期輻輳ウィンドウをペーシングします。  
                      slowstart: 低速開始の間だけペーシングします。  
                      always: 常にペーシングします。  
                      default: オフ。  
  
  
注釈: すべての接続に影響する TCP パラメーターを設定します。  
  
  
例:  
  
       set global rss=enabled autotuninglevel=normal