Na początku października pisaliśmy o nieudokumentowanym trybie ESP32, który zamienia tani mikrokontroler w odbiornik SDR (radio programowalne). Wersja dla ESP32-S3, którą opublikował h0m3us3r, osiągała 80 Msps, czyli 80 milionów próbek na sekundę. Router Wi-Fi 7 daje cztery razy więcej.
Router, który słucha eteru
Projekt nazywa się W1700K SDR. Układ radiowy MT7996 w routerze Gemtek W1700K rejestruje surowe próbki I/Q (zapis sygnału radiowego jako dwie liczby na każdą próbkę) o rozdzielczości 14 bitów, z szybkością do 320 Msps.
Układ MT7996 działa wyłącznie na firmware zbudowanym z kodu z repozytorium, bez kodu MediaTek. Oprogramowanie samo uruchamia radio po włączeniu zasilania i przyjmuje polecenia z komputera: częstotliwość, szybkość próbkowania, wzmocnienie, filtr i start strumienia. Firmware jest tylko odbiorczy – nie uruchamia kalibracji nadawania i ma wyłączoną ścieżkę nadawczą. Podczas ładowania firmware'u nieprzerwany nasłuch na 5250 MHz nie wykazał żadnej emisji, a fabryczny firmware MediaTeka nadaje w tym momencie impuls pełną mocą. Mimo to gniazda antenowego nie należy podłączać wprost do czułego przyrządu pomiarowego bez tłumika.
Własna łatka ROM projektu (poprawka wbudowanego oprogramowania układu) nie zapisuje też niczego w eFuse, czyli w bitach, które da się zaprogramować tylko raz. Łatki MediaTeka od 2025 roku przy pierwszym uruchomieniu na stałe ustawiają jeden taki bit, także wtedy, gdy działają z fabrycznym sterownikiem.
Od anteny do przeglądarki
Największą przewagą nad ESP32 jest łącze. Procesor routera, Airoha AN7581, ma port 10 GbE (Ethernet 10 Gbit/s) i nim wysyła pełny strumień próbek do komputera z Linuksem. Przy 320 Msps łącze niesie 9,75 Gbit/s, a połowa paczek z danymi jest automatycznie pakowana do 28 bitów na próbkę (po 14 bitów I i Q), żeby zmieścić się w łączu. Pakowanie nie powoduje strat.
Na komputerze działają trzy narzędzia: w1700k-stream odbiera dane i udostępnia je innym programom, w1700k-spectrum pokazuje w przeglądarce widmo i wodospad (wykres, na którym czas płynie w dół), a sdr-recv nagrywa strumień. Widmo powstaje z 262 144-punktowej szybkiej transformaty Fouriera (FFT), liczonej 100 razy na sekundę ze wszystkich próbek.
W praktyce da się podejrzeć całe pasmo 2,4 GHz naraz. Zrzuty ekranu z repozytorium pokazują ramki Wi-Fi i krótsze zrywy transmisji z przeskokami częstotliwości. W paśmie 5 GHz widać dwa zajęte kanały o szerokości 80 MHz, w zakresie 5170–5330 MHz, a po przybliżeniu do 24 MHz – brzegi kanałów i przerwę między nimi.
Parametry
| Cecha | Wartość |
|---|---|
| Szybkość próbkowania | 40, 80, 160 lub 320 Msps, próbki zespolone 14-bitowe |
| Pasma | 2,4 GHz, 5 GHz i 6 GHz; przełączanie pasma działa w trakcie strumienia |
| Zakres strojenia (egzemplarz testowy) | 2,081–2,748 GHz, 4,647–7,509 GHz oraz 4,707–7,576 GHz, bez podziału na kanały |
| Przestrajanie | w trakcie strumienia, ok. 1 ms; krok 2,98 Hz (2,4 GHz) lub 11,9–14,3 Hz |
| Filtr analogowy | 20–320 MHz |
| Wzmocnienie | automatyczne (AGC) lub ręczne |
Co trzeba mieć i czego się spodziewać
Poza routerem W1700K (wersja sprzętowa 1.x) albo W1700K2 (wersja 2.1) potrzebny jest adapter USB–UART 3,3 V podłączony do złącza konsoli oraz kabel Ethernet do portu lan3 na czas instalacji. Obie wersje routera korzystają z tych samych obrazów. Do odbioru strumienia służy karta sieciowa 10 GbE z kablem do portu wan routera (10GBASE-T); działa np. karta X710 z miedzianym modułem SFP+. Część egzemplarzy W1700K2 ma pamięć NAND W25N04LV, której nikt jeszcze nie sprawdził na działającym urządzeniu – instalator się przy niej zatrzymuje.
Całość buduje się poleceniem make z publicznych źródeł, w około 10 minut plus czas pobierania. Firmware'u producenta nie trzeba pobierać.
UWAGA: instalacja zastępuje fabryczny system routera. Skrypt instalacyjny najpierw kopiuje dane z pamięci NAND na komputer – tę kopię trzeba zachować, bo z niej skrypt init/restore przywraca fabryczne oprogramowanie. Odwoływanie się do nieudokumentowanych adresów układów MT7996 i AN7581 może zawiesić router do ponownego włączenia zasilania.
Inne routery i licencja
Układ MT7996 mają także Banana Pi BPI-R4, GL.iNet Flint 4 i Gemtek XR1710G. Nie wiadomo jednak, czy to oprogramowanie na nich ruszy.
Projekt powstawał z pomocą AI: we wszystkich zmianach w repozytorium jako współautor figuruje Claude, model AI firmy Anthropic. Większość kodu ma licencję MIT, sterownik Linuksa i łatki jądra – GPL-2.0, a pliki wywodzące się ze sterownika mt76 – BSD-3-Clause-Clear.
Artykuł powstał na podstawie wpisu na rtl-sdr.com z 13 października 2026 oraz opisu projektu w repozytorium GitHub.
