ct

    Placa wireless Ralink rt73 USB no Linux

    Dicas do Guia do Hardware

    O rt73 é um chipset de baixo custo, fabricando pela Ralink, que está sendo utilizado em um número cada vez maior de adaptadores wireless USB, de diversos fabricantes. As placas USB com chipset Ralink são perfeitamente suportadas no Linux, mas a maioria das distribuições ainda não inclui o driver atualizado e por isso a placa não é detectada automaticamente ou seja ativada utilizando o driver antigo, o que faz com que você não consiga se conectar à rede, com o sistema exibindo um erro diverso. Nessa dica veremos como instalar o driver e configurar a rede manualmente.Carlos E. Morimoto
    17/10/2007


    O rt73 é um chipset de baixo custo, fabricando pela Ralink, que está sendo utilizado em um número cada vez maior de adaptadores wireless USB, de diversos fabricantes.

    As placas wireless USB estão se tornando cada vez mais populares, substituindo principalmente as placas PCMCIA destinadas a notebooks. O principal motivo é que elas são baratas e fáceis de instalar, já que basta plugar na porta USB e você pode utilizar a mesma placa wireless tanto no desktop quanto no notebook.

    index_html_6a8ae713

    Existem tanto placas com antena interna, como este modelo da D-Link, quanto com antenas externas destacáveis, como no modelo abaixo:

    index_html_1bf2546a

    As placas com antena interna geralmente sofrem com uma recepção ruim, pois as antenas são, na verdade, simples trilhas na placa de circuito, que oferecem pouco ganho:

    index_html_2e32b437

    As com antena externa são melhores, já que antena oferece um maior ganho e você pode alterar a posição da antena para obter a melhor recepção, mas é preciso tomar cuidado ou comprar, pois existem muitos casos de placas com antenas falsas, onde a antena externa é apenas um enfeite de plástico, que não é sequer conectado à placa. É o mesmo que acontece com muitos adaptadores Bluetooth.

    As placas USB com chipset Ralink são perfeitamente suportadas no Linux, mas a maioria das distribuições ainda não inclui o driver atualizado e por isso a placa não é detectada automaticamente ou seja ativada utilizando o driver antigo, o que faz com que você não consiga se conectar à rede, com o sistema exibindo um erro diverso, como neste screenshot do Ubuntu:

    index_html_3bd27b14

    Vamos lá então :)

    A primeira peculiaridade, é que placas USB não aparecem no comando "lspci", que comumente usamos para verificar os periféricos instalados. O motivo é muito simples: o comando lspci mostra os periféricos conectados ao barramento PCI, AGP e PCI Express. Placas USB não entram na lista.

    Você pode ver se a placa está instalada e foi vista pelo sistema usando o comando "lsusb", como em:

    # lsusb

     

    Bus 002 Device 001: ID 0000:0000
    Bus 005 Device 001: ID 0000:0000
    Bus 004 Device 001: ID 0000:0000
    Bus 003 Device 001: ID 0000:0000
    Bus 001 Device 003: ID 08ec:1000 M-Systems Flash Disk Pioneers
    Bus 001 Device 002: ID 148f:2573 Ralink Technology, Corp.
    Bus 001 Device 001: ID 0000:0000

    Se quiser mais detalhes, você pode usar o comando "lsusb -v", que vai mostrar um volume absurdo de detalhes, incluindo algo como:

    Bus 001 Device 002: ID 148f:2573 Ralink Technology, Corp.
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.00
    bDeviceClass 0 (Defined at Interface level)
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 64
    idVendor 0x148f Ralink Technology, Corp.
    idProduct 0x2573
    bcdDevice 0.01
    iManufacturer 1 Ralink
    iProduct 2 802.11 bg WLAN
    iSerial 0
    bNumConfigurations 1

    Vamos então ao que interessa. O primeiro passo é baixar o driver "rt73", disponível no:
    http://rt2x00.serialmonkey.com/

    O link direto para baixar a versão mais recente do driver é:
    http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz

    O pacote contém o código fonte do driver e por isso você precisa ter instalados os headers do Kernel e os compiladores básicos. No Ubuntu/Kubuntu, por exemplo, você precisa instalar o pacote "build-essential" e o pacote "linux-headers" referente à versão do Kernel instalada, como em:

    # apt-get install build-essential
    # apt-get install linux-headers-`uname -r`

    Para instalar, descompacte o driver, acesse a pasta "Module" dentro da plasta que será criada e rode os comandos "make" e "make install" (nesse driver você não precisa do "./configure"), como em:

    # tar -zxvf rt73-cvs-daily.tar.gz
    # cd rt73-cvs-2007101015/Module/
    # make
    # make install

    Antes de carregar o novo módulo, vamos fazer uma checagem geral, descarregando outros módulos que podem causar conflitos com ele. Estes são na verdade drivers antigos, incompatíveis com o rt73, que são carregados incorretamente no lugar dele em muitas distribuições:

    # modprobe -r rt73usb
    # modprobe -r rt2570
    # modprobe -r rt2500usb

    Em seguida, abra o arquivo "/etc/modprobe.d/blacklist" e adicione as linhas abaixo para garantir que eles não voltarão a ser carregados depois de reiniciar o micro:

    blacklist rt73usb
    blacklist rt2570
    blacklist rt2500usb

    Agora sim, você pode carregar o novo módulo sem medo :)

    # modprobe rt73

    Se quiser confirmar se a placa foi mesmo ativada, você pode usar o comando "cat /proc/net/dev", que mostra as interfaces de rede disponíveis no sistema. Ele deve mostrar uma linha referente à interface "wlan0"

    index_html_m65fe3fc9

    Aproveite e adicione a linha "rt73" no final do arquivo "/etc/modules" para garantir que o módulo passe a ser carregado automaticamente durante o boot:

    # echo rt73 >> /etc/modules

    Falta agora configurar a placa wireless. Os drivers para placas Ralink não são compatíveis com o wpa_supplicant (usado para conectar a redes com encriptação via WPA), por isso muitos das ferramentas de configuração de rede não são compatíveis com eles. Vamos então aos comandos que você pode usar para configurar a placa manualmente, caso necessário:

    iwconfig wlan0 mode managed
    ifconfig wlan0 up
    iwconfig wlan0 ap REDE
    iwpriv wlan0 set AuthMode=WPAPSK
    iwpriv wlan0 set WPAPSK=SENHA
    iwpriv wlan0 set EncrypType=TKIP
    iwconfig wlan0

    O "REDE" é o ESSID da rede, enquanto o "SENHA" é a passphrase. Em versões antigas do drivers, a placa era detectada pelo sistema como "rausb0", mas nas versões atuais ela é vista como "wlan0", assim como as placas configuradas através do ndiswrapper.

    Depois de rodar os comandos, você pode verificar se a placa se conectou ao ponto de acesso usando o comando "iwconfig".

    Depois disso, falta só configurar os endereços da rede da forma normal. Se quiser terminar o trbalho via terminal, os comandos são:

    ifconfig wlan0 192.168.1.21 netmask 255.255.255.0 up
    route del default
    route add default gw 192.168.1.1 dev wlan0
    echo 'nameserver 208.67.222.222' >> /etc/resolv.conf

    Como de praxe, lebre-se de substituir os endereços pelos usados na sua rede :)

    A principal vantagem de conhecer os comandos manuais para configurar a rede é que você pode transformá-los em um script, de forma que a rede seja configurada automaticamente durante o boot, ou quando rodar o script manualmente.

    Aqui vai um script de conexão que você pode adaptar às suas necessidades. Para usá-lo, você precisa apenas especificar a configuração da rede nas variáveis iniciais.

    #!/bin/sh

    rede="REDE"
    passphrase="PASSPHRASE"
    ip="192.168.1.21"
    gateway="192.168.1.1"
    dns="208.67.222.222"

    iwconfig wlan0 mode managed

    ifconfig wlan0 up
    iwconfig wlan0 ap $rede
    iwpriv wlan0 set AuthMode=WPAPSK
    iwpriv wlan0 set WPAPSK=$passphrase
    iwpriv wlan0 set EncrypType=TKIP
    iwconfig wlan0

    ifconfig wlan0 $ip netmask 255.255.255.0 up
    route del default
    route add default gw $gateway dev wlan0
    echo "nameserver $dns" > /etc/resolv.conf

    Um problema que encontrei ao testar o driver é que a associação com o ponto de acesso falha em boa parte das tentativas, de forma que acaba sendo necessário repetir os comandos de associação duas ou até mesmo três vezes. Se você encontrar o mesmo problema, pode adicionar essa função que escrevi ao script. Ele testa a conexão e executa os comandos até que a placa consiga se associar ao AP:

    ping -c 1 -w 2 google.com 2>/tmp/check
    check=`cat /tmp/check`
    while [ "$check" = "ping: unknown host google.com" ]; do
    iwconfig wlan0 mode managed
    ifconfig wlan0 up
    iwconfig wlan0 ap $rede
    iwpriv wlan0 set AuthMode=WPAPSK
    iwpriv wlan0 set WPAPSK=$passphrase
    iwpriv wlan0 set EncrypType=TKIP
    iwconfig wlan0
    sleep 3
    ping -c 1 -w 2 google.com 2>/tmp/check
    check=`cat /tmp/check`
    done





    Blog:

    Add to Google

    » Gostou do texto?
    Veja nossos livros impressos:

    Smartphones | Linux | Hardware
    Redes | Servidores


    ... ou encontre o que procura usando a busca:

