Alles, was Sie über das Testen von Wi-Fi-Adaptern wissen wollten, aber Angst hatten zu fragen

Bild

Eines Tages feiert unser Unternehmen 20 Jahre. In den letzten 15 Jahren haben wir von diesen 20 Programmen zur Analyse von Wi-Fi-Netzwerken entwickelt. Ein Teil dieser Arbeit ist die Entwicklung von Treibern für Wi-Fi-Adapter. In diesem Artikel werde ich beschreiben, wie das Entwicklungsteam die Produkte seiner Arbeit testet und wie sich der Testprozess in den letzten 15 Jahren zusammen mit der Entwicklung von Standards und Adaptern entwickelt hat. Es wird viele Bilder (sogenannte "Geek-Pornos") und technische Details geben.

Warum überhaupt spezielle Treiber schreiben?

Wenn Sie Software zum Analysieren von Wi-Fi-Netzwerken erstellen (und wir erstellen ein Programm zum Überprüfen und Modellieren von Netzwerken und einen Wi-Fi-Paketanalysator), müssen Sie Pakete empfangen (lesen, erfassen, schnüffeln, fangen ... - das sind alles Synonyme) WLAN wird zwischen nahe gelegenen Zugangspunkten und Clients ausgetauscht. Sie können dies nur unter Windows tun, indem Sie einen Satz eigener Treiber für bestimmte Chipsätze erstellen.

Was ist falsch an den üblichen Standardtreibern des Adapterherstellers? Aus Sicht des Durchschnittsbenutzers ist mit ihnen alles in Ordnung. Es gibt nur ein kleines Problem: Sie können damit keine Wi-Fi-Pakete im passiven Beobachtermodus lesen. Und ohne dies können Sie keine Software für die Netzwerkanalyse erstellen. Im Allgemeinen ist dies ein großes Thema für einen separaten Artikel (und ich werde es dieses Jahr schreiben). Wenn Sie gerade interessiert sind, werde ich es Ihnen im nächsten Absatz kurz sagen. Wenn das Thema Programmierung nicht in Ihrer Nähe ist, überspringen Sie es einfach.

Vor etwa zehn Jahren erschien unter Windows eine neue API zum passiven Lesen von Wi-Fi-Paketen, der sogenannte Monitor-Modus. Sie können unter Windows immer Pakete "schnüffeln", und niemand stört Sie daran, Wireshark auszuführen und zu sehen, dass Pakete über Ihren WLAN-Adapter eingehen. Das Problem ist jedoch, dass nur Ihre Pakete und nur Datenpakete angezeigt werden. Alle anderen Informationen (Pakete anderer Personen, Pakete vom Typ Beacon, Informationen zum Signalpegel im Paket und seiner Datenrate usw.) sind nicht verfügbar. Die neue API wurde entwickelt, um dieses Problem ein für alle Mal zu beheben. Aber er hat sich nicht entschieden: Fast kein Chipsatz der Hauptanbieter unterstützt ihn normalerweise, und die API selbst war zum Zeitpunkt der Geburt veraltet und Microsoft entwickelt sie nicht. Kurz gesagt, eine völlige Katastrophe mit ihm. Und wenn Sie auf eine Software zur Analyse von Wi-Fi-Netzwerken unter Windows gestoßen sind, deren Verkäufer behaupten, dass sie einen oder fast alle Wi-Fi-Adapter unterstützt und keinen Treiberersatz erfordert - Sie erhalten definitiv das, was sie auf Englisch Schlangenöl nennen.

Das Schreiben spezieller Treiber für die Überwachung von Wi-Fi ist schwierig, langwierig und teuer. Die Anzahl der Unternehmen, die dies tun, kann mit den Fingern einer Hand berechnet werden.

Warum eine Reihe von Adaptertreibern testen?

Ein Treiber ist ein Programm zur Interaktion mit Hardware (Hardware), die für eine bestimmte Hardware spezifisch ist. Während der Treiberentwicklung muss der Programmierer sicherstellen, dass der Treiber Pakete korrekt abfängt, Frequenzkanäle und -bereiche wechselt, korrekt auf Ruhezustandsysteme reagiert, Signalpegel korrekt berechnet und viele Dinge tut, ohne die es unmöglich ist, ein Wi-Fi-Netzwerk zu analysieren.

Es scheint, dass dies eine ziemlich verständliche und einfache Aufgabe ist: Ich habe den Adapter an den Computer angeschlossen und dann Ihren Treiber so oft entwickelt und getestet, wie Sie möchten. In Wirklichkeit gibt es viele Nuancen, über die wir sprechen werden.

