ATENÇÃO: o conteúdo desta postagem pode estar desatualizado. Foi utilizado como base uma versão antiga do Linux Ubuntu. Tente o procedimento por sua própria conta e risco.
Depois da compra de meu último notebook, um HP Pavilion dv6058cl, além de vários problemas que encontrei inicialmente na instalação do Ubuntu 7.04 Feisty Fawn, sempre possuí um problema que eu julgava não ser um problema. A placa de rede sem fio desse computador é uma Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card. Algum tempo atrás, placas Broadcom possuíam um suporte limitado através de um driver nativo. Com esse argumento foi que surgiu também a ferramenta ndiswrapper, que realiza um mapeamento do driver para Windows XP para instruções entendíveis pelo módulo ndiswrapper.
A minha surpresa ao instalar o Ubuntu em sua última versão (até a presente data), foi que a placa Broadcom, antes uma pedra no sapato, foi detectada e a princípio funcionou plenamente sem configuração alguma! Pesquisei na Internet e verifiquei que o suporte está presente, pelo módulo bcm43xx, na árvore de módulos do kernel desde a versão 2.6.17-rc2. Tem algo melhor do que utilizar um recurso nativamente ao invés de soluções “semi-proprietárias”? Eu achava que não, até que os problemas começaram a surgir. Abaixo digo o que foi necessário para a resolução do problema.
A rede sem fio funcionava com o módulo bcm43xx? Sim, em termos. Associação em pontos de acesso protegidos, através de esquemas de segurança, como WPA2-PSK era praticamente impossível, ou mesmo em pontos de acesso públicos, sem qualquer tipo de autenticação ou outra forma de proteção, era tão custosa que me fazia preferir o “velho cabo azul” ao invés da mobilidade oferecida pelas redes Wi-Fi. Havia em qualquer que fosse a situação, uma instabilidade muito alta do serviço, com constantes quedas da conexão ou simplesmente não era possível a associação do computador com a rede. A solução? Encontrei aqui.
Como o link acima propõe, será utilizado o ndiswrapper, sendo que iremos realizar a compilação do código-fonte. Realizei teste apenas na versão indicada pelo o autor do HOW-TO original. Sendo assim, o primeiro passo para recuperarmos nossa rede sem fio será revertermos qualquer tentativa anterior de fazer com que o serviço funcione. Caso possua o ndiswrapper instalado, os comandos abaixo serão suficientes para o descarregamento do módulo ndiswrapper, remoção do driver antigo e pacote ndiswrapper utilizado.
# rmmod ndiswrapper
# ndiswrapper -e bcmwl5
# apt-get remove ndiswrapper-utils-1.9
O nome do pacote ndiswrapper-utils pode variar de acordo com a versão instalada. Verifique antes através do comando abaixo.
$ dpkg -l | grep ndiswrapper-utils
Agora iremos baixar os pacotes necessários para a compilação do ndiswrapper (sim, iremos compilá-lo). Realize os comandos abaixo. Repare que é importante estarmos atualizados de acordo com os repositórios da Internet, para que não haja dependências quebradas dos pacotes.
# apt-get update
# apt-get install build-essential
# apt-get install linux-headers-`uname -r`
# wget http://ftp.us.dell.com/network/R151517.EXE
# wget http://internap.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.47.tar.gz
Vamos agora impedir que o módulo bcm43xx seja carregado novamente durante o carregamento normal do sistema. Para tanto, os comandos abaixo bastam.
# modprobe -r bcm43xx
# echo blacklist bcm43xx >> /etc/modprobe.d/blacklist
Pronto! Para os menos experientes, reiniciem o computador e procedam com a verificação abaixo.
# lsmod | grep bcm43xx
Caso haja algum retorno do comando acima, algum dos passos anteriores pode não ter sido realizado corretamente. Qualquer problema, me envie um recado aqui também que tentarei ajudar.
Agora já podemos ir à compilação! Para tanto, primeiramente precisamos descompactar o pacote com os códigos-fontes.
$ tar -xzvf ndiswrapper-1.47.tar.gz
Depois disso, iremos acessar a pasta que foi gerada depois da descompactação.
$ cd ndiswrapper-1.47/
Para ter certeza de que não há outro módulo ndiswrapper, dê o comando abaixo.
# make uninstall
Agora vamos compilar o código-fonte. Os comandos abaixo devem bastar.
# make
# make install
Pronto! O ndiswrapper estará funcionando. Vamos ao driver que baixamos anteriormente. Considerando que estamos no diretório onde se encontra o arquivo R151517.EXE, realize o seguinte comando.
$ unzip -a R151517.EXE
O pacote será descompactado, sendo que haverá um diretório chamado “DRIVER” que irá conter os arquivos INF, necessários para o ndiswrapper acessar a placa de rede sem fio. Vamos aos comandos.
# ndiswrapper -i bcmwl5.inf
# ndiswrapper -l
bcmwl5 : driver installed
device (14E4:4311) present (alternate driver: bcm43xx)
# ndiswrapper -m
# modprobe ndiswrapper
# echo ndiswrapper >> /etc/modules
Os comandos acima irão, primeiramente, registrar o arquivo bcmwl5.inf como driver, listar se o driver foi corretamente instalado, registrar um alias para a placa de rede sem fio (wlan0, por padrão), caso ainda não exista, carregar o módulo do ndiswrapper e por último registrar o ndiswrapper para ser carregado durante o processo de inicialização do sistema.
E o que mais? Mais nada! Pronto! Se tivermos realizado os procedimentos, passo a passo, como informado aqui, já podemos ter acesso sem fio de qualidade! Não garanto que tudo irá funcionar perfeitamente, já que realizei um teste apenas e em um único ambiente, no caso, meu próprio computador.
Vou ficando por aqui! Se tiverem problemas, no entanto, enviem as dúvidas para cá que tentarei ajudar no que for possível.
Inté mais! 🙂
yaehz Thigu! hehe! Tava procurando alguma coisa que ajuda-se a resolver esse meu problema e acabei caindo no teu blog, tua placa wireless é o mesmo modelo da minha…! Tô usando o fedora 7, e tô penando pra instalar essa placa…. reconhece a placa somente como ethernet, mas ñ funfa como wireless…
Amanhã vou tentar instalar novamente! Depois te conto pelo g-talk!
fuiws
Alexandre Quelemes
Pelo meu Dell 531 percebi que o problema de usar o ndiswrapper é que ele não funciona em modo monitor…
Se eu estiver errado, por favor, me corrijão e ficaria feliz em saber como =D
abs
Efetuei o procedimento no link informando mais não consegui resolver o problema, tenho um Dell Inspirion 1525 com esta mesma Broadcom, já procurei em diversos lugares uma solução mais sem sucesso.
At,
Juliano Resende
Tenho um acer com o controlador acima citado que nao funciona:
#lspci
05:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)
usei o procedimento acima e vejam a resposta:
kurumin@Geraldo:~$ cd DRIVER
kurumin@Geraldo:~/DRIVER$ sudo ndiswrapper -i bcmwl5.inf
driver bcmwl5 is already installed
kurumin@Geraldo:~/DRIVER$ ndiswrapper -l
bcm43xx : invalid driver!
bcmwl5 : invalid driver!
kurumin@Geraldo:~/DRIVER$ ls
bcm43xx64.cat bcm43xx.cat bcmwl564.sys bcmwl5.inf bcmwl5.sys
kurumin@Geraldo:~/DRIVER$
Qquer ajuda eh bem vinda!!!!
nao sei de nada
Fala Geraldo!
O driver bcm43xx em suas últimas versões deu uma grande melhora no suporte ao hardware. Atualmente recomendo este driver a não ser que haja alguma incompatibilidade muito necessária.
Abraços!