Skip to Content

Acesso à Rede Wireless e-U

Antes de ler este artigo, pode consulta alguma informação relativamente a placas wireless em Wireless em Linux.

No caso de achar algum erro, envie-nos um email para podermos corrigir este tutorial.

METODO 1 - NETWORKMANAGER

No Network Manager clique em "Connect in other Wireless Network..." ou "Ligar as Outras Redes sem Fios..." e configure de acordo com as seguintes configurações e conjunto com o certificado IPLeiria-cacert.pem:

Networkmanager 0.6.x:
peap_ubuntu
Networkmanager 0.7.x:
peap_fedora9

ATENÇÃO: ver a secção anexo em baixo para mais detalhes.

METODO 2 - SCRIPT PEAPCONNECT

Peapconnect é um pequeno script para ligar a rede e-U. ATENÇÃO: o script pode conter erros, se detectar algum erro envie um email com o maximo de informações para a correção do mesmo.

-Instalação

-Configuração Gráfica

Se o já possui um ficheiro de configuração para o wpa supplicant copie o ficheiro para /etc/wpa_supplicant_e-u.conf. No entanto se não possui esse ficheiro pode seguir estes passos para criar um novo ficheiro (ATENÇÃO: se não possuir os pacotes xdialog ou dialog siga as intrucções para configuração manual em baixo):

  • Instale o pacote xdialog, no debian (e derivados) com o comando sudo apt-get install xdialog
  • Excute o comando sudo peapconnect config
  • Escolha a placa wireless a utilizar:
    peapconnect1

  • Escolha o driver para a placa wireless a utilizar (na maioria do casos o wext serve):
    peapconnect1

  • Instroduza o seu username:
    peapconnect3

  • Instroduza a sua password:
    peapconnect4

  • Selecione a opção ap_scan do wpa_supplicant (se estiver em duvida, experimente primeiro a 2º opção):
    peapconnect5

  • Deixe o nome que está por defeito:
    peapconnect6

-Configuração Manual

Este passo só é necessário se não conseguir executar a configuração anterior.
Edite o ficheiro peapconnect e modifique as seguintes variaveis:

INTERFACE="eth1" - interface da placa wireless
USERNAME="ei12345@alunos.estg.ipleiria.pt" - username
PASSWORD="pass123" - password
DRIVER="wext" - driver da placa a usar, o wext normalmente é o mais compativel, mas tambem pode experimentar ndiswrapper, hostap, prism54, madwifi, atmel e ipw. Mais detalhes sobre estes drivers em cima.
AP_SCAN="1" - opcao para localização de redes do wpa_supplicant. normalmente o 1 é o melhor, mas em caso de problemas experimente a opção 2 ou a 0.

-Utilização

  • Excute o comando sudo peapconnect start para iniciar a ligação
  • Excute o comando sudo peapconnect stop para parar a ligação
  • Excute o comando sudo peapconnect restart para reniciar a ligação

METODO 3 - Pye-u

Pye-u é um pequeno programa em python que permite ligar a rede wireless e-U. Pode obter mais informações sobre o programa em http://code.google.com/p/pye-u/.

-Instalação:

  • Obtenha um copia do programa com o comando svn checkout http://pye-u.googlecode.com/svn/trunk/ pye-u-read-onlyparar a ligação.
  • Dentro da directoria execute o comando python pye-u.py

-Configuração:

  • Introduza o dados da sua conta no primeiro separador.

pye-u1

  • Espere uns segundos e poderá verificar o estado da ligação no separador Estado.

pye-u2

METODO 1 - CONFIGURAÇÃO MANUAL

O acesso à rede e-U pode ser efectuado através do programa wpa_supplicant, um programa muito usado para efectuar ligações a redes wpa. Ele suporta vários drivers de placas wireless como:

  • ipw - para placas com os chipsets Intel IPW2100 e IPW2200, usadas nos portáteis Intel Centrino.
  • ndiswrapper - para placas que só funcionam através da emulação de drivers windows feita pelo ndiwrapper.
  • hostap - drivers para placas com o chipset Prism 2/2.5/3.
  • hermes - drivers para placas com o chipset Angere Hermes e Angere Hermes II.
  • atmel - drivers para placas com o chipset Atmel.
  • broadcom - drivers para placas Broadcom.
  • wext - driver genérico, que dá suporte a muitas das placas que possuem drivers nativos. Se a sua placa não possui um driver específico, é bem provável que funcione com ele.

