Este tutorial trata de como compilar e instalar o driver para
Linux das placas
Broadcom (BCM4310). Meu ambiente é um
HP Pavilion 2960br com Ubuntu 8.04, mas acredito que este texto servirá para qualquer distribuição.
Hoje eu inauguro minha pasta de dicas no VOL com algo realmente útil:
drivers Wireless para as famigeradas Broadcom (BCM4310). Então vamos lá!
Depois de muita pesquisa e de os drivers wireless para Windows não funcionarem com o ndiswrapper e o módulo que vem com o Ubuntu também não funcionar, achei no próprio site da Broadcom a solução. Parece mentira, mas não só o driver funciona, como parece que funciona muito bem suportando, inclusive WPA sem qualquer esforço.
Meu ambiente é um HP Pavilion DV296BR com o Ubuntu 8.04. Vale ressaltar que este texto destina-se a qualquer distribuição com kernel 2.6, make e GCC instalados.
Baixando e instalando
Primeiro passo é saber se sua placa é mesmo uma BCM4310.
Primeira verificação - abra um terminal da sua preferência e digite como usuário normal:
lspci | grep -i broadcom
O resultado deve ser similar a este:
07:00.0 Network controller: Broadcom Corporation BCM4310 USB Controller (rev 01)
Segunda verificação:
Se você abrir o gerenciador de drivers proprietários do Ubuntu, vai encontrar o módulo "wl" marcado como ativado mas sem uso. Isso é devido ao driver que vem com o Ubuntu não suportar essa placa wireless (ou algum bug no driver). Se você tentar carregar o módulo manualmente, receberá a mensagem:
FATAL: Error inserting wl(/lib/modules/2.6x-x-x/volatile/wl.ko): Unknown symbol in module.or unknown parameter (see dmesg)
Terceira verificação:
Você tentou instalar o driver para o Windows e obteve a resposta que o driver foi instalado, mas não está em uso.
Se você obteve essas respostas então esse texto é para você.
Vamos começar abrindo um terminal, baixando e compilando o driver:
sudo su
# cd /usr/src
# mkdir hybrid_wl
# cd hybrid_wl
# wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32_5_10_27_6.tar.gz
# tar xvfz hybrid-portsrc-x86_32_5_10_27_6.tar.gz
# make -C /lib/modules/`uname -r`/build M=`pwd` clean
# make -C /lib/modules/`uname -r`/build M=`pwd`
OBS.: Devo lembrar-lhe que você precisa ter os headers do seu kernel para compilar qualquer módulo do kernel. Pronto, se você não obteve nenhum erro, o driver foi compilado com sucesso!
Agora vamos instalar o driver. Antes você precisa levantar o módulo que disponibiliza a criptografia 802.11 TKIP:
# modprobe ieee80211_crypt_tkip
Agora é só instalar o módulo e levantar:
# insmod wl.ko
# modprobe wl
E voilá, sua wireless está funcionando! Ela deve ser identificada como eth1.
Digite no console o comando iwconfig para constatar:
# iwconfig
eth1 IEEE 802.11g ESSID:"" Nickname:""
Mode:Managed Frequency:2.462 GHz Access Point: 00:18:F8:C8:47:82
Bit Rate=54 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Encryption key:F7D8-A6A8-7EC6-9F0A-1271-A9BA-32BE-F85B-7F78-CD09-6699-3FE9-CB1B-BCB7-1F2B-D204 [3]
Power Management:off
Link Quality=82/100 Signal level=-52 dBm Noise level=-87 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Agora é só usar o próprio network manager do Ubuntu para configurar a sua rede sem fios.
Algumas observações estão presentes no README no site da Broadcom, mas NÃO SE APLICAM AO UBUNTU 8.04:
Se sua distribuição possui s drivers da comunidade instalados (geralmente com o nome bcm43xx ou sua versão dividida b43 mais b43legacy) você deve removê-los antes de instalar esse driver:
# rmmod bcm43xx
ou
# rmmod b43;rmmod b43legacy
Se o seu Kernel suporta blacklist, você deve incluir esses módulos.
Basta acrescentar esse módulos no fim do arquivo
/etc/modprobe.d/blacklist para que estes não sejam carregados no próximo boot.
É isso pessoal, espero que tenha ajudado!
Abraço.