Automaticamente reconectar conexão sem fio

10

A conexão sem fio em minha casa infelizmente desaparece, exigindo uma reinicialização do roteador sem fio.

Tornar isso pior é que o meu ubuntu media pc, não se reconecta automaticamente à rede sem fio quando está desaparecido, e depois aparece cerca de um minuto depois. A rede em questão é configurada como "conectar-se automaticamente" nas configurações de rede.

Se eu selecionar manualmente minha rede sem fio, usando o ícone de conexão sem fio no canto superior direito da tela, tudo funcionará bem até a próxima vez que a conexão sem fio ficar inativa.

Estou procurando uma maneira para não precisar me lembrar de fazer isso manualmente o tempo todo.

    
por Lucas Meijer 11.09.2010 / 22:21

7 respostas

3

Eu tive um problema semelhante com a placa de meia altura Intel Wireless WiFi 5100 do meu laptop e o driver iwlagn do driver. Esse problema é um problema conhecido com o driver iwlagn e a melhor solução é desabilitar 802.11n na placa.

Para desabilitar o 802.11n neste cartão, crie / edite seu arquivo /etc/modprobe.d/options.conf :

sudo -H gedit /etc/modprobe.d/options.conf

E adicione o seguinte a ele.

options iwlagn 11n_disable=1 11n_disable50=1
    
por Mike 16.09.2010 / 18:53
3

Isso parece ser publicado em toda a rede sem boas soluções. Eu acho que a melhor solução / correção é fazer com que ele verifique se há conectividade com a Internet e, se não estiver lá, reconecte. Fiz isso por meio de um teste de ping no google.com e depois simplesmente reiniciei a rede. O código não é testado (a parte de reinicialização e a parte do cron, se a instrução for testada), então apenas esperarei que ela seja desconectada em algum momento. Eu tenho um Ubuntu Server 12.10, então não há interface gráfica, e é uma dor para conectar o monitor e o teclado toda vez que o wireless estiver cheio.

Parte do Cron feita via webmin, então muito do Idk. O script é o seguinte:

# edited by dim_voly for networking restart on no pingback every 5 mins

#!/bin/bash
# Name of File: networkingCron
# Purpose: to check if the internet is up (via ping test to google) and if not, restart networking service
# this script is invoked via cron, ideally every 5 mins.

#check if there is internet via ping test
if ! [ "'ping -c 1 google.com'" ]; then #if ping exits nonzero...
   sudo service networking restart #restart the whole thing
   echo Networking service restarted due to no ping response from google.com
fi

echo Script 'networkingCron' completed, if no message above then there was no network restart.

# dunno how to restart the wifi only since that is the only active connection that server uses.

# also I don't think those echos go anywhere

Certifique-se de executar como root e certifique-se de que o script tenha permissões de execução (u + x).

links:

por dim_voly 04.01.2013 / 05:06
2

Versão mais moderna do script @DougD

#!/bin/bash    
wlan=$(/sbin/ifconfig wlan0 | grep inet\ addr -c)
if [ "$wlan" -eq 0 ]; then    
    /sbin/ifdown wlan0 && /sbin/ifup wlan0
else    
    echo interface is up    
fi
    
por hawk 30.07.2015 / 09:17
2

Basta criar um novo arquivo vi /root/checkwanup e adicionar este conteúdo:

#!/bin/bash    
wlan='/sbin/ifconfig wlan0 | grep inet\ addr | wc -l'    
if [ $wlan -eq 0 ]; then    
    /sbin/ifdown wlan0 && /sbin/ifup wlan0
else    
    echo interface is up    
fi

Então chmod 555 /root/checkwanup e adicione ao seu crontab:

crontab -e
*/15 * * * * /bin/bash /root/checkwanup

Fonte: link

    
por DougD 16.02.2014 / 19:43
1

Você pode querer dar uma olhada em usar o wpa_supplicant em vez do network-manager, mas isso não importa realmente quando em um media center. O wpa_supplicant não é tão flexível quanto o gerenciador de rede, mas o afaik não desiste depois de tentar três vezes. dê uma olhada em esta resposta .

    
por LassePoulsen 12.09.2010 / 12:21
1

Esta é uma alternativa usando service network-manager restart :

#!/usr/bin/env bash


# 1. copy this script into
# /usr/bin

# 2. change permissions
# root:/usr/bin# chmod +x checkwifi.sh 

# 3. add to cron as root
# sudo su
# crontab -e

# add this to check your wifi every minute
# * * * * * /usr/bin/checkwifi.sh

is_ok=$(/sbin/ifconfig wlp2s0 | /bin/grep inet\ addr -c)

if [ "$is_ok" -eq 0 ] ; then

    # restart
    /usr/sbin/service network-manager restart

    # wifi is ok
    /bin/echo $(date) "wifi was restarted" >> /user/user/Dropbox/wifi.log
    /bin/echo $(/sbin/ifconfig wlp2s0) >> /home/user/Dropbox/wifi.log

else

    # wifi is ok
    /bin/echo $(date) "wifi is ok" >> /home/user/Dropbox/wifi.log
    /bin/echo $(/sbin/ifconfig wlp2s0) >> /home/user/Dropbox/wifi.log

fi
    
por auraham 20.10.2017 / 22:39
1

Aqui está a minha versão - funciona com o NetworkManager:

#!/bin/bash    
wlan='/sbin/ifconfig wlan0 | grep inet\ addr | wc -l'    
if [ $wlan -eq 0 ]; then   
    /usr/bin/nmcli nm wifi off && /usr/bin/nmcli nm wifi on 
fi
    
por Chris 16.12.2015 / 05:30

Tags