En la última conferencia FOSDEM 2020 proyecto , desarrollando la primera implementación abierta de la pila Wi-Fi 802.11a/g/n completa, cuya forma y modulación de la señal se especifica en el software (SDR, Software Defined Radio). OpenWifi le permite crear una implementación totalmente controlada de todos los componentes de un dispositivo inalámbrico, incluidas las capas de bajo nivel, que en los adaptadores inalámbricos convencionales se implementan al nivel de chips que no son auditables. Código y (Verilog) Los bloques de hardware basados en FPGA tienen licencia AGPLv3.
El componente de hardware del prototipo funcional demostrado se basa en una FPGA Xilinx Zynq y un transceptor RF universal AD9361. OpenWifi utiliza la arquitectura SoftMAC, que consiste en implementar la pila inalámbrica 802.11 principal (High-MAC) en el controlador y una capa Low-MAC en la FPGA. La pila inalámbrica la proporciona el subsistema del kernel mac80211. LinuxLa interacción con SDR se realiza a través de un controlador especial.
Características principales:
- Soporte total para 802.11a/g y soporte parcial para 802.11n MCS 0~7 (PHY rx solo por ahora). Hay planes para admitir 802.11ax;
- Ancho de banda de 20 MHz y rango de frecuencia de 70 MHz a 6 GHz;
- Modos de funcionamiento: (red de dispositivos cliente), punto de acceso, estación y monitoreo;
- Implementación del protocolo de capa de enlace en el lado FPGA (Función de Coordinación Distribuida), utilizando el método CSMA/CA. Proporciona tiempo de procesamiento de fotogramas () en el nivel 10us;
- Parámetros de prioridad de acceso al canal configurables: duración RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time, etc.
- División de tiempo () según la dirección MAC;
- Ancho de banda y frecuencia fácilmente modificables:
2MHz para 802.11ah y 10MHz para 802.11p;
Actualmente, OpenWifi proporciona Plataformas SDR basadas en FPGA
Xilinx ZC706 con transceptores FMCOMMS2/3/4 de Analog Devices, así como paquetes (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB y ADRV9361Z7035 SOM + ADRV1CRR-FMC. Formado para cargar Tarjetas SD basadas en ARM LinuxLos planes incluyen soporte para ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 y
Xilinx ZCU102 + ADRV9371.
Тестирование производительности подключения клиента с USB-адаптером TL-WDN4200 N900 к точке доступа на базе openwifi позволило добиться пропускной способности 30.6Mbps (TCP) и 38.8Mbps (UDP) при передаче данных от точки доступа к клиенту и 17.0Mbps (TCP) и 21.5Mbps (UDP) при передаче от клиента к точке доступа. Для управления могут использоваться штатные утилиты Linux, como ifconfig e iwconfig, así como una utilidad especializada sdrctl, que funciona a través de netlink y permite controlar el funcionamiento del SDR a un nivel bajo (manipular registros, cambiar la configuración de cuantificación de tiempo, etc.).

Entre otros proyectos abiertos que experimentan con la pila Wi-Fi, podemos destacar el proyecto Desarrollo compatible con IEEE 802.11 a/g/p Basado en GNU Radio y una PC normal. Las pilas inalámbricas de software abierto 802.11 también están desarrollando proyectos и (Radio de software de investigación de Microsoft).
Fuente: opennet.ru
