Blog

Seja bem-vindo

Espero que as dicas apresentadas aqui sejam úteis para você.
Se gostar de alguma coisa, não esqueça de comentar e recomendar, caso ache importante.

Currículo

segunda-feira, 5 de novembro de 2007

Placa de rede wireless D-Link DWL-G520 no Slackware

Antes de mais nada, uma pequena explicação sobre alguns detalhes.

  • Este passo-a-passou foi executado em uma máquina rodando o slackware 12, e por isso, eu baixei os pacotes citados nos links abaixo. Caso a sua versão seja diferente da 12, localize o pacote correspondente a sua versão do slackware no mesmo site.
  • Como essa placa utiliza o chipset Atheros, teremos que baixar o módulo madwifi, que é utilizado para controlar esse chipset. Esse mesmo módulo pode ser utilizado com qualquer placa que utilizam esse chipset. Eu só testei com a D-Link G520, e por isso não posso garantir que essa afirmação seja verdadeira, mas segundo o que dizem nos sites em que pesquisei, parece que é isso mesmo.
  • Algumas marcas que utilizam esse chipset são D-Link, AirLink, 3Com, Linksys, Netgear e AT&T.
  • Outro detalhe importante, é que esse chipset não traz a tradução da criptografia WAP nativa, e por isso, teremos que instalar um outro pacote, o wpa_supplicant, que ficará responsável por esse trabalhinho.

Baixe os pacotes necessários nos endereços abaixo:

http://www.slackware.com/~alien/slackbuilds/madwifi/pkg/12.0/madwifi-0.9.3.3_2.6.21.5_smp-i486-1.tgz
http://www.slackware.com/~alien/slackbuilds/wpa_supplicant/pkg/12.0/wpa_supplicant-0.5.8-i486-1.tgz

Instale os pacotes:

# installpkg
madwifi-0.9.3.3_2.6.21.5_smp-i486-1.tgz
# installpkg wpa_supplicant-0.5.8-i486-1.tgz


A instalação do pacote wpa_supplicant criará o arquivo /etc/wpa_supplicant.conf.
Esse arquivo contém os parâmetros para que o wpa_supplicant possa fazer a tradução da criptografia.
O conteúdo desse arquivo deve seguir o seguinte padrão:

network={
ssid="nome_da_sua_rede"
psk=senha_da_rede_convertida_para_hexadecimal
}

Para facilitar a criação desse arquivo, existe um utilitário de linha de comando chamado "wpa_passphrase". Ele deve ser executado passando-se como parâmetro o nome da sua rede e a senha utilizada para obter acesso a rede.

# wpa_passphrase nome_da_sua_rede senha

A saída do comando será algo parecido com isso

network = {
ssid="nome_da_sua_rede"
#psk="a_senha_passada_como_parametro"
psk="senha_da_rede_convertida_para_hexadecimal"
}

Observe que a saída é muito parecida com o conteúdo do arquivo wpa_supplicant.conf, sendo assim, podemos direcionar a saída desse comando para o nosso arquivo /etc/wpa_supplicanto.conf. Dessa foram, poderemos abrir o arquivo com um editor qualquer e editar o seu conteúdo para que fique da forma necessária.

Ex:

# wpa_passphrase nome_da_sua_rede senha > /etc/wpa_supplicant.conf

Um detalhe importante à se observar é que o arquivo gerado com esse comando gera uma linha comentada contendo a senha passada como parâmetro. Isso não é legal, pois qualquer pessoa com permissão de leitura nesse arquivo pode se aproveitar disso para "roubar" a senha. Sendo assim, apague essa linha para evitar problemas.

Execute o comando a seguir para configurar a tradução da criptografia

# wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf -d -D madwifi


Acho que uma explicação sobre o comando acima é bem vinda aqui, né?
Pois bem, vamos aos parâmetros

-i - interface de rede que será configurada
-c - arquivo de configuração
-d - executa o comando e trava o console
-D - módulo utilizado para controlar a placa

Observe que a interface utilizada como parâmetro não é a "eth0", mas sim "ath0". A interface ath0 é criada durante a instalação do módulo
madwifi.

A saída do comando não deve conter nenhuma mensagem de erro. Se algo não der certo, refaça os passos acima.

Caso o resultado da execução do comando acima seja positivo, cancele a sua execução pressionando CTRL+C, e execute o mesmo comando com uma pequena alteração.

# wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf -B -D madwifi

Atenção para o parâmetro "-B". Ele substituiu o parãmetro "-d" passado na execução anterior. Esse parâmetro fará com que o wpa_supplicant seja executado como um daemon, liberando o console para a execução de outros comandos.

Ok, se tudo estiver certo até aqui, vamos para a conexão com a rede.

Para verificar se existe alguma rede wireless disponível, execute o comando abaixo

# iwlist ath0 scan

Se ele encontrar alguma coisa, você receberá uma listagem com várias informações sobre as redes.
No meu caso, eu consegui localizar a rede da empresa e a de uma empresa vizinha ;)

Observe a saída do comando quando eu executo

ath0 Scan completed :
Cell 01 - Address: xx:xx:xx:xx:xx:xx
ESSID:"minha_rede"
Mode:Master
Frequency:2.437 GHz (Channel 6)
Quality=29/70 Signal level=-66 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Cell 02 - Address: xx:xx:xx:xx:xx:xx
ESSID:"rede_vizinha"
Mode:Master
Frequency:2.412 GHz (Channel 1)
Quality=7/70 Signal level=-88 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
12 Mb/s; 24 Mb/s; 36 Mb/s; 9 Mb/s; 18 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
Extra:ath_ie=xxxxxxxxxxxxxxxxxx


Para colocar a rede "no ar", eu utilizei os arquivos de configuração padrão do slackware.

Ficou assim:

/etc/rc.d/rc.wireless.conf

VERBOSE=1

case "$HWADDR" in

# D-Link DWL G520
xx:xx:xx:xx:xx:xx)
INFO="D-Link DWL-G520"
ESSID="minha_rede"
KEY="senha_da_rede"
MODE="Master"
# FREQ="auto"
CHANNEL="6"
RATE="auto"
IWCONFIG=""
IWSPY=""
IWPRIV=""
;;
esac


/etc/rc.d/rc.inet1.conf


# Config information for eth0:
IPADDR[0]=""
NETMASK[0]=""
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Config informatio for ath0
IFNAME[2]="ath0"
IPADDR[2]=""
NETMASK[2]=""
USE_DHCP[2]="yes"
DHCP_HOSTNAME[2]=""
WLAN_ESSID[2]="Entreposto"
WLAN_WPAPSK[2]="510bf8d89bf0daaef7cbabac66eefc46897ac993204aa5add5fc78e4a757b194"
#WLAN_MODE[2]="Master"
WLAN_FREQ[2]="auto"
WLAN_WPA[2]="wpa_supplicant"
WLAN_WPADRIVER[2]="madwifi"
WLAN_CHANNEL[2]="auto"

# Default gateway IP address:
GATEWAY="192.168.0.254"

# Change this to "yes" for debugging output to stdout. Unfortunately,
# /sbin/hotplug seems to disable stdout so you'll only see debugging output
# when rc.inet1 is called directly.
DEBUG_ETH_UP="no"


Altere os seus arquivos com as suas informações personalisadas, salve tudo e reinicie o computador. Como a placa foi configurada para obter o endereço de rede automaticamente, quando o micro ligar, já deverá estar conectado.
Faça alguns testes para comprovar.

Bem, é isso.
Com esses "poucos passo", eu consegui fazer o meu slack falar com as outras máquinas da rede sem problemas.

Para obter mais detalhes sobre os vários assuntos tratados nesse tutorial, acesse os sites das referências, principalmente o do guia do hardware, que tem muitos detalhes que acabei pulando para que este artigo não ficasse muito grande.

Mais uma dica. Todas as configurações acima podem ser executadas utilizando-se os comando iwconfig, ifconfig e route, mas isso fica para um outro tutorial, mas só se alguém se interessar e me perguntar. ;)

Espero que possa ajudar alguém com essa dica.

Até a próxima.

Referências

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=5556
http://www.guiadohardware.net/tutoriais/instalando-placas-wireless-linux

2 comentários:

Anônimo disse...

oh tio!...ficou legal... e de java...aposto que você deve possuir boas dicas também. Falow!

Douglas C. R. Paes disse...

já tenho bastante material para me basear, mas ainda faltou tempo para escrever alguma coisa.
assim q sobrar um tempinho, vou escrever sim

falou