Dieser Vortrag der Konferenz MMCD 26 dokumentiert die erfolgreiche Reverse-Engineering-Analyse und experimentelle Linux-Implementierung von Apples proprietärem Verbindungsschicht-Protokoll „Low Latency Wi-Fi“ (LLW). LLW bildet das technologische Rückgrat für latenzkritische Echtzeit-Videoübertragungen im Apple-Ökosystem, wie Sidecar, Universal Control und iPhone-Mirroring.
Durch das Tracing des im macOS-Userspace ausgeführten DriverKit-Prozesses mittels LLDB wurden proprietäre Broadcom-Konfigurationsbefehle (IOVAs) isoliert. Der Befehl interface_create erzeugt hierbei eine dedizierte virtuelle Schnittstelle für AWDL und LLW, während der Befehl HP2P (High Priority Peer-to-Peer) kritische Parameter wie Sendezeitfenster (TXOP) und Frame-Aggregation in der Firmware steuert.
Da Asahi Linux auf Apple-Hardware die originale macOS-Firmware verwendet, konnte die identifizierte Kommunikationsstruktur direkt in den Linux-Kernel-Treiber brcmfmac repliziert werden. Durch das Hinzufügen spezifischer Ringpuffer (Flow Rings) für den Traffic-Identifier 7 (Sprachklasse mit höchster Priorität nach IEEE 802.11e EDCA) gelang dem Entwicklerteam die native Übertragung von Unicast- und Broadcast-Paketen unter Linux. Erste Performancetests zeigen eine stabile Verbindung mit einer Paketverlustrate von rund 3 % in störungsarmen Umgebungen.
Wichtigste Highlights & Zeitstempel
0:12 Einführung & Kontext: Vorstellung des Referenten, Doktorand am Lehrstuhl für Mobil- und Drahtlossicherheit des Hasso-Plattner-Instituts sowie Forscher bei OpenUAS mit Fokus auf europäische Cyber-Sicherheitsregulierungen.
1:07 Funktionsweise von Low Latency Wi-Fi (LLW): LLW ist ein auf der Verbindungsschicht (Link Layer) angesiedeltes Echtzeit-Protokoll, das im Apple-Ökosystem für hochauflösende Video- und Eingabe-Spiegelungen (z. B. Sidecar, Continuity Camera, iPhone Mirroring) unter extremen Latenzvorgaben sorgt.
3:11 EDCA-Priorisierung und Kanalzugriff: LLW basiert auf den QoS-Mechanismen der Standards IEEE 802.11e/n/ac. Es nutzt die höchste Prioritätsstufe (Access Category Voice, Traffic Identifier 7) und minimiert Wartezeiten durch optimierte AIFS-Intervalle (Arbitration Interframe Spacing) und kurze Backoff-Timer, um den Kanalzugriff im Vergleich zu regulärem Datenverkehr drastisch zu beschleunigen.
6:23 RSDB-Hardwareunterstützung: Die physische Übertragung baut auf Real Simultaneous Dualband (RSDB) auf. Dies erlaubt es kompatiblen WLAN-Chips, parallel eine Standard-Internetverbindung zum Access Point und eine dedizierte LLW-Direktverbindung zu einem Peer-Gerät auf separaten Frequenzbändern zu betreiben.
7:36 Tracing des macOS DriverKit: Durch die Auslagerung des macOS-Netzwerkstacks aus dem Kernelspace in den Userspace (DriverKit) lässt sich die Kommunikation mit dem Broadcom-Chip flexibel über den Debugger LLDB analysieren. Dies ermöglichte die lückenlose Erfassung der Steuerbefehle während aktiver Sidecar-Sitzungen.
10:08 IOVA-Schnittstellenkonfiguration: Broadcom-Firmwares kommunizieren über IOVAs (Input-Output Variables). Der Befehl interface_create weist die Firmware an, ein zweites virtuelles Interface (Typ 2) speziell für AWDL- und LLW-Verkehr zu instanziieren, welches auf Systemebene als awdl0 und llw0 angesprochen wird.
13:11 Parametersteuerung via HP2P: Die proprietäre IOVA HP2P (High Priority Peer-to-Peer) konfiguriert essenzielle Performance-Parameter der Chip-Firmware. Dazu zählen die Länge der Sendegelegenheiten (TXOP), das Contention-Window für Backoff-Timer sowie Aggregationsverfahren (A-MPDU/A-MSDU).
14:58 Portierung auf Asahi Linux: Da Asahi Linux auf Apple-Silizium-Systemen direkt auf die proprietäre macOS-Firmware zugreift, lassen sich die identifizierten Steuersequenzen eins zu eins unter Linux reproduzieren. Zu diesem Zweck wurde der Open-Source-Treiber brcmfmac gezielt erweitert.
16:40 Implementierung von Flow Rings: Der modifizierte Linux-Treiber implementiert zusätzliche Kontroll- und Daten-Ringpuffer (Flow Rings) im Shared Memory des Systems. LLW erhält hierbei einen exklusiven Datenpfad, der fest an den Traffic-Identifier 7 (T7) gekoppelt ist, während AWDL-Verkehr die Kanäle T0 bis T6 nutzt.
20:15 Paketverarbeitung (Senden & Empfangen): Beim Senden werden Datenpakete mit dem T7-Flag im Shared Memory abgelegt, woraufhin die Firmware den Transport über das virtuelle Interface Typ 2 abwickelt. Empfangene Pakete werden anhand des T7-Headers im Linux-Kernel direkt als LLW-Frames klassifiziert und von regulärem AWDL-Datenverkehr separiert.
22:30 Live-Demonstration und Messergebnisse: Die Demonstration zeigt die Peer-Erkennung via Bluetooth Low Energy (BLE) und den anschließenden Austausch von Unicast- und Broadcast-ICMP-Paketen direkt über die Schnittstellen llw0 und awdl0 unter Asahi Linux. In störungsarmen Umgebungen wurde eine Paketverlustrate von lediglich 3 % gemessen.
23:33 Zukünftige Entwicklungsziele: Die Roadmap sieht die Implementierung einer dynamischen AWDL-Zustandsmaschine vor, um am Master-Election-Prozess von Apple-Geräten teilnehmen zu können. Zudem wird an einer herstellerunabhängigen Interoperabilität über einen SoftMAC-Ansatz für andere Broadcom-Chipsätze gearbeitet.
24:53 Q&A – Industriestandards und Hardwarerestriktionen: Der Referent stellt klar, dass Traffic-Identifier (TID) Teil des offiziellen IEEE-802.11-Standards sind, die konkrete Kopplung an Flow-Rings jedoch herstellerspezifisch erfolgt. Die aktuelle Implementierung bleibt aufgrund der Firmware-Abhängigkeit vorerst exklusiv auf Broadcom-Chips beschränkt.
Glossar
AIFS (Arbitration Interframe Spacing): Ein prioritätsabhängiges Zeitintervall im WLAN-Standard, das ein Gerät nach einer Übertragung warten muss, bevor es erneut versucht, auf das Medium zuzugreifen. Höhere Prioritäten nutzen kürzere AIFS-Phasen.
AMDU / A-MPDU / A-MSDU (Aggregation): Verfahren zur Paketbündelung auf MAC-Ebene. Mehrere Datenrahmen (Frames) werden zusammengefasst und in einer einzigen physischen Übertragung gesendet, was den Protokoll-Overhead minimiert und den Durchsatz steigert.
AWDL (Apple Wireless Direct Link): Ein proprietäres, von Apple entwickeltes WLAN-Ad-hoc-Protokoll, das direkte Peer-to-Peer-Verbindungen zwischen Apple-Geräten für Dienste wie AirDrop ermöglicht.
brcmfmac: Der offizielle Linux-Kernel-Treiber für Broadcom-WLAN-Chipsätze, die das FullMAC-Konzept nutzen (bei dem wesentliche Teile des WLAN-Protokollstacks direkt auf der Chip-Firmware ausgeführt werden).
DriverKit: Ein Software-Framework von Apple, das es erlaubt, Gerätetreiber im sichereren Userspace (Anwenderbereich des Betriebssystems) statt im Kernelspace auszuführen.
EDCA (Enhanced Distributed Channel Access): Ein QoS-Mechanismus nach IEEE 802.11e, der Netzwerkverkehr in vier Klassen (Hintergrund, Best Effort, Video, Sprache) unterteilt und priorisiert.
Flow Rings: Im gemeinsamen Speicher (Shared Memory) von Host-CPU und WLAN-Chip eingerichtete Ringpuffer, die für die strukturierte, parallele Übergabe von Sende- und Empfangsdaten zuständig sind.
IOVA (Input-Output Variable): Proprietäre Kontrollbefehle und Variablen, die vom Betriebssystem an die Firmware eines Broadcom-WLAN-Chips übertragen werden, um dessen Betriebsparameter zu steuern.
LLW (Low Latency Wi-Fi): Ein von Apple entwickeltes, proprietäres Echtzeit-Verbindungsschicht-Protokoll mit extrem geringen Latenzen für anspruchsvolle AV-Spiegelungsdienste.
RSDB (Real Simultaneous Dualband): Die Fähigkeit eines WLAN-Moduls, gleichzeitig auf zwei unterschiedlichen Frequenzbändern (z. B. 2,4 GHz und 5 GHz) aktiv Daten über separate Funkkanäle zu übertragen.
SoftMAC: Ein WLAN-Architekturmodell, bei dem wesentliche Teile der Medienzugriffssteuerung (MAC) in der Software des Host-Betriebssystems implementiert sind und nicht auf dem WLAN-Chip selbst verarbeitet werden.
Traffic Identifier (TID): Ein 3-Bit-Feld im Header von IEEE-802.11-Frames, das die Prioritätsstufe des Datenpakets (Werte von 0 bis 7) für Dienstgüte-Verfahren (QoS) festlegt.
TXOP (Transmission Opportunity): Ein begrenztes Zeitfenster, das einer WLAN-Station nach erfolgreichem Kanalzugriff zugewiesen wird, um ohne erneute Kanalbelegungsprüfung kontinuierlich Daten zu senden.