iwconfig コマンドで abgn が表示されない

iwconfig コマンドで abgn が表示されない

昨日、Linux システムを大幅にアップデートしました。以前はiwconfig802.11[abgn] 情報を表示していたコマンドが、現在は 802.11 のみが表示されます。

iwconfig でカードの利用可能なバンドを表示する方法はありますか?

そうでない場合、他のコマンドを使用してその情報を取得する方法はありますか?

答え1

これは「WEXTエミュレーション」コードから意図的に削除されましたLinuxカーネルv4.7

iwconfigこのテキストをカーネルから取得するにはioctl(SIOCGIWNAME)、WEXT (Wireless Extensions) API の関数。ただし、

  1. SIOCGIWNAME によって返されるテキストは 16 バイトに制限されており、IEEE 802.11abgnすでにその制限に達しています。 を示すスペースacはなく、さらに新しい修正を示すスペースはありません。

  2. WEXTは全体として、実質的に802.11n時代にとどまっています。その一般的な設計は実際には以前の802.11 Wi-Fi(iwconfig1988 年の WaveLAN のサブコマンドがまだ保持されており、マルチバンド Wi-Fi アダプター、チャネル幅などの最新の機能に対応するのが困難です。

現代のワイヤレスドライバーのほとんどは、mac80211/cfg80211アーキテクチャを拡張し、nl80211 API を直接提供します。nl80211 API は、はるかに多くの機能を提供し、WEXT が抱えるさまざまな問題の影響を受けません。カーネルは、mac/cfg80211 の情報を使用して既存の WEXT 操作をエミュレートしますが、それをさらに拡張する興味も理由もありません。(mac80211 アーキテクチャは、2006 年に Devicescape によって導入されました。このLWNの記事

これはまた、全体がワイヤレスツールパッケージはWEXT APIに依存しているため、廃止されていると考えられています(もちろんWEXTドライバを使用する場合は除きます)。代わりに、私w最新の mac/cfg80211 ドライバーを搭載した Wi-Fi デバイスを管理するには:

  • iw phy(の略iw phy phy0 info) は、物理カードの機能を表示します。残念ながら、「802.11b/g/n」と明記されていませんが、バンド、HT/VHT サポートなどに基づいて推測することはできます。

    • 802.11a – 5GHz帯を示します
    • 802.11b – 1/2/5.5/11 Mbpsの「非HT」ビットレートで2.4 GHz帯域を示します
    • 802.11g – 6/9/12/18/24/36/48/54 Mbpsの「非HT」レートの2.4 GHz帯域を示します。
    • 802.11n – 両方の帯域で「HT」(高スループット)をサポート
    • 802.11ac – 5GHz帯で「VHT」(超高スループット)をサポート
    • 802.11ax – 「HE」(高効率)をサポート
  • iw dev(の略iw dev wlan0 info) は、周波数などのソフトウェア インターフェイスの現在の構成を表示します。技術的には、同じ phy を使用して複数の wlan# インターフェイスを持つことが可能です。

  • iw [dev] wlan0 link現在のリンク状態をより詳細に表示します。

  • iw [dev] wlan0 station dump上記と同様です。


コミット メッセージに記載されているように、HT や VHT などの機能は、もはや修正とは見なされません (小文字で示されています)。これらは、802.11 の以降のエディションに統合されています。たとえば、「802.11-2012」には「n」が完全に組み込まれ、「802.11-2016」には「ac」が含まれています。

また、エミュレーションの変更は、独自の ioctl ハンドラーを持つ WEXT ネイティブ ドライバーには影響しないことに注意してください。したがって、非常に古いデバイス (または Realtek) を使用している場合は、このフィールドにはIEEE 802.11-DSまたは のような名前が引き続き表示されますIEEE 802.11b

関連情報