WiFi não funciona após a restauração da hibernação (a autenticação expira)

7

Minha placa de rede sem fio Intel 6205 não funciona depois da hibernação. Às vezes também não funciona na inicialização, falhando da mesma maneira. Ocasionalmente, ele também pára de funcionar após ~ 10 minutos de uso contínuo.

Eu experimentei combinações de: modprobe -r iwlwifi antes e depois da hibernação (ou quando o problema ocorre de outra forma), seguido por modprobe iwlwifi ; e, em seguida, systemctl restart network-manager e systemctl restart NetworkManager . Essas soluções são o foco de todos os resultados de pesquisa para os sintomas.

O que mais devo experimentar?

Configuração:

  • Debian Jessie
  • kernel 3.14.4-1
  • networkmanager 0.9.8.10
  • Intel 6205 rev 96 (iwlwifi)
  • Lenovo ThinkPad X1 Carbon
$ dmesg
wlan0: authenticate with 47:f2:2f:91:db:7b
wlan0: Wrong control channel: center-freq: 5500 ht-cfreq: 5180 ht->primary_chan: 36 band: 1 - Disabling HT
wlan0: direct probe to 47:f2:2f:91:db:7b (try 1/3)
wlan0: direct probe to 47:f2:2f:91:db:7b (try 2/3)
wlan0: direct probe to 47:f2:2f:91:db:7b (try 3/3)
wlan0: authentication with 47:f2:2f:91:db:7b timed out
wlan0: authenticate with 47:f2:2f:91:db:7b
wlan0: send auth to 47:f2:2f:91:db:7b (try 1/3)
wlan0: send auth to 47:f2:2f:91:db:7b (try 2/3)
wlan0: send auth to 47:f2:2f:91:db:7b (try 3/3)
wlan0: authentication with 47:f2:2f:91:db:7b timed out
# the last 5 messages repeat indefinitely as connection is reattempted
    
por Aeyoun 13.06.2014 / 21:51

2 respostas

6

Dê uma olhada na saída deste comando para confirmar quais drivers / módulos o kernel está usando para o seu hardware.

$ lshw -C network
...
  *-network
       description: Wireless interface
       product: Centrino Wireless-N 1000 [Condor Peak]
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: wlp3s0
       version: 00  
       serial: 00:26:c7:85:a7:20
       width: 64 bits
       clock: 33MHz 
       capabilities: bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=3.14.4-100.fc19.x86_64 firmware=39.31.5.1 build 35138 ip=192.168.1.161 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn  
       resources: irq:42 memory:f2400000-f2401fff

Os nomes do driver estão listados na "linha de configuração:

driver=iwlwifi

Verifique e veja que outros drivers podem estar sendo usados por esse driver de nível superior:

$ lsmod | grep iwlwifi
iwlwifi               116346  1 iwldvm
cfg80211              513095  3 iwlwifi,mac80211,iwldvm

Tente descarregar todos esses rmmod <name> e, em seguida, recarregue-os:

$ sudo modprobe iwlwifi

Isso deve carregar o driver de nível superior + os de nível inferior automaticamente.

Desabilitando o Wireless-N

Eu tive muitos problemas com a maioria dos meus laptops Thinkpad, onde a tecnologia sem fio agia de forma esquisita. A única solução que descobri que funciona é desativar o recurso Wireless-N do módulo iwlwifi . Você pode descobrir o nome / opções deste parâmetro para o módulo da seguinte forma:

$ modinfo iwlwifi | grep dis
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm:           wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable, 2=enable (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)

Então, depois de remover o módulo quando você estiver pronto para recarregá-lo via modprobe , inclua a opção 11n_disable . Por exemplo:

$ sudo modprobe iwlwifi 11n_disable=1

Você pode tornar isso permanente através do diretório modprobe.d , da inicialização à inicialização.

    
por 13.06.2014 / 23:09
2

Estas etapas a seguir resolveram o problema.

Executar uma vez (reinicia a máquina):

echo "options iwlwifi 11n_disable=1" > /etc/modprobe.d/iwlwifi.conf
/usr/sbin/update-initramfs -u
reboot

Em seguida, o seguinte script deve ser reexecutado toda vez que for restaurado da hibernação ou inicializando o sistema .

/bin/systemctl stop network-manager
/sbin/modprobe -r iwldvm iwlwifi mac80211
/bin/systemctl start network-manager
/sbin/modprobe iwlwifi

A parte importante é que o gerenciador de rede deve estar rodando antes de carregar os drivers do kernel.

    
por 18.06.2014 / 20:13