Was soll die Testplattform sein

Um Treiber technologisch testen zu können, benötigen Sie einen bestimmten Prüfstand, dh eine Plattform für die Arbeit mit einer Vielzahl von Hardware, die verschiedene Anforderungen erfüllen muss:

  • Einfaches Trennen eines und Anschließen eines anderen Adapters.
  • Möglichkeit zur Verbindung mit modernen Computerschnittstellen.
  • Geringe Interferenz durch elektronische Komponenten.
  • Mobilität. Während des Tests müssen Sie in der Lage sein, den Wi-Fi-Adapter zu bewegen, die Ausrichtung seiner Antennen im Weltraum zu ändern und den Abstand zum Zugangspunkt zu ändern (andernfalls können Sie den Signalpegel nicht richtig kalibrieren).
  • Möglichkeit, mehrere Adapter gleichzeitig anzuschließen (für USB).

Darüber hinaus kann es äußerst nützlich sein zu sehen, wie der Standardtreiber funktioniert, d. H. Sehen Sie sich die Kommunikation des Adaptertreibers mit dem Computer auf Busebene an, aber jetzt lassen wir dieses Thema beiseite.

Archäologie und Moderne

Jetzt ist es Zeit, direkt über Eisen zu sprechen. Erinnern Sie sich an die Vergangenheit, manchmal sehr alt, und diskutieren Sie das Neue.

2003

Wir haben 2003 angefangen, Wi-Fi-Software zu entwickeln (vorher haben wir nur Software für kabelgebundene Netzwerke entwickelt). Der Beginn der Null war die Zeit, als Wi-Fi gerade seinen Weg begann. Der erste einer Familie von Standards, 802.11, wurde bereits 1997 übernommen. Es folgten 1999 802.11b und 802.11a, aber die Technologie ging viel später in die Massen. Die meisten Laptops wurden ohne integriertes WLAN verkauft, aber Sie können Adapter selbst kaufen: extern, an den CardBus-Port (PCMCIA) für Laptops angeschlossen oder interne PCI-Standards. Ein kleiner Teil der High-End-Laptops wird auch mit eingebauten Mini-PCI-Adaptern verkauft.

Unser erster Schritt war die Unterstützung von 802.11b CardBus-Adaptern. Das waren gesegnete Zeiten: Fast alle dieser Adapter befanden sich auf dem Intersil Prism-Chipsatz, der Treiber-Sourcing-Code war nach der Unterzeichnung der NDA für alle kostenlos verfügbar, und die maximale Datenübertragungsrate auf der physischen Schicht betrug 11 Mbit / s, d. H. Unter idealen Bedingungen war es wirklich möglich, Daten mit einer Geschwindigkeit von nicht mehr als 1 Megabyte pro Sekunde zu übertragen.


CardBus Wi-Fi Adapter mit externen Antennen

CardBus Wi-Fi Adapter mit externen Antennen

Ich muss sagen, dass die Adapter gut funktionierten, eine gute Empfindlichkeit hatten, insbesondere wenn es möglich war, externe Antennen anzuschließen. Mit der Testplattform war alles sehr einfach und unbestritten: Fast alle Laptops hatten einen oder zwei CardBus-Ports.

Vintage Laptop mit PCMCIA-Anschlüssen
Erinnerst du dich noch an diese Mammuts 3-4 Kilogramm?

Wir mussten lediglich den Adapter in einen solchen externen Anschluss einstecken.

CardBus-Adapter und entsprechender Steckplatz einer alten Maschine
CardBus-Adapter und entsprechender Steckplatz einer alten Maschine

2007

Weit davon entfernt, Miniatur-CardBus-Adapter durch einen eleganteren ExpressCard-Standard am PCI Express-Bus zu ersetzen. Auf dem Markt sind 34-mm-Wi-Fi-ExpressCard-Adapter mit bereits 802.11g und 802.11a erhältlich. Geschwindigkeiten erhöhen sich, neue Modulationsschemata werden angewendet.

ExpressCard Wi-Fi Adapter
ExpressCard Wi-Fi Adapter

ExpressCard ist wie CardBus sehr praktisch zum Testen. Karten sind einfach zu wechseln, Laptops sind mobil, es gibt keinen Mangel an Modellen mit ExpressCard-Anschlüssen auf dem Markt.

Desktops stehen auch nicht still, 2007 wurde der PCI Express 2.0-Standard übernommen, sodass PCIe-Adapter mit externen Antennen häufig in Desktops erscheinen. Es ist nicht so bequem, sie zu testen (entfernen Sie die Gehäuseabdeckung, setzen Sie den PCIe-Adapter wieder ein und bringen Sie alles wieder an seinen Platz zurück).

