ct

    Placas com chipset Ralink

    Configurando redes wireless no Linux, parte 2

    Carlos E. Morimoto
    26/02/2008


    Toda regra tem sua exceção e no caso do wpa_supplicant não é diferente. As placas Ralink rt2400, rt2500, rt2570, rt61 e rt73 não funcionam bem em conjunto com o wpa_supplicant, pois o driver implementa o suporte a WPA nativamente. Por um lado isso é bom, mas por outro é ruim já que a configuração é diferente e muitas das ferramentas de configuração não sabem como lidar com elas.

    Como os chipsets Ralink estão entre os mais baratos, as placas wireless baseadas neles são bastante comuns. Além dos notebooks e das placas PCI baseadas nos chipsets rt2570 e no rt61, ultimamente temos visto uma proliferação estrondosa das placas USB baseadas no Ralink rt73.

    Embora as placas Ralink sejam bem suportadas no Linux, incluindo os modelos USB, os drivers são atualizados freqüentemente, acompanhando o lançamento de novos chipsets e placas. Com isso, muitas distribuições acabam não incluindo os drivers atualizados, o que faz com que a placa não seja detectada automaticamente ou seja ativada utilizando o driver antigo. Com isso, você acaba não conseguindo se conectar à rede, com o sistema exibindo um erro diverso, como neste screenshot do Ubuntu 7.10:


    index_html_3bd27b14

    Vamos então à solução :). Os drivers para as placas com chipset Ralink estão disponíveis no:
    http://rt2x00.serialmonkey.com/

    O link direto para a página de downloads é:
    http://rt2x00.serialmonkey.com/wiki/index.php/Downloads

    Existem nada menos do que 5 drivers diferentes, um para cada modelo de chipset suportado, incluindo o rt2400, rt2500, rt2570, rt61 e o rt73, de forma que você precisa identificar o chipset usado e baixar o driver correspondente. Existe ainda o driver rt2x00, destinado a suportar simultaneamente todas as placas. Ele deve substituir os 5 drivers separados no futuro, mas enquanto escrevo (início de 2008) ele ainda está em estágio de desenvolvimento.

    Se a sua placa é PCI ou PC-Card, ela é provavelmente baseada no rt2400, rt2500 ou no rt61. As placas USB podem ser baseadas no rt2570 ou no rt73 (o mais comum), enquanto as placas onboard podem utilizar qualquer um dos cinco.

    O primeiro passo é identificar a sua placa, usando o comando lspci. A placa aparece perto do final da lista, como em:

    00:12.0 Network controller: RaLink RT2500 802.11g Cardbus/mini-PCI (rev 01)

    O comando lspci lista apenas as placas ligadas ao barramento PCI ou PCI Express. No caso das placas USB, você pode listar a placa através do 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 bem maior de informações sobre os dispositivos instalados. De qualquer forma, pelo "2573 Ralink Technology" podemos ver que se trata de uma placa com chipset rt73.

    O pacote com o driver contém código fonte, por isso é necessário que você tenha instalados os headers do Kernel e os compiladores básicos, como vimos anteriormente. Para instalar, descompacte o driver, acesse a pasta "Module" dentro da pasta que será criada e rode os comandos "make" e "make install", 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, usados 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. O módulo tem o mesmo nome do pacote (rt2400, rt2500, rt2570, rt61 ou rt73) e pode ser carregado usando o modprobe (como root), como em:

    # 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 o módulo no final do arquivo "/etc/modules" para garantir que ele passe a ser carregado automaticamente durante o boot:

    # echo rt73 >> /etc/modules


    Falta agora configurar a placa wireless. Como comentei, os drivers para placas Ralink não são compatíveis com o wpa_supplicant, por isso muitas 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 SSID da rede, enquanto o "SENHA" é a passphrase. Em versões antigas do driver, 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.

    O TKIP é o padrão de encriptação usado no WPA. Caso o ponto de acesso tenha sido configurado para utilizar o WPA2, substitua a linha "iwpriv wlan0 set EncrypType=TKIP" por "iwpriv wlan0 set EncrypType=AES".

    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 trabalho via terminal, use o comando abaixo para configurar a placa via DHCP:

    # dhclient wlan0


    ... ou use os comandos abaixo para definir os endereços manualmente:

    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


    Aqui vai um script de conexão para placas Ralink que você pode adaptar às suas necessidades. Para usá-lo, você precisa apenas especificar a configuração da rede nas variáveis iniciais. Ele pode ser executado através de um dos scripts de inicialização, ou simplesmente executado manualmente quando você quiser se conectar à rede:

    #!/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
    fconfig wlan0 $ip netmask 255.255.255.0 up
    route del default
    route add default gw $gateway dev wlan0
    echo "nameserver $dns" > /etc/resolv.conf


    Caso você use mais de uma rede, a melhor solução é criar vários scripts dentro do seu diretório home, cada um contendo os comandos para uma rede diferente e ir executando-os conforme a necessidade.

     




    Página 03 de 03
        



    Blog:

    Add to Google

    » Gostou do texto? Veja nossos livros impressos:
    Hardware | Redes | Servidores | Kurumin 7

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

cb
Livros de Carlos E. Morimoto HOME