InstalandoPlacaWirelessComNdiswrapper

Revision 1 as of 2005-06-15 10:59:44

Clear message

InstalandoPlacaWirelessComNdiswrapper

Instalando uma placa wireless (com driver para windows) no Linux usando o ndiswrapper

Introdução

  • Este documento é uma compilação dos melhores tutoriais da internet sobre o assunto. Em quase duas páginas foi feito um guia para instalar uma placa wireless com driver “for windows” dentro do linux.
  • Logo quando instalei o Linux, eu tinha conhecimento quase zero do sistema. Porém era necessário fazer uma coisa antes de qualquer outra tarefa: instalar a internet. Somente com acesso a internet eu poderia instalar outros programas para o linux. Mas como fazer isso? Visto que a minha placa wireless não possuia driver para Linux? Encontrei a solução com o “ndiswrapper”.
  • Mas foi super trabalhoso. Imagine para um usuário nível iniciante ter que deparar com temas como compilação de programas e baixar hearders do kernel, logo de primeira. O resultado de muita dor de cabeça e trabalho foi escrito aqui.
  • Espero que esse documento possa ajudar você em algo.
  • Cristiano M. Magalhães

Passo-a-passo

1) Baixe e instale o pacote “ndiswrapper”

  • 1.1) Acesse http://ndiswrapper.sourceforge.net e faça o download do pacote debian do ndiswrapper. Você irá baixar o pacote contendo código fonte. Como estamos configurando a placa wireless para conectar à internet, provavelmente você terá que fazer essa etapa de um outro computador ou em outro sistema operacional instalado em seu computador.

  • 1.2) Ao ter feito o download do pacote, instale-o com o comando “dpkg”

root@PCWork:/home/cris # dpkg -i niswrapper-source_1.1-1_i386.deb
  • 1.3) Se necessário, instale o “linux-headers” (no Ubuntu chama-se “kernel-headers”)

root@PCWork:/home/cris # apt-get install kernel-headers-$(uname -r)
  • 1.4) Se necessário, instale o “gcc”

root@PCWork:/home/cris # apt-get install gcc
  • 1.5) Compile o “ndiswrapper” para a versão do kernel que você está usando.

root@PCWork:/home/cris # COLUMNS=200 dpkg -l | grep kernel-headers-$(uname -r)
root@PCWork:/home/cris # cd /usr/src
root@PCWork:/usr/src # tar jxvf ndiswrapper-source.tar.bz2
root@PCWork:/usr/src # cd modules/ndiswrapper
root@PCWork:/usr/src/modules/ndiswrapper # fakeroot debian/rules binary-modules
root@PCWork:/usr/src/modules/ndiswrapper # fakeroot debian/rules binary-utils
root@PCWork:/usr/src/modules/ndiswrapper # cd ..
root@PCWork:/usr/src/modules # dpkg -i ndiswrapper*.deb

obs.: você pode logar como root e não usar o comando “fakeroot”.

2) Instale o seu driver wireless para windows no linux usando o “ndiswrapper”

  • Pré-requisitos

  • Importante: tenha cuidado ao usar drivers do CD de instalação da sua placa wireless. Eles podem funcionar, mas podem proporcionar “kernel crashes” e outros problemas caso o driver não tiver sido testado e/ou atualizado para uma versão mais recente.
  • Caso haja problemas, é recomendável que você faça o download mais apropriado do seu driver Windows diretamente do site do fabricante. Para identificar o driver que você precisa, primeiro identifique a placa que você possui com o comando “lspci” a anote a primerica coluna (algo como 0000:00:0c.0) a então ache o PCI ID da placa com “lspci -n” correspondente à primeira coluna da saída do comando “lspci”.

root@PCWork:/home/cris # lspci
0000:00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8180L 802.11b MAC (rev 20)

root@PCWork:/home/cris #  lspci -n
0000:00:09.0 Class 0200: 10ec:8180 (rev 20)
  • O PCI ID é a terceira coluna (ou quarta em algumas distribuições) e possui o formato “104c:8400”. Agora você precisa obter o driver Windows com o mesmo chipset. Na lista de drivers ache o correspondente ao mesmo PCI ID e faça o download.
  • No exemplo acima, a placa foi detectada como sendo “10ec:8180”. Esse chipset foi fabricado pela Realtek e pode ser baixado no endereço abaixo:
  • http://www.realtek.com.tw/downloads/downloads1-3.aspx?software=True&compamodel=RTL8180L#2002121Unix%20(Linux)

  • obs.: por se tratar de um exemplo, não necessariamente a sua placa será a mesma, sendo assim, você tem que consultar o site do seu fabricante, ou então pesquisar sobre tal no Google (http://www.google.com).

  • Descompacte o driver Windos com as ferramentas unzip/cabextract/unshield e ache o arquivo INF (arquivo com extensão .INF ou .inf) e o(s) arquivo(s) SYS (arquivos com extensão .SYS ou .sys).
  • Tenha certeza que os arquivos INF, SYS ou algum BIN estejam todos no mesmo diretório.
  • Agora, use “ndiswrapper” para instalar o driver com o comando. Vá para o próximo passo.
  • 2.1) Mude para o diretório que está o driver windows

root@PCWork:/home/cris # cd downloads/wireless/
root@PCWork:/home/cris/downloads/wireless # ls
netr8180.inf  rtl8180.sys
  • 2.2) Instale o driver com “ndiswrapper -i <nome_driver.inf>”

root@PCWork:/home/cris/downloads/wireless # ndiswrapper -i netr8180.inf
Installing netr8180
  • 2.3) Confira de o driver foi instalado pelo ndiswrapper

root@PCWork:/home/cris/downloads/wireless # ndiswrapper -l
Installed ndis drivers:
netr8180        driver present, hardware present
  • 2.4) Execute o modprobe para instalar os módulos necessários

root@PCWork:/home/cris/downloads/wireless # modprobe ndiswrapper
  • 2.5) Faça inicializar toda vez ao boot com “ndiswrapper -m”

root@PCWork:/home/cris/downloads/wireless # ndiswrapper -m
Adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper

3) Configure a rede acessando “Computer->System Configuration->Rede (ou Networking)”

obs.: esse menu pode ser acessado se você utiliza o Linux Ubuntu. Para outras distribuições, consulte o manual para configurar a sua rede corretamente.

4) Outras ferramentas para consultas:

Lista os dispositivos de rede do sistema
$ ifconfig -a

Verifica se o ndiswrapper foi reconhecido pelo modprobe
$ lsmod
O “ndiswrapper” deve ser listado mais ou menos assim:
ndiswrapper           119348  0

5) Solucionando possíveis erros:

Erro:
wlan0 não é listada com o comando “$ ifconfig -a”
Diagnóstico:
Verifique se você fez o download das versões mais recentes do driver wireless para Windows e da ferramenta ndiswrapper.

links:

Cristiano Meira Magalhães