Bom pessoal, eu andava meio insatisfeito com minha placa wireless, sempre que eu ia me conectar a uma rede segura (WAP2) eu tinha problemas, as vezes demorava muito para conectar, outras vezes era preciso tentar por várias vezes, enfim, isso não era normal e estava me deixando puto chateado, afinal de contas eu estava utilizando um driver feito para Windows, e isso basta, para que as coisas não funcionem bem
. Eu tinha configurado essa placa utilizando o meu post Configurando Wireless BCM4312 no Debian - Ndiswrapper
Esta solução foi testada em meu Notebook Dell Inspiron 1525 rodando Debian Lenny (Agora em versão estável, vale a pena conferir), porém, acredito que possa ser usada em qualquer distro, já que iremos compilar e ativar o módulo que será utilizado pelo kernel.
Outros placa suportadas são:
* BCM4310
* BCM4311
* BCM4312
* BCM4321
* BCM4322
Primeiro abra nosso amigo Terminal
e se logue como root.
Caso você tenha usado os passos do post passado ou utilizava o ndiswrapper execute a linha abaixo.
*** ATENÇÃO AMANTES DO CTRL+C CTRL+V, ESTE POST CONTÉM COMANDOS COM (" ASPAS ) QUE SÃO CARACTERES DIFERENTES DAS ( ASPAS) DO LINUX. REDIGITE OS COMANDOS. ***
# apt-get remove ndiswrapper-common ndiswrapper-utils-1.9
Certifique-se que você tem instalado o module-assistant
# apt-get install module-assistant
Rode o module-assistant prepare para que o sistema instale tudo que necessário para a compilação, build-essential, linux-headers, etc.
# module-assistant prepare
Pronto, agora estamos com tudo preparado para compilar novos módulos para o kernel e vamos ao que interessa.
# cd /usr/src
Entra no diretórios onde estão localizados alguns fontes
# mkdir hybrid_wl
Criando a pasta que vai receber o arquivo com o fonte
# cd hybrid_wl
Entrando no diretório
# wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.60.48.36.tar.gz
Fazendo download do fonte
# tar -xzf hybrid-portsrc-x86_32-v5.60.48.36.tar.gz
Descompactando o fonte
# make -C /lib/modules/`uname -r`/build M=`pwd` clean
Executando limpeza antes da compilação definitiva
# make -C /lib/modules/`uname -r`/build M=`pwd`
Compilando o módulo
# rmmod bcm43xx b43 b43legacy ssb wl ndiswrapper
Apagando possíveis módulos instalados anteriormente
# modprobe ieee80211_crypt_tkip
# modprobe ieee80211
Carregando módulos necessários
# mkdir /lib/modules/`uname -r`/misc/
Criando diretório
# cp wl.ko /lib/modules/`uname -r`/misc/
Copiando módulo para o diretório
# insmod /lib/modules/`uname -r`/misc/wl.ko
Instalando o módulo
# depmod -a
Atualizando a lista de dependências do kernel
Como garantia vamos colocar os módulos antigos que não serão utilizados na backlist
# echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist
# echo "blacklist b43" >> /etc/modprobe.d/blacklist
# echo "blacklist b43legacy" >> /etc/modprobe.d/blacklist
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist
Agora vamos adicional o modulo wl que acamos de compilar para que seja carregado automaticamente
# echo "ieee80211_crypt_tkip" >> /etc/modules
# echo "ieee80211" >> /etc/modules
# echo "wl" >> /etc/modules
Pronto reinicie o notebook e tenha sua wireless funcionando perfeitamente.
# init 6
Post baseado em http://www.opensourcespot.org/content/view/1031/103/.
Abraços e até o próximo post.


#1 por Luiz Santos em 23 de março de 2009 - 12:26
Citar
Bom dia!
Qual kernel vc instalou no seu Dell 1525? Testei no meu Dell com kernel 2.6.26-1-amd64 e não funcionou!
#2 por Rafael Bedendo em 23 de março de 2009 - 20:33
Citar
Boa noite, eu instalei com com 2.6.26-1-686, acredito que voce possa ter feito o download da versão 32 bits do link do post, o do 64 bits é http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5_10_79_10.tar.gz, siga os mesmo passos após o download.
Abraços e obrigado pela visita.
#3 por wellen cassio em 11 de abril de 2009 - 4:28
Citar
Bom dia!!!!! Caro rafael perfeito esse macete que você postou tenho um note lenovo 3000 C200 com wirelles BCM4311 e funcionou perfeitamente, faleu e obrigado por postar essa dica.
#4 por Edson em 21 de abril de 2009 - 0:37
Citar
Cara valeu,Obrigado!!!!
#5 por Fernando Binasco em 25 de maio de 2009 - 0:32
Citar
Fiz aqui e funcionou perfeitamente no meu Dell inspiron 1525 . só para reportar o link da Broadcom teve atualização e segue abaixo para a hora do wget.
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5_10_91_9.tar.gz
valeu pelo POST.abrass
Pingback: Wireless BCM4312 no Debian Lenny ( Dell inspiron 1525 ) sem ndiswrapper | Fernando Binasco
#6 por Ricardo Gomes em 26 de maio de 2009 - 18:53
Citar
quando chego nessa parte esta dando erro, por favor alguem me ajuda
# make -C /lib/modules/`uname -r`/build M=`pwd` clean
Executando limpeza antes da compilação definitiva
# make -C /lib/modules/`uname -r`/build M=`pwd`
Compilando o módulo
segue abaixo o erro
# make -C /lib/modules/2.6.26-2-686/build M='pwd' clean
make: Entrando no diretório `/usr/src/linux-headers-2.6.26-2-686'
scripts/Makefile.clean:17: /usr/src/linux-headers-2.6.26-2-686/pwd/Makefile: Arquivo ou diretório não encontrado
make[1]: *** Sem regra para processar o alvo `/usr/src/linux-headers-2.6.26-2-686/pwd/Makefile'. Pare.
make: ** [_clean_pwd] Erro 2
make: Saindo do diretório `/usr/src/linux-headers-2.6.26-2-686'
Obs: se esse 'pwd' for a senha de root tambem já tentei e substitui mais contina dando o mesmo erro.
#7 por Rafael Bedendo em 27 de maio de 2009 - 9:44
Citar
Ricardo, você instalou instalou o module-assistant e depois rodou module-assistant prepare? Uma outra coisa que vi, seu comando esta com ´(acento agudo) e não com `(apóstrofe).
Correto # make -C /lib/modules/`uname -r`/build M=`pwd` clean
seu comando# make -C /lib/modules/`uname -r`/build M=’pwd’ clean
Sobre o pwd ele mostra onde você está localizado, no comando, seria o mesmo que você colocasse /usr/src
#8 por lucas em 20 de junho de 2009 - 0:13
Citar
eu estou usando o mandriva 2009, nele não usa o apt-get,como faço para instalar?
#9 por Rafael Bedendo em 22 de junho de 2009 - 15:42
Citar
@lucas
Lucas, eu não tenho muita familiaridade com o Mandriva, porém, tenho duas dicas para tentar lhe ajudar.
A primeira, e mais fácil, acredito eu é instalar o pacote dkms-broadcom do próprio Mandrake, que pelo que andei lendo, pelo que vi ele instalará todas as dependências necessárias para compilação, além de instalar o broadcom-sta também.
A segunda é fazer a instalação do binutils, gcc e kernel-headers(do kernel que esta rorando), make e libncurses. E depois disso seguir o tudo de
"Pronto, agora estamos com tudo preparado para compilar novos módulos para o kernel e vamos ao que interessa."
Em diante.
Espero ter conseguido te ajudar, abraços.
#10 por Isaac Santos em 1 de agosto de 2009 - 17:12
Citar
funcionou perfeitamente para meu dell vostro 1310 , placa de rede sem fio bcm4312
muito obrigado
#11 por Hugo Seabra em 5 de agosto de 2009 - 22:23
Citar
Galera, aconselho a todos que, por possíveis problemas de atualização e compatibilidade de pacotes, rodar o comando #m-a a-i depois do module-assistant prepare caso tenha alguém que não tenha funcionado segundo o tutorial do Rafael.
Abraços.
#12 por Eduardo em 20 de agosto de 2009 - 16:36
Citar
Executei até o seguinte passo make -C /lib/modules/`uname -r`/build M=`pwd` clean , mas ele dá o seguinte erro: make: *** /lib/modules/2.6.26-2-686/build: Arquivo ou diretório não encontrado. Pare.
Alguém saberia me ajudar ?
Li alguma coisa sobre kernel-header, mas não entendi.
Valeu
#13 por Rafael Bedendo em 20 de agosto de 2009 - 16:50
Citar
Boa tarde, você executou os comandos abaixo?
#apt-get install module-assistant
#module-assistant prepare
Se sim deu algum erro? Se não, o faça e tente novamente.
Qualquer coisa manda outra mensagem.
Abs
#14 por Eduardo em 20 de agosto de 2009 - 17:21
Citar
fiz e não deu nenhum erro.....
Eu já fiz várias vezes e nada...
Valeu
#15 por Rafael Bedendo em 20 de agosto de 2009 - 17:38
Citar
Vou te adicionar no msn, depois postamos a solução aqui.
#16 por Luciano em 21 de janeiro de 2010 - 13:53
Citar
Aqui não funcionou... segue o resultado, se puderem me ajudar ... estou quebrando a cabeça com isso.
# aptitude install module-assistant
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following NEW packages will be installed:
module-assistant
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 113kB of archives. After unpacking 578kB will be used.
Writing extended state information... Done
Get:1 http://ftp.de.debian.org testing/main module-assistant 0.11.2 [113kB]
Fetched 113kB in 7s (15.3kB/s)
Selecting previously deselected package module-assistant.
(Reading database ... 133140 files and directories currently installed.)
Unpacking module-assistant (from .../module-assistant_0.11.2_all.deb) ...
Processing triggers for man-db ...
Setting up module-assistant (0.11.2) ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
luciano-debian-note:/home/luciano/downloads# module-assistant prepare
Getting source for kernel version: 2.6.30-2-686
Kernel headers available in /lib/modules/2.6.30-2-686/build
Creating symlink...
apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
build-essential set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Done!
luciano-debian-note:/home/luciano/downloads# cd /usr/src/
luciano-debian-note:/usr/src# mkdir hybrid_wl
luciano-debian-note:/usr/src# cd hybrid_wl
luciano-debian-note:/usr/src/hybrid_wl#
luciano-debian-note:/usr/src/hybrid_wl# wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz
luciano-debian-note:/usr/src/hybrid_wl# wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz
--2010-01-21 13:41:05-- http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz
Resolving proxy.telesp.com.br... 10.20.124.103
Connecting to proxy.telesp.com.br|10.20.124.103|:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 604412 (590K) [application/x-gzip]
Saving to: “hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz”
100%[===================================================================================================================>] 604,412 201K/s in 2.9s
2010-01-21 13:41:12 (201 KB/s) - “hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz” saved [604412/604412]
luciano-debian-note:/usr/src/hybrid_wl# tar -xzf hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz
luciano-debian-note:/usr/src/hybrid_wl# make -C /lib/modules/`uname -r`/build M=`pwd` clean
make: Entering directory `/usr/src/linux-headers-2.6.30-2-686'
make: Leaving directory `/usr/src/linux-headers-2.6.30-2-686'
luciano-debian-note:/usr/src/hybrid_wl# make -C /lib/modules/`uname -r`/build M=`pwd`
make: Entering directory `/usr/src/linux-headers-2.6.30-2-686'
LD /usr/src/hybrid_wl/built-in.o
CC [M] /usr/src/hybrid_wl/src/wl/sys/wl_linux.o
CC [M] /usr/src/hybrid_wl/src/wl/sys/wl_iw.o
CC [M] /usr/src/hybrid_wl/src/shared/linux_osl.o
LD [M] /usr/src/hybrid_wl/wl.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /usr/src/hybrid_wl/wl.o
see include/linux/module.h for more information
CC /usr/src/hybrid_wl/wl.mod.o
LD [M] /usr/src/hybrid_wl/wl.ko
make: Leaving directory `/usr/src/linux-headers-2.6.30-2-686'
luciano-debian-note:/usr/src/hybrid_wl# lsmod |grep bcm
luciano-debian-note:/usr/src/hybrid_wl# rmmod bcm43xx b43 b43legacy ssb wl ndiswrapper
ERROR: Module bcm43xx does not exist in /proc/modules
ERROR: Module b43legacy does not exist in /proc/modules
ERROR: Module wl does not exist in /proc/modules
ERROR: Module ndiswrapper does not exist in /proc/modules
luciano-debian-note:/usr/src/hybrid_wl# modprobe ieee80211_crypt_tkip
FATAL: Module ieee80211_crypt_tkip not found.
luciano-debian-note:/usr/src/hybrid_wl# modprobe ieee80211
FATAL: Module ieee80211 not found.
luciano-debian-note:/usr/src/hybrid_wl# mkdir /lib/modules/`uname -r`/misc/
luciano-debian-note:/usr/src/hybrid_wl# cp wl.ko /lib/modules/`uname -r`/misc/
luciano-debian-note:/usr/src/hybrid_wl# insmod /lib/modules/`uname -r`/misc/wl.ko
insmod: error inserting '/lib/modules/2.6.30-2-686/misc/wl.ko': -1 Unknown symbol in module
luciano-debian-note:/usr/src/hybrid_wl# depmod -a
luciano-debian-note:/usr/src/hybrid_wl# echo “blacklist bcm43xx” >> /etc/modprobe.d/blacklist
luciano-debian-note:/usr/src/hybrid_wl# echo “blacklist b43? >> /etc/modprobe.d/blacklist
luciano-debian-note:/usr/src/hybrid_wl# echo “blacklist b43legacy” >> /etc/modprobe.d/blacklist
luciano-debian-note:/usr/src/hybrid_wl# echo “blacklist ssb” >> /etc/modprobe.d/blacklist
luciano-debian-note:/usr/src/hybrid_wl# echo “ieee80211_crypt_tkip” >> /etc/modules
luciano-debian-note:/usr/src/hybrid_wl# echo “ieee80211? >> /etc/modules
luciano-debian-note:/usr/src/hybrid_wl# echo “wl” >> /etc/modules
#17 por Rafael Bedendo em 21 de janeiro de 2010 - 15:20
Citar
Qual a versão do seu Debian?
Isso aqui não era para acontecer, esse seu kernel é o padrão?
uciano-debian-note:/usr/src/hybrid_wl# modprobe ieee80211_crypt_tkip
FATAL: Module ieee80211_crypt_tkip not found.
luciano-debian-note:/usr/src/hybrid_wl# modprobe ieee80211
FATAL: Module ieee80211 not found.
#18 por Molau em 22 de fevereiro de 2010 - 17:48
Citar
Até funciona, mas nao consigo colocar a placa em mode Monitor.
# iwconfig eth1 mode Monitor
retorna 1 erro.. que porcaria de placa e essa..aff
#19 por Marcelo em 20 de março de 2010 - 9:59
Citar
Como faço a bcm4312 rodar no mandriva?
#20 por Rafael Bedendo em 21 de março de 2010 - 0:55
Citar
Marcelo eu não conheço muito de Mandriva, mas teoricamente a diferença estaria apenas na instalação do pacotes necessários para a compilação do Kernel. Mesmo assim lhe aconselho a procurar alguém mais capacitado a lhe responder. Uma outra coisa que você pode fazer é instalar o Debian ou até mesmo o Ubuntu, sendo que esse ultimo basta ativa os drives restritos que já funciona, sem nenhuma complicação.
#21 por psmatias em 23 de janeiro de 2011 - 8:08
Citar
Funcionou redondinho, valeu!