Tudo o que você queria saber sobre o teste de adaptadores Wi-Fi, mas tinha medo de perguntar

imagem

Um dia desses, nossa empresa faz 20 anos. Nos últimos 15 anos, desses 20, desenvolvemos programas para analisar redes Wi-Fi. Parte deste trabalho é o desenvolvimento de drivers para adaptadores Wi-Fi e, neste artigo, descreverei como a equipe de desenvolvimento testa os produtos de sua mão-de-obra e como o processo de teste evoluiu nos últimos 15 anos, juntamente com a evolução de padrões e adaptadores. Haverá muitas fotos (o que é chamado de "pornô nerd") e detalhes técnicos.

Por que escrever drivers especiais?

Quando você cria um software para analisar redes Wi-Fi (e criamos um programa para inspecionar e modelar redes e um analisador de pacotes Wi-Fi), é necessário receber de alguma forma (ler, capturar, cheirar, capturar ... - todos são sinônimos) Wi-Fi trocado entre pontos de acesso próximos e clientes. Você pode fazer isso no Windows apenas criando um conjunto de seus próprios drivers para chipsets específicos.

O que há de errado com os drivers padrão comuns que o fabricante do adaptador faz? Do ponto de vista do usuário médio, está tudo bem com eles. Há apenas um pequeno problema - você não pode usá-lo para ler pacotes Wi-Fi no modo observador passivo. E sem isso, você não pode criar software para análise de rede. Em geral, esse é um tópico importante para um artigo separado (e vou escrever este ano). Se você estiver interessado no momento, eu vou lhe dizer brevemente no próximo parágrafo e, se o tópico de programação não estiver próximo de você, pule-o.

Cerca de dez anos atrás, no Windows, uma nova API apareceu para ler passivamente pacotes Wi-Fi, o chamado modo de monitor. Você sempre pode "cheirar" pacotes no Windows e ninguém o incomoda para executar o Wireshark e ver os pacotes que passam pelo seu adaptador sem fio, mas o problema é que você verá apenas seus pacotes e apenas pacotes de dados. Todas as outras informações (pacotes de outras pessoas, pacotes do tipo Beacon, informações sobre o nível do sinal no pacote e sua taxa de dados etc.) não estão disponíveis. A nova API foi projetada para resolver esse problema de uma vez por todas. Mas ele não decidiu: quase nenhum chipset dos principais fornecedores o suporta normalmente, e a própria API estava desatualizada no momento do nascimento e a Microsoft não está desenvolvendo. Em suma, um desastre completo com ele. E se você se deparar com um software para analisar redes Wi-Fi no Windows, cujos vendedores alegam que ele suporta qualquer um ou quase todos os adaptadores Wi-Fi e não requer substituição de driver - você definitivamente consegue o que eles chamam de óleo de cobra em inglês.

Escrever drivers especiais para monitorar o Wi-Fi é difícil, longo e caro. O número de empresas que fazem isso pode ser calculado usando os dedos de uma mão.

Por que testar vários drivers de adaptador

Um driver é um programa para interagir com o hardware (hardware) específico de um hardware específico. No processo de desenvolvimento do driver, o programador deve garantir que o driver capte pacotes corretamente, troque de canal e faixa de frequência, responda corretamente aos sistemas de hibernação, calcule corretamente os níveis de sinal e faça muitas coisas sem as quais é impossível analisar uma rede Wi-Fi.

Parece que esta é uma tarefa bastante compreensível e simples: conectei o adaptador ao computador e desenvolvi e teste seu driver quantas vezes quiser. Na realidade, existem muitas nuances sobre as quais falaremos.

Qual deve ser a plataforma de teste

Para testar tecnologicamente os drivers, você precisa de um determinado banco de testes, ou seja, uma plataforma para trabalhar com uma variedade de hardware, que deve atender a vários requisitos:

  • Desconexão simples de um e conexão de outro adaptador.
  • Capacidade de conectar-se a interfaces modernas de computador.
  • Baixa interferência de componentes eletrônicos.
  • Mobilidade. Durante o teste, você deve poder mover o adaptador Wi-Fi, alterar a orientação de suas antenas no espaço e alterar a distância do ponto de acesso (caso contrário, não poderá calibrar adequadamente o nível do sinal).
  • Capacidade de conectar vários adaptadores ao mesmo tempo (para USB).

Além disso, pode ser extremamente útil ver como o driver padrão funciona, ou seja, veja a comunicação do driver do adaptador com o computador no nível do barramento, mas por enquanto deixamos esse tópico de lado.

Arqueologia e modernidade

Agora é hora de falar diretamente sobre ferro. Lembre-se do passado, às vezes muito antigo, e discuta o novo.

2003

Começamos a usar o software Wi-Fi em 2003 (antes disso, apenas desenvolvíamos software para redes com fio). O início do zero foi o momento em que o Wi-Fi estava apenas começando. O primeiro de uma família de padrões, 802.11, foi adotado em 1997. Foi seguido pelo 802.11be 802.11a em 1999, mas a tecnologia chegou às massas muito mais tarde. A maioria dos laptops foi vendida sem Wi-Fi embutido, mas você pode comprar adaptadores para eles: externo, conectado à porta CardBus (PCMCIA) para laptops ou padrões PCI internos. Uma pequena porção de laptops topo de linha também é vendida com adaptadores miniPCI integrados.

Nosso primeiro passo foi dar suporte aos adaptadores 802.11b CardBus. Esses foram tempos abençoados: quase todos esses adaptadores estavam no chipset Intersil Prism, o código de fonte do driver estava disponível gratuitamente para todos após a assinatura do NDA, e a taxa máxima de transferência de dados na camada física era de 11 Mbps, ou seja, era realmente possível transmitir dados a uma velocidade não superior a 1 megabyte por segundo em condições ideais.


Adaptador Wi-Fi CardBus com antenas externas

Adaptador Wi-Fi CardBus com antenas externas

Devo dizer que os adaptadores funcionaram bem, tinham boa sensibilidade, principalmente se fosse possível conectar antenas externas. Tudo era muito simples e incontestado com a plataforma de teste: quase todos os laptops tinham uma ou duas portas CardBus.

Laptop vintage com portas PCMCIA
Você ainda se lembra desses mamutes de 3 a 4 kg?

Tudo o que nos restava era inserir o adaptador em uma porta externa.

Adaptador CardBus e slot correspondente de uma máquina antiga
Adaptador CardBus e slot correspondente de uma máquina antiga

2007

Longe de serem adaptadores em miniatura CardBus, estão sendo substituídos por um padrão ExpressCard mais elegante no barramento PCI Express. Os adaptadores Wi-Fi ExpressCard de 34 mm aparecem no mercado, já com 802.11ge 802.11a. As velocidades aumentam, novos esquemas de modulação são aplicados.

Adaptadores Wi-Fi ExpressCard
Adaptadores Wi-Fi ExpressCard

ExpressCard, como o CardBus, é bastante conveniente para testes. Os cartões são fáceis de trocar, os laptops são móveis, não faltam modelos com portas ExpressCard no mercado.

Os desktops também não ficam parados; em 2007, o padrão PCI Express 2.0 foi adotado; portanto, os adaptadores PCIe com antenas externas geralmente aparecem dentro dos desktops. Não é tão conveniente testá-los (remova a tampa do gabinete, recoloque o adaptador PCIe, coloque tudo em seu devido lugar).

2010

Estamos iniciando o suporte para adaptadores Wi-Fi USB 2.0. Esse é um fator de forma muito conveniente, tanto para teste quanto para uso dos usuários finais. Tudo o que você precisa é de uma porta USB ou de várias portas, se você usar vários adaptadores.

O lendário adaptador Proxim ORiNOCO 8494 802.11n chega à arena, com base no chipset Atheros Communications, que ainda não foi absorvido pela Qualcomm. Este adaptador foi usado por todos os programas profissionais para pesquisas em sites Wi-Fi. Ele tem uma excelente sensibilidade.

Adaptador USB lendário Proxim ORiNOCO 8494
Adaptador USB lendário Proxim ORiNOCO 8494

A capacidade de conectar vários adaptadores ao mesmo tempo é uma grande vantagem, pois acelera o tempo de varredura de canais quando se trata de programas para pesquisa de sites e permite, por exemplo, analisar o comportamento de clientes em roaming quando se trata de analisadores de pacotes.

No entanto, não esqueça que um adaptador USB Wi-Fi típico consome de 200 a 300 mA e, se você usar um hub USB passivo conectando três adaptadores, poderá facilmente ultrapassar o limite do USB 2.0 500 mA .

Medidor PortaPow para determinar o consumo de corrente do adaptador
Medidor PortaPow para determinar o consumo de corrente do adaptador

Praticamente não há interferência de RF dos hubs USB 2.0 e, além da questão do consumo atual, a única coisa que você precisa cuidar é a localização das portas no hub. As portas devem estar localizadas para que os adaptadores possam ser inseridos nas portas vizinhas ao mesmo tempo (se as portas estiverem muito próximas, a inserção de adaptadores simplesmente não funcionará).

