0000:06:05.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
ou:
0000:08:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)
Existem duas opções para a configuração destas placas no Linux. A primeira é usar o módulo “bcm43xx“, que é o driver open-source, desenvolvido via engenharia reversa. Ele pode ser encontrado nas distribuições com Kernel 2.6.17 em diante, e também no Ubuntu 6.6, que apesar de usar um Kernel um pouco mais antigo, vem com o patch instalado.
O problema é que este driver ainda está bem incompleto, e por isso não suporta WPA e outros recursos, além de precisar que o firmware da placa (um componente do driver Windows) seja instalado manualmente. Veja mais detalhes sobre como configurar o driver bcm43xx mais adiante.
A segunda opção é usar o Ndiswrapper, para carregar o driver Windows. Até o momento ele é a melhor opção, pois permite utilizar todos os recursos da placa.
No caso do Ubuntu, é necessário abrir o arquivo “/etc/modprobe.d/blacklist” e adicionar a linha “blacklist bcm43xx” no final, para que o driver bcm43xx deixe de ser usado, dando espaço para o Ndiswrapper.
Configurar o Ndiswrapper no Kurumin é bastante simples, pois você pode utilizar o script “ndiswrapper-kurumin“, disponível através do “Conectar na Internet ou configurar a rede > Wireless > Ndiswrapper”:
Para usar o Ndiswrapper, você precisa ter em mãos os drivers para Windows XP da placa, que pode ser obtido nos CDs de instalação, ou no site do fabricante.
Em muitos casos, o driver vem na forma de um arquivo .exe, empacotado para ser executando no Windows, como em “sp32158.exe“.
Para poder usá-los no Linux, precisaremos primeiro descompactar o arquivo usando o comando “cabextract“, como em:
$ cabextract sp32158.exe
Se o comando não estiver disponível, instale-o usando o apt-get, urpmi ou yum (no Fedora) e tente novamente.
Quando o script pedir o arquivo .inf do driver, indique o arquivo “bcmwl5.inf“, dentro da pasta onde ele foi descompactado:
Mais adiante o script pergunta sobre o sistema de encriptação usado na rede. Veja que está disponível a opção de conectar a uma rede com encriptação WPA:
Depois de fornecer a configuração da rede, você tem a opção de salvar a configuração, para que ela seja restabelecida automaticamente durante o boot.
O maior problema em utilizar o ndiswrapper é que o driver trava caso a placa wireless seja colocada em modo de economia de energia, o que acontece automaticamente depois de algum tempo de inatividade. Quando isso acontece, o driver fica travado e a placa não transmite mais dados até que você reinicie o micro. Não adianta nem tentar desativar e reativar o ndiswrapper.
Apesar disso, existe uma solução muito simples para o problema: basta impedir que a placa entre em modo de economia de energia, mantendo a conexão sempre ativa. A forma mais simples de fazer isso é usar o comando “ping” para enviar pacotes para um endereço qualquer a cada 15 segundos. Abra um terminal e rode o comando:
$ ping -i 15 google.com (o google.com pode ser substituído por outro endereço qualquer)
Para que ele seja executado automaticamente durante o boot, resolvendo o problema definitivamente, use os dois comandos abaixo, que criam um script dentro da pasta /etc/rc5.d:
# echo ‘ping -i 15 google.com &’ > /etc/rc5.d/S99ping
# chmod +x /etc/rc5.d/S99ping
Mantendo o ping ativo, a conexão se torna bastante estável, mesmo ao conectar em redes com encriptação WPA. Você pode deixar o note ligado durante vários dias, mesmo sem usar a rede e a conexão se mantém aberta, pronta para usar.
O único inconveniente é que manter a placa ativa o tempo todo causa um pequeno aumento no consumo, reduzindo a autonomia das baterias em cerca de 10 minutos.
No Ubuntu, a melhor opção de interface gráfica de configuração é o “ndisgtk“, que você pode instalar via apt-get:
$ sudo apt-get install ndisgtk
Depois de instalado, será incluído o ícone “Windows Wireless Drivers” no menu “Sistema > Administração”. Ele é bem simples de usar: clique no “install new driver“, indique o driver Windows que será carregado. Clicando no “Configure Network” você abre o network-admin, onde pode configurar os parâmetros da rede:
A maior dificuldade é que no Ubuntu não está disponível nenhum script para conectar a uma rede WPA, de forma que você precisa instalar o wpa_supplicant e fazer a configuração manualmente, como explico aqui: https://www.hardware.com.br/guias/11/index4.php
Como disse, existe também a opção de usar o módulo “bcm43xx“, que é o driver nativo, ao invés do Ndiswrapper. O procedimento de configuração ainda é bastante manual, se você é iniciante, ou não quer ter muito trabalho, recomendo que continue com o Ndiswrapper.
Para funcionar, ele precisa do firmware da placa, um componente do driver do Windows, de forma que você vai precisar copiá-lo dos CDs de instalação, ou baixar, da mesma forma que ao usar o Ndiswrapper.
O próximo passo é instalar o programa “fwcutter“, que usamos para extrair os arquivos do firmware. Ele está disponível aqui: http://bcm43xx.berlios.de/. Para instalá-lo, descompacte o arquivo e execute os comandos “make” e “make install”, como root. Você precisa ter instalado o pacote “build-essential“, que contém os compiladores necessários.
Com tudo em ordem, acesse a pasta onde foi extraído o driver Windows e execute o comando “bcm43xx-fwcutter”, indicando o arquivo “.sys”, dentro da pasta do driver, como em:
$ bcm43xx-fwcutter bcmwl5.sys
Isto vai gerar um conjunto de arquivos “.fw”. Para concluir a instalação, copie os arquivos para dentro da pasta “/lib/firmware/$versao_do_kernel“, no caso do Ubuntu (como em “cp *.fw /lib/firmware/2.6.15-23-386/”), ou simplesmente “/lib/firmware” no caso do Kurumin.
Concluindo, recarregue o módulo, usando os comandos abaixo, ou reinicie o micro:
# modprobe -r bcm43xx
# modprobe bcm43xx
Verifique se o transmissor da placa wireless está ativado e boa navegação :).
Deixe seu comentário