ITエンジニアによる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 コマンドで確認してみてください。