Broadcom BCM4312 com driver nativo do Linux

Publicado por Lucas Allan em 28/01/2009

[ Hits: 39.024 ]

 


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

Get Tool

Linux no IntelBras i61

Gambiarra com o Kernel Headers

Linux no Dell Optiplex 320

aMSN com suporte a mensagens de voz

Leitura recomendada

Modificando o MAC address de uma placa de rede

Instalação do SoftModem Netodragon no Fedora

Novo driver Nvidia 185 no Ubuntu

Iniciando o Linux em notebooks

Gerenciador de TouchPad

  

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