Na página do wpa_supplicant está especificado mais drivers, no entanto, alguns deles estão em fase de teste/desenvolvimento. Se decidir experimentar este drivers, use-os com cuidado.

Instalação

O wpa_supplicant necessita de alguns modulos do kernel para funcionar. Se está a usar um kernel por omissão da sua distribuição não deve haver problemas, mas se estiver a usar um kernel compilado por si certifique-se que tem os seguintes modulos instalados:


Networking --->http://www.vollink.com/gary/deb_wifi.html
Generic IEEE 802.11 Networking Stack
(...)
IEEE 802.11 WEP encryption (802.1x)
IEEE 802.11i CCMP support
IEEE 802.11i TKIP encryption


Cryptographic options --->
(...)
SHA1 digest algorithm
(...)
AES cipher algorithms (i586)
(...)
ARC4 cipher algorithm
(...)
Michael MIC keyed digest algorithm


Library routines --->
CRC32c CRC algorithm


Device Drivers --->
Network device support --->
Wireless LAN (non-hamradio) --->
Wireless LAN drivers (non-hamradio) & Wireless Extensions

  • Debian e Derivados (Ubuntu, Kubuntu ,etc):

    Instale o Wpa Supplicant com o comando sudo apt-get install wpasupplicant

  • RedHat e Derivados (Fedora, Centos, OpenSuse, etc):

    Instale o Wpa Supplicant com o comando sudo yum install wpa_supplicant ou procure o pacote especifíco em http://rpm.pbone.net/ para a sua distribuição e instale-o com o comando rpm -ivh wpa_suplicantXXXXXXX.rpm

  • ArchLinux:

    Instale o Wpa Supplicant com o comando sudo pacman -S wpa_supplicant

  • Genérico:
    1. Vá a http://hostap.epitest.fi/wpa_supplicant/ e faça download do wpa_supplicant.
    2. Descomprime o ficheiro com o comando tar -zxvf wpa_supplicant*.tar.gz
    3. Entre na directória e execute o comando cp defconfig .config edite o ficheiro .config de com a seguinte configuração:

      CONFIG_IEEE8021X_EAPOL=y
      CONFIG_EAP_MD5=y
      CONFIG_EAP_MSCHAPV2=y
      CONFIG_EAP_TLS=y
      CONFIG_EAP_PEAP=y
      CONFIG_EAP_TTLS=y
      CONFIG_EAP_GTC=y
      CONFIG_EAP_OTP=y
      CONFIG_CTRL_IFACE=y
      CONFIG_BACKEND=file


      CONFIG_WIRELESS_EXTENSION=y
      CONFIG_DRIVER_HOSTAP=y
      CONFIG_DRIVER_HERMES=y
      CONFIG_DRIVER_MADWIFI=y
      CONFIG_DRIVER_ATMEL=y
      CONFIG_DRIVER_WEXT=y
      CONFIG_DRIVER_NDISWRAPPER=y
      CONFIG_DRIVER_BROADCOM=y
      CONFIG_DRIVER_IPW=y

      Este ultimo grupo seleciona o drivers que vão ser compilados, no entanto não é necessários selecionar todos o drivers, basta o CONFIG_WIRELESS_EXTENSION e o que suporta a sua placa. Algums deles precisam de configurações adicionais como:
      • hostap - as placas suportadas por este driver precisam ter o firmware 1.7.0 ou mais recente.
      • hermes - é necessário o ficheiro driver_hermes.c disponobilizado aqui.
      • madwifi - é necessário descomentar a linha CFLAGS += -I../madwifi/wpa e modificar-la para a directória onde se encontra o drivers da placa wireless
      • broadcom - é necessário o ficheiro wlioctl.h que se encontra nos drivers GPL que podem ser encontrados aqui
        .
    4. Digite o comando make e copie o executavéis compilados wpa_supplicant, wpa_cli e wpa_passphrase para /usr/sbin/.

Configuração

