Broadcom BCM4312 com driver nativo do Linux

Publicado por Lucas Allan em 28/01/2009

[ Hits: 38.967 ]

 


Broadcom BCM4312 com driver nativo do Linux



Continuando com o processo de instalação do Linux nos notebooks Intelbras da série i61, mostrarei como configurar a placa wireless.

Pelas minhas pesquisas, a maioria das pessoas estão usando o ndiswrapper para emular o driver para Windows. É uma solução boa, porém eu prefiro usar tudo nativo. Logo descobri que a Broadcom já havia desenvolvido o driver nativo para o Linux, que se encontra disponível em:

http://www.broadcom.com/support/802.11/linux_sta.php

O processo de instalação foi testado no Fedora 10 e deve funcionar em qualquer outra distribuição Linux. Porém o processo de subir o módulo durante o boot do sistema, demonstrado no final desse artigo, deve mudar um pouco caso você esteja usando outra distribuição.

Após fazer o download do driver (no caso do Intelbras i61 é o 64 bits), crie um diretório e descompacte os arquivos dentro dele.

Entre no diretório e execute:

# make -C /lib/modules/`uname -r`/build M=`pwd`

Verifique se há algum módulo relativo a placa wireless carregado:

# lsmod

E procure por "bcm43xx, b43, b43legacy, ndiswrapper":

# locate bcm43xx
# locate b43
# locate b43legacy
# locate ndiswrapper


Se algum desses módulos estiver carregado, use o comando:

# modprobe -r "nome-do-módulo"

ou

# rmmod "nome-do-módulo"

para descarregá-lo.

Agora carregue os módulos:

# modprobe ieee80211_crypt_tkip
# insmod wl.ko


Copie para o diretório de módulos do kernel o módulo gerado e crie as dependências:

# cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/
# depmod -a


No Fedora 10, entre no diretório /etc/sysconfig/modules e crie dois arquivos chamados "ieee80211_crypt_tkip.modules" e "wl.modules":

# touch ieee80211_crypt_tkip.modules wl.modules

Dentro do ieee80211_crypt_tkip.modules coloque:

#!/bin/sh
/sbin/modprobe ieee80211_crypt_tkip

E dentro do wl.modules:

#!/bin/sh
/sbin/modprobe wl

Dê permissão de execução:

# chmod +x wl.modules ieee80211_crypt_tkip.modules

No Slackware, abra o arquivo rc.local que se encontra dentro de "/etc/rc.d/rc.local" e adicione no final do arquivo as seguintes linhas:

/sbin/modprobe ieee80211_crypt_tkip
/sbin/modprobe wl

E pronto. Sua placa wireless já está configurada e pronta para usar com o driver oficial da broadcom.

Outras dicas deste autor

Gambiarra com o Kernel Headers

Linux no IntelBras i61

Get Tool

Linux no Dell Optiplex 320

aMSN com suporte a mensagens de voz

Leitura recomendada

Alterando endereço físico (MAC) da placa de rede

Ativação WIFI Atheros AR5007EG quando ndiswrapper não funciona

Sensor Biométrico no Notebook Megaware Black Purple

Montando partições durante a inicialização

Instalando o modem Motorola SM56 no Linux

  

Comentários
[1] Comentário enviado por thiagofanfoni em 28/01/2009 - 15:17h

Existe alguma vantagem em usar este driver ou é a mesma coisa do método do b43-fwcutter ?

[2] Comentário enviado por aionos em 29/01/2009 - 13:03h

Gostei da sua dica. Conforme comento nesse link http://www.vivaolinux.com.br/topico/Slackware/Wireless-Broadcom-4312-no-Slackware-12.2 apanhei um pouco para configurar minha placa wireless. Aproveitando a oportunidade, quero lembrar que sua dica funciona nas distros Slackware e Debian Lenny. Valeu.

[3] Comentário enviado por kenshineo em 04/03/2009 - 11:28h

Bom dia, eu possuo um NB Asus e estou tendo dificuldades para ligar a wireless. Abaixo algumas informações:
Distribuição: Ubuntu 8.10 32 bits desktop
Placa: Broadcom BCM4306

Quando ligo o ubuntu o led wireless acende e fica aceso até o gnome iniciar e pedir a confirmação do usuário e senha, depois nem pisca.

