Der Befehl iwconfig zeigt abgn nicht an.

Der Befehl iwconfig zeigt abgn nicht an.

Gestern habe ich ein umfangreiches Update an meinem Linux-System durchgeführt. iwconfigDer Befehl zeigte früher Informationen zu 802.11[abgn] an, jetzt zeigt er jedoch nur noch 802.11 an.

Gibt es eine Möglichkeit, iwconfig so zu veranlassen, die auf der Karte verfügbaren Bänder anzuzeigen?

Wenn nicht, gibt es eine Möglichkeit, diese Informationen mit einem anderen Befehl abzurufen?

Antwort1

Dies wurde bewusst aus dem Code der „WEXT-Emulation“ entferntim Linux-Kernel v4.7.

iwconfigerhält diesen Text vom Kernel mitioctl(SIOCGIWNAME), eine Funktion aus der WEXT (Wireless Extensions) API. Allerdings:

  1. Der von SIOCGIWNAME zurückgegebene Text ist auf 16 Bytes begrenzt und IEEE 802.11abgnerreicht diese Grenze bereits – es ist kein Platz mehr vorhanden, um anzugeben ac, geschweige denn für die noch neueren Änderungen.

  2. WEXT als Ganzes steckt praktisch in der 802.11n-Ära fest. Sein allgemeines Designist älter802.11 WLAN (iwconfigenthält noch immer Unterbefehle für WaveLAN von 1988) und hat Probleme mit modernen Funktionen wie Multiband-WLAN-Adaptern, Kanalbreiten usw.

Die meisten modernen Wireless-Treiber basieren aufmac80211/cfg80211Architektur und stellen direkt die nl80211-API bereit, die weitaus mehr Funktionen bietet und nicht von den verschiedenen Problemen von WEXT betroffen ist. Der Kernel emuliert weiterhin vorhandene WEXT-Operationen unter Verwendung von Informationen aus mac/cfg80211, aber es besteht weder Interesse noch ein guter Grund, ihn weiter zu erweitern. (Die mac80211-Architektur wurde 2006 von Devicescape eingeführt; siehedieser LWN-Artikel.)

Das bedeutet auch, dass das gesamtedrahtlose_toolsDas Paket gilt als veraltet, da es auf die WEXT-API angewiesen ist (außer natürlich, wenn Sie einen WEXT-Treiber verwenden). Verwenden Sie stattdesseniwzur Verwaltung von WLAN-Geräten mit modernen Mac/CFG80211-Treibern:

  • iw phy(kurz für iw phy phy0 info) zeigt die Fähigkeiten Ihrer physischen Karte an. Leider wird nicht direkt „802.11b/g/n“ angegeben, aber Sie können dies dennoch anhand der Bänder, der HT/VHT-Unterstützung usw. ableiten.

    • 802.11a – zeigt das 5-GHz-Band
    • 802.11b – zeigt das 2,4-GHz-Band mit 1/2/5,5/11 Mbit/s „nicht-HT“-Bitraten
    • 802.11g – zeigt das 2,4-GHz-Band mit 6/9/12/18/24/36/48/54 Mbit/s „Nicht-HT“-Raten
    • 802.11n – unterstützt „HT“ (High Throughput) auf beiden Bändern
    • 802.11ac – unterstützt „VHT“ (very high throughput) im 5-GHz-Band
    • 802.11ax – unterstützt „HE“ (hohe Effizienz)
  • iw dev(kurz für iw dev wlan0 info) zeigt die aktuelle Konfiguration der Softwareschnittstelle an, z. B. die Frequenz. Es ist technisch möglich, mehrere WLAN-Schnittstellen mit derselben PHY zu verwenden.

  • iw [dev] wlan0 linkzeigt den aktuellen Verbindungsstatus detaillierter an.

  • iw [dev] wlan0 station dumpist dem oben genannten ähnlich.


Beachten Sie, dass Funktionen wie HT und VHT, wie in der Commit-Nachricht angegeben, nicht mehr als Änderungen gelten (was durch die Kleinbuchstaben angezeigt wird). Sie wurden in spätere Ausgaben von 802.11 integriert. Beispielsweise umfasst „802.11-2012“ vollständig „n“ und „802.11-2016“ umfasst „ac“.

Beachten Sie auch, dass die Emulationsänderung keine Auswirkungen auf WEXT-native Treiber hat, die ihre eigenen Handler für Ioctls haben. Wenn Sie also ein sehr altes Gerät – oder ein Realtek – verwenden, erhalten Sie in diesem Feld immer noch Namen wie IEEE 802.11-DSoder .IEEE 802.11b

verwandte Informationen