Em todas as distros que utilizei minha interface wireless BCM 4306, sempre usei o ndiswrapper junto com o driver do Windows. Para a minha surpresa, desde a versão dapper 4 do (k)ubuntu não consegui mais utilizá-la dando sempre a seguinte mensagem de erro:
[4295348.307000] bcm43xx: Error: Microcode “bcm43xx_microcode5.fw” notavailable or load failed.
Através de minhas pesquisas e também do grupo de discussão do ubuntu (ubuntu-users), percebi que o erro ocorre que a preferência é o uso do driver bcm43xx que agora vem nativo no kernel 2.6.15 em diante. Para a minha infelicidade, o firmware da minha interface não está disponível e assim surgiram dois caminhos para eu poder utilizar:
- Colocar o módulo bcm43xx em blacklist e continuar usando o ndiswrapper normalmente como eu já fazia antes;
- Utilizar um utilitário chamado fwcutter para extrair o meu firmware do driver do Windows (.sys) e utilizar com o módulo bcm43xx;
Abaixo estarei mostrando os dois caminhos e escolha o que for mais conveniente para você.
1) Utilizando o ndiswrapper
Para poder utilizar o ndiswrapper ao invés do módulo, basta colocar o módulo bcm43xx em blacklist para nunca ser carregado. Para isso, edite o arquivo /etc/modprob.d/blacklist e adicione a seguinte linha:
blacklist bcm43xx
Em seguida, basta utilizar o ndiswrapper normalmente conforme já foi explicado aqui.
2) Utilizando o módulo bcm43xx
2.1) Compilando ferramenta fwcutter para extrair o firmware da interface
Como o meu firmware não está disponível para ser utilizado com esse módulo, há necessidade de utilizar a ferramenta fwcutter para extrair o driver do Windows (arquivo .sys) para posteriormente ser utilizado pelo módulo.
Vá até o site http://bcm43xx.berlios.de/ e faça o download da ferramenta. Até o presente momento, não achei nenhum pacote com essa ferramenta compilada para o (k)ubuntu. Realize o download dos sources aqui e compile seguindos os seguintes passos:
Descompacte o arquivo:
$ tar jxvf bcm43xx-fwcutter-003.tar.bz2
Compile o utilitário:
$ make
$ sudo make install
2.2) Extraindo o firmware da interface através do driver do Windows
Para extrair o firmware da interface wirelless para ser utilizado pelo módulo, basta utilizar a ferramenta que compilamos da seguinte forma:
$ cd /caminho/para/o/driver/do/windows
$ sudo bcm43xx-fwcutter bcmwl5.sys
Vários arquivos com extensão .fw serão gerados. Copie todos esses arquivo para /lib/firmware/versão_do_seu_kernel.
$ sudo cp *.fw /lib/firmware/versão_do_kernel
2.3) Colocando a interface para funcionar
Carregue o módulo bcm43xx:
$ sudo modprobe bcm43xx
Defina o essid de sua rede wireless:
$ sudo iwconfig eth1 essid meu_essid
Defina a sua chave WEP:
$ sudo iwconfig eth1 key minha_chave
Obtenha o endereço IP via dhcp client:
$ sudo dhclient3 eth1
Observações:
- Agora a sua interface não chamará mais wlan e sim eth.
- As configurações utilizadas no arquivo /etc/network/interface para o ndiswrapper conforme explicadas aqui não funcionaram com esse módulo. Para contornar, eu coloquei os comandos acima no arquivo /etc/rc.local, pelo menos até conseguir achar os parâmentros corretos.