Nota: Esta configuração foi testada com uma placa senao que usa o driver hostap e possui o interface wlan0. Altere a seguinte configuração de acordo com a sua placa.

  1. Coloque no ficheiro wpa_supplicant.conf que se encontra na pasta /etc/ (em algumas distribuições linux, ele existe na directoria /etc/wpa_supplicant/) a seguinte configuração:

    ctrl_interface=/var/run/wpa_supplicant
    ap_scan=2
    ctrl_interface_group=0
    fast_reauth=1


    network={
    ssid="e-U"
    scan_ssid=1
    key_mgmt=IEEE8021X
    eap=PEAP
    identity="aluno12345@alunos.estg.ipleiria.pt"
    password="pass12345"
    phase1="peapver=0 peaplabel=0 peap_outer_success=0"
    phase2="auth=MSCHAPV2"
    }
  2. Insira nos campos identity e password o seu username e password respectivamente e salve o ficheiro de configuração.
  3. Numa janela de linha de comandos, execute com utilizador root os seguinte comandos:

    ifconfig wlan0 up
    iwconfig wlan0 essid e-U enc open
    wpa_supplicant -i wlan0 -D hostap -c /etc/wpa_supplicant.conf


    O primeiro comando nem sempre é necessário e o wpa_supplicant ao ser executado mostrará várias informações. Se mostrar a menssagem:
    CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
    CTRL-EVENT-CONNECTED - Connection to XX:XX:XX:XX:XX:XX completed (auth)

    então é porque consegui autenticar-se na rede com sucesso. Senão verifique o ficheiro de configuração e a secção Anexo para resolução de problemas.
  4. Noutra janela de linha de comandos execute o comando dhcpcd wlan0 ou dhclient3 wlan0 e será atribuido um endereço ip. A unica coisa que falta fazer é configurar o software de internet para usar o proxy proxy.e-U com a porta 8080.
  5. Com o wpa_supplicant a funcionar só falta criar um metodo para estabeler a ligação wireless mais rapidamente.
    • Algumas distribuições possuem scripts que estabelecem automaticamente conexões wireless através do wpa_supplicant como um serviço do sistema e outras possuem scripts que estabelecem essas conexões quando a placa wireless é activada. Entre essas distribuições encontra-se o ArchLinux, Gentoo, Ubuntu, Debian (e derivados), Fedora (e derivados do redhat) e Kurumin. Consulte estas paginas para saber como configurar a sua distribuição para estabelecer mais rapidamente a ligação wireless.

Anexo

-Geral:

  • As opções scan_ssid e ap_scan variam consoante o driver e placa wireless, podendo o scan_ssid variar entre os valores 0 e 1 e o ap_scan variar entre os valores 0, 1 e 2. Se a opções mencionadas anteriomente não funcionarem, experimente outros valores. Em muitos casos é só necessário modificar o ap_scan para 0 ou para 1.
  • Em alguns casos de quebra de ligação será necessário executar novamente o comando iwconfig wlan0 essid e-U enc open depois da execução do wpa_supplicant.
  • No caso de o driver da sua placa não ser suportado pelo wpa_supplicant, utilize o driver wext.

-Network Manager

  • O network manager é actualmente muito instável em certos sistemas. O seu correcto funcionamento depende da placas de rede/wireless e distribuição instalada. O ligação de rede wireless pode não funcionar num certa ditribuição mas funcionar noutra (devido a aplicação de patches por parte da equipa de desenvolvimento de uma distribuição, entre outras razões). Pode tambem haver certas placas não funcionam correctamente com o network manager indepedemente da distribuição.
  • Um caso específico da situação anterior é caso em que a configuração do metodo 2 num computador com uma placa wireless intel3945 usando os drivers iwl funciona em fedora 9 não funciona no ubuntu 8.04. (20/05/2008)
  • Em alguns casos a applet do networkmanager do gnome (nm-applet) funciona melhor que a applet do networkmanager do kde (knetworkmanager).
  • Quanto foram efectuados testes do metodo 2 no fedora 9, o networkmanager indicava que estava ligado a "guest-e-U" quando na verdade estava ligado a rede "e-U". Pode verificar esta situação executando o comando iwconfig.

