
GemtekのW1700K Wi-Fi 7ルーターに搭載されたMediaTek MT7996を、無線LANパケットの受信機ではなく、電波の生データを取り込むソフトウェア無線(SDR)受信機として使うプロジェクトが公開されました。14ビットのI/Qデータを最大320 Mspsで取り込み、10GbE経由でLinuxホストへ送り、ブラウザー上にスペクトラムやウォーターフォールを表示します。
MT7996が取り込むI/Qデータ
I/Qデータは、受信した電波を表す複素サンプルです。I(同相)とQ(直交)の値を時系列で扱うことで、信号の強さだけでなく、周波数や位相の変化を含む波形情報を記録できます。
通常のWi-Fi受信機は、受け取った波形からパケットを検出・復号し、ネットワークで扱うデータを取り出します。一方、このプロジェクトはパケットとして復号する前のI/Qサンプルをストリーム出力するため、周波数帯の信号をスペクトラムやウォーターフォールで観察できます。
NIST(米国国立標準技術研究所)は、Wi-FiとBluetoothの電波を低価格SDRで記録したI/Qデータセットを公開しています。記録対象は2.4GHz帯と5GHz帯で、各キャプチャーは1秒、サンプリングレートは30 MS/sです。このデータセットは900件の1秒記録で構成され、周波数や帯域幅、ビット深度などのメタデータも各ファイルに付属します。
320 Mspsのデータを10GbEで転送
W1700KのMT7996は、2.4GHz帯でMT7976、5GHz帯と6GHz帯で2基のMT7977を使います。受信サンプルは14ビットの複素I/Qで、各帯域で40、80、160、320 Mspsを選べます。
ルーター内のSoCは、無線チップがDMA転送したデータをメモリー上のリングバッファーに蓄積し、8KiBごとのUDPデータグラムとして10GbEポートから送ります。320 Msps時には、無線チップ上でサンプル対を28ビットにまとめて転送量を抑えます。
Linuxホスト側では、受信サービスがデータを共有メモリーに渡し、スペクトラム表示や記録に利用します。付属の表示サーバーは262,144点FFTを毎秒100フレーム計算し、ブラウザーにライブ表示します。表示例には、2.4GHz帯の全域を320 Mspsで表示したものや、5GHz帯の複数のWi-Fiチャネルを含むものがあります。
Wi-Fiパケット受信との観察範囲の違い
I/Qサンプルを扱うと、復号済みパケットの一覧ではなく、受信した信号の波形やスペクトラムを解析できます。OpenWiFiのキャプチャー機能では、I/Qサンプルに加え、タイムスタンプ、受信機のAGC状態とゲイン、RSSI(受信信号強度の指標)を取得します。
OpenWiFiは、パケットのFCSチェック結果やプリアンブル検出、RSSIのしきい値などをトリガーに、条件に合ったタイミングの前後のI/Qサンプルを保存できます。また、I/Qデータを使った周波数オフセットの推定やSNR(信号対雑音比)の計算例も用意されています。
これらはOpenWiFi側の機能例で、W1700K向けプロジェクトの機能として紹介されているものではありません。W1700Kでは、I/Qストリームをスペクトラム表示や記録に使う構成が説明されています。どちらも復号後のパケットだけを見る方法と比べ、信号の変化を低い処理段階から調べられます。
RTL-SDRとは異なる周波数帯
RTL-SDRは、地上デジタルテレビ受信機のチップを転用し、I/Qデータを出力する安価なSDRの代表例です。一般的なRTL-SDRの受信範囲はモデルによって異なりますが、従来型ではおおむね24~25MHzから約1.7GHzが中心です。
その範囲では、FMラジオや航空無線、船舶通信などが用途例として挙げられています。一方、W1700KのMT7996プロジェクトは2.4、5、6GHz帯を対象とし、サンプルレートは最大320 Mspsです。両者が扱う周波数帯は異なり、RTL-SDRで紹介される低い周波数帯の用途をそのまま置き換えるものではありません。
受信専用だが導入には機器の変更が必要
公開されたファームウェアは受信専用で、送信経路を無効にし、MediaTek製の送信キャリブレーションも実行しない設計です。ただし、プロジェクト側は、アンテナ端子を減衰器なしで感度の高い測定器へ直結しないよう注意を促しています。
導入時にはルーターの標準OSを置き換え、NAND全体のバックアップを先にホストへ保存します。標準状態へ戻すには生NANDを書き込む装置が必要で、そのためのツールはプロジェクトに含まれません。
MediaTekのROMパッチは初回実行時にeFuseのゲートビットを恒久的に書き込む場合がありますが、このプロジェクトのROMパッチはeFuseを書き込みません。未文書化レジスターへのアクセスでSoCや無線チップが停止する可能性も記されており、動作にはルーターへの改変と10GbE対応のホスト環境が必要です。











