Posts com Tag ‘netbook’

Este post descreve a instalação do driver para o controlador wireless do netbook Acer Aspire One Series.
Sistema Operacional: GNU/linux, Debian 6 (Squeeze)

Neste equipamento a interface wireless está em eth1.

1) Identificar o hardware wireless
$ lspci -nn | grep Network
01:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)

Interpretando:
vendor 0x14E4: Broadcom
Devide 0x4315: BCM4315/BCM22062000 Broadcom Wireless b/g

2) Identificar o driver

A Broadcam tem um driver Linux para esta placa em: http://www.broadcom.com/support/802.11/linux_sta.php
Este pacote contém device driver Broadcom’s IEEE 802.11a/b/g/n hybrid Linux® para uso com os hardwares Broadcom’s BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, and BCM43225-, BCM43227- and BCM43228-based.

3) Baixar o driver e compilar

3.1) Baixar o driver (no caso, o pacote para 32bits)

minhapasta$ wget -c http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz

3.2) Desempacotar (no caso, o pacote de 32bits baixado)
minhapasta$ tar -vzxf hybrid-portsrc_x86_32-v5_100_82_112.tar.gz

O arquivo README que está disponível na URL do driver deve ser lido, pois trata-se um tutorial para instalação do driver.

3.3) Headers do Kernel
Se ainda não estiver com os arquivos de headers do kernel instalados, faça-o agora:
# apt-get install build-essential linux-headers-$(uname -r)

3.4) Compilador C
Se ainda não estiver com o compilador C instalado, faça-o agora:
# apt-get install gcc

3.5) Compilar o driver como um “Linux loadable kernel module” (LKM)
minhapasta# make clean
minhapasta# make

Quando a compilação estiver completa, será produzido um arquivo wl.ko
Este driver agora suporta a nova API linux de configuração sem fio cfg80211 em substituição da extensão anterior mais velhos sem fio (wext). O “makefile” automaticamente irá construir a versão correta para o sistema, mas ele pode ser
substituído se necessário:

# make API=WEXT
ou ainda
# make API=CFG80211

4) Instalar driver
4.1) Remover qualquer outro driver instalado para o Broadcom wireless device.
Existem vários outros drivers (além deste baixado) que podem controlar o Broadcom 802.11 tais como b43, BCMA e SSB. Para visualizar os drivers instalados:
# lsmod | grep "b43\|ssb\|bcma\|wl"

Se algum deste estiver instalado, remova-os:
# rmmod b43
# rmmod ssb
# rmmod bcma
# rmmod wl
# rmmod ndiswrapper

Colocar estes drivers na “blacklist” para prevenirque sejam carregados no futuro:
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf

4.2) Remover uma (possível) versão do “wl” já instalado anteriormente
Se já existia uma versão anterior do wl, basta fazer o procedimento deste subitem desconsiderando os demais passos descritos neste item “Instalar”. Considerando uma versão do “wl” instalada, é necessário fazer uma transição limpa do driver mais antigo para o novo driver. O caminho para o driver anterior é normalmente /lib/modules/<kernel-version>/kernel/net/wireless. Quando da publicação deste post, o caminho era /lib/modules/2.6.32-5-686/kernel/net/wireless/

minhapasta# rmmod wl
minhapasta# mv /lib/modules/<kernel-version>/kernel/net/wireless/wl.ko /lib/modules/<kernel-version>/kernel/net/wireless/wl.ko.orig
minhapasta# cp wl.ko /lib/modules//kernel/net/wireless/wl.ko
minhapasta# depmod
minhapasta# modprobe wl

O novo driver “wl” deve estar agora operacional e está tudo feito. Não há necessidade de fazer os passos descritos nos itens 4.3 à 4.7 abaixo.

4.3) Módulo de segurança de criptografia
Caso não tenha ocorrido uma instalado de um driver “wl” anteriormente, será necessário adicionar um módulo de segurança antes da utilização deste módulo “wl”. De uma maneira geral, os sistemas atuais usam o “lib80211”.
# modprobe lib80211

4.4) Carregar módulo de API cfg80211
# modprobe cfg80211

4.5) Carregar driver
# insmod wl.ko

O novo driver “wl” deve estar agora operacional e está tudo feito. Pode demorar alguns segundos para o “Network Manager” perceber que um novo driver de rede foi instalado e poder mostrar as redes wireless disponíveis.

4.6) Back up o corrente boot ramfs e gerar um novo
minhapasta# cp /boot/initrd.img-`uname -r` somewheresafe
minhapasta# update-initramfs -u
minhapasta# reboot

4.7) Diretório de módulos do kernel
Copiar o módulo gerado para o diretório de módulos do kernel e criar as dependências:

minhapasta# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
minhapasta# depmod -a

5) Conectando em Redes Sem Fio no Linux
Esta parte do tutorial é referente a como fazer a conexão em redes sem fio que utilizem ou não proteção (WEP e WPA), tudo por linha de comando no GNU/Linux.

