iwconfig 指令不顯示 abgn

iwconfig 指令不顯示 abgn

昨天,我對我的 Linux 系統進行了重大更新。iwconfig指令過去顯示802.11[abgn]訊息,但現在只顯示802.11。

有什麼方法可以讓 iwconfig 顯示卡片的可用頻段嗎?

如果沒有,有什麼方法可以透過其他命令檢索該資訊嗎?

答案1

這是故意從「WEXT 仿真」程式碼中刪除的在Linux核心v4.7中

設定檔使用以下命令從內核獲取這段文本ioctl(SIOCGIWNAME),來自 WEXT(無線擴充)API 的函數。然而:

  1. SIOCGIWNAME 傳回的文字限制為 16 個位元組,並且IEEE 802.11abgn已經達到了該限制 - 沒有空間來指示ac,更不用說更新的修訂了。

  2. WEXT 整體上實際上還停留在 802.11n 時代。它的整體設計實際上早於802.11 無線網路(設定檔仍然帶有 1988 年 WaveLAN 的子命令),並且它在處理多頻段 Wi-Fi 適配器、通道寬度等現代功能時遇到了麻煩。

大多數現代無線驅動程式都是基於mac80211/cfg80211架構並直接提供 nl80211 API,它提供了更多的功能,並且不受 WEXT 的各種問題的影響。核心仍然使用 mac/cfg80211 中的信息來模擬現有的 WEXT 操作,但沒有興趣也沒有充分的理由進一步擴展它。 (mac80211 架構由 Devicescape 於 2006 年推出;請參閱這篇 LWN 文章.)

這也意味著整個無線工具由於依賴 WEXT API,該軟體包被認為已過時(當然,除非您使用 WEXT 驅動程式)。在其位置,使用伊沃用於管理具有現代 mac/cfg80211 驅動程式的 Wi-Fi 裝置:

  • iw phy( 的縮寫iw phy phy0 info)將顯示您的實體卡的功能。不幸的是,它沒有直接說明“802.11b/g/n”,但您仍然可以根據頻段、HT/VHT 支援等來推斷。

    • 802.11a – 顯示 5 GHz 頻段
    • 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 – 支援 5 GHz 頻段上的「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」。

另請注意,類比變更不會影響 WEXT 本機驅動程序,它們有自己的 ioctl 處理程序。因此,如果您使用的是非常舊的設備 - 或 Realtek - 那麼您仍然會在此欄位中得到類似IEEE 802.11-DS或 的名稱。IEEE 802.11b

相關內容