April 16th, 2006 at 7:33 pm
Opa!
Gostei muito da sua explicação, só pra constar o pacote bcm43xx-fwcutter esta disponivel para o Ubuntu Dapper Drake 6.04.
April 27th, 2006 at 3:43 pm
Sim, atualmente já tem esse pacote. Quando escrevi esse howto infelizmente ainda não havia no dapper e então tive que compilar.
Muito obrigado pelo aviso e estarei até fazendo uma atualização.
Abraços,
Roger
June 14th, 2006 at 8:58 pm
Ola Roger
Obrigado pela receitinha de bolo cara. Estou com um note com essa placa e consegui ir somente até acender a luz do wireless, mas com tuas instruções estou postando esse comentário dele em pleno funcionamento com a rede sem-fio.
[]’s
Israel
June 24th, 2006 at 5:19 am
cara adoraria está na situacao do israel. tow usando dapper 6.06, nao tow conseguindo compilar.
June 24th, 2006 at 5:36 am
root@eduardo-laptop:~/Desktop/bcm43xx-fwcutter-003# make
bash: make: comando não encontrado
June 24th, 2006 at 5:42 am
desconsidere os posts anteriores, dei um apt-get install make e ele instalou o make.
June 25th, 2006 at 8:21 pm
Desconsiderado…
July 25th, 2006 at 8:28 pm
não sei exatamente qual o efeito disso, mas, ao invés de copiar para /lib/firmware/versão_do_kernel, basta copiar para /lib/firmware/. Talvez isso permita que o mesmo driver seja usado por vários kernels. (será?)
July 25th, 2006 at 8:30 pm
só uma dúvida: após realizar o procedimento 2 descrito acima, que, com relacao ao Dapper 606 funcionou perfeitamente para minha wireless, notei que passaram a acontecer congelamentos no KDE. Alguem mais notou isso? Grato
July 26th, 2006 at 3:54 pm
Jonas,
Nunca utilizei copiando para o diretório que vc informou.
Em relação ao KDE, não tem lógica dele travar por causa de uma interface de rede, a não ser alguns aplicativos que vc possa estar utilizando, como por exemplo o Wireless Assistant, mas aí bastaria matar esse processo.
O que está acontecendo? Está travando completamente o KDE?
[]s
Roger
July 27th, 2006 at 9:34 am
Roger,
O que acontece (acontecia) é o seguinte: usando wireless (configurado pela linha de comando, sem o Wirel Ass), após algum tempo de uso, o KDE travava. Aos poucos, porém, os ícones e textos eram redesenhados muito lentamente. Mas a frequência com que isso ocorre é irritante, pois nos faz ter de ctrl+alt+backsp o tempo todo.
Consultando outros fóruns, constatei que outros usuários encontram dificuldades semelhantes. Alguns consideram ser uma incompatibilidade com o dispositivo de vídeo da ATI, tanto que, se trocarmos no xorg.conf a linha “ati” por “vesa” o problema desaparece (mas o vesa é muito lento)
Resolvi tentar usar o fwcutter para extrair o firmware, ao invés de usar firmwares que outros usuários extraíram e, até o momento, o problema desapareceu, mesmo usando o ATI. Espero que assim continue.
Abraços, obrigado. J.
July 28th, 2006 at 10:39 am
Jonas,
Então o seu problema é outro..
Pois como disse anteriormente, não consegui ver alguma ligação entre a sua configuração wireless com essa lentidão ou travamento do KDE.
Tente alternar para a interface texto e deixe um top rodando para poder verificar se há algum processo comendo 99% da cpu. Isso ocorre muito com processos zumbis que ficam travados e mesmo assim comem a cpu.
Percebendo em seu comentário, vc não extraiu em seu computador o firmware e usou dos outros. Bem, eu não recomendaria isso.
Em relação a interface ATI, eu não sei qual é o modelo que vc usa, mas eu uso uma em meu notebook normalmente, inclusive já coloquei para funcionar nela o XGL (interface gráfica 3D).
August 10th, 2006 at 2:23 am
Valeu Roger…
Mas… como faço para usar com o WPA ??? Consegui compilar o fwcutter para o kernel. “Levantei” a placa com o ifconfig e funcionou…. só falta fazer funcionar com o wpa!
Um abraço.
August 15th, 2006 at 11:42 pm
Quais os pacotes q são necessários para executar os comandos: make, make install?
Uso o Ubuntu Breezy e ele não reconhece estes comandos, aparece alguma coisa como “bash: make: comando não encontrado”.
No Ubuntu Dapper Drake os pacotes para rodarem estes comandos são instalados por padrão?
Obrigado.
[]’s
August 19th, 2006 at 1:40 pm
Paulo,
eu por enquanto estou usando apenas WEP. Vou colocar para funcionar WPA em breve para funcionar…
[]s
Roger
August 19th, 2006 at 1:40 pm
hawk,
Utilize o seguinte comando:
sudo apt-get install make
[]s
Roger
August 21st, 2006 at 11:09 pm
hawk, tenta instalar o pacote build-essential(s) … já tem um bocado de coisa pra começar a brincar de compilar …
September 4th, 2006 at 10:24 pm
Olá, gostaria de parabenizar o artigo e dizer que é de pessoas assim que a comunidade precisa, pessoas que não tem preguiça de escrever detalhamente os procedimentos de configuração exigidos para qualquer situação,
um grande abraço,
Davyd Smelk
September 5th, 2006 at 10:00 pm
Davyd,
Muito obrigado. Seu comentário é um incentivo a colaborar mais com a comunidade.
[]s
Roger
September 10th, 2006 at 4:22 pm
Amigos, sigo o passo desse tutorial para o meu note acer aspire 3000, minha placa Bradcom bcm4318, quando executo o seguinte passo: sudo bcm43xx-fwcutter -w /lib/firmware ~/Desktop/bcmwl5.sys
Vejam a mensagem: Cannot open input file /root/Desktop/bcmwl5.sys