Depois de um bom tempo sem postar nada, estou de volta, é que tem sido punk, estou tirando certificação Cisco, então tive que parar com algumas coisas, é hard. Mas vamos ao que interessa!
Recentemente adquiri um notebook
Dell Inspirion 1545, instalei o
Ubuntu nele e a princípio tudo estava bem, até que a necessidade de usar
wireless apareceu e pra minha surpresa o driver não estava funcional, daí entrei no
site da Broadcom, fiz um busca e achei um cara que seria a solução do meu problema.
1. Verificando qual o modelo do placa wireless:
# lspci -nn | grep Broad
0c:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)
Na saída acima podemos ver que trata-se de uma BCM4312 902.11b/g.
2. Baixando pacotes necessários:
# apt-get install build-essential linux-headers-generic
# apt-get build-dep linux
3. Checando o diretório dos módulos:
# ls /lib/modules/`uname -r`/build
arch
Documentation
fs
ipc
lib
Module.symvers
scripts
source
usr
block
drivers
include
Kbuild
Makefile
net
security
tools
crypto
firmware
init
kernel
mm
samples
sound
ubuntu
Até aqui tudo bem, vamos continuar.
4. Download do driver
Plataforma 32-bit:
# wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.60.48.36.tar.gz
Plataforma 64-bit:
# wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5.60.48.36.tar.gz
5. Feito o download vamos desempacotar:
# tar xzf hybrid-portsrc.tar.gz
No meu caso utilizei a versão 32-bit.
6. Gerando os módulos
Entre na pasta:
# cd hybrid_wl
# make clean
# make
Ao final do comando acima será criado o arquivo wl.ko.
7. Removendo drivers antigos caso haja:
# lsmod | grep "b43\|ssb\|wl"
Caso apareçam alguns módulos:
# rmmod b43
# rmmod ssb
# rmmod wl
8. Adicionando os módulos nas blacklists para que não sejam carregados durante o boot:
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
9. Carregando os módulos:
# modprobe lib80211
# insmod wl.ko
Obs.: A execução do insmod nesse caso tem que ser feita de dentro da pasta do driver.
Erros comuns:
"WARNING: modpost: missing MODULE_LICENSE()"
Esse é um erro esperado, podemos continuar sem problemas (rs).
"insmod: error inserting 'wl.ko': -1 Unknown symbol in module"
Quer dizer que o módulo de segurança não foi carregado, então carregue-o:
# modprobe lib80211
E depois tente carregar o wl.ko:
# insmod wl.ko
Agora caso o driver seja carregado sem problemas e ainda assim a navegação não for possível, então verifique o passo 7.
10. Criando um backup boot ramfs:
# cp /boot/initrd.img-`uname -r` /opt/initrd-bkp.img
# update-initramfs -u
# reboot
11. Carregando os módulos na inicialização:
# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
# depmod -a
Obs.: O Ubuntu geralmente vem com um driver wl.ko, então utilize o comando abaixo para renomear.
# for i in `find /lib /var -name wl\.ko`; do mv $i ${i}.orig; done
É isso, espero ter ajudado e qualquer dúvida poste aí.
Walber Santos
Olá Walber!
Sou novato no linux, e fazendo os comandos que você citou quando chega na parte do comando:
11. Carregando os módulos na inicialização:
# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
informa que não existe esta pasta, mas lá no gerenciador de pacotes mostra que tem o kernel que você citou em um outro Post (
http://www.vivaolinux.com.br/dica/Atualizando-o-kernel-no-Ubuntu-para-o-2.6.30/)
E o que contém no meu linux é o
linux-generic 2.6.32.21.22
Tem alguma dica para resolver? Valeu pela ajuda.
Ps: Meu Ubuntu é o 10.04. Dell inspiron 1525.
=====
Atualizado: Estou baixando os arquivos do post citado para instalar. Tinha esquecido. heheheh Depois posto mais.
====
Atualizado:
Fiz tudo que indicou, mesmo assim continua sem detectar =|, tem mais alguma dica?