A conexão WiFi é interrompida com bastante frequência com o Edimax EW-7711UTn

12

Estou usando um Pi modelo B de 256 MB com um adaptador WiFi USB Edimax EW-7711UTn. Depois de algumas horas, a conexão WiFi começa a cair e é reiniciada. Até que ele pare de funcionar completamente. É o que vejo em / var / log / messages:

Mar  9 20:39:29 raspberrypi kernel: [ 9353.773167] cfg80211: Calling CRDA to update world regulatory domain
Mar  9 20:39:29 raspberrypi wpa_action: WPA_IFACE=wlan0 WPA_ACTION=DISCONNECTED
Mar  9 20:39:29 raspberrypi wpa_action: WPA_ID=0 WPA_ID_STR= WPA_CTRL_DIR=/var/run/wpa_supplicant
Mar  9 20:39:29 raspberrypi wpa_action: ifdown wlan0
Mar  9 20:39:30 raspberrypi wpa_action: removing sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
Mar  9 20:39:33 raspberrypi kernel: [ 9357.478605] wlan0: authenticate with 30:46:9a:54:6f:3d
Mar  9 20:39:33 raspberrypi kernel: [ 9357.624628] wlan0: send auth to xxx (try 1/3)
Mar  9 20:39:33 raspberrypi kernel: [ 9357.626510] wlan0: authenticated
Mar  9 20:39:33 raspberrypi kernel: [ 9357.703189] wlan0: associate with xxx (try 1/3)
Mar  9 20:39:33 raspberrypi kernel: [ 9357.707045] wlan0: RX AssocResp from 30:46:9a:54:6f:3d (capab=0x411 status=0 aid=2)
Mar  9 20:39:33 raspberrypi kernel: [ 9357.722534] wlan0: associated
Mar  9 20:39:33 raspberrypi wpa_action: WPA_IFACE=wlan0 WPA_ACTION=CONNECTED
Mar  9 20:39:33 raspberrypi wpa_action: WPA_ID=0 WPA_ID_STR= WPA_CTRL_DIR=/var/run/wpa_supplicant
Mar  9 20:39:33 raspberrypi wpa_action: ifup wlan0=default
Mar  9 20:39:40 raspberrypi wpa_action: creating sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
Mar  9 20:39:40 raspberrypi wpa_action: bssid=xxx
Mar  9 20:39:40 raspberrypi wpa_action: ssid=xxx
Mar  9 20:39:40 raspberrypi wpa_action: id=0
Mar  9 20:39:40 raspberrypi wpa_action: mode=station
Mar  9 20:39:40 raspberrypi wpa_action: pairwise_cipher=CCMP
Mar  9 20:39:40 raspberrypi wpa_action: group_cipher=CCMP
Mar  9 20:39:40 raspberrypi wpa_action: key_mgmt=WPA2-PSK
Mar  9 20:39:40 raspberrypi wpa_action: wpa_state=COMPLETED
Mar  9 20:39:40 raspberrypi wpa_action: ip_address=xxx
Mar  9 20:39:40 raspberrypi wpa_action: address=xxx

E o dmesg às vezes me diz:

[20014.112395] wlan0: deauthenticating from xxx by local choice (reason=3)

Os processos wpa em execução são:

 1872 ?        Ss     0:00 /sbin/wpa_supplicant -s -B -P /var/run/wpa_supplicant.wlan0.pid -i wlan0 -W -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf
 2010 ?        Ss     0:00 /sbin/wpa_cli -B -P /var/run/wpa_action.wlan0.pid -i wlan0 -p /var/run/wpa_supplicant -a /sbin/wpa_action

Alguém mais tem esses problemas e como posso corrigi-los?

Como muitas pessoas parecem ter problemas com fontes de alimentação insuficientes: O My RasPi funciona com uma fonte de 1,2A 5V e possui um hub USB com alimentação de 3,8A e 5V. Agora desconectei todos os outros dispositivos do hub energizado e conectei o Edimax a ele, talvez isso ajude.

