Ads 468x60px

domingo, 16 de outubro de 2011

Drivers Wireless broadcon no debian 6


Antes de mais nada, você precisará verificar se sua placa é realmente uma Broadcom. Para isso, você deve usar o seguinte comando em uma janela de terminal:


$ lspci -n | grep 14e4

As placas que são suportadas por esta solução são:

PCI: 14E4:4311 Broadcom Corporation BCM4311 802.11b/g WLAN
PCI: 14E4:4312 Broadcom Corporation BCM4312 802.11a/b/g
PCI: 14E4:4313 Broadcom Corporation BCM4311 802.11a
PCI: 14E4:4315 Broadcom Corporation BCM4312 802.11b/g LP-PHY
PCI: 14E4:4328 Broadcom Corporation BCM4321 802.11a/b/g/n
PCI: 14E4:4329 Broadcom Corporation BCM4321 802.11b/g/n
PCI: 14E4:432A Broadcom Corporation BCM4321
PCI: 14E4:432B Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller
PCI: 14E4:432C Broadcom Corporation BCM4322 802.11b/g/n
PCI: 14E4:432D Broadcom Corporation BCM4322 802.11a/b/g/n
PCI: 14E4:4353 Broadcom Corporation BCM43224 802.11a/b/g/n
PCI: 14E4:4357 Broadcom Corporation BCM43225 802.11b/g/n
PCI: 14E4:4727 Broadcom Corporation BCM4313 802.11b/g LP-PHY

Estando sua placa entre as listadas, você pode continuar para o próximo passo.

Download, Compilação e Instalação do módulo

Primeiramente, você deve verificar se o repositório Non-free está habilitado.

Vá em Menu \ Administração \ Fontes de Aplicativos

Selecione a aba aplicativos de terceiros

Verifique se há uma opção com a seguinte descrição: "Aplicativos compatíveis com a DFSG mas com dependências não-livres"

Se a opção não estiver presente, use os seguintes comandos para adicionar o repositório:

$ sudo echo "deb http://ftp.us.debian.org/debian squeeze main contrib non-free #Debian Squeeze (testing)" >> /etc/apt/sources.list
$ sudo apt-get update

Instale pacotes module-assistant e wireless-tools com o seguinte comando:

$ sudo apt-get install module-assistant wireless-tools

Vamos construir e instalar os módulos da broadcom para nosso sistema, com o module-assistant:

$ sudo m-a a-i broadcom-sta

A opção a-i indica auto-instalação, ou seja, ele vai fazer automaticamente todo o trabalho de baixar o código-fonte do driver, compilar o mesmo para o kernel atual e por último instalar no seu devido lugar.

Em seguida, iremos adicionar o módulo brcm80211 na blacklist do arquivo de configuração /etc/modprobe.d/broadcom-sta-common.conf para evitar conflitos de driver nas placas BCM4313, BCM43224 and BCM43225, que são utilizadas nos notebooks Vostro:

$ sudo echo blacklist brcm80211 >> /etc/modprobe.d/broadcom-sta-common.conf

Agora, recrie o initramfs para excluir o driver que acabamos de adicionar na blacklist:

$ sudo update-initramfs -u -k $(uname -r)

Dê unload em todos os módulos que possam entrar em conflito com o nosso módulo recém criado:

$ sudo modprobe -r b44 b43 b43legacy ssb brcm80211

Carregue o módulo recém criado:

$ sudo modprobe wl

Pronto, agora sua placa de rede sem fio já deve estar aparecendo no NetworkManager. Por via das dúvidas, você pode conferir a presença da placa adicional com o seguinte comando:

$ sudo iwconfig

Caso o driver tenha carregado corretamente, deverão aparecer informações relativas à sua placa de rede sem fio.

Problemas Conhecidos

As vezes, a interface pode sumir da lista de interfaces. Isso ocorre porque o gerenciamento de energia do sistema pode estar botando a placa em modo de economia de energia. Para desabilitar o modo, você pode usar o seguinte comando:

$ sudo iwconfig eth1 power off

Onde eth1 é o alias para a sua placa de rede sem fio.

As vezes pode acontecer se você carregar o módulo wl e nada acontecer. Neste caso, está havendo conflito entre diferentes módulos que querem usar o mesmo dispositivo. Primeiramente, vamos chegar se os módulos conflitantes estão carregados:

lsmod | grep "b43\|ssb\|wl"

Se algum desses três está carregado, os remova com os comandos:

sudo rmmod b4
sudo rmmod ssb
sudo rmmod wl

Em seguida, faça backup do initramfs atual e gere um novo initramfs:

sudo cp /boot/initrd.img-$(uname -r) /boot/initram.backup
sudo update-initramfs -u

Reinicie o sistema.

Outro problema comum que também ocorre é o módulo não carregar durante o boot (aconteceu comigo). Para isso, execute o seguinte comando:

sudo echo wl >> /etc/modules

Se com esse comando o módulo wl não foi carregado, execute as seguintes linhas:

sudo touch /etc/modprobe.d/00local
sudo echo "install wl /bin/true" >> /etc/modprobe.d/00local

Agora, o driver deverá carregar durante o processo de boot.

Fonte: Toca do Elfo

0 comentários: