c: 9-Mar-2005
m: 22-Nov-2005
/etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 # se a placa nao suporta scanning, usar ap_scan=0 ap_scan=1 network={ ssid="e-U" key_mgmt=IEEE8021X eap=TTLS anonymous_identity="anonymous@dei.uc.pt" identity="username@student.dei.uc.pt" password="password" phase2="auth=PAP" }
user@host~# iwconfig eth1 essid "e-U" enc open
Nada a acrescentar. Aderir ao essid "e-U" e usar encriptação WEP sem autenticação (WEP). A negociação das chaves e autenticação na rede fica a cargo do wpa_supplicant.
user@host~# wpa_supplicant -qq -B -w -D ipw -i eth1 -c /etc/wpa_supplicant.conf
Se o sistema já tiver um sistema de deamonização do wpa_supplicant, é preferível usá-lo. Para isso vai ter que ler a documentação do seu sistema (Debian, Red-Hat, Slackware, ...).
No entanto, aqui o comando serve para mostrar as opçõs necessárias.
- -qq : Não produzir output.
- -B : Correr em Background
- -w : Esperar que a interface seja criada.
- -D <driver> : Usar o driver wireless <driver>
- -i <ethX> : Usar a inteface <ethX>
- -c <conf> : Usar o ficheiro de configuração <conf>.
user@host~# pump -i eth1
É necessário receber um IP por DHCP. A exemplo usei o pump, para a interface eth1. Mas pode ser usado outro cliente de DHCP.
Aqui aconselha-se que se use os scripts de sistema. Para debian será ifup ethX .
Como o computador em causa é um portátil e estou em constante mudança de redes e de local, criei um script para aderir à rede "e-U", fazer a autenticação e iniciar a interface.
Assim, numa rede fora da cobertura da universidade uso o comando ifup eth1. Numa rede segura da universidade (rede e-U) uso e-u.sh
e-U.sh
#!/bin/bash # (c) 2005 - Jose' Eduardo Martins, jemart@student.dei.uc.pt #interface de wireless INTERFACE="eth1" echo "iwconfig" if iwconfig $INTERFACE essid "e-U" enc open; then echo " ok."; else exit 0; fi; echo "ifconfig (BROADCAST)" if ifconfig $INTERFACE 0.0.0.0; then echo " ok."; else exit 0; fi; echo "wpa_supplicant start" if /etc/init.d/wpasupplicant start; then echo " ok."; else exit 0; fi; #Pode ser um pump -i $interface #O pump depois do ifup, certifica que renova o IP mesmo que #ja' tenha interface definida. echo "interface start" if ifup $INTERFACE || pump -k $INTERFACE then echo " ok."; else echo " nok"; exit 0; fi;
Esta configuração funciona com o seguinte software.
O driver tem de ser configurado com WEP que necessita das seguintes opções no kernel:
"Cryptographic options"
"Networking"
"Generic IEEE 802.11 Networking Stack"
- IEEE 802.11 WEP encryption (802.1x)
"Network device support"
"Wireless LAN (non-hamradio)"
- "IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)"
Verificar (noutra shell) se o driver da placa wireles ainda tem a encriptação activada. Muitas vezes o wpasupplicant faz reset aos parâmetros da placa e perde a configuração do WEP. Assim, é preciso aplicar novamente o iwconfig eth1 enc open enquanto o pump (ou outro cliente de DHCP) tenta ganhar IP.
Outro motivo pode estar relacionado com a opção ""
Uma das causas pode ser a combinação da versão do kernel com o wpasupplicant. A versão 2.6.12 ou anterior usa a o ipw externo (fora do kernel) e usa o driver do wpasupplicant
ipw . A versão 2.6.13 ou superior usa o ipw interno do kernel e precisa de usar o driverwext do wpasupplicant.
Assim, muda-se a opção que define o módulo do wpasupplicant (-D) de ipw para wext.
Ao usar o driver 2200, é necessário passar a opço "hwcrypto=0" ao driver do kernel.
# rmmod ipw2200
# modprobe ipw2200 hwcrypto=0Esta opção foi testada com o ipw2200 v1.0.6 em ubunto.
(Contribuição de tpinto<at>student.dei.uc.pt)Uma outra causa pode estar relacionada com a localização do directório dos drivers. É possível que o modulo ipw não consiga encontrar o modulo de WEP. Se for esse o caso, basta ir ao directório dos modulos do kernel e fazer um link simbólico do directório correcto para o errado.
# cd /lib/modules/2.6.xpto/drivers/net
# ln -s wireless ../../kernel/drivers/net/
Envia um e-mail para jemart<at>student<dot>dei<dot>uc<dot>pt (substitui o <at> por @ e <dot> por um ponto).
21-11-2005
Adicionado o campo anonymous_identity="anonymous@dei.uc.pt".
Modificado um ponto da FAQ.14-11-2005
Adicionada a opção "phase1" ao ficheiro de configuração do wpasupplicant.
Adicionado um ponto da FAQ.
Modificadas as opções necessárias no kernel.