Na conferência FOSDEM 2020 projeto , desenvolvendo a primeira implementação aberta de pilha completa Wi-Fi 802.11a/g/n, cuja forma de sinal e modulação são definidas por software (SDR, Software Defined Radio). O OpenWifi permite criar uma implementação totalmente controlada de todos os componentes de um dispositivo sem fio, incluindo camadas de baixo nível, que, em adaptadores sem fio comuns, são implementadas em chips inacessíveis para auditoria. O código , além de Os blocos de hardware (Verilog) baseados em FPGA são distribuídos sob a licença AGPLv3.
O hardware do protótipo funcional demonstrado é baseado no FPGA Xilinx Zynq e no transceptor universal (RF) AD9361. O OpenWifi usa uma arquitetura SoftMAC, que implica a implementação da pilha de wireless 802.11 (high-MAC) no lado do driver, e a existência de uma camada low-MAC no lado do FPGA. A pilha wireless utiliza o subsistema mac80211, disponibilizado pelo núcleo Linux. A interação com SDR é realizada através de um driver especial.
Principais funcionalidades:
- Suporte total para 802.11a/g e suporte parcial para 802.11n MCS 0~7 (atualmente apenas PHY rx). Está planejado o suporte para 802.11ax;
- Largura de banda de 20MHz e faixa de frequência de 70 MHz até 6 GHz;
- Modos de operação: (rede de dispositivos clientes), ponto de acesso, estação e monitoramento;
- Implementação do protocolo de link no lado do FPGA (Distributed Coordination Function), utilizando o método CSMA/CA. O tempo de processamento do quadro é garantido em) no nível de 10us;
- Parâmetros de prioridade de acesso ao canal configuráveis: duração do RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, tempo de slot, etc.
- Quantização do tempo () com base no endereço MAC;
- Largura de banda e frequência facilmente ajustáveis:
2MHz para 802.11ah e 10MHz para 802.11p;
Atualmente, o OpenWifi oferece plataformas SDR baseadas em FPGA
Xilinx ZC706 com transceptores da Analog Devices FMCOMMS2/3/4, além de combinações (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB e ADRV9361Z7035 SOM + ADRV1CRR-FMC. Para a carga, foi formado para cartão SD com base em ARM Linux. Está nos planos o suporte para combinações ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx Zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 e
Xilinx ZCU102 + ADRV9371.
O teste de desempenho da conexão do cliente com o adaptador USB TL-WDN4200 N900 ao ponto de acesso baseado em openwifi alcançou uma capacidade de 30,6 Mbps (TCP) e 38,8 Mbps (UDP) na transmissão de dados do ponto de acesso para o cliente e 17,0 Mbps (TCP) e 21,5 Mbps (UDP) na transmissão do cliente para o ponto de acesso. Utilitários padrão do Linux, como ifconfig e iwconfig, assim como a ferramenta especializada sdrctl, que opera via netlink e permite gerenciar o funcionamento do SDR em nível baixo (manipular registradores, alterar configurações de quantização de tempo etc.), podem ser usados para controle.

Dentre outros projetos abertos que experimentam com a pilha Wi-Fi, podemos mencionar o projeto , que desenvolve um transmissor compatível com IEEE 802.11 a/g/p Ziria e A empresa Siemens lançou o hipervisor Jailhouse 0.12
Fonte: opennet.ru
