Ndiswrapper

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 de 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. Apesar disso, 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. 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 ou veja se o módulo e o comando “ndiswrapper” estão disponíveis.


– 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 muitas 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 você estiver usando uma distribuição que já venha com uma versão antiga do Ndiswrapper instalada, 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 é normalmente 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 usando o modprobe:

# 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.

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 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 durante o boot.

Você pode também fazer a configuração utilizando o “ndisgtk“, um utilitário gráfico, disponível nos repositórios do Debian, no Ubuntu e em outras distribuições.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X