Sobre o projeto

WFB-NG é um enlace de rádio pacote de longo alcance de próxima geração que opera placas WiFi em modo monitor, enviando e recebendo pacotes 802.11 arbitrários sem associação ou espera por ACK. Destina-se a enlaces de vídeo e telemetria de baixa latência, comumente usados em configurações de FPV e drones. Principais capacidades descritas no README: - Mapeamento um-para-um de pacotes RTP para pacotes IEEE80211 para minimizar a latência, em vez de serializar para um fluxo de bytes. - Correção de erros antecipada (FEC) com configurações ajustáveis; as configurações padrão podem recuperar 4 pacotes perdidos de um bloco de 12 pacotes. O FEC acelerado por SIMD em amd64, arm32 e arm64 é declarado como 5-10x mais rápido que uma versão em C puro. - Telemetria MAVLink bidirecional para enlaces de subida/descida junto com o downlink de vídeo. - Um túnel IPv4 para tráfego genérico, embora o README observe que ele tem mais overhead que fluxos UDP brutos. - Diversidade de TX automática ao selecionar a placa de TX com base no RSSI de RX. - Criptografia e autenticação de fluxo usando libsodium. - Operação distribuída, coletando dados de placas em hosts diferentes para evitar um único gargalo de barramento USB. - Agregação de pacotes MAVLink e de túnel para evitar enviar um pacote WiFi por pacote pequeno. - Mudanças dinâmicas de FEC e modulação de rádio sem interrupção do enlace. - Registro completo do estado do canal, incluindo um analisador MAVLink, para depuração offline. - Suporte a modeladores de tráfego do Linux para priorizar canais ou pacotes de dados/FEC. - Um OSD para Raspberry Pi ou outros sistemas compatíveis com gstreamer/OpenGL, compatível com qualquer resolução de tela. - Arquiteturas de CPU suportadas: arm32v7, arm64v8, amd64, mips64le, s390x, ppc64le, i386, ou seja, Linux com kernel >= 4.x e uma porta USB. Hardware WiFi suportado: - RTL8812au (estável, 802.11ac) requer um driver externo corrigido; testado com ALPHA AWUS036ACH em modo 5GHz. - RTL8812eu (estável, 802.11ac) requer um driver externo corrigido; testado com um módulo LB-LINK BL-M8812EU2. - Atheros AR9350 (estável, 802.11n, LDPC) funciona imediatamente, mas precisa de patches no kernel para controlar a potência de TX; testado com TP-Link CPE510 e esperado funcionar em dispositivos ath9k SoC semelhantes executando OpenWRT. Para Atheros SoC, o modo cluster (beta) é recomendado devido a limites de CPU, Flash e RAM. Para uso apenas de RX, qualquer placa com modo de monitoramento pode funcionar. Primeiros passos: o README aponta para o guia PX4 e uma wiki de HOWTO de configuração. As opções de início rápido incluem baixar uma imagem de Raspberry Pi em Releases, gravar dois cartões SD, conectar adaptadores WiFi e habilitar serviços systemd (wifibroadcast@gs, rtsp, fpv-video, osd na estação terrestre; wifibroadcast@drone, fpv-camera no drone). Um caminho de estação terrestre Debian/Ubuntu instala um driver RTL8812AU ou RTL8812EU corrigido via DKMS e executa install_gs.sh. O monitoramento do enlace usa wfb-cli gs. A solução de problemas cobre logs do journalctl, correspondência de drone.key/gs.key e correspondência do canal WiFi e domínio de enlace em /etc/wifibroadcast.cfg. Destaques do FAQ: qualquer dado UDP com tamanho de pacote <= 3993 pode ser transmitido, como x264/265 em RTP, MAVLink ou IPv4 genérico via túnel. O WFB-ng não está vinculado a uma GPU específica; ele opera em pacotes UDP, e um codificador de vídeo é necessário para fluxos RTP. Comparado ao wifibroadcast original, ele usa UDP como fonte de dados e empacota um pacote UDP de origem em um pacote de rádio, com tamanhos variáveis de pacote de rádio, o que o README afirma reduzir muito a latência de vídeo. As opções de compilação incluem make inline, RPM, DEB e bdist tar.gz. As chaves de criptografia para estação terrestre e drone são geradas com wfb_keygen. O projeto é software livre sob GPLv3 sem garantia, e o suporte da comunidade é via um grupo no Telegram. Um rascunho de RFC de padrão de transporte de dados está incluído na documentação.