Atualização: Não, desta vez demorou apenas alguns minutos para o Wi-Fi deixar de responder.

Atualização 2: Ainda tenho problemas, agora percebi que a conexão pode ser reiniciada usando ifdown e ifup, mas continuo recebendo mais e mais dessas mensagens:

Mar 22 19:11:59 raspberrypi kernel: [215435.967714] cfg80211: Calling CRDA to update world regulatory domain
Mar 22 19:12:01 raspberrypi kernel: [215437.948971] wlan0: authenticate with XXXXXX
Mar 22 19:12:02 raspberrypi kernel: [215438.087245] wlan0: send auth to XXXXXX (try 1/3)
Mar 22 19:12:02 raspberrypi kernel: [215438.089006] wlan0: authenticated
Mar 22 19:12:02 raspberrypi kernel: [215438.165765] wlan0: associate with XXXXXX (try 1/3)
Mar 22 19:12:02 raspberrypi kernel: [215438.169604] wlan0: RX AssocResp from XXXXXX (capab=0x411 status=0 aid=1)
Mar 22 19:12:02 raspberrypi kernel: [215438.185759] wlan0: associated

Isso acontece em intervalos de tempo cada vez menores até eu reiniciar. Então tudo bem novamente por um dia ou dois. Então, o que está acontecendo aqui?

Atualização: Ok, eu acabei de conectar o Pi a uma tela e comecei a copiar arquivos via WiFi. Após cerca de 15 minutos, o Pi congelou. Eu tinha um tmux rodando com saída de htop e tail -f / var / log / messages. Não há pânico visível no kernel, nem nada em / var / log / messages. A máquina está congelada.

Arne
fonte
Estou pensando em uma coisa: de que serve o wpa_cli? Pode interferir com o wpa_supplicant?
Arne
Mudei meu /etc/network/interfacessemelhante ao listado aqui: elinux.org/RPi_edimax_EW-7811Un , e agora parece funcionar muito bem. Está em atividade há algumas horas e continua funcionando, sem ser reconectado.
Arne
E agora, dez minutos depois, recebo duas reconexões. Portanto, o problema não se foi. Contanto que reconecte apenas a cada duas horas, eu estou feliz. Vamos ver ...
Arne
Você ainda está tendo o problema?
Jivings
1
Esperemos que essa recompensa atraia mais atenção.
Jivings

Respostas:

7

Acho que posso dizer com segurança agora que os problemas se devem ao dispositivo e / ou ao driver rt2x00. Uso Ethernet apenas nas últimas 48 horas, copiei muitos Gigabytes de dados e não tenho um único problema. Portanto, atualmente eu desencorajaria o uso de dispositivos baseados em rt2800 e tentarei encontrar outro dongle, talvez um com o chip Realtek, pois esse parece ser o mais amplamente usado.

EDIT: Comprei um TPL-WN725N com um chip RTL8188CUS. Funciona imediatamente, atualmente com 0,5 GB de tráfego e ainda em execução. Também parece um pouco mais rápido que o dongle baseado em Ralink. Eu recebo 1,9 MByte / s, enquanto antes eu tinha 1,3 MByte / s. Vamos ver se ele deixará o Pi correr por mais tempo e não congelará.

EDIT: > 5 GB e continua forte. Parece muito promissor. Vai mantê-lo funcionando para ver se falha.

