Hoje em dia, um número surpreendentemente grande de notebooks estão vindo equipados com placas wireless com chipset Broadcom. Apesar da hostilidade do fabricante, estas placas podem ser configuradas no Linux facilmente usando o Ndiswrapper ou usando o driver nativo. Nesta dica você aprende como utilizar as duas opções.Carlos E. Morimoto
23/08/2006Hoje 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: http://www.guiadohardware.net/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
Fonte: Guia do Hardware
####################################################
Alguns comandos para verificação
sudo iwconfigSe ocorrer tudo bem em sua tela deve aparecer assim
keffer@lostkeffer:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 IEEE 802.11b/g ESSID:"KEFFER" Nickname:"Broadcom 4318"
Mode:Managed Frequency=2.462 GHz Access Point: 00:0A:52:01:28:21
Bit Rate=11 Mb/s Tx-Power=19 dBm
RTS thr:off Fragment thr:off
Link Quality=60/100 Signal level=-74 dBm Noise level=-72 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
E tambem
sudo iwlist ethX scankeffer@lostkeffer:~$ iwlist eth1 scan
eth1 Scan completed :
Cell 01 - Address: 00:0A:52:01:28:21
ESSID:"KEFFER"
Protocol:IEEE 802.11bg
Mode:Master
Channel:11
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=100/100 Signal level=-60 dBm
Extra: Last beacon: 24ms ago
Depois disso vc deve configurar sua rede wireless, caso nao esteja ocm os pacotes ainda instalados, é hora e baixa-los
sudo apt-get install network-managersudo apt-get install network-manager-gnomeBasicamente é isso, aqui o unico problema foi ele setar a rede a 11mb
mas consegui contornar usando o comando
sudo iwconfig ethX rate 54MFonte:
Mundo Wifi