-Placas Intel / Drivers ipw2100/ipw2200/ipw3945 (DRIVER ANTIGO):

  • Se for mostrado a menssagem ioctl[IPW_IOCTL_WPA_SUPPLICANT]: Operation not supported é devido à instalação incompleta dos drivers da sua placa wireless Intel. Os drivers da Intel PRO/Wireless 2100/2200BG começaram a ser incluídos no Linux a partir da versão 2.6.14 necessitando apenas de instalar o firmaware correspondente (uma vez que não vem incluido nas distribuições por razões legais). Pode usar a opção -D wext para evitar a instalação do firmware, mas se mesmo assim preferir usar a opção -D ipw coloque o firmware (obtido em ipw21000 e ipw2200) na directória de firmware da sua distribuição (normalmente /lib/firmware) de acordo com a versão do driver que possui (o numero da versão do driver pode ser obtida com o comando modinfo ipw2100 ou modinfo ipw2200).
  • Em alguns casos é necessário activar a opção hwcrypto=0 se a sua placa estiver com problemas em negociar as chaves wep. Execute os comando rmmod ipw2200 e modprobe ipw2200 hwcrypto=0. Outra causa deste problema poder ser tambem o facto do driver não consiga encontrar o modulo de WEP podendo ser resolvido com a criação de um link simbolico com os comandos:
    cd /lib/modules/2.6.x/drivers/net
    ln -s wireless ../../kernel/drivers/net/

-Placas Intel / Driver iwl (DRIVER RECENTE):

  • O novo driver para as placas intel actualmente (20/05/2008) possui alguns bugs o que resulta ao tentar ligar-se a certas redes wireless, especialmente ao tentar ligar-se a redes wireless escondidas. Algumas distribuições como o Fedora 9 já aplicaram alguns patches que resolvem alguns problemas. Se tiver problemas com este driver e tiver a possibilidade de usar o antigo, experimente usar o antigo.
  • No caso de problemas pode tambem exprimentar recarregar o modulo com a opção disable_hw_scan=1 com os comandos (no caso da intel 3945): rmmod iwl3945 e modprobe iwl3945 disable_hw_scan=1. Mais detalhes em: http://www.ces.clemson.edu/linux/f8-nm-iwl3945.shtml

-Placas Prism 2.x e 3/Driver hostap:

  • No caso de usar o driver hostap use ap_scan=1 e scan_ssid=1 (testada com uma senao 2511CD-EXT2).
  • Muitas distribuições possuem a versão estavel do wpa_supplicant (0.4.8-0.4.9). Se possuir esta versão e estiver a usar o driver hostap muito provavelmente terá que iniciar o wpa_supplicant, encerrar o programa e iniciar-lo de novo para o progama funcionar. Se pretende evitar esta situação instale uma versão de desenvolvimento 0.5.x (testado com a 0.5.4) uma vez que nestas versões esta situação não acontece, no entanto use estas versões com cuidado uma vez que algumas delas podem não ser estáveis.

-Placas e Chipset Ralink/Driver rt2x00 e rt2570:

  • Uma vez que os drivers rt2x00 e rt2570 usados paras as placas com o chipset Ralink 2400, 2500 e 2570 não suportam autenticação PEAP, é necessário usar o ndiswrapper para a ligar à rede wireless e-U, já que os drivers Windows suportam o PEAP. Experimente primeiro a opção -D wext depois de instalar o ndiswrapper.

-Driver Ndiwrapper:

  • Algumas placas suportadas pelo ndiswrapper podem funcionar perfeitamente em redes desencriptadas ou WEP, mas ficam instáveis (ou até nem funcionam) ao usar o wpa_supplicant por este usar metodos de acesso a redes mais complexos. Infelizmente, esta é uma situação que não pode ser contornada, sendo a unica solução para este caso o uso de outras placas wireless.
  • De acordo com as informação da lista do ndiswrapper, algumas placas usando este driver funcionam melhor com a opção -D wext do que -D ndiswrapper.

-Placas Broadcom:

  • Se usar uma placa broadcom com o driver bcm43xx, use a opção -D wext do wpa_supplicant com a opção ap_scan=2. Se usar o driver ndiswrapper (mesmo em sistemas 64bits) com esta placa, experimente a mesma configuração.
  • Se usar o driver b43 experimente desactivar a encriptação por hardware recarregando o modulo com o parametro nohwcrypt=1. Para fazer isso use os comandos: rmmod b43 e modprobe b43 nohwcrypto=1.

Fontes:

http://student.dei.uc.pt/~jemart/802.1x.html
https://ciist.ist.utl.pt/ciwiki/EuLinux
http://www.ces.clemson.edu/linux/f8-nm-iwl3945.shtml

Conteúdo sindicado