5.1) Parar o gerenciador de rede
Deve-se parar o processo do gerenciador de rede caso este esteja sendo utilizando. Por exemplo, os gerenciadores de rede “Network Manager” ou “Wicd”. Aproveitaremos para mostrar sua desativação completa para que não seja mais iniciado durante o boot:

# /etc/init.d/network-manager stop
# update-rc.d -f network-manager remove

5.2) Habilitar a interface de rede
# ifconfig eth1 up

5.3) Rede Aberta
Para conectar quando é uma rede aberta, ou seja, sem nenhuma criptografia, basta o seguinte comando:
# iwconfig eth1 essid WIFI

5.4) Rede com Criptografia WEP
Se a rede tiver criptografia WEP, para conectar execute o seguinte comando:
# iwconfig eth1 essid WIFI key SENHA

5.5) Rede com Criptografia WAP
Mas se a rede estiver com criptografia WPA, conforme foi mostrado no escaneamento de rede, para conectar execute os seguintes comandos:
# wpa_passphrase WIFI SENHA > /etc/wpa_supplicant/wpa_supplicant.conf
# wpa_supplicant -i eth1 -c /etc/wpa_supplicant/wpa_supplicant.conf -B -D wext

5.6) Finalmente solicitar o IP para navegação
# dhclient wlan0

Links:
1- Broadcom BCM4312 com driver nativo do Linux
2- Conectando em Redes Sem Fio no Linux

Anúncios

Configurando interfaces de rede no netbook Asus EeePC 1005PE com o Debian Lenny

Após instalar o Debian 5 (Lenny) no netbook Asus EeePC 1005PE, me deparei com um problema “quase sem solução”: não conseguia configurar as interfaces Wifi e ethernet da máquina.

Tentei instalar vários drivers, conforme alguns tutoriais indicavam, mas sem sucesso. Procurei então ser mais metódico, começando por tentar descobrir o fabricante da placa de rede para descobrir os drivers necessários.

Vejamos alguns procedimentos realizados:
1) identificação do hw de rede do equipamento:
a) comando #lspci

01:00.0 Ethernet controller [0200]: Attansic Technology Corp. Device [1969:1062] (rev c0)
02:00.0 Network controller [0280]: Atheros Communications Inc. Device [168c:002b] (rev 01)

b) comando #lshw

*-network DISABLED
description: Ethernet interface
product: Attansic Technology Corp.
vendor: Attansic Technology Corp.
*-network DISABLED
description: Wireless interface
product: Atheros Communications Inc.
vendor: Atheros Communications Inc.

Vemos que o equipamento tem sua controladora de ethernet fabricada pela Attansic e a controladora de rede wifi fabricada pela Atheros. Os números apresentados no comando lspci tem o seguinte significado:
[aaaa:bbbb] = aaaa significa o fabricante do hw; bbbb significa o modelo (device).

2) Uma boa descrição da compatibilidade do Debian com as controladoras utilizadas neste equipamento EeePC 1005PE está em http://wiki.debian.org/DebianEeePC/Models.

De lá, extraímos sobre o hardware:
# CPU is an Atom N450; both i386 and amd64 work on this
# Intel graphics (GMA3150?; kernel i915 driver works)
# Wireless (Atheros, AR928X)
# Ethernet (Attansic, using the atl1c driver; presumed working)
# Bluetooth (USB, using btusb; working)
# Webcam (USB, using uvcvideo; working)
# SD/MMC card reader (USB; working)

Buscando informações sobre o driver para Atheros AR928x para o Lenny, encontramos em http://wiki.debian.org/DebianEeePC/HowTo/Wifi a informação que o kernel Linux atual (na data que escrevo este post é o 2.6.26) ainda não inclui este driver. Para rodar o Lenny, precisamos lançar mão de um artifício chamado kernel backport. Para a versão Debian futura (Squeeze/Sid) ainda em desenvolvimento, a qual contém um kernel >=2.6.30, o ath9k já está incluído. Os procedimentos são os seguintes:
a) Adicionar a seguinte linha para o arquivo /etc/apt/sources.list:

deb http://unsupported.debian-maintainers.org/backports-kernel/ ./

b) Adicionar a chave:

wget -q -O – http://unsupported.debian-maintainers.org/backports-kernel/archive-key.asc | apt-key add

c) Remove madwifi-tools, “as it blacklists ath5k”, se for o caso.
d) apt-get update
e) instale o novo kernel
f) Através do synaptic, instale uma nova versão acpid (1.0.8-7 ou mais recente) e uma nova versão eeepc-acpi-scripts (1.1.0-1 ou mais recente) do Sid.
g) O nome da interface no driver ath5k é wlan0. Qualquer referência a esta interface deve ser com este nome (por exemplo em /etc/network/interfaces).
h) Chipsets ethernet também são suportados por este driver do kernel, except atl1c (que é justamente o utilizado neste equipamento).
i) reboot

Ao subir com o novo kernel, a interface wifi já estará funcionando.

Links:
1- CONFIG_ATH9K: Atheros 802.11n wireless cards support
2- Resolvendo problemas de hardware no Linux
3- WifiDocs Device Atheros AR9285