WiFiBroadcast (WFB) を macOS に導入する:ユーザースペースのラジオスタック

WiFiBroadcast (WFB) は通常、Linux 系統のシステムの領域であり、ドローンやエッジデバイス向けの長距離・低遅延ラジオリンクを実現するために、特定のカーネルレベルのモニターモードやパケット注入機能が必要です。macOS ユーザーにとっては、エッジハードウェアと通信するだけのために別途 Linux マシンを用意しなければならないというハードルがあり、過剰な負担となっていました。

そこで登場するのが wfb-link です。Rust で書かれたユーザースペースのラジオスタックで、RTL8812AU USB アダプタを使用して macOS でも WFB スタイルのリンクを確立できます。標準の macOS ネットワークスタックをバイパスし、ハードウェアと直接やり取りすることで、wfb-link は macOS と WFB-NG エコシステム間の橋渡しを行います。

技術的課題:macOS のモニターモードをバイパスする

macOS では、WFB システムが従来依存しているモニターモードやパケット注入の経路が公開されていません。標準的な WFB 設定では、OS カーネルがラジオハードウェアを制御し、生の 802.11 フレームを注入します。Apple のネットワークスタックが制限的であるため、従来の手法は macOS では不可能です。

この課題を解決するために、wfb-link はユーザースペース方式を採用しています。カーネルのネットワークドライバに依存する代わりに、プロジェクトは macOS のネイティブユーザースペースで RTL8812AU を立ち上げます。ALFA AWUS036ACH USB アダプタと周辺機器として直接通信し、チップを初期化した上で、生の 802.11 WFB フレームを bulk OUT で送信し、bulk IN で受信します。

このアーキテクチャにより、USB アダプタをネットワークインターフェースではなく、生データパイプとして扱うことができ、OS のパケット注入に関する制限を実質的に回避できます。

コア機能と実装

メモリ安全性とパフォーマンスを重視して Rust で実装された wfb-link は、ラジオリンクを機能させるための重要なコンポーネントをいくつか提供します:

  • Direct Radio Path: RTL8812AU チップセットの macOS ネイティブユーザースペース立ち上げ。
  • WFB Datagram TX/RX: WFB データグラムを直接送受信する機能。
  • WFB-NG Integration: これらの生フレームを WFB-NG のディストリビュータ/アグリゲータ UDP プロトコルに橋渡しし、既存の WFB-NG ツールと統合できるようにします。
  • Network Bridging: ラジオ上で IP ベースのリンクが必要なユーザー向けに、macOS の utun ブリッジヘルパーが同梱されています。
  • Diagnostics and Control: スタックには RF 診断、テレメトリ、LED ハートビート、TDD(時分割デュプレックス)エアタイム制御が含まれ、ラジオの動作を管理します。

AI 支援開発

wfb-link プロジェクトで最も興味深い点の一つは、その開発プロセスです。ハードウェアや組み込みシステムのエンジニアではなくソフトウェアエンジニアである作者は、大規模言語モデル(LLM)を活用して開発サイクルを加速させました。Codex GPT 5.5 と Claude Opus 4.7 を組み合わせることで、作者はゼロから最初のアルファリリースまで約2週間で到達できました。

これは、AI が開発者の高度なソフトウェアエンジニアリングスキルと、専門的な低レベルハードウェア操作とのギャップを埋める手段として利用される傾向が高まっていることを示しており、新しいラジオスタックの立ち上げに要する時間を大幅に短縮します。

現在の状況と今後のロードマップ

現在、wfb-link は arm64 macOS バイナリのアルファリリースとして提供されています。主に両端で ALFA AWUS036ACH アダプタを使用してテストされており(リモート側は Bookworm を実行する Raspberry Pi 5)、動作が確認されています。

libusb が新しい macOS バージョンで信頼性に欠けることが判明したため、プロジェクトは通信に IOUSBHost を利用しています。

現在の焦点は macOS のみですが、作者はプロジェクトをクロスプラットフォーム化する目標を示しています。次の大きなマイルストーンは USB-OTG を介した Android サポートへの挑戦で、これによりモバイルデバイスへの WFB リンクの利用が拡大する可能性があります。

技術的アプローチの概要

機能 従来の WFB wfb-link (macOS)
ドライバーレベル カーネルモード(モニターモード) ユーザースペース(USB バルク転送)
OS 要件 Linux macOS (via IOUSBHost)
製品 RTL8812AU / その他 ALFA AWUS036ACH
通信 生 802.11 フレーム USB バルク IN/OUT
統合 WFB-NG WFB-NG UDP プロトコル

Sources