2010

Wir beginnen mit der Unterstützung für USB 2.0-WLAN-Adapter. Dies ist ein sehr praktischer Formfaktor sowohl zum Testen als auch zur Verwendung durch Endbenutzer. Sie benötigen lediglich einen USB-Anschluss oder mehrere Anschlüsse, wenn Sie mehrere Adapter verwenden.

Der legendäre Proxim ORiNOCO 8494 802.11n-Adapter basiert auf dem Atheros Communications-Chipsatz, der von Qualcomm noch nicht übernommen wurde. Dieser Adapter wurde von allen professionellen Programmen für Wi-Fi-Site-Umfragen verwendet. Er hat eine ausgezeichnete Empfindlichkeit.

Legendärer USB-Adapter Proxim ORiNOCO 8494
Legendärer USB-Adapter Proxim ORiNOCO 8494

Die Möglichkeit, mehrere Adapter gleichzeitig zu verbinden, ist ein großes Plus. Sie beschleunigt die Scanzeit von Kanälen bei Programmen für Standortuntersuchungen und ermöglicht beispielsweise die Analyse des Verhaltens von Clients beim Roaming bei Paketanalysatoren.

Vergessen Sie jedoch nicht, dass ein typischer USB-WLAN-Adapter 200 bis 300 mA verbraucht. Wenn Sie einen passiven USB-Hub verwenden, indem Sie drei Adapter anschließen, können Sie die Grenze für USB 2.0 500 mA leicht überschreiten .

PortaPow-Messgerät zur Bestimmung des Adapterstromverbrauchs
PortaPow-Messgerät zur Bestimmung des Adapterstromverbrauchs

Es gibt praktisch keine HF-Störungen durch USB 2.0-Hubs. Neben der Frage des Stromverbrauchs müssen Sie sich nur um die Position der Anschlüsse am Hub kümmern. Die Ports sollten so angeordnet sein, dass Adapter gleichzeitig in benachbarte Ports eingesetzt werden können (wenn die Ports zu nahe beieinander liegen, funktioniert das Einsetzen von Adaptern einfach nicht).

Das nächste Problem im Jahr 2010 war für uns das Erscheinen von MiniPCIe-Adaptern, die MiniPCI in Laptops ersetzten. Wir haben zunächst Laptops auseinander genommen, um den neuen Adapter zu testen. Was für ein Schmerz es war - wahrscheinlich nicht nötig zu sagen. Das Ersetzen des Adapters in einem Laptop ist ein schneller und langwieriger Vorgang, und Sie können auf viele Fallstricke stoßen. Erstens gab es keine normale Lösung, wenn der "native" Adapter des Laptops einen Adapter mit zwei Antennen enthielt und wir das Modell mit drei Antennen testen wollten. Zweitens sind einige Laptop-Hersteller mit völligen Zerstörungen beschäftigt und blinken im BIOS die vom Laptop unterstützten Adaptermodelle starr auf. Und wenn der neue Adapter nicht in eine solche weiße Liste fällt, wird er einfach nicht erkannt. Drittens könnten Sie einfach Pech haben und etwas in sich zerbrechen.

Irgendwann mussten wir Desktops mit einer PCIe <-> MiniPCIe-Adapterkarte verwenden. Die Lösung war jedoch nicht perfekt: Die Mobilität des Geräts ist nach wie vor wichtig. Die Taiwaner von Bplus Technology , die unter einer großen Auswahl sehr interessanter Debugging-Lösungen ein so hervorragendes Board anboten, fanden die perfekte Lösung:

Testplatine mit MiniPCIe-Anschluss
Testplatine mit MiniPCIe-Plug-In über ExpressCard

Dieses Board war nur eine Rettung für viele Jahre. Der Prüfstand hat sich als großartig erwiesen: Adapter können in zwei Konten ausgetauscht werden, die Mobilität bleibt erhalten, es gibt keine Störungen und die Platine selbst ist recht kostengünstig. Alles was Sie brauchen ist ein Laptop mit einem ExpressCard-Steckplatz, aber in diesen Jahren war das kein Problem.

Board verbunden
Die Karte ist angeschlossen, der ExpressCard-Adapter ist in den Laptop eingesetzt

2013

Bis 2013 hatte Wi-Fi die Welt vollständig erobert. Alle Laptops sind vollständig mit integrierten Wi-Fi-Modulen ausgestattet, und diese Module werden im Zuge der universellen Miniaturisierung in einem neuen Formfaktor, M.2 (auch bekannt als NGFF), veröffentlicht. M.2-Karten sind kleiner als die üblichen MiniPCIe und haben einen anderen Anschluss.

