Hoje em dia, um número surpreendentemente grande de notebooks estão vindo equipados com placas wireless com chipset Broadcom. Praticamente todos os notebooks com chipset Intel, que não são Centrino (os Centrinos usam placas ipw2200), usam uma destas placas.

Em caso de dúvidas sobre a placa instalada no seu note, rode o comando "lspci". Procure por uma linhas similar a:

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.

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: DOWNLOAD . 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 .


Carlos E. Morimoto