domingo, 6 de novembro de 2011

Acer AO722 com wireless Broadcom BCM4313 no Ubuntu 11.10 (RESOLVIDO)

Tirei o domingo de manhã para descobrir como fazer a minha placa wireless Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller funcionar no Netbook Acer One AO722-0454. Na verdade eu já estou com este novo netbook a uma semana sem wireless, somente com rede via cabo RJ-45.

Driver proprietário no Linux é algo que já me tirou o sono outras vezes, como foi o caso do Netbook Acer Aspire One AO751h
- Intel GMA500 no repositorio para Ubuntu 10.10 Maverick Meerkat
http://hudsonss.blogspot.com/2010/10/intel-gma500-no-repositorio-para-ubuntu.html

Segundo as fontes consultadas, esta configuração funciona para Debian 5.0 Lenny, Debian 6.0 Squeeze, e eu afirmo que funciona no Ubuntu 11.10 Oneiric Ocelot, eu estou utilizando o netbook na wireless agora :-)

1- Identificar a placa wireless através do comando “lspci”
# lspci -nn | grep Broadcom
07:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)

O que nos interessa é: Broadcom BCM4313 802.11

Conforme informações do fabricante, este driver funcionará nas placas BCM4311, BCM4313, BCM4321, BCM4322, BCM43224, BCM43225, utilizando o módulo “wl”.

2- Instalar os módulo e compilador wireless
# apt-get install build-essential linux-kernel-headers wireless-tools

3- Remover alguns módulos para evitar conflito com o nosso novo módulo
# rmmod brcm80211 b43 b44 b43legacy ssb

4- Bloquear os módulos na blacklist, evitando que eles seja carregados na próxima reinicialização do sistema
# vim /etc/modprobe.d/broadcom-sta-common.conf
blacklist b44
blacklist b43legacy
blacklist b43
blacklist brcm80211
blacklist brcmsmac
blacklist ssb

5- Bloquear o módulo “ssb” especificamente
O módulo “ssb” não será bloqueado apenas colocando-o na blacklist, precisamos removê-lo também no “rc.local” antes de finalizar o script com “exit 0”
# vim /etc/rc.local

#!/bin/sh -e
#
# rc.local
rmmod ssb
exit 0

6- Compilando o módulo “wl”
Rode o comando “uname” para confirmar a versão da sua distribuição se é 32 ou 64 bits (i686 = 32 bits / x86_64 = 64 bits)
# uname -m
i686

7- Baixe o driver diretamente do site do fabricando, verifique a arquitetura antes de baixar (32 ou 64 bits)
http://www.broadcom.com/support/802.11/linux_sta.php
Arquivo: hybrid-portsrc_x86_32-v5_100_82_112.tar.gz


8- Crie uma pasta no diretorio OPT
# mkdir /opt/bcm4313

9- Copie o driver baixado para a nova pasta
cp hybrid-portsrc_x86_32-v5_100_82_112.tar.gz /opt/bcm4313

10- Ir para nova pasta
# cd /opt/bcm4313/

11- descompacte o arquivo
# tar -zxvf hybrid-portsrc_x86_32-v5_100_82_112.tar.gz

12- Execute os comandos
# make -C /lib/modules/`uname -r`/build M=`pwd`
# modprobe lib80211
# insmod wl.ko
# cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/
# depmod -a

13- Inicialização automática do módulo “wl”
# vim /etc/rc.local

#!/bin/sh -e
#
# rc.local
rmmod ssb
modprobe wl
exit 0

14- Vamos conferir se a nova placa está funcionando
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 IEEE 802.11 ESSID:"wifi-HUDSON"


15- Travamento do Ubuntu (RESOLVIDO)
O Ubuntu 11.10 após a inicialização está travando devido ao driver wireless da Broadcom, a solução encontrada foi colocar a 1ª opção de Boot do sistema para a placa de rede a cabo RJ-45
a) reinicio o computador
b) precione a tecla F2, para entrar no SETUP
c) na aba BOOT, selecione
Network Boot: Atheros Boot agent


FONTE:
Broadcom BCM4312 802.11b/g LP-PHY
http://wiki.forumdebian.com.br/index.php/Broadcom_BCM4312_802.11b/g_LP-PHY

Drivers Wireless nos notebooks Vostro da Dell
http://www.tocadoelfo.com.br/2011/02/drivers-wireless-nos-notebooks-vostro.html

4 comentários:

Anônimo disse...

Hudson este seu post esta show de bola, muito bem detalhado e no passo-a-passo

Eu ja estava com o CD do Windows na mao p formatar o netbook quando encontrei o seu post

Deus certo!

Parabéns

Bruno

Luciano disse...
Este comentário foi removido pelo autor.
Luciano disse...

Hudson, muito obrigado funcionou perfeitamente no Debian Wheezy (Testing) notebook DELL Inspiron N403O. A única coisa que fiz diferente foi remover do rc.local a remoção do módulo ssb e não criei a black-list para os módulos citados uma vez que os mesmos não estavam sendo carregados no sistema e de forma bastante curiosa precisei adicionar ao rc.local:

modprobe -r wl
modprobe wl

Verifiquei que se não for assim a placa de rede Wi-Fi não conecta ao roteador e o MAC fica errado. Isso chegou a acontecer com você?

Mais uma vez obrigado por compartilhar seus conhecimentos.

Carlos Eduardo disse...

Perfeito.. me ajudou pra caramba..
vou deixar só uma observação:

No meu ubuntu 11.10 tive q remover o módulo antigo wl.ko com o `rmmod wl` e re-instalar da maneira q vc passou no post..

No final de tudo tive q remover tb o módulo 'bcma' q estava dando conflito: `rmmod bcma` e reiniciar.
Já deu o boot conectando!!
Abraços