MiniPCIe-Karte, MiniPCIe-Modul, M.2-Modul
MiniPCIe-Karte, MiniPCIe-Modul, M.2-Modul

Ich möchte weiterhin unser hervorragendes Testkit verwenden, und Bplus Technologies hilft erneut. Sie geben den MiniPCIe <-> M.2-Adapter frei, und wir machen leicht ein so dickes Sandwich:

„Sandwich“ von der MiniPCIe-Karte, dem MiniPCIe <-> M.2-Adapter, dem M.2-WLAN-Adapter und den daran angeschlossenen Omni-Antennen
„Sandwich“ von der MiniPCIe-Karte, dem MiniPCIe <-> M.2-Adapter, dem M.2-WLAN-Adapter und den daran angeschlossenen Omni-Antennen

Es gibt fast keine Laptops mit ExpressCard mehr auf dem Markt, aber wir haben einen Vorrat an solchen alten Maschinen, obwohl bereits klar ist, dass wir bald nach einer neuen Lösung suchen müssen. Aber mehr dazu weiter unten.

2014

Im Dezember 2013 wurde der 802.11ac-Standard ratifiziert, und 2014 wurden viele 802.11ac-Adapter mit USB 3.0 bereits auf den Markt gebracht. Warum USB 3.0 Adapter? Weil die Busgeschwindigkeit 2.0 nicht ausreicht. Drei räumliche (3 räumliche Streams) 802.11n-Adapter könnten auf physikalischer Ebene eine maximale Geschwindigkeit von 450 Mbit / s bereitstellen, 802.11ac-Adapter können jedoch bereits 867 Mbit / s (zwei Streams, 80 MHz Kanalbreite) oder 1300 Mbit / s (drei Streams, 80 MHz Kanalbreite) liefern. und sogar theoretisch 2340 Mbit / s (drei Streams, Kanalbreite 160 MHz, nur gibt es keine in der Natur).

Das einzige Problem mit USB 3.0 besteht darin, dass USB 3.0-Geräte (Kabel, Anschlüsse, Schaltkreise) ein ziemlich starkes Breitband-Hochfrequenzrauschen erzeugen können, wodurch die Adapter mit abnehmendem Signal-Rausch-Verhältnis viel weniger empfindlich werden. Ohne gute Abschirmung kann dieser Effekt leicht beobachtet werden. Der folgende Screenshot wurde mit TamoGraph Site Survey und Wi-Spy Spektrumanalysator aufgenommen. Der Screenshot zeigt ein typisches Bild des Betriebs mehrerer Netze im 2,4-GHz-Bereich (Amplituden oben und die sogenannte Wasserfallansicht unten). Es ist ersichtlich, dass die Rauschschwelle ungefähr bei –95 dBm liegt.

Keine USB-Hub-Störung
Keine USB-Hub-Störung

Versuchen wir nun, Wi-Spy näher an den Hub oder das externe USB 3.0-Laufwerk heranzuführen. Das Bild ändert sich radikal:

Leistungsstarke Störungen durch den USB-Hub
Leistungsstarke Störungen durch den USB-Hub

In der Nähe des Hubs ist mit etwa -77 dBm ein sehr anständiges Geräusch zu hören. Wenn wir berücksichtigen, dass das minimale Signal-Rausch-Verhältnis, bei dem Wi-Fi irgendwie funktionieren kann, etwa 4 dB beträgt, kann der Adapter mit diesem Bild keine Verbindung zum Netzwerk herstellen, wenn das Signal vom Zugangspunkt unter -73 dBm liegt. Um dieses Problem zu umgehen, sollten Sie verschiedene Hubs ausprobieren oder zusätzliche USB-Kabel verwenden, mit denen der Adapter von HF-Rauschquellen entfernt wird.

Sie fragen sich vielleicht, wie USB 3.0-Adapter mit solchen Störungen leben? Sie leben ein sehr interessantes Leben. Nehmen Sie zum Beispiel Adapter, die auf dem Realtek-Chipsatz basieren: Wenn der Adapter nicht zugeordnet ist, funktioniert er im USB 2.0-Modus, scannt Kanäle und sucht nach Netzwerken in der Nähe. Wenn der Adapter eine Verbindung zum Netzwerk herstellt, initialisiert der spezielle Windows-Systemdienst das Gerät neu und schaltet es in den USB 3.0-Modus. In diesem Modus bleibt der Adapter so lange bestehen, bis er sich löst. Danach kehrt er wieder in den USB 2.0-Modus zurück. Das sind so verrückte Tänze.

