スタートアップCTOによるITエンジニアのためのブログ

PCとAPのWi-Fi規格をLinuxで確認する方法

Wi-Fi規格はIEEE 802.11によって定められていますが、その中にも様々な世代が存在します(IEEE 802.11n/ac/ax/beなど)。また、同じ規格でもアンテナ数(ストリーム数)や帯域幅によって利用できる最大速度が変わります。

本記事では、PCと近くのアクセスポイントがサポートしているWi-Fi規格、現在のWi-Fi接続で使用している規格やその他の技術情報を、Linuxのコマンドラインで確認する方法を紹介します。

目次

  • PCが対応しているWi-Fi規格の確認手順
    • iw phyコマンドを使う方法
    • カーネルモジュールから推測する方法
  • 近くのアクセスポイントのWi-Fi規格の確認
    • チャンネルと帯域幅の確認
    • Wi-Fi規格とストリーム数の確認
  • 現在接続しているWi-Fi規格の確認
  • まとめ

PCが対応しているWi-Fi規格の確認手順

Wi-Fiアダプターがサポートしている規格を確認するには、以下のいずれかの方法があります。

  1. iw phy コマンドを使う方法(推奨・詳細)
  2. カーネルモジュール名から型番を推測する方法

1. iw phyコマンドを使う方法

iw コマンド(ワイアレスデバイスの管理コマンド)の phy オプションを使用して、物理的な無線デバイスの情報を表示します(phyはphysicalの略)。 iw パッケージがインストールされていない場合は、先にインストールしてください。

# Debian/Ubuntuの場合
# Bash
sudo apt update
sudo apt install iw

インストール後、以下のコマンドを実行します。

# Bash
iw phy

iw phy の出力は非常に長いですが、以下のキーワードを探してください。

  • Supported interface modes: アダプターがクライアントモード(managed)やアクセスポイントモード(AP)など、どのような動作モードをサポートしているかを示します。managed が表示されていれば、Wi-Fi接続のクライアントとして動作可能です。
  • HT (High Throughput): スループット向上を目的とした 802.11n (Wi-Fi 4) 関連の記述です。(例:HT20/HT40、HT Max RX data rateなど)
  • VHT (Very High Throughput): 更なるスループット向上を目指した 802.11ac (Wi-Fi 5) 関連の記述です。(例:VHT Capabilities)
  • HE (High Efficiency): 効率性向上を目的とした 802.11ax (Wi-Fi 6/6E) 関連の記述です。(例:HE PHY Capabilities)
  • EHT (Extremely High Throughput): 究極のスループット向上を目指した 802.11be (Wi-Fi 7) 関連の記述です。(例:EHT Capabilities)
  • Bitrates (non-HT): ここには、レガシー規格(802.11a/b/g)の通信速度が記載されています。
    • 1 – 11 Mbps: 802.11b 由来の速度
    • 6 – 54 Mbps: 802.11a/g 由来の速度
  • Frequencies: サポートされている周波数帯(2.4 GHz, 5 GHz, 6 GHz)が表示されます。

規格判定チェックリスト

上記のような記述を見つけたら、以下のリストに照らし合わせて確認します。

  • 802.11a/b/g
    • Bitrates (non-HT) に 54Mbps (a/g) や 11Mbps (b) の記載がある。
  • 802.11n (Wi-Fi 4)
    • Frequenciesに2.4GHz帯 または 5GHz帯の記載がある。
    • 各Band内に HT 関連の記述がある。
  • 802.11ac (Wi-Fi 5)
    • Frequenciesに5GHz帯の記載がある。
    • そのBandに VHT 関連の記述がある。
  • 802.11ax (Wi-Fi 6)
    • 各Band内に HE 関連の記述がある。
    • ※6GHz帯の記載があれば Wi-Fi 6E もサポート。
  • 802.11be (Wi-Fi 7)
    • 各Band内に EHT 関連の記述がある。

各規格の特徴の一覧表

規格周波数1ストリームあたりの最大速度 (理論値)チャンネル幅キーワード
802.11a/g5 / 2.4 GHz54 Mbps20 MHzLegacy (non-HT)
802.11n (Wi-Fi 4)2.4 / 5 GHz150 Mbps (40MHz時)20 / 40 MHzHigh Throughput (HT)
802.11ac (Wi-Fi 5)5 GHz433 Mbps (80MHz時)
867 Mbps (160MHz時)
20 – 160 MHzVery High Throughput (VHT)
802.11ax (Wi-Fi 6/6E)2.4 / 5 / 6 GHz600 Mbps (80MHz時)
1,201 Mbps (160MHz時)
20 – 160 MHzHigh Efficiency (HE)
802.11be (Wi-Fi 7)2.4 / 5 / 6 GHz1,376 Mbps (160MHz時)
2,882 Mbps (320MHz時)
20 – 320 MHzExtremely High Throughput (EHT)

