Em primeiro lugar, as instruções que apresento abaixo não são uma solução, mas uma solução até que a questão possa ser totalmente identificada e resolvida!
Crie o seguinte script e salve-o onde normalmente salva seus scripts - salvei-o como / usr / local / bin / wifiup:
#!/bin/bash
iface="wlan0"
ifconfig ${iface} down
iwconfig ${iface} mode Managed
ifconfig ${iface} up
killall wpa_supplicant
wpa_supplicant -B -Dwext -i ${iface} -c ${HOME}/.wireless-wpa.conf -dd
dhclient ${iface}
Verifique se o script é executável:
chmod +x /usr/local/bin/wifiup
No arquivo $ {HOME} /. wireless-wpa.conf, eu tenho o seguinte:
ctrl_interface=/var/run/wpa_supplicant network={ ssid="[SSID]" scan_ssid=1 key_mgmt=WPA-PSK psk="[PSK]" }
Observação: substitua [SSID] e [PSK] pelos valores relevantes para seu ponto de acesso.
Quando percebo que o link está inativo, abro uma sessão de terminal e executo o comando:
sudo wifiup
Se isso não funcionar para você, em vez de reinicializar o laptop / desktop, identifique o módulo do Kernel usado pelo seu dispositivo (o meu usa o iwlwifi):
$ lspci -k | awk '/Network/,/Kernel/{print}' 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04) Subsystem: Dell Device [1028:053f] Kernel driver in use: e1000e 03:00.0 Network controller [0280]: Intel Corporation Centrino Ultimate-N 6300 [8086:422b] (rev 35) Subsystem: Intel Corporation Centrino Ultimate-N 6300 3x3 AGN [8086:1121] Kernel driver in use: iwlwifi
Você pode então descarregar e recarregar o módulo usando o seguinte comando em uma sessão de terminal:
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi
Às vezes, apenas descarregar e recarregar seu módulo iniciará a reconexão WiFi, mas, caso isso não aconteça, execute o Wi-Fi como indicado anteriormente!
Por favor, informe-nos se isto funciona para você como solução provisória.