domingo, 19 de abril de 2009

Instalando wireless Broadcom BCM4312 no Debian 5 Lenny


Atenção: Siga o novo artigo atualizado aqui:
http://campachi.blogspot.com/2011/04/instalar-broadcom-wireless-no-debian-6.html


Voltei para compartilhar minha saga: Instalar o "driver" da placa wireless Broadcom (BCM4312) no meu novíssimo Debian GNU/Linux 5.0 update 1 de 64 bits (2.6.26-2-amd64) rodando no meu HP Pavilion. Achei várias fontes na internet, mas a maioria é para 32 bits, o que dificultou um pouco, chega de delongas e vamos a prática!

Ah! Esse tutorial serve tanto para quem acabou de instalar o Debian como para quem já tem algum tempo. Não precisa ter acesso a internet se você tem o CD/DVD do Debian na sua source list do APT. Exeto, para baixar o driver oficial.

> Identificar a versão da placa wireless (todos os comandos como root):
# lspci -nn

Network controller [...]: Broadcom Corporation BCM4312 802.11b/g [...]

> O site diz que o driver é compatível com: BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware. Nosso caso. ;-)

> Baixe o pacote com o driver oficial do web-site, note a diferença na arquitetura [32/64]:
http://www.broadcom.com/support/802.11/linux_sta.php

> No meu caso (2.6.26-2-amd64) usei o 64-bit driver.
> Se seu caso for (2.6.26-2-i386) use o 32-bit driver.

> Se você acabou de instalar o Debian e o pacote está numa partição Windows NTFS, antes de montar, instale o suporte ao NTFS:
# aptitude install ntfs-3g

> Se seu Debian é novo, instale os headers e compiladores necessários para criação do módulo do kernel:
# aptitude install linux-headers-$(uname -r)

# aptitude install build-essential kbuild

> Na sua Pasta pessoal (~), crie e coloque o pacote aqui (hybrid_wl):
# mkdir ~/hybrid_wl

# cd ~/hybrid_wl

> Atenção: Todos os comandos, a seguir, são feitos no novo diretório acima citado.

> Descompacte o pacote com:
# tar -xvf hybrid-portsrc-x86_*-v5.60.48.36.tar.gz

> Agora você tem 3 novos itens: src, lib e um arquivo chamado Makefile.

> Faça uma limpeza (se entrar e sair sem erros, está ok):
# make -C /lib/modules/$(uname -r)/build M=$(pwd) clean

> Agora, vamos criar o módulo do kernel:
# make -C /lib/modules/$(uname -r)/build M=$(pwd)

> O resultado são vários arquivos novos, o mais importante é ter o wl.ko.

> O manual recomenda remover outros módulos, se seu Debian é novo, pode pular esses comandos:

# rmmod wl
# rmmod bcm43xx
# rmmod b43
# rmmod b43legacy

> Habilite o módulo 802.11 TKIP crypto:
# modprobe ieee80211_crypt_tkip

> Instale o novo módulo ao kernel:
# insmod wl.ko

> Vamos deixar a coisa redonda e automática, faça:
# cp wl.ko /lib/modules/$(uname -r)/kernel/net/wireless/

# depmod -a

> Verifique se está tudo ok com:
# iwconfig eth1 up

# iwlist eth1 scan

> Lá no ícone ao lado da data/hora, de um clique com o botão esquerdo e selecione a rede disponível, se não aparece nada, reboot na máquina.

> Para outros dispositivos Broadcom, recomendo ler aqui:
http://linuxwireless.org/en/users/Drivers/b43

http://wiki.debian.org/bcm43xx

Bom proveito. :-)