O próximo problema em 2010 para nós foi o aparecimento de adaptadores MiniPCIe, que substituíram o MiniPCI em laptops. Começamos desmontando laptops para testar o novo adaptador. Que dor foi - provavelmente não é necessário dizer. Substituir o adaptador em um laptop é um processo rápido e tedioso, e você pode encontrar muitas armadilhas. Primeiramente, se houvesse um adaptador com duas antenas no adaptador "nativo" do laptop e desejássemos testar o modelo com três antenas, não haveria solução normal. Em segundo lugar, alguns fabricantes de laptops estão envolvidos na destruição total, piscando rigidamente no BIOS os modelos de adaptador que o laptop suporta. E se o novo adaptador não se encaixar nessa lista branca, simplesmente não é reconhecido. Em terceiro lugar, você pode estar sem sorte e quebrar alguma coisa por dentro.

Em algum momento, tivemos que usar desktops com uma placa adaptadora PCIe <-> MiniPCIe. Mas a solução não foi perfeita: a mobilidade do dispositivo ainda é importante. Os caras taiwaneses da Bplus Technology , que, entre uma grande variedade de soluções de depuração muito interessantes, ofereceram uma placa tão excelente, encontraram a solução perfeita:

Placa de teste com conector MiniPCIe
Placa de teste com plug-in MiniPCIe via ExpressCard

Este conselho foi apenas uma salvação por muitos anos. A cama de teste ficou ótima: os adaptadores podem ser alterados em duas contas, a mobilidade é preservada, não há interferência e a própria placa é bastante barata. Tudo que você precisa é de um laptop com um slot ExpressCard, mas naqueles anos não era um problema.

Placa conectada
A placa está conectada, o adaptador ExpressCard é inserido no laptop

2013

Em 2013, o Wi-Fi havia conquistado completamente o mundo. Todos os laptops estão totalmente equipados com módulos Wi-Fi integrados, e esses módulos, na sequência da miniaturização universal, começam a ser lançados em um novo fator de forma, o M.2 (também conhecido como NGFF). As placas M.2 são menores que o MiniPCIe usual e têm um conector diferente.

Placa MiniPCIe, módulo MiniPCIe, módulo M.2
Placa MiniPCIe, módulo MiniPCIe, módulo M.2

Eu gostaria de continuar usando nosso excelente kit de teste e a Bplus Technologies vem em socorro novamente. Eles lançam o adaptador MiniPCIe <-> M.2 e fazemos facilmente um sanduíche espesso:

“Sandwich” da placa MiniPCIe, adaptador MiniPCIe <-> M.2, adaptador Wi-Fi M.2 e antenas omni conectadas a ele
“Sandwich” da placa MiniPCIe, adaptador MiniPCIe <-> M.2, adaptador Wi-Fi M.2 e antenas omni conectadas a ele

Quase não há laptops com ExpressCard disponíveis no mercado, mas temos um estoque dessas máquinas antigas, embora já esteja claro que em breve teremos que procurar uma nova solução. Mas mais sobre isso abaixo.

2014

Em dezembro de 2013, o padrão 802.11ac foi ratificado e, em 2014, muitos adaptadores 802.11ac apareceram no mercado, já com USB 3.0. Por que adaptadores USB 3.0? Porque a velocidade do barramento 2.0 não é suficiente. Os adaptadores 802.11n tridimensionais (3 fluxos espaciais) podem fornecer uma velocidade máxima de 450 Mbps no nível físico, mas os adaptadores 802.11ac já podem fornecer 867 Mbps (dois fluxos, largura de canal de 80 MHz) ou 1300 Mbps (três fluxos, largura de canal de 80 MHz) e mesmo na teoria 2340 Mbps (três fluxos, largura do canal 160 MHz, apenas não há nenhum na natureza).

O único problema com o USB 3.0 é que os dispositivos USB 3.0 (cabos, conectores, circuitos) são capazes de gerar um ruído de frequência de rádio em banda larga bastante poderoso, o que torna os adaptadores muito menos sensíveis à medida que a relação sinal / ruído diminui. Na ausência de uma boa blindagem, esse efeito pode ser facilmente observado. A captura de tela abaixo foi tirada usando o TamoGraph Site Survey e o analisador de espectro Wi-Spy. A captura de tela mostra uma imagem típica da operação de várias redes na faixa de 2,4 GHz (amplitudes na parte superior e a chamada visualização em cascata na parte inferior). Pode-se observar que o limiar de ruído está aproximadamente no nível de –95 dBm.

Nenhuma interferência no hub USB
Nenhuma interferência no hub USB

Agora vamos tentar aproximar o Wi-Spy do hub ou da unidade USB 3.0 externa. A imagem está mudando radicalmente:

Poderosa interferência do hub USB
Poderosa interferência do hub USB

Perto do hub, há um ruído bastante decente, a cerca de -77 dBm. Se levarmos em conta que a relação sinal-ruído mínima na qual o Wi-Fi pode funcionar de alguma forma é de cerca de 4 dB, com esta imagem o adaptador não poderá se conectar à rede se o sinal do ponto de acesso estiver abaixo de -73 dBm. Para solucionar esse problema, tente hubs diferentes ou use cabos USB adicionais que removem o adaptador das fontes de ruído de RF.

