Dapper
Conteúdo |
1. Usando a Broadcom no Ubuntu Dapper
Existem duas maneiras de você usar sua broadcom. Uma é usando o ndiswrapper (que funciona apenas para a arquitetura x86), e a outra é usando os drivers nativos do kernel.
1.1. Usando o Novo Driver Broadcom
O kernel do Dapper tem suporte para os dispositivos Broadcom. Você deve conseguir fazer seu dispositivo funcionar no Dapper seguindo os passos abaixo.
1.1.1. Pré-requisitos
Você deve fazer um broadcast do essid a partir do seu roteador. Não é essencial, e a placa vai conectar se o broadcast estiver desligado e você colocar o essid manualmente, mas assim fica mais fácil para testar.
Não use o ifup e ifdown até que seja configurado o arquivo /etc/network/interfaces. (veja abaixo instruções de como fazê-lo, ou aqui).
Você deve remover o ndiswrapper se o usava antes, instruções para removê-lo podem ser vistas aqui.
Deve também remover o wifi-radar se tiver, já que ele gera conflitos com o driver.
1.1.2. Obtendo o Firmware
Não é preciso compilar o driver já que um módulo pré-compilado está disponível. No entanto, precisamos obter o firmware para a placa de um driver do Windows, Mac OS X ou de Access Point.
1.1.2.1. Pacote de Firmwares
A maneira mais fácil de conseguir o firmware é instalando de um pacote debian. Para ficar sempre atualizado, adicione este repositório na sua lista:
deb http://ubuntu.cafuego.net dapper-cafuego bcm43xx
e adicione a chave GnuPG no apt executando pelo terminal:
wget http://ubuntu.cafuego.net/969F3F57.gpg -O- | sudo apt-key add -
Aí é só atualizar a lista de pacotes e instalar o pacote de nome bcm43xx-firmware.
1.1.2.2. Extraindo Manualmente
Se o modo anterior não funcionou para você por um motivo ou outro, você pode conseguir o firmware e extrai-lo manualmente. Para isso siga os passos abaixo:
Depois de habilitar o repositório Universe (veja AdicionandoRepositorios), instale o pacote chamado bcm43xx-fwcutter.
sudo apt-get install bcm43xx-fwcutter
Links para diversos drivers vem junto com este pacote. Para vê-los, digite:
zless /usr/share/doc/bcm43xx-fwcutter/README.gz
e selecione um para baixar, ou use os que acompanham seu dispositivo.
Talvez você tenha que extrair os arquivos .sys e .inf antes do próximo passo: se você baixou um .exe, tente descompactá-lo com o unzip. Se não funcionar, tente com o cabextract (instale o pacote cabextract primeiro). O arquivo de interesse é o .sys. Se você baixou um arquivo .o, ele é o arquivo de interesse.
Execute:
sudo bcm43xx-fwcutter -w /lib/firmware <arquivo do firmware>
Ou você pode rodar o seguinte script:
sudo /usr/share/bcm43xx-fwcutter/install_bcm43xx_firmware.sh
1.1.3. Configurando a placa Wireless
Inicialize o driver:
sudo modprobe bcm43xx
O dispositivo deverá ser acionado como eth1 ou eth2. Descubra qual executando:
iwconfig
Ele deve mostrar o nome do dispositivo como ethX. Verifique se você consegue escanear por redes executando:
sudo iwlist ethX scan
MUITO IMPORTANTE: ALGUMAS PESSOAS NECESSITAM DO COMANDO A SEGUIR PARA PODER CONECTAR sudo iwconfig ethX rate 11M
Você pode adicionar isso em seu arquivo /etc/network/interfaces para se conectar ao iniciar o computador, dessa forma:
iface eth1 inet dhcp
pre-up iwconfig eth1 rate 11MAlternativamente, é só adicionar "rate 11M" ao /etc/network/interfaces, como nesse exemplo para uma rede WEP 802.11b:
iface eth1 inet dhcp wireless-rate 11M wireless-essid My network wireless-key 1234-5678-9abc-def0-1234-5678-9a
Talvez seja necessário adicionar a seguinte linha para associar sua placa automaticamente:
pre-up ifconfig eth1 up
Se quando você digita iwconfig eth1 o resultado é
eth1 IEEE 802.11b/g ESSID:"troublemaker" Nickname:"Broadcom 4318"
Mode:Managed Frequency=2.437 GHz Access Point: '''Invalid'''
Bit Rate=11 Mb/s Tx-Power=18 dBm
RTS thr:off Fragment thr:offexecute:
sudo iwconfig eth1 ap any
para resolver. Talvez seja bom adicionar isso ao seu arquivo /etc/network/interfaces (soa como uma boa hora para criar um script e roda-lo com o preup?) Esse aqui é um exemplo de um script de startup usado pelo documentador:
sudo ifconfig $myInterface up &>/dev/null sudo iwconfig $myInterface essid $myEssid &>/dev/null sudo iwconfig $myInterface rate 11M # &>/dev/null
(Melhorias para a documentação nessa parte de configuração são bem vindas. Se você tem uma broadcom e sabe de uma maneira mais simles/melhor/efetiva, por favor adicione/corrija aqui).
1.2. NetworkManager
A partir do kernel 2.6.15-20, o driver parece funcionar bem com o NetworkManager e o nm-applet. Ao tentar isto, certifique-se de que o wpasupplicant esteja desabilitado em /etc/default/wpasupplicant e de que todas as linhas se referindo à placa wireless estejam comentadas/desabilitadas em /etc/network/interfaces.
1.3. Segurança
O WPA funciona, mas o wpasupplicant pode travar sua máquina quando a interface é desabilitada com o comando ifdown.
Exemplo de opções para o /etc/default/wpasupplicant
OPTIONS="-i eth0 -D wext -c /etc/wpa_supplicant.conf"
1.4. Resolvendo Problemas
1.4.1. Usava o Ndiswrapper ? OU Quebradeira ao tentar usar a Rede
Tente:
sudo rmmod bcm43xx sudo rmmod ndiswrapper sudo modprobe bcm43xx
E rode um dos scripts dados abaixo.
Se sua placa começar a funcionar então você precisa remover o ndiswrapper seguindo os passos mostrados em Removendo o Ndiswrapper na seção sobre o Breezy acima.
1.4.2. Parâmetros de Boot para o Kernel
Alguns laptops HP precisam de alterações nos parâmetros de boot do kernel. Tente adicionar:
noapic
aos seu parâmetros de boot, ou mesmo:
noapic noacpi
se o primeiro não for suficiente.
1.4.3. Scripts para Conseguir se Conectar
Dois scripts pra conseguir conexão. Ambos precisam da senha de superusuário (execute-os assim: ./[nome-do-script])
1.4.3.1. Script para Conexão em modo Managed
interface=eth1 # fill in whatever your interface is here it should typically be eth1 # Turning off other network devices" sudo ifconfig eth0 down # assumes you have a wired NIC remove if you don't have one sudo modprobe bcm43xx # setting wireless device parameters sudo ifconfig $interface up # This step is very very important! sudo iwconfig $interface essid your_essid_here sudo iwconfig $interface mode managed # sudo iwconfig $interface mode auto # another suggested mode sudo iwconfig $interface key off # see man iwconfig for wireless encrpytion echo "Setting up dhcp" sudo dhclient $interface
1.4.3.2. Script de Conexão para Iniciantes
Precisa ser chamado com sudo pra funcionar ex: (sudo ./[nome-do-script])
Bom script para iniciantes. Execute o script sem argumentos e o script tentará auto-conectar com a interface e essid mais prováveis.
if [ "$1" == --help ]
then
echo "Lista de ESSID's"
# Lists the availble ESSIDs
iwlist scan | grep ESSID
echo "Interface provável: "
# Grabs the name of the interface that succefully scanned
iwlist scan | grep completed | sed "s/Scan\scompleted\s://g"
echo "+++++++++++++++++++++++++++++++++++++++++++++++ "
echo "Uso: getit [interface] [essid] "
echo "Seleciona uma das interfaces e essid's acima"
echo "usa a interface que tinha os essids"
echo "+++++++++++++++++++++++++++++++++++++++++++++++ "
exit
fi
if [ -z $2 ] ; then
myEssid=any
else
myEssid=$2
fi
if [ -z $1 ] ; then
myInterface="eth1" # typically eth1 but may be something else
else
myInterface=$1
fi
echo "Desconectando a rede"
sudo ifconfig $myInterface down &>/dev/null
echo "Reconectando a rede"
sudo ifconfig $myInterface up &>/dev/null
echo "Mudando para $myEssid"
sudo iwconfig $myInterface essid $myEssid &>/dev/null
echo "Mudando rate para 11M" # this isn't always necessary but helps for Broadcom 4318 cards
sudo iwconfig $myInterface rate 11M &>/dev/null # if your having issue getting connected to a network
echo "buscando IP"
sudo dhclient $myInterfaceO link para o fórum (inglês) onde isso foi discutido é http://ubuntuforums.org/showthread.php?t=114922
1.4.4. Revertendo para Ndiswrapper
Se o driver não funciona você pode tentar o ndiswrapper como mostrado no guia para o Breezy. Você também precisa adicionar o driver bcm43xx ao arquivo /etc/modprobe.d/blacklist para que ele não seja carregado automaticamente na inicialização do sistema. O modo mais rápido de fazer isso é com este comando:
echo "blacklist bcm43xx" | sudo tee -a /etc/modprobe.d/blacklist
1.5. Bugs
Usando uma placa Linksys PCI, ocasionalmente leva o pc a travar se alguém tenta usar a conexão wireless (sendo que o pc esteja compartilhando a conexão para outros clientes wireless).
1.6. Mais Links
Artigo no VivaoLinux para configurar o driver no Dapper
Documentacao/DriversWifi/bcm43xx/Dapper (last edited 2011-09-19 23:22:24 by localhost)