|
[10/05]
:. Lançado Wine 1.0 RC 1 [09/05] :. Sun volta atrás e abrirá partes fechadas do MySQL 6.0 [09/05] :. Liberado KDE 4.0.4, um release para correção de bugs [09/05] :. Syllable, SkyOS e ReactOS: um passo à frente [09/05] :. Microsoft anuncia projeto Fone+ [09/05] :. MSI lança novo mini-PC, o Titan [09/05] :. Windows Vista: 140 milhões de cópias vendidas [08/05] :. A hora da verdade para o projeto OLPC [08/05] :. AMD anuncia Opterons de 6 e 12 núcleos [08/05] :. Lançado Parted Magic 2.2 [08/05] :. Microsoft interessada em comprar a Facebook? [08/05] :. Ultraportáteis da Positivo em breve: vem aí a linha Mobo [08/05] :. Disponível OpenOffice 3 beta [07/05] :. VMware lança beta pública do Fusion 2.0 [07/05] :. Entertainer, um player multimidia para Linux :. Mais noticias » |
Toda a configuração de rede que vimos na primeira parte do tutorial presume que a placa de rede tenha sido corretamente detectada pelo sistema, o que você pode confirmar usando o comando "cat /proc/net/wireless". Se a placa não foi detectada, então o problema é mais embaixo, ou seja, não é com a configuração, mas sim com a falta do driver para ela.
Em muitos casos existem drivers disponíveis, mas eles não são instalados por padrão na distribuição escolhida por serem considerados "drivers restritos", ou seja, drivers que não possuem o código fonte completamente aberto, ou que precisam de um firmware proprietário para funcionar. Este é o caso por exemplo dos drivers madwifi, para placas com chipset Atheros (que utilizam um wrapper HAL proprietário) e dos drivers bcm4xx, para placas com chipset Broadcom, que precisam de um firmware proprietário, que faz parte do driver Windows. Em ambos os casos, os drivers podem ser distribuídos e usados sem limitações, mas o status "não livre" faz com que muitas distribuições optem por não incluí-los, deixando o trabalho a cargo do usuário. Nesses casos é preciso instalar o driver manualmente, baixando o código fonte e compilando os módulos necessários. Existe também a possibilidade de configurar a placa usando o Ndiswrapper (como veremos a seguir), que permite utilizar o driver do Windows. A combinação das duas coisas faz com que o número de placas wireless que realmente não funcionam no Linux seja pequeno. Em alguns casos pode ser complicado, mas quase sempre existe uma forma de ativá-la. A instalação de drivers a partir do código fonte é quase sempre bastante simples: consiste em descompactar o arquivo e rodar os comandos "./configure", "make" e "make install". O grande problema em fazer a instalação a partir do código fonte é que é necessário ter instalados os compiladores básicos e os headers do Kernel. A dificuldade reside justamente em instalar estes componentes para então poder fazer a instalação propriamente dita. No caso do Debian Etch, Debian Sid ou do Ubuntu, use o comando "uname -a" para descobrir qual versão do Kernel está instalada, como em:
# uname -a
Linux m5 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux Em seguida, instale a versão correspondente dos headers do Kernel, usando o apt-get, como em:
# apt-get install linux-headers-2.6.22-14
Você pode instalar os compiladores básicos através do pacote "build-essential", também via apt-get:
# apt-get install build-essential
No caso do Ubuntu, você pode precisar criar manualmente o link "/usr/src/linux", apontando para a pasta referente à versão instalada. Para isso, acesse a pasta "/usr/src" e rode o comando "sudo ln -sf linux-headers-2.6.*-* linux" (note que a pasta corresponde à versão do Kernel que está instalada na sua máquina), como em:
# sudo ln -sf linux-headers-2.6.22-14-generic linux
Antes de mais nada, você pode verificar o chipset utilizado na sua placa usando o comando "lspci" (em algumas distribuições ele está disponível apenas para o root). Os fabricantes muitas vezes utilizam chipsets diferentes em variações do mesmo modelo, por isso é sempre mais seguro se orientar pela saída do comando lspci do que pelo modelo da placa. O lspci lista todos os periféricos plug-and-play instalados no micro. Entre eles, você verá uma linha sobre a placa wireless, como em:
08:04.0 Ethernet controller: Atheros Communications, Inc. AR5005G 802.11abg NIC (rev 01)
... que indica a presença de uma placa Atheros AR5005G, ou:
Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
... que indica que a placa é uma Intel IPW2200. Vamos então a um resumo dos drivers Linux, que você pode usar como ponto de partida na hora de resolver problemas de detecção da placa wireless. Placas com chipset Atheros O driver permite inclusive o uso do Kismet e outros programas de diagnóstico e oferece uma boa estabilidade. O único problema é que ele inclui um componente proprietário (embora de livre distribuição), o que faz com que ele não seja incluído por padrão em algumas distribuições, embora isso venha lentamente mudando. No Ubuntu por exemplo, o driver é incluído no pacote "linux-restricted-modules", que inclui outros drivers em situação similar. Um wizard incluído no sistema detecta a presença da placa e se oferece para instalar o pacote automaticamente. De qualquer forma, ainda existem muitos casos em que você precisará instalar o driver manualmente. Para isso, baixe o arquivo "madwifi-0.9.3.2.tar.gz" (ou a versão mais recente) no: Para instalar, descompacte o arquivo, acesse a pasta que será criada e rode os comandos "make" e "make install" (esse último como root), como em:
# tar -zxvf madwifi-0.9.3.2.tar.gz
# cd madwifi-0.9.3.2/ # make # make install
Se houver alguma versão antiga instalada, o instalador avisa que encontrou módulos de uma instalação anterior e pergunta o que fazer com eles. Responda "r" (remove) para que eles sejam substituídos pela nova versão. Depois de reiniciar o micro, a placa deve ser ativada automaticamente. Caso não seja, carregue os módulos "ath_hal" e "ath_pci" e tente novamente:
# modprobe ath_hal
# modprobe ath_pci
A partir daí a placa pode ser configurada por vias normais. Ela é vista pelo sistema como "ath0". Placas com chipset Intel Para baixá-lo manualmente, acesse o http://ipw2200.sourceforge.net/firmware.php ou o http://ipw2100.sourceforge.net/firmware.php (de acordo com o chipset usado na placa) e baixe o arquivo compactado na seção "firmware". Copie o arquivo para a pasta "/lib/firmware" e descompacte-o, como em:
# cp -a ipw2200-fw-2.4.tgz /lib/firmware/
# cd /lib/firmware/ # tar -zxvf ipw2200-fw-2.4.tgz
Uma pegadinha é que existem várias versões do firmware disponíveis no http://ipw2200.sourceforge.net/firmware.php, acompanhando as diferentes versões do driver. A versão 2.4 funciona em conjunto com o driver de versão 1.07 até 1.10, enquanto o firmware versão 3.0 funciona em conjunto com o driver versão 1.11 em diante. Ao instalar uma nova versão do driver, lembre-se também de checar e, se necessário, atualizar também o firmware. Você pode checar qual é a versão instalada usando o comando:
# modinfo ipw2200
(ou modinfo ipw2100) Com os arquivos do firmware no local correto, o driver passa a funcionar corretamente. Você pode verificar as mensagens de inicialização usando o comando "dmesg | grep ipw", como em:
# dmesg | grep ipw
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8
ipw2200: Copyright(c) 2003-2005 Intel Corporation ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
Se, por outro lado, o comando exibir algo como: ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8
... rode os comandos abaixo para recarregar o driver:
# echo 100 > /sys/class/firmware/timeout
# modprobe -r ipw2200 # modprobe ipw2200
A partir daí a placa passará a funcionar normalmente. Você pode incluir os comandos no final do arquivo "/etc/rc.local" (se você usa uma distribuição derivada do Debian) ou "/etc/rc.d/rc.local" (se você usa o Fedora ou outra distribuição derivada do Red Hat), para que eles sejam executados automaticamente durante o boot. O primeiro comando aumenta o tempo de espera do Kernel na hora de carregar o firmware. O default são 10 milisegundos, o que não é suficiente em algumas versões do driver. Aumentando o tempo de espera, o driver passa a carregar corretamente. As placas Intel baseadas no chipset IPW3945 possuem um novo driver, completamente open-source, o que elimina os problemas relacionados à falta do firmware. Por ser um driver novo, ele é encontrado apenas nas versões recentes das distribuições. Caso precise instalá-lo manualmente em uma distribuição antiga, pode baixar os arquivos no: http://intellinuxwireless.org/?p=iwlwifi. Placas com chipset Broadcom A versão incluída no Kernel 2.6.18, por exemplo, já funciona corretamente, incluindo o suporte a WPA, mas o driver faz com que o transmissor opere com uma potência muito abaixo da normal, fazendo com que a rede só funcione estavelmente a distâncias curtas, de 10 a 15 metros. Outro problema é que o módulo precisa que o firmware da placa seja carregado manualmente. O firmware é um componente do driver para Windows, de forma que você vai precisar copiá-lo a partir dos CDs com os drivers da placa, ou baixar o driver a partir da página do fabricante, da mesma forma que ao usar o Ndiswrapper. O próximo passo é instalar o programa "fwcutter", que usamos para extrair os arquivos do firmware. No Debian, Ubuntu e derivados, ele está disponível via apt-get, basta instalar o pacote "bcm43xx-fwcutter". Em distribuições onde ele não esteja disponível através do gerenciador de pacotes, você pode baixar o pacote com o código fonte no: http://bcm43xx.berlios.de/. Para instalá-lo, descompacte o arquivo e execute os comandos "make" e "make install", como root. Você precisa ter instalado o pacote "build-essential", que contém os compiladores necessários. Com tudo em ordem, acesse a pasta onde foi extraído o driver Windows e execute o comando "bcm43xx-fwcutter", indicando o arquivo ".sys", dentro da pasta do driver, como em:
$ bcm43xx-fwcutter bcmwl5.sys
Isto vai gerar um conjunto de arquivos ".fw". Para concluir a instalação, copie os arquivos para dentro da pasta "/lib/firmware/$versao_do_kernel". Concluindo, recarregue o módulo usando os comandos abaixo, ou reinicie o micro:
# modprobe -r bcm43xx
# modprobe bcm43xx
Outras placas Para instalar, você deve usar o procedimento padrão para arquivos .tar.gz com código fonte, ou seja, baixar o arquivo, descompactá-lo e executar (dentro da pasta criada) os comandos "make" e "make install", este último como root. Este é um dos drivers que precisam do firmware da placa para funcionar. Depois de instalar o driver propriamente dito, execute o arquivo "scripts/fetch_firmware"(ainda dentro da pasta onde o arquivo foi descompactado) e use a opção "C" da interface para baixar os firmwares para os dois chipsets de uma vez. Ele baixa os arquivos necessários e os salva na pasta "firmware/" (dentro do diretório onde o comando é executado). Para instalar, acesse a pasta e copie todo o conteúdo do diretório para a pasta "/usr/share/acx/"(crie a pasta manualmente, caso necessário). A partir daí, a placa passa a ser detectada durante o boot. Para as placas ADMteck com chipset ADM8122, use o driver disponível no: http://aluminum.sourmilk.net/adm8211/. Existe também um driver nativo para as placas baseadas no chipset Realtek rtl8180 e rtl8185 que pode ser baixado no: http://rtl8180-sa2400.sourceforge.net/. Ele também é open-source e incluído por padrão nas distribuições atuais. Estas placas podem ser ativadas também usando o Ndiswrapper. Mais dicas
irqpoll noapic pci=biosirq
Ao dar boot através do CD ou DVD, procure pela opção para inserir opções para o Kernel na tela de boot. Em muitas distribuições você só precisa digitar as opções diretamente, mas em outras você precisa pressionar uma tecla de atalho, como no caso do Ubuntu, onde você precisa pressionar a tecla F6. Adicione as opções no final da linha, sem alterar as demais opções: Fazendo isso, as opções continuarão sendo usadas após a instalação do sistema. Você pode também adicionar as opções com o sistema já instalado editando como root o arquivo "/boot/grub/menu.lst", que contém as opções relacionadas ao gerenciador de boot. Nesse caso, adicione os parâmetros no final da linha com as opções relacionadas ao Kernel (reinicie para que entrem em vigor), como em:
kernel /boot/vmlinuz-2.6.20-15-generic ro irqpool noapic pci=biosirq
Outro problema relacionado aos notebooks Acer é a ativação do transmissor da placa wireless. Ele é ativado através do botão na parte frontal, que funciona via software. Mesmo no Windows você precisa manter o "Launch Manager" ativo para que o botão funcione. No Linux você resolve o problema usando os dois comandos abaixo. Note que o módulo "acer_acpi" só está disponível nas distribuições recentes, com o Kernel 2.6.17 em diante.
# modprobe acer_acpi
# echo "enabled : 1" > /proc/acpi/acer/wireless
Em outros modelos, a ativação é feita usando o comando "acerhk", que deve ser executado como root:
# acerhk
Os comandos para ativar o transmissor devem ser executados depois de carregar os módulos que ativam a placa de rede, mas antes de tentar ativar a conexão com o ponto de acesso, já que ela só pode ser feita depois que o transmissor já está ativo.
» Gostou do texto? Veja nossos livros impressos:
|