Cartão Wi-Fi USB RT5390 só funciona de forma intermitente com o Linux 3.12.9

0

Estou trabalhando em um roteador sem fio e configurei uma tarefa para oferecer suporte a alguns cartões de Wi-Fi, como o Ralink RT5390 e o RT2571.

A placa RT2571 funciona perfeitamente, posso configurá-la como um ponto de acesso ou conectar-me a outros pontos de acesso. Eu posso alternar entre esses dois modos e não há problemas.

Então, quando eu tento com um novo RT5390, a primeira vez que eu inicializo tudo funciona bem. Mas se eu reiniciar o roteador, o RT5390 não aparecerá como um ponto de acesso ou não se conectará a outro ponto de acesso. Essa funcionalidade nunca retorna. Todos os processos que devem estar em execução ( hostapd ou wpa_supplicant ) estão sendo executados como deveriam, mas parece que a placa não está transmitindo corretamente.

Se eu executar iw dev scan <ifname of RT5390> , não obtenho resultados, mas também não há erros, o valor de retorno de iw é 0 . Na inicialização, posso ver que os drivers e o arquivo de firmware foram carregados corretamente também, sem erros, e as regras udev que estou usando para renomear a interface de rede também estão funcionando bem.

Estou usando uma imagem Linux buildroot com Kernel 3.12.9 . Eu compilei no módulo do driver rt2800usb - como este é o chip subjacente no RT5390. Eu também adicionei o arquivo de firmware apropriado para /lib/firmware .

Eu verifiquei se o gerenciamento de energia está definido como off e também se a energia de transmissão está configurada para 20 dbm. Estou ficando sem idéias para o que poderia estar causando isso e gostaria de receber sugestões.

    
por James 22.05.2014 / 13:12

2 respostas

0

No final, resolvi esse problema encontrando uma versão mais recente do arquivo de firmware rt2800.bin .

O pacote Debian do qual obtive o arquivo de firmware ( ralink-firmware ) tem o número da versão 0.36 . Quando baixei e extraí o pacote originalmente, ele continha v0.24 de rt2800.bin .

Eu decidi passar por todos os meus passos novamente para ter certeza de que eu não cometi nenhum erro, então baixei novamente o pacote debian - versão 0.36 de novo - e quando eu o extraí achei que rt2800.bin tinha foi atualizado para v0.29 . Usar esta versão resolveu todos os meus problemas.

    
por 26.05.2014 / 14:25
1

De acordo com esta página no WikiDevi, link , o RT5390 pode ser conduzido por rt2800pci (em backports) ou por rt2860sta . Não está claro a partir do que você diz se o driver que você está usando é idêntico, ou diferente de, nos backports. Talvez você queira verificar isso.

Em qualquer caso, eu sugiro tentar o outro , rt2860sta que você pode baixar aqui , por razões óbvias. Se você precisar deles, você pode encontrar os backports aqui .

A única outra sugestão (mansa) que tenho é carregar o driver com o parm nohwcrypt definido como 1. É um truque bem conhecido que, ocasionalmente, permite que esses drivers funcionem corretamente, sem nenhum motivo aparente.

    
por 22.05.2014 / 15:25