※速度は変調方式やガードインターバル設定により前後します。一般的なPCはアンテナが2本(2ストリーム)であることが多く、その場合は上記「1ストリームあたりの速度」の2倍が理論上の最大リンク速度となります。

2. カーネルモジュールから推測する方法

lspcilsusb コマンドでWi-Fiチップのメーカーとモデルを確認し、そのモデル番号をインターネットで検索することでも、対応規格を知ることができます。

内蔵またはPCI-E接続の場合:

# Bash
lspci -nnk | grep -i net -A3

USB接続の場合:

# Bash
lsusb -v | grep -E '\<(Wireless|WLAN|Network)'

出力結果から、例えば Intel Corporation Wireless 8265 のようなモデル番号を控えて、Web検索(例: “Intel Wireless 8265 specs”)を行うと、詳細な仕様が確認できます。

近くのアクセスポイントのWi-Fi規格の確認

まず、ご自身のPCの無線LANインターフェース名(例: wlan0)を確認してください。

# Bash
iw dev

確認したインターフェース名を使って、周囲のAPをスキャンし、詳細情報を取得します(sudo権限が必要です)。

# Bash
sudo iw dev wlan0 scan

出力はAPごと(BSS)に区切られています。確認したいSSIDのブロック内で以下の情報を探します。

1. チャンネルと帯域幅の確認

  • freq:
    • 値: 2412 (2.4 GHz) や 5180 (5 GHz) などの周波数。これで周波数帯を判別します。
  • channel: ... width: ...
    • 例: * primary channel: 44, width: 80 MHz, center freq: 5210 MHz
    • これでチャンネル幅(20/40/80/160/320 MHz)がわかります。

2. Wi-Fi規格とストリーム数の確認

規格は、APが送信しているCapabilities Information Element (IE) の情報から読み取ります。

確認したい規格探すべき IE の略称読み取れる情報
802.11be (Wi-Fi 7)EHT Capabilities802.11be に対応しています。
802.11ax (Wi-Fi 6)HE Capabilities802.11ax に対応しています。
802.11ac (Wi-Fi 5)VHT Capabilities802.11ac に対応しています。
802.11n (Wi-Fi 4)HT Capabilities802.11n に対応しています。

ストリーム数 (NSS) の確認

ストリーム数 (NSS) の確認 VHT/HE/EHT Capabilities のセクションにある MCS Set から、いくつのストリームに対応しているかが読み取れます。(例: Rx MCS set: ... (2 streams) なら2ストリーム対応)

現在接続しているWi-Fi規格の確認

現在接続しているネットワークが、実際にどの規格でリンクアップしているかを確認します。

# Bash
# インターフェース名を確認して実行
iw dev wlan0 link

出力結果の tx bitraterx bitrate の行に注目してください。

確認すべき記述と意味

  • HT: 802.11n (Wi-Fi 4) で接続中。
  • EHT: 802.11be (Wi-Fi 7) で接続中。
  • HE: 802.11ax (Wi-Fi 6) で接続中。
  • VHT: 802.11ac (Wi-Fi 5) で接続中。

例:Wi-Fi 5 (11ac) での接続

rx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2

ここでは「VHT」の記載があるため、11acで接続されています。「80MHz幅」「NSS 2(2ストリーム)」であることも読み取れます。

規格名(HT/VHTなど)の記載がない場合
古いドライバーや特定の状況では規格名が表示されないことがありますが、その他の情報から推測可能です。

例:

rx bitrate: 270.0 MBit/s MCS 15 40MHz

この場合、MCS (Modulation and Coding Scheme) というインデックス番号が表示されています。MCSインデックスが使われている時点で、少なくとも 802.11n (HT) 以降の規格です。 逆に、Bitrate: 54.0 MBit/s のようにMCS表記がなく速度だけが表示される場合は、レガシーな 802.11a/g である可能性が高いです。

まとめ

PCとアクセスポイントがそれぞれサポートしているWi-Fi規格、及び現在の接続情報を確認することによって、現在の通信環境の実力を正しく把握することができます。

「ルーターは最新なのに速度が出ない」といった場合、PC側が古い規格で繋がっていないか、あるいはチャンネル幅が狭くなっていないかなどを、ぜひ iw コマンドで確認してみてください。