cb
ct
Atualizações



[11/03] Artigo: Uma olhada no PC-BSD 8.0
[10/03] Artigo: Investigando os modelos do Eee PC
[09/03] Artigo: nVidia Optimus
[05/03] Artigo: Comparativo de desktops: Zenwalk, Salix OS e GoblinX
[04/03] Artigo: Produtos melhores para consumidores exigentes
[03/03] Artigo: Meego: a fusão entre Maemo e Moblin
[02/03] Artigo: Uma breve análise do Linux Mint 8 'Helena'
[01/03] Processadores: Chipsets e placas para o Core 2 Duo, Quad e Celeron
[26/02] Tutorial: Criando um loop de vídeo com o Kino e o Audacity
[25/02] Será que o Chrome OS é um vencedor no desktop? Eu não acho.
[25/02] Inglês para informática #01: Lendo press-releses
[24/02] Artigo: O vulnerável sistema de GPS
[23/02] Artigo: 'Linuxers híbridos': existe realmente isso?
[22/02] Firefogg: converta vídeos com padrões abertos pelo Firefox
[19/02] Artigo: Estatísticas de sites com o Piwik
[18/02] WinFF: um conversor de vídeos fácil, aberto e multiplataforma
Destaques



» Hardware o Guia Definitivo, disponível para leitura online
» Como um HD funciona: Os discos
» Redes: Introdução
» Configurando um NAS doméstico com o FreeNAS
» Dominando o SSH
» Uma introdução ao GPS
» Assistindo vídeos no seu Palm ou Pocket PC
» Windows Mobile: Instalação de programas
» Entendendo os HDs, parte 2
» SopCast: assistindo TV via Internet no Linux
» Smartphones: RAM, Flash e armazenamento
Receba as atualizações diariamente por e-mail:
Assine o RSS Veja todas as atualizações... Add to Google
cb
Livros de Carlos E. Morimoto Contato HOME