Você pode perguntar: como os adaptadores USB 3.0 convivem com essa interferência? Eles vivem uma vida muito interessante. Tomemos, por exemplo, adaptadores baseados no chipset Realtek: quando o adaptador não está associado, ele funciona no modo USB 2.0, pesquisando canais e localizando redes próximas. Quando o adaptador se conecta à rede, o serviço especial do sistema Windows reinicializa o dispositivo, alternando-o para o modo USB 3.0. Nesse modo, o adaptador permanece até se dissociar, após o que retorna ao modo USB 2.0 novamente. Essas são danças loucas.

2018

O tempo passa e, se não houver novos problemas com o teste de adaptadores USB (os conectores USB tipo C não contam, um adaptador de centavo resolve o problema), uma crise está surgindo para o MiniPCIe e o M.2. Seguir em frente com o velho grupo de “laptops com ExpressCard + MiniPCIe ExpressCard” é insuportável. Em primeiro lugar, os laptops antigos não puxam mais o Windows 10. Em segundo lugar, eles podem morrer a qualquer momento, deixando-nos perdidos, porque não tenho vontade de procurar laptops substitutos no mercado de pulgas.

Precisamos encontrar uma nova solução. Móvel, de preferência no Windows e macOS, com uma interface moderna para conexão. Naturalmente, com capacidade de acesso direto à memória (DMA). A maneira mais fácil é inserir a placa adaptadora PCIe <-> MiniPCIe na área de trabalho, mas é preciso desistir da mobilidade. Carregar uma área de trabalho no escritório é muito bom para a saúde, mas não é muito produtivo. Além disso, agora estamos geralmente nos afastando dos desktops para laptops e Intel NUC; os desktops perderam muito o significado nos últimos anos.

Então, o que resta para nós? Obviamente, não USB, porque, infelizmente, você não pode fazer uma ponte USB PCIe <->. Depois Thunderbolt: está em novos laptops e NUCs, e deve tornar possível a ponte PCIe <-> Thunderbolt. Bem, a direção da pesquisa é um dispositivo para conectar um adaptador PCIe através do Thunderbolt.

Pesquisamos, pesquisamos e encontramos o belo: chassi de expansão PCIe Startech Thunderbolt 3 . Naturalmente, seus desenvolvedores, mesmo nas fantasias mais violentas, não poderiam ter pensado que alguém iria querer inserir uma placa Wi-Fi nesse chassi. O site realmente descreve todas as fantasias que os desenvolvedores visitaram: “O chassi Thunderbolt 3 PCIe facilita a expansão do sistema com os recursos necessários para trabalhar com produtividade máxima. "Você pode adicionar muitos tipos de placas PCI Express, como PCIe USB 3.1 / 3.0 / 2.0 e USB-C, SSD, rede, eSATA, FireWire ou placas de captura de vídeo". Teoricamente, o Wi-Fi deve decolar. Praticamente ... bem, você sabe como é praticamente. Se um componente tiver pelo menos a menor chance de não ganhar dinheiro por qualquer motivo (driver, firmware, microcircuitos), ele não funcionará.

Nós escrevemos um suporte. O suporte, compreensivelmente, estava completamente despreparado para o problema no Wi-Fi. Eles disseram que experimentaram adaptadores Ethernet, mas o Wi-Fi nunca. Bem, vamos tentar por eles. O pacote chega rapidamente e só podemos remover o gabinete externo e inserir uma placa PCIe com um adaptador no M.2.

imagem
Por dentro da Startech TB31PCIEX16

Insira o adaptador Wi-Fi no adaptador e aperte-o. Em seguida, conecte as antenas à placa (por meio de conectores microscópicos, você não poderá usar sem uma lupa), prenda as antenas ao suporte da placa PCIe para trazê-las para fora e conecte a unidade inteira à porta de alimentação e Thunderbolt do laptop.

imagem
Startech TB31PCIEX16 montado

E funcionou. Não imediatamente, é claro, esses pedaços de ferro geralmente não desistem imediatamente. Eu tive que atualizar o firmware do controlador Thunderbolt primeiro no computador. Mas então tudo correu como um relógio.

O futuro

Estamos acompanhando de perto o desenvolvimento da indústria. A próxima interface a caminho é o M.2 CNVio, que é usado, por exemplo, nos mais recentes adaptadores Intel 9560. O próximo padrão Wi-Fi é o 802.11ax. Resolveremos os problemas assim que estiverem disponíveis.

Source: https://habr.com/ru/post/pt420415/


All Articles