Interface wireless com o módulo bcm43xx no (k)ubuntu dapper

Iniciado por RogerLovato, 11 de Abril de 2006, 00:43

tópico anterior - próximo tópico

RogerLovato

Fonte: http://www.roger.lovato.com.br?p=59#more-59

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" not available 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:

1 - Colocar o módulo bcm43xx em blacklist e continuar usando o ndiswrapper normalmente como eu já fazia antes;
2 - Utilizar um utilitário chamado fwcutter para extrair o meu firmware do driver do Windows (.sys) e utilizar com o módulo bcm43xx;

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.

Para instalar o fwcutter, execute o seguinte comando:

$ sudo apt-get install bcm43xx-fwcutter

obs.: quando eu fiz esse howto no meu site, ainda não havia esse pacote, portanto, quem visitar o meu site, vai sugerir a compilação do mesmo.

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

Para facilitar pode-se utilizar o comando abaixo caso tenha dúvidas em qual diretório colocar quanto há mais de um kernel instalado.

$ sudo cp *.fw /lib/firmware/`uname -r`

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

obs: Usando o bcm43xx não há necessidade de instalar o ndiswrapper.

[]s

Roger[/code]