terça-feira, 9 de agosto de 2011

Instalando placa wireless no linux com o ndisgtk

Os drivers das placas wireless pra linux não são perfeitos. Uns são melhores do que outros. Às vezes nem tem driver para nosso sistema operacional preferido.

Mas um grupo de entusiastas criou um programa que permite usar os drivers do windows, resolvendo o problema de compatibilidade nos casos de falta de driver.

O programa é o ndiswrapper mas na dica de hoje explicaremos como utilizar a interface gráfica, o ndisgtk:


Esclareço que o Debian e derivadas não possuem o driver "ndiswrapper" compilado no kernel, e você deverá fazê-lo manualmente com o pacote ndiswrapper-dkms. Já o Ubuntu e derivadas trazem-no pronto para uso.

Primeiramente instale o ndisgtk via terminal:

$ sudo apt-get install ndisgtk

Agora você precisa encontrar o driver windows certo para sua placa, descompactá-lo e movê-lo para um diretório qualquer. Imagine que o driver seja o "driver_wifi_windows", com os arquivos "arquivo.cat, arquivo.info e arquivo.sys". É o arquivo.info que nos interessa:

$ sudo mv driver_wifi_windows /usr/lib
$ sudo updatedb

Movemos a pasta para o diretório /usr/lib e o driver estará no endereço "/usr/lib/driver_wifi_windows/arquivo.info". Então vamos lá:

1) no menu de sua interface gráfica, abra o ndisgtk com privilégios de root
2) clique em "instalar novo driver"
3) clique no botão "localização"
4) vá até o endereço do driver
5) selecione-o e depois clique em "instalar"
6) se for o driver certo, aparecerá na janela "hardware presente sim":


Agora é só configurar sua rede wireless pelo aplicativo padrão de sua interface gráfica: network-manager-gnome, wicd, plasma-widget-networkmanagement etc.

Até a próxima dica!
;-))

13 comentários:

  1. Estou usando Fedora 18 e, não tem o pacote ndisgtk.

    Poderia detalhar onde obter source p/compilar ?

    Grato

    Sérgio

    ResponderExcluir
  2. Ola como sei qual driver é o correto para meu computador ?
    fiz esse procedimento no Ubuntu 14.04 mas não obtive exito e agora
    minha interface wlan0 sumiu e diz que não existe quando tento ativa-la
    mesmo depois de ter desinstalado o ndisgtk e rdado o reboot
    Fiz isso pois meu wifi não aparece, só o dos vizinhos e esses conecta normal
    já utilizei outras distros Fedora, Linux mint e Ubuntu em versões anteriores mas nenhuma obtive sucesso, sempre tenho problemas e não consigo conectar ao meu wifi.

    ResponderExcluir
    Respostas
    1. acho muito difícil o ubuntu 14.04 não detectar sua rede wifi. Tente:

      $ sudo wlan0 up

      se não der erro no terminal, digite:

      $ sudo ifconfig | grep wlan0

      Excluir
  3. Ola fiz essa instalação antes de ver essa site por isso não fiz o procedimento de mover a pasta para o diretório usr.lib, se eu apenas remover o driver no ndisgtk e aos arquivos dele da pasta .usr.lib e refazer dessa forma dará certo ?
    Detalhe, minha interface sem fio sumiu e ta dizendo que ela não existe quando do o comando ifconfig wlan0, mas as outras eth0 e lo aparecem normais.

    ResponderExcluir
    Respostas
    1. mover para /usr/lib é apenas uma forma de organizar o driver para uso. não é obrigatório fazê-lo. se vc indicar ao ndisgtk onde o arquivo *.info está, dará certo do mesmo jeito.

      Excluir
    2. Vlw, mas eu consegui aqui, instalei pelo modo texto e
      removi arquivo de configuração do ndiswrapper com:
      sudo rm /etc/modprobe.d/ndiswrapper.conf e tudo funcionou.

      Excluir
  4. pessoal n consigo proceder o passo 1) no menu de sua interface gráfica, abra o ndisgtk com privilégios de root, instalei o ndiswrapper, mas quando procuro o programa pelo dash, só encontro pastas, oq faço, me ajudem!

    ResponderExcluir
    Respostas
    1. Estou com esse mesmo problema. Não tenho a opção de executar o ndisgtk quando abro o dash.

      Excluir
    2. acho que n é mais necessário o ndisgtk. qual sua plaa wifi?

      Excluir
  5. Para quem sumiu wlan0
    tente
    sudo rfkill unblock all

    ResponderExcluir
    Respostas
    1. Valeu pela contribuição. Obgdo e volte sempre. ;-)

      Excluir