De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Ativando placas wireless com o Ndiswrapper

Colaboração: Carlos E. Morimoto

Data de Publicação: 24 de Junho de 2005

O Ndiswrapper é uma espécie de Wine para drivers de placas de rede wireless. Ele funciona como uma camada de abstração entre driver e o sistema operacional, permitindo que placas originalmente não suportadas no Linux funcionem usando os drivers do Windows.

Em alguns casos o próprio driver para Windows XP que acompanha a placa funcionará, em outros é preciso usar alguma versão específica do driver. Você pode encontrar várias dicas sobre placas testadas por outros usuários do Ndiswrapper no:

http://ndiswrapper.sourceforge.net/wiki/index.php/List

Os drivers para Windows são arquivos executáveis, que servem entre intérpretes entre a placa e o sistema operacional. Eles contém o firmware da placa e outras funções necessárias para fazê-la funcionar. Cada placa é diferente, por isso os drivers de uma não funcionam na outra mas, todos os drivers conversam com o sistema operacional usando uma linguagem específica de comandos. Ou seja, do ponto de vista do sistema operacional todos os drivers são parecidos.

O Ndiswrapper consegue executar o driver e "conversar" com ele usando esta linguagem. Ele trabalha como um intérprete, convertendo os comandos enviados pelo Kernel do Linux em comandos que o driver entende e vice-versa. O Kernel acha que está conversando com uma placa suportada, o driver acha que está rodando dentro de um sistema Windows e a placa finalmente funciona, mesmo que o fabricante não tenha se dignado a escrever um driver nativo.

O Ndiswrapper não funciona com todas as placas e em outras alguns recursos como o WPA não funcionam, mas na maior parte dos casos ele faz um bom trabalho.

A página do projeto é a:

http://ndiswrapper.sourceforge.net

Muitas distribuições já trazem o Ndiswrapper instalado por padrão, como o Kurumin e o Mandrake 10 em diante. Nestes casos você pode pular este tópico sobre a instalação e ir direto para a configuração. Procure pelo pacote "ndiswrapper" no gerenciador de pacotes.

Instalando

Na página você encontrará apenas um pacote com o código fonte. Como o Ndiswrapper precisa de um módulo instalado no Kernel, seria complicado para os desenvolvedores manter versões para muitos distribuições diferentes. Assim como no caso dos softmodems, para compilar o pacote você precisa ter instalados os pacotes kernel-headers e/ou kernel-source e os compiladores. A versão mais recente pode ser baixada no:

http://sourceforge.net/projects/ndiswrapper/

Descompacte o arquivo e acesse a pasta que será criada. Para compilar e instalar, basta rodar o comando:

  # make install

(como root)

O Ndiswrapper é composto de basicamente dois componentes. Um módulo, o ndiswrapper.ko (ou ndiswrapper.o se você estiver usando uma distribuição com o Kernel 2.4), que vai na pasta "/lib/modules/2.x.x/misc/" e um executável, também chamado "ndiswrapper", que é usado para configurar o driver, apontar a localização do driver Windows que será usado, etc.

Se por acaso você estiver usando uma distribuição que já vem com o Ndiswrapper instalado, você deve primeiro remover o pacote antes de instalar uma versão mais atual. Caso a localização do módulo ou do executável no pacote da distribuição seja diferente, pode acontecer de continuar sendo usado o driver antigo, mesmo depois que o novo for instalado.

Configurando

Depois de instalar o Ndiswrapper, o próximo passo é rodar o comando "depmod -a" (como root) para que a lista de módulos do Kernel seja atualizada e o novo módulo seja realmente instalado. Isto deve ser feito automaticamente pelo script de instalação, é apenas uma precaução.

Antes de ativar o Ndiswrapper você deve apontar a localização do arquivo .inf dentro da pasta com os drivers para Windows para a sua placa. Em geral os drivers para Windows XP são os que funcionam melhor, seguidos pelos drivers para Windows 2000. Você pode usar os próprios drivers incluídos no CD de instalação da placa. Se eles não funcionarem, experimente baixar o driver mais atual no site do fabricante, ou pesquisar uma versão de driver testada no ndiswapper no:

http://ndiswrapper.sourceforge.net/wiki/index.php/List

Para carregar o arquivo do driver rode o comando "ndiswrapper -i", seguido do caminho completo para o arquivo, como em:

  # ndiswrapper -i /mnt/hda6/Driver/WinXP/GPLUS.inf   

Rode agora o comando "ndiswrapper -l" para verificar se o driver foi mesmo ativado. Você verá uma lista como:

  	Installed ndis drivers:
  	gplus   driver present, hardware present

Com o driver carregado, você já pode carregar o módulo com um:

  # modprobe ndiswrapper

Se tudo estiver ok, o led da placa irá acender, indicando que ela está ativa. Agora falta apenas configurar os parâmetros da rede Wireless que veremos adiante.

Se a placa não for ativada, você ainda pode tentar uma versão diferente do driver. Neste você precisa primeiro descarregar o primeiro driver. Rode o ndiswrapper -l para ver o nome do driver e em seguida descarregue-o com o comando "ndiswrapper -e".

No meu caso por exemplo o driver se chama "gplus" então o comando fica:

  # ndiswrapper -e gplus

Para que a configuração seja salva e o Ndiswrapper seja carregado durante o boot, você deve rodar o comando:

  # ndiswrapper -m

E em seguida adicionar a linha "ndiswrapper" no final do arquivo "/etc/modules", para que o módulo seja carregado no boot.


Gostou da dica? Veja a agenda de cursos presenciais com Carlos E. Morimoto em Porto Alegre e São Paulo

  • Curso: Redes e Servidores Linux (com Carlos E. Morimoto) Em Porto Alegre, início dia 04/07

  • Curso: Programando em Shell Script (com Júlio Cezar Neves) Em Porto Alegre, início dia 11/07

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Carlos E. Morimoto