「Wi-Fiがよく切れる……」「インターネットにつながらない……」。こうしたトラブルの際に覚えておくと便利なのが「netsh wlan show wlanreport」というコマンドだ。Wi-Fiのトラブル解決に役立つ複数の情報を自動的に収集し、HTMLベースのレポートを作成してくれる。
「困った」と言われても困る
弊誌の読者の方々も経験があると思うが、「Wi-Fiの調子が悪い……」と非常に漠然とした相談をされることがある。
Wi-Fiのトラブルは、そもそも原因が分かりにくいが、その上、状況や機種などの手がかりなる情報まで「分からない」と言われてしまうと、どうにも解決のしようもない。「困った」と言われても、こっちも困るケースが多いのだ。
そこで覚えておきたいのが、Windowsの標準機能として搭載されている「Wlan Report」という機能だ。
Windowsターミナルなどを管理者権限で起動し、「netsh wlan show wlanreoprt」と入力すると、自動的に各種コマンドが実行され、Wi-Fiのトラブル解決に役立つ情報を収集し、HTML形式のレポートとしてまとめてくれる。
これがあれば、少なくともクライアント側の状況はだいたい分かる。トラブル解決の第一歩として活用できるだろう。
レポートの中身を見てみよう
それでは、Wlan Reportの中身を見ていこう。コマンドを実行すると、レポートの作成先のパス(C:\ProgramData\Microsoft\Windows\WlanReport\wlan-report-latest.html)が表示されるので、これをコピーしてウェブブラウザーに貼り付ければ表示できる。
セッショングラフ
まず表示されるのは、Wi-Fiの接続状況をグラフ化した情報だ。問題なく接続されていれば「C」のマークとともにグリーンで埋められるが、切断などが発生すると「D」や「N」などのアイコンが表示される。このグラフは、横軸が時間の経過となっているので、どのような状況で、どれくらいの頻度で、何回切断されたかが分かることになる。
例えば、上記のグラフの右側に注目してみよう。まず「C」でつながっていた状態から、「D」へと状態が変化し、「N」となっている。これは、意図的にWi-Fiを切断した状態だ。「D」でWindows上の接続先から切断され、「N」でネットワークアダプター側で接続が失われたことが分かる。状況としては、手動での切断や、電波強度の問題やアクセスポイント側の再起動などで、アクセスポイントとの間がつながっていない状況となる。
その後、接続が回復して「C」となり、今度は「L」となっている。「L」はインターネットとの間の接続ができていないことを示している。状況としては、Wi-Fiでアクセスポイントとはつながっているが、アクセスポイントから先にアクセスできない状況だ。例えば、WAN側のケーブルが外れていたり、ISPへの接続が失われたりといった状況になる。
最後の「I」は接続が回復した状況だ。例えば、ISPのメンテナンスやDNSの障害などでは、C→L→Iという状況が発生するケースが考えられる。
つまり、このグラフによって「Wi-Fiがよく切れる」という場合に、どれくらいの頻度で「切れる」のか、それがアクセスポイントの間なのか、それともインターネットとの間なのかを判断できることになる。
システム情報
続いて表示されるのは、システムの各種情報だ。PC(マザーボード)のベンダー、OSのビルドに加え、接続されているネットワークアダプターの情報などが表示される。
Wi-Fiアダプターの種類、およびドライバーのバージョンが確認できるので、メーカーのサイトなどでドライバーの変更履歴を参照し、ドライバーが原因となる不具合がないかをチェックするのに利用できる。
また、問題が発生している場合は、「Problem number」でエラーコードを確認できる。下記の例では、「Problem number」が「22」となっている。これは、デバイスマネージャーで表示される「コード22」で、デバイスが無効になっている状況だ。ドライバーやデバイスそのものに障害が発生している場合は、ここで判断できる。
ipconfig
続いては、各種スクリプトの出力結果だ。ipconfigでは、v4、v6それぞれのIPアドレスの取得状況を確認できる。
これにより、例えばIPoE IPv6のインターネット接続環境で、クライアントが正常にIPv6を取得できているかどうかを確認できる。また、IPv4のアドレスやDNS設定を確認することで、DS-LiteやMAP-Eによる接続において、IPv4の接続やDNS設定に問題があってIPv4のみのサイトにアクセスできない場合(例えばGoogleにはつながるがINTERNET Watchは見えない)などの状況判断ができる。
netsh
netshを使ったwlanの詳細な状況が表示される。かなり情報量が多いが、システムの情報を得るのに役立つ。
例えば、インターフェースの情報で、PCのWi-Fiがどの規格に対応しているのかが分かる。例えば、Wi-Fi 6(IEEE802.11ax)に対応するかどうかを判断したい場合などに利用できる。
また、現在の接続先の情報も確認できる。どの周波数帯のどのチャネルで、どれくらいの速度でリンクしているのか、信号強度はどれくらいかを確認できる。この情報から、電波が弱いかどうか判断することなどもできる。
このほか、周囲のアクセスポイントの状況も確認できる。周囲で検知されているアクセスポイントの名前、シグナル強度、使用しているチャネル、接続されている端末数、チャンネル使用率などが表示される。チャネルの干渉が疑われる場合は、ここから同じチャネルを使っているアクセスポイントがないかを調べ、空いているチャネルに変更するなどの判断ができる。
さらに、クライアントのWi-Fiの仕様も細かく分かる。MU-MIMOをサポートしているか、WPA3に対応するか、ストリーム数はいくつか、といった情報も分かる。
certutil
接続に証明書を使っている場合は、ここで証明書を確認できる。個人での利用ではほとんど使わないはずなので、パスして構わない。
Profile Output
Windowsに登録されているWi-Fiの接続先のプロファイルを確認できる。暗号化方式や暗号化キーなど接続に使われている情報を確認できる。ただし、設定されている暗号化キーが間違っていないかなどを、ここから判断するのは困難となる。
Wireless Sessions
Wi-Fi関連のイベントログを確認できる。いつ、何が発生したのかが細かく記録されており、各項目を展開することで、詳細も確認できる。何が原因でトラブルが発生しているのかを探る手掛かりとなる。
意外にトラブルが発生しているかもしれない
今回は、Wi-Fiのトラブル解決に役立つWlan Reportを紹介した。コマンドを一度実行するだけで、かなり多くの情報を収集できるので、トラブル解決に役立てることができるだろう。
トラブルがない場合でも、実行してみると意外な結果が見られるかもしれない。気付かないだけで、知らず知らずのうちにトラブルが発生しているかもしれないので、一度、チェックしてみることをお勧めする。