將 WiFiBroadcast (WFB) 帶到 macOS:用戶空間無線電堆疊

WiFiBroadcast(WFB)通常屬於基於 Linux 的系統領域,常需要特定的核心層監聽模式與封包注入功能,以實現無人機與邊緣裝置的遠距離、低延遲無線鏈路。對於 macOS 使用者而言,這一直是一道障礙,僅為了與邊緣硬體通訊而額外購置 Linux 主機實在過於繁瑣。

此時 wfb-link 登場,這是一個以 Rust 撰寫的用戶空間無線電堆疊,讓 macOS 能夠使用 RTL8812AU USB 介面卡建立類似 WFB 的鏈路。透過繞過標準的 macOS 網路堆疊,直接與硬體通訊,wfb-link 成為 macOS 與 WFB-NG 生態系統之間的橋樑。

技術挑戰:繞過 macOS 監聽模式

macOS 並未公開 WFB 系統傳統上依賴的監聽模式或封包注入路徑。在標準的 WFB 設定中,作業系統核心負責無線硬體以注入原始 802.11 框架。由於 Apple 的網路堆疊相當受限,傳統的做法在 macOS 上幾乎不可能。

為了解決此問題,wfb-link 採取用戶空間的方式。它不依賴核心的網路驅動程式,而是實作原生 macOS 用戶空間的 RTL8812AU 初始化。它直接將 ALFA AWUS036ACH USB 介面卡視為週邊裝置進行通訊,初始化晶片,並透過 bulk OUT 傳送原始 802.11 WFB 框架,透過 bulk IN 接收。

此架構使得專案能將 USB 介面卡視為原始資料管道,而非網路介面,從而有效繞過作業系統對封包注入的限制。

核心功能與實作

  • Direct Radio Path:原生 macOS 用戶空間的 RTL8812AU 晶片初始化。
  • WFB Datagram TX/RX:能直接傳送與接收 WFB 資料報文。
  • WFB-NG Integration:它將這些原始框架橋接至 WFB-NG 的分發/聚合 UDP 協定,使其能與現有的 WFB-NG 工具整合。
  • Network Bridging:提供 macOS utun 橋接輔助程式,供需要透過無線建立 IP 連結的使用者使用。
  • Diagnostics and Control:此堆疊包含 RF 診斷、遙測、LED 心跳指示,以及 TDD(時分雙工)空中時間控制,以管理無線電的行為。

AI 輔助開發

wfb-link 專案最有趣的面向之一是其開發流程。作者是一位軟體工程師,而非硬體或嵌入式系統工程師,藉助大型語言模型(LLM)加速開發週期。透過結合 Codex GPT 5.5 與 Claude Opus 4.7,作者在約兩週內便從空白起步完成第一個 alpha 版發布。

此例證明了一個日益增長的趨勢:AI 能夠彌合開發者高階軟體工程技能與專門的低階硬體互動之間的鴻溝,顯著縮短建置新無線電堆疊所需的時間。

當前狀態與未來路線圖

目前,wfb-link 以 alpha 版形式提供,包含 arm64 macOS 二進位檔。它主要在雙端使用 ALFA AWUS036ACH 介面卡進行測試(遠端使用執行 Bookworm 的 Raspberry Pi 5)。

由於 libusb 在較新版本的 macOS 上表現不穩定,專案改以 IOUSBHost 進行通訊。

雖然目前唯一的焦點是 macOS,作者仍表示希望此專案能跨平台。下一個主要里程碑是嘗試透過 USB-OTG 支援 Android,這將有望將 WFB 連結的可及性擴展至行動裝置。

技術方法概述

功能 傳統 WFB wfb-link(macOS)
驅動層級 核心模式(監聽模式) 用戶空間(USB 大量傳輸)
作業系統需求 Linux macOS(透過 IOUSBHost)
產品 RTL8812AU / 其他 ALFA AWUS036ACH
通訊方式 原始 802.11 框架 透過 USB 的 Bulk IN/OUT
整合 WFB-NG WFB-NG UDP 協定

Sources