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 de módulos de hardware em linguagem Verilog para 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 custo dos componentes usados no primeiro protótipo OpenWifi foi de cerca de 1300 euros, mas está em andamento a portabilidade para placas mais baratas. Por exemplo, o custo de uma solução baseada em será de 700 euros, e baseada em — 400 euros.
O teste de desempenho da conexão do cliente com o adaptador USB TL-WDN4200 N900 ao ponto de acesso baseado em OpenWifi conseguiu alcançar uma largura de banda de 30,6 Mbps (TCP) e 38,8 Mbps (UDP) ao transferir dados do ponto de acesso para o cliente e 17,0 Mbps (TCP) e 21,5 Mbps (UDP) durante a transferência do cliente para o ponto de acesso. Para gerenciamento, podem ser utilizadas as utilitários padrão do Linux, como ifconfig e iwconfig, assim como a utilitário especializada sdrctl, que funciona via netlink e permite gerenciar o funcionamento do SDR em baixo nível (manipular registradores, alterar configurações de quantização de tempo, etc.).

Entre outros projetos abertos que estão experimentando 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
