Nesse meio tempo, comprei e testei alguns dispositivos. Minha escolha foi altamente inspirada pela lista sugerida pela @Renat. Aqui, eu compilo minhas descobertas.
AVM Fritz
A variante pequena do AVM Fritz Wlan Stick N suporta apenas 2,4 GHz, enquanto o grande tem suporte multibanda com 2,4 e 5 GHz. Ambos dependem do módulo do driver carl9170 . Usados como clientes, ambos são uma catástrofe. Eles batem regularmente. O kernel reinicia-os em menos de um segundo, mas uma reconexão é necessária e demorada. Conexões em tempo real são impossíveis, muito menos coisas como SSH. Além disso, o problema parece acumular. Quanto mais tempo eu usava os paus, mais frequentes eles caíam, resultando em uma vara que funcionava alguns minutos no máximo. Ajustar os parâmetros do módulo, nohwcrypt e noht para reduzir a carga no hardware do dispositivo causou apenas uma alteração temporária.
Testando o multibanda no modo AP, no entanto, funcionou sem falhas. O streaming de vídeo e a transferência de arquivos sftp funcionaram com os 300 MBit / s completos.
TP-Link
Com o TP-Link, eu novamente tive a escolha entre a variante de banda dupla TL-WDN3200 e a Somente 2.4 GHz TL-WN821N . O primeiro precisa de um driver fora da árvore para ser compilado, então eu pulei para o modelo de banda única imediatamente. O TL-WN821N usa o módulo ath9k_htc incluído no kernel do Linux. tem até uma velocidade de transferência e qualidade de conexão ligeiramente maiores que os modelos Fritz, testados em dois andares e algumas paredes. Também cai muito menos que isso, apenas algumas vezes por dia. Mas quando isso acontece, ele compensa seu desempenho congelando grandes partes do subsistema de rede. Cada syscall que tenta acessar um dispositivo de rede (incluindo o loopback, no qual muitas soluções IPC confiam) trava e não retorna até que o dispositivo seja desconectado ou o módulo do kernel seja removido. Eu doei para alguns usuários do Windows, onde ele faz o seu trabalho como cliente desde então.
Búfalo
Por fim, experimentei o Buffalo WLI-UC-G300HP . Embora seja etiquetado com 300 MBit / s, também, executa um pouco mais lento que os acima mencionados. A qualidade da conexão ainda é boa em algumas paredes e pisos, especialmente quando se utiliza sua pequena antena ajustável, que também pode ser afastada completamente quando o espaço é apertado. Estou usando há alguns meses e estou muito satisfeito.
Sua única falha é que nenhum driver se sente automaticamente responsável por este dispositivo. Na verdade, ele pode ser usado com o módulo rt2800usb bem testado. Existem duas possibilidades para ensinar isso ao kernel.
Em tempo de execução
Emitir como root
modprobe rt2800usb
echo 0411 01a8 > /sys/bus/usb/drivers/rt2800usb/new_id
A primeira linha insere o módulo. O segundo informa o dispositivo e o ID do produto ao driver. Estes números podem ser encontrados via lsusb
, mas devem ser os dados fornecidos para o WLI-UC-G300HP. Então, o motorista assume o comando do módulo. Isso pode ser feito persistente com uma regra do udev. Eu, da minha parte, escolho outro método por
Compilando um Kernel
Quando você mesmo cria seu kernel, pode simplesmente aplicar o seguinte patch.
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 098613e..2ded919 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -953,6 +953,7 @@ static struct usb_device_id rt2800usb_device_table[] = {
{ USB_DEVICE(0x0411, 0x016f) },
{ USB_DEVICE(0x0411, 0x01a2) },
{ USB_DEVICE(0x0411, 0x01ee) },
+ { USB_DEVICE(0x0411, 0x01a8) },
/* Corega */
{ USB_DEVICE(0x07aa, 0x002f) },
{ USB_DEVICE(0x07aa, 0x003c) },
Ele adiciona os IDs ao banco de dados interno do módulo para que ele seja intrinsecamente motivado para gerenciar o dispositivo.