O comando lshw -C network retorna:
*-network:0
description: Ethernet interface
product: RTL-8139/8139C/8139C+
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:01:00.0
logical name: eth0
version: 10
serial: 00:13:d4:50:57:1d
size: 10MB/s
capacity: 100MB/s
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=half latency=64 link=no maxlatency=64 mingnt=32 module=8139too multicast=yes port=MII speed=10MB/s
*-network:1
description: Network controller
product: BCM4306 802.11b/g Wireless LAN Controller
vendor: Broadcom Corporation
physical id: 4
bus info: pci@0000:01:04.0
version: 03
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list
configuration: driver=b43-pci-bridge latency=64 module=ssb
*-network:0 DISABLED
description: Wireless interface
physical id: 1
logical name: wlan0
serial: 00:13:d4:59:e7:c1
capabilities: ethernet physical wireless
configuration: broadcast=yes multicast=yes wireless=IEEE 802.11bg
*-network:1 DISABLED
description: Ethernet interface
physical id: 2
logical name: pan0
serial: de:bb:85:ea:29:59
capabilities: ethernet physical
configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A link=yes multicast=yes

Como faço para o wlan0 ficar ENABLE?

Tem como vc m ajudar? Agradeço desde então.

[4] Comentário enviado por edutiao em 09/05/2009 - 20:55h

Funcionou no debian lenny (testing/squeezy), num inspiron 1525. Para automatizar o carregamento dos módulos é só aidcionar as linhas que seguem no /etc/modules

ieee80211_crypt_tkip
wl

Aqui em casa também tive que mudar algumas coisas no roteador, para que ele aceitasse a chave encriptada WAP sem TKIP. Acho que esse problema deve mudar de roteador para roteador.

Boa dica!

[5] Comentário enviado por nonato em 12/06/2009 - 10:31h


Funcionou perfeitamente no Fedora9 (2.6.27.24-78.2.53.fc9.i686) em um note Novadata P500-N173Z. Estava rodando até hoje com o ndiswrapper,mas ele é realmente "meia-bomba".

Parabéns pela dica !


[6] Comentário enviado por removido em 19/10/2009 - 21:34h

Parabéns,Parabéns,Parabéns.

[7] Comentário enviado por nickmarinho em 21/01/2010 - 20:57h

O que eu posso fazer pra configurar isso corretamente ? Caso possa me ajudar ...

# modprobe ieee80211_crypt_tkip
FATAL: Module ieee80211_crypt_tkip not found

uso Debian Squeeze/Testing

peguei o drive no site da broadcom igual vc mas nao to conseguindo fazer funcionar.
aparece como eth2 e nao funciona nada.

iwconfig nao deixa eu mudar o ESSID, nao consigo subir a placa

[8] Comentário enviado por femars em 04/04/2010 - 14:36h

Brother... no slackware 13.0, o modulo correto a ser configurado/carregado seria "modprobe lib80211" inves de "modprobe ieee80211_crypt_tkip", pelomenos no meu funcionou assim....

o seu tutorial mais o readme da brodcom foram excencias para configurar. tnks

;)
xiiico.

[9] Comentário enviado por renato.v em 15/01/2011 - 00:18h

Excelente seu tutorial, meus parabéns! Tomei ele como base, utilizei o readme do fabricante e o wiki do debian para o driver wl e escrevi um artigo wiki com instruções adaptadas ao Lenny e ao Squeeze:

http://wiki.forumdebian.com.br/index.php/Broadcom_BCM4312_802.11b/g_LP-PHY

Sem o seu artigo, isso teria sido muito mais difícil. Muito obrigado por postar essa dica no VoL! Abraços

[10] Comentário enviado por andreuebe em 29/04/2012 - 15:18h

Lembrando que, caso dê erro na hora de compilar (comando make), é necessário instalar os cabeçalhos e ferramentas de compilação:

No Debian / ubuntu:

sudo apt-get install build-essential linux-headers-generic

No Fedora:

System-> Administration-> Add/Remove Software-> Instalae 'kernel-devel'

Fonte: http://www.broadcom.com/docs/linux_sta/README.txt

[11] Comentário enviado por removido em 22/03/2017 - 22:20h


apt-get update
apt-get install -y firmware-b43-installer wireless-tools



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts