Hace solo unos días hablábamos del proyecto ESP-SDR, que convertía un ESP32 en un receptor SDR (y ahora también en un transmisor SDR), pero los datos se enviaban por UART, que no era capaz de seguir el ritmo de la frecuencia de muestreo. Ahora, el desarrollador h0m3us3r ha publicado w1700k-sdr, también un proyecto de código abierto que convierte un router Wi-Fi 7 Gemtek W1700K en un receptor SDR de banda ancha.
El proyecto utiliza la radio MediaTek MT7996 integrada en el router para capturar muestras I/Q de 14 bits sin procesar a velocidades de hasta 320 MSps en las bandas de 2.4 GHz, 5 GHz y 6 GHz. Los datos capturados se envían después a través de una conexión 10 GbE mediante el SoC Airoha AN7581 del router hacia un ordenador Linux, donde es posible ver el espectro y la cascada en vivo desde el navegador. Para que esto funcione, el proyecto sustituye el firmware de fábrica del router por un sistema Linux y un firmware de radio personalizados, lo que permite capturar datos I/Q en bruto en lugar de procesar el tráfico Wi-Fi normal.
Características y especificaciones del W1700K SDR:
- Hardware compatible: routers Wi-Fi 7 Gemtek W1700K (HW 1.x) y W1700K2 (HW 2.1)
- SoC: Airoha AN7581 con procesador Arm Cortex-A53 de cuatro núcleos
- Radio: chipset Wi-Fi 7 MediaTek MT7996 conectado por PCIe
- Frontal de RF MT7976 para 2.4 GHz
- Dos frontales de RF MT7977 para 5 GHz y 6 GHz
- Memoria: 2 GB de DRAM, incluido un búfer en anillo DMA de 1 GiB para las muestras capturadas
- Recepción SDR
- Bandas: 2.4 GHz, 5 GHz y 6 GHz
- Resolución de muestreo: muestras I/Q de 14 bits
- Frecuencias de muestreo: 40, 80, 160 y 320 MSps en las tres bandas
- Modo adicional de muestreo 640/2 en la banda 2, con limitaciones por aliasing
- Sintonización: sintonización continua del LO dentro de los rangos compatibles del sintetizador, con resintonización durante el streaming
- Controles de RF: control automático de ganancia (AGC), ganancia manual de LNA/banda base y filtrado analógico de 20 a 320 MHz
- Streaming: streaming UDP sin copias sobre 10 GbE con empaquetado de muestras sin pérdidas a la velocidad más alta
El proyecto emplea un empaquetado de muestras sin pérdidas y almacenamiento en búfer para gestionar el streaming I/Q continuo de alta velocidad. A 320 MSps, la radio genera alrededor de 1.28 GB/s de datos cuando cada muestra compleja se almacena en 32 bits, lo que supera el ancho de banda útil de una única conexión 10 GbE.
Para resolverlo, el firmware empaqueta la mitad de los bloques de datos en un formato más compacto de 28 bits por muestra compleja sin perder información. Las muestras se transfieren a un búfer en anillo de 1 GiB en la memoria del router y luego se envían al host mediante UDP. Con este enfoque, el desarrollador indica que la conexión alcanza unos 9.75 Gbit/s. A diferencia de ESP-WebSDR, que captura instantáneas I/Q cortas y puede perder señales entre ventanas de captura, W1700K-SDR admite streaming I/Q continuo sin esos huecos.
El proyecto utiliza firmware personalizado para el MT7996, que incluye un parche de ROM y firmware WM y WA independientes. El desarrollador hizo ingeniería inversa de los procedimientos de inicialización y calibración de la radio de MediaTek trazando operaciones de registros y después implementó las funciones necesarias sin cargar el firmware propietario de MediaTek. El receptor permite cambiar la frecuencia, la ganancia, la configuración de los filtros y de banda mientras se realiza el streaming. Cambiar la frecuencia de muestreo requiere por ahora detener y reiniciar el flujo.
El software del host también incluye una opción «flatten» (aplanar) que corrige la caída de la respuesta en frecuencia introducida por los filtros de decimación de la radio. Esto ayuda a mantener una representación del espectro más uniforme cerca de los bordes del ancho de banda capturado. Puedes controlar el receptor desde el navegador o usar herramientas de línea de comandos para cambiar la configuración y grabar datos I/Q para su posterior procesamiento.
Para empezar necesitas un router W1700K o W1700K2 compatible, un adaptador USB a serie de 3.3 V, una conexión Ethernet al puerto LAN3 del router para la instalación y un ordenador Linux con una NIC de 10 GbE conectada al puerto WAN del router. El Gemtek W1700K también se conoce como router Wi-Fi 7 Quantum Fiber W1700K. Si no estás seguro de tener la versión correcta, hungvu.tech ofrece un teardown con imágenes de la placa.
El repositorio proporciona scripts de compilación, herramientas de instalación e instrucciones para hacer una copia de seguridad de la memoria NAND original. Tras la instalación, se puede acceder al visor de espectro desde el navegador en el puerto 8073. La mayor parte del código se publica bajo licencia MIT, mientras que ciertos componentes del kernel, del gestor de arranque y de los controladores están bajo licencias GPL y BSD.
Traducido del artículo en inglés «W1700K SDR turns a Wi-Fi 7 router into a 320 MSps software-defined radio receiver» de Debashis Das.
Publicaciones traducidas automáticamente