2018

Die Zeit vergeht und wenn es keine neuen Probleme beim Testen von USB-Adaptern gibt (USB-Typ-C-Anschlüsse zählen nicht, ein Penny-Adapter löst das Problem), dann braut sich eine Krise für MiniPCIe und M.2 zusammen. Es ist unerträglich, mit dem alten Haufen „Laptop mit ExpressCard + MiniPCIe ExpressCard“ weiterzumachen. Erstens ziehen alte Laptops Windows 10 nicht mehr. Zweitens können sie jederzeit sterben, was uns ratlos macht, da ich keine Lust habe, auf dem Flohmarkt nach Ersatz-Laptops zu suchen.

Wir müssen eine neue Lösung finden. Mobil, vorzugsweise unter Windows und MacOS, mit einer modernen Schnittstelle zum Verbinden. Natürlich mit DMA-Funktion (Direct Memory Access). Am einfachsten ist es, die PCIe <-> MiniPCIe-Adapterkarte in den Desktop einzulegen, aber dann müssen Sie die Mobilität aufgeben. Das Tragen eines Desktops in Ihrem Büro ist sehr gut für Ihre Gesundheit, aber nicht sehr produktiv. Darüber hinaus bewegen wir uns jetzt generell von Desktops zu Laptops und Intel NUC. Desktops haben in den letzten Jahren weitgehend an Bedeutung verloren.

Was bleibt uns also übrig? Natürlich nicht USB, da Sie leider keine PCIe <-> USB-Brücke herstellen können. Dann Thunderbolt: Es ist in neuen Laptops und NUCs, und es sollte PCIe <-> Thunderbolt Bridge möglich machen. Nun, die Suchrichtung ist ein Gerät zum Anschließen eines PCIe-Adapters über Thunderbolt.

Wir suchen, suchen und finden das schöne: Startech Thunderbolt 3 PCIe Expansion Chassis . Natürlich hätten die Entwickler selbst in den heftigsten Fantasien nicht glauben können, dass jemand eine Wi-Fi-Karte in dieses Gehäuse einlegen möchte. Die Website beschreibt tatsächlich alle Fantasien, die die Entwickler besucht haben: „Das Thunderbolt 3 PCIe-Gehäuse macht es einfach, Ihr System mit den Funktionen zu erweitern, die Sie benötigen, um mit maximaler Produktivität zu arbeiten. "Sie können viele Arten von PCI Express-Karten hinzufügen, z. B. PCIe USB 3.1 / 3.0 / 2.0 und USB-C-, SSD-, Netzwerk-, eSATA-, FireWire- oder Videoaufnahmekarten." Theoretisch sollte Wi-Fi abheben. Praktisch ... nun, Sie wissen, wie es praktisch ist. Wenn eine Komponente zumindest die geringste Chance hat, aus irgendeinem Grund kein Geld zu verdienen (Treiber, Firmware, Mikroschaltungen), funktioniert sie nicht.

Wir haben eine Unterstützung geschrieben. Der Support war verständlicherweise auf das Problem mit Wi-Fi völlig unvorbereitet. Sie sagten, sie hätten Ethernet-Adapter ausprobiert, Wi-Fi jedoch nie. Nun, wir werden es für sie versuchen. Das Paket kommt schnell an, und wir können nur das externe Gehäuse entfernen und eine PCIe-Karte mit einem Adapter auf M.2 einsetzen.

Bild
In Startech TB31PCIEX16

Stecken Sie den WLAN-Adapter in den Adapter und schrauben Sie ihn an. Schließen Sie anschließend die Antennen an die Platine an (über mikroskopische Anschlüsse können Sie nicht auf eine Lupe verzichten), befestigen Sie die Antennen an der Halterung der PCIe-Platine, um sie herauszuholen, und schließen Sie das gesamte Gerät an den Strom- und Thunderbolt-Anschluss des Laptops an.

Bild
Startech TB31PCIEX16 Zusammengebaut

Und es hat funktioniert. Natürlich geben solche Eisenstücke normalerweise nicht sofort auf. Ich musste zuerst die Firmware des Thunderbolt-Controllers auf dem Computer aktualisieren. Aber dann lief alles wie am Schnürchen.

Die Zukunft

Wir verfolgen die Entwicklung der Branche genau. Die nächste Schnittstelle auf dem Weg ist M.2 CNVio, die beispielsweise in den neuesten Intel 9560-Adaptern verwendet wird. Der nächste Wi-Fi-Standard ist 802.11ax. Wir werden Probleme lösen, sobald sie verfügbar sind.

Source: https://habr.com/ru/post/de420415/


All Articles