Arne
fonte
Então, para quem você quer que eu conceda essa recompensa? :)
Jivings
Bem, eu não. Isso seria injusto, eu acho. Eu deixo com você.
quer
Não tenho certeza se o realtek são os melhores drivers / chips. Eu tenho um (RTL8188CUS), tudo bem, mas não é tão bom assim, com desconexões / reconexões bastante frequentes. O driver parece estável, mesmo após descarregar / recarregar. Por outro lado, li boas experiências com outros dongles baseados em ralink no pi. Eu pedi um dongle de 5 € que deveria ter chip de ralink nele, do qual eu li bem, e planejo testá-lo em breve. Há também uma página wiki para periféricos verificados (das quais você pode já estar ciente): elinux.org/RPi_VerifiedPeripherals
Pa_
Encontrei isso aqui: raspberrypi.org/phpBB3/viewtopic.php?f=24&t=5830 - Meu Raspberry Pi é do ano passado, talvez eu tenha a versão com os polifusores que limitam o adaptador WiFi? Eu estava usando o dongle Edimax no Raspberry Pi (fonte de alimentação 1.2A).
Arne
No entanto, desde que o meu Pi reinicia quando conecto o Edimax, acho que meu Pi já vem com os Polyfuses desativados.
Arne
2

Existe uma versão especial do hostapd (lida com autenticação sem fio) que você deve usar com este adaptador. O chipset Realtek não funciona particularmente bem com a versão de distribuição Raspbian 'pronta para uso'.

Eu postou um guia para instalar este adaptador Wi-Fi para uso como um AP no meu blog.

Se você não quiser conferir o meu blog, aqui está o link para o guia que eu usei .

BigCowPi
fonte
Não tenho certeza de que sua resposta foi aplicada aqui. Eu entendo que o hostapd é para o Pis rodando como um ponto de acesso ..? O meu está funcionando como cliente.
Arne
Desculpe, tem o lado errado da vara lá :)
BigCowPi
2

não tenho idéia, para ser sincero, mas há duas coisas que você pode tentar:

o primeiro é brincar com as opções de economia de energia documentadas no pacote de drivers da realtek. agora eu uso a máxima economia de energia, por:

insmod /lib/modules/3.6.11+/kernel/drivers/net/wireless/rtl8192cu/8192cu.ko  rtw_power_mgnt=2 rtw_ips_mode=1 rtw_hwpwrp_detect=1 rtw_enusbss=1

mas você pode tentar combinações diferentes das opções acima.

A segunda coisa que você pode tentar é ter um cronojob a cada n minutos para verificar se a wlan está funcionando (por exemplo, usando fping ou qualquer outra coisa) e, caso contrário, ela a traz para baixo e para cima novamente (usando o cliente de linha de comando do gerenciador de rede), possivelmente também removendo e reinserindo o módulo

Pa_
fonte
Eu tenho esse script já em execução (a cada 5m ele syslogs se o wifi está ativo ou inativo e reinicia o wifi), mas não ajuda. No momento, acho que todo o sistema é interrompido porque, em algum momento, o registro em / var / log / messages para completamente. Tentando depurar com a tela anexada agora.
Arne
Como escrevi acima: o Pi simplesmente congelou. Teclado morto, saída do display congelada, sem mais mensagens.
Arne
1
Além disso: Parece que o meu Edimax usa o driver rt2800, não o rtl8192.
Arne
Você precisa descartar a possibilidade de que o problema do driver wifi e o problema de congelamento não estejam relacionados, removendo o dongle e fazendo o mesmo teste via Ethernet.
goldilocks
Fazendo isso agora. Até agora, 1,7 GB foram copiados sem problemas. Ainda indo.
Arne
2

Eu tenho exatamente esse problema com vários dongles Wifi diferentes. Duas coisas.

1.) adicione isso ao seu / etc / network / interfaces

desligamento sem fio

2.) wlan0: desautenticação de xxx por escolha local (motivo = 3) repetidamente pode ser de um ataque de autenticação na sua rede wifi


fonte
2

Encontrei esta explicação, que afirma que o gerenciamento de energia do driver pode estar com defeito. Também sugere o uso dessas alterações para o driver:

sudo nano /etc/modprobe.d/8192cu.conf

e cole o seguinte em:

# Disable power saving
options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1 
Mircea D.
fonte