Ещё недавно обсуждался проект ESP-SDR, превращавший ESP32 в SDR-приёмник (а затем и передатчик), однако данные передавались по UART, который не поспевал за скоростью оцифровки. Теперь разработчик h0m3us3r выпустил w1700k-sdr — ещё один проект с открытым исходным кодом, который превращает Wi-Fi 7-роутер Gemtek W1700K в широкополосный приёмник программно-определяемого радио.
Проект задействует встроенный радиомодуль роутера MediaTek MT7996 для захвата сырых 14-битных отсчётов I/Q со скоростью до 320 млн выборок в секунду в диапазонах 2,4, 5 и 6 ГГц. Захваченные данные затем передаются по каналу 10 GbE через SoC роутера Airoha AN7581 на Linux-компьютер, где спектр и водопадную диаграмму можно смотреть в реальном времени прямо в браузере. Чтобы всё это заработало, штатную прошивку роутера заменяют собственной Linux-системой и радиопрошивкой, позволяющей снимать сырые I/Q-данные вместо обработки обычного Wi-Fi-трафика.
Полный спектр диапазона 2,4 ГГц с включённой коррекцией неравномерности полосы пропускания
Характеристики и возможности W1700K SDR
Роутер Gemtek W1700K с радиочипом MediaTek Wi-Fi 7 и SoC Airoha
- Поддерживаемое оборудование — роутеры Wi-Fi 7 Gemtek W1700K (ревизия HW 1.x) и W1700K2 (HW 2.1)
- SoC — Airoha AN7581 с четырёхъядерным процессором Arm Cortex-A53
- Радиомодуль — чипсет Wi-Fi 7 MediaTek MT7996, подключённый по PCIe
- ВЧ-тракт MT7976 для диапазона 2,4 ГГц
- Два ВЧ-тракта MT7977 для диапазонов 5 и 6 ГГц
- Память — 2 ГБ DRAM, включая кольцевой DMA-буфер на 1 ГиБ для захваченных выборок
- Приём в режиме SDR
- Диапазоны — 2,4, 5 и 6 ГГц
- Разрядность — 14-битные отсчёты I/Q
- Частоты дискретизации — 40, 80, 160 и 320 Мвыб/с во всех трёх диапазонах
- Дополнительный режим 640/2 на втором диапазоне (с ограничениями из-за наложения спектров)
- Перестройка частоты — непрерывная перестройка гетеродина в пределах диапазонов синтезатора, в том числе на лету во время передачи потока
- Управление ВЧ-трактом — автоматическая регулировка усиления (AGC), ручная настройка усиления LNA и в полосе модулирующих частот, аналоговая фильтрация 20–320 МГц
- Передача потока — UDP поверх 10 GbE без лишнего копирования (zero-copy) с упаковкой выборок без потерь на максимальной скорости
Для непрерывного высокоскоростного потока I/Q проект использует упаковку выборок без потерь и буферизацию. На скорости 320 Мвыб/с радиотракт выдаёт около 1,28 ГБ/с данных, если каждый комплексный отсчёт хранить в 32 битах, — а это превышает полезную пропускную способность одного канала 10 GbE.
Чтобы обойти ограничение, прошивка упаковывает половину блоков данных в более компактный формат 28 бит на комплексный отсчёт без потери информации. Выборки перекладываются в кольцевой буфер на 1 ГиБ в памяти роутера и отправляются на хост по UDP. По словам автора, при таком подходе канал держит около 9,75 Гбит/с. В отличие от ESP-WebSDR, который снимает короткие фрагменты I/Q и может пропускать сигналы между окнами захвата, w1700k-sdr поддерживает непрерывный поток без таких провалов.
Водопадная диаграмма диапазона 5 ГГц в реальном времени: БПФ на 262 тыс. точек прямо в браузере
Увеличение до полосы 24 МГц вокруг 5250 МГц: края двух каналов и защитный интервал между ними, разрешение 1,22 кГц на бин
Для MT7996 используется собственная прошивка, включая патч ПЗУ и отдельные образы WM и WA. Разработчик реверс-инжинирил процедуры инициализации и калибровки радиомодуля MediaTek, трассируя обращения к регистрам, и затем реализовал нужные функции без загрузки проприетарной прошивки производителя. Приёмник позволяет менять частоту, усиление, настройки фильтров и переключать диапазоны прямо во время передачи потока; смена частоты дискретизации пока требует остановить и перезапустить поток.
В программе на стороне хоста есть опция flatten, которая компенсирует завал АЧХ, вносимый дециматорными фильтрами радиотракта. Это помогает удерживать более ровное отображение спектра у краёв захваченной полосы. Управлять приёмником можно из браузера или через консольные утилиты — в том числе записывать I/Q-данные для дальнейшей обработки.
Что нужно для запуска
Понадобятся совместимый роутер W1700K или W1700K2, переходник USB–UART на 3,3 В, Ethernet-подключение к порту LAN3 роутера для установки и Linux-компьютер с сетевой картой 10 GbE, подключённой к WAN-порту. Gemtek W1700K также известен под названием Quantum Fiber W1700K. Если вы не уверены, какая у вас ревизия, на сайте hungvu.tech есть разбор платы с фотографиями.
В репозитории выложены скрипты сборки, инструменты установки и инструкция по резервному копированию исходной NAND-флеш-памяти. После установки интерфейс просмотра спектра открывается в браузере на порту 8073. Большая часть кода распространяется под лицензией MIT, а отдельные компоненты ядра, загрузчика и драйверов — под GPL и BSD.

















