Vuelva a conectar automáticamente la conexión inalámbrica

13

La conexión inalámbrica en mi casa desafortunadamente a menudo desaparece, lo que requiere un reinicio del enrutador inalámbrico.

Para empeorar las cosas, mi ubuntu media pc no se vuelve a conectar automáticamente a la red inalámbrica cuando se ha ido y luego aparece un minuto más tarde. La red en cuestión se configura como "conectarse automáticamente" en la configuración de red.

Si selecciono manualmente mi red inalámbrica, usando el icono inalámbrico en la parte superior derecha de mi pantalla, todo funciona bien, hasta la próxima vez que la conexión inalámbrica se apague.

Estoy buscando una manera para no tener que recordar hacer esto manualmente todo el tiempo.

Lucas Meijer
fuente
Tengo exactamente el mismo problema. Estaría satisfecho con una solución que utilizara, por ejemplo, un script cron cada 5 minutos que solicita que Network Manager se vuelva a conectar, si aún no está conectado.
Marius Gedminas
@ Mario, ¿tienes ese guión?
Oli
Agregue información de hardware a su pregunta.
Jorge Castro el
@Oli: tristemente, no.
Marius Gedminas

Respuestas:

3

Tuve un problema similar con la tarjeta de media altura Intel Wireless WiFi 5100 de mi computadora portátil y el controlador iwlagn driver. Este problema es un problema conocido con el controlador iwlagn, y la mejor solución es deshabilitar 802.11n en la tarjeta.

Para deshabilitar 802.11n en esta tarjeta, cree / edite su /etc/modprobe.d/options.confarchivo:

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

Y agregue lo siguiente.

options iwlagn 11n_disable=1 11n_disable50=1
Miguel
fuente
3

Esta es una 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
auraham
fuente
3

Esto parece estar publicado en toda la red sin buenas soluciones. Supongo que la mejor solución / solución es hacer que verifique la conectividad a Internet y, si no está allí, vuelva a conectarse. Hice esto a través de una prueba de ping en google.com y luego simplemente hice que reiniciara la red. El código no se prueba (la parte de reinicio y la parte de cron, si la declaración se prueba), por lo que esperaré a que se desconecte en algún momento. Tengo un Ubuntu Server 12.10, así que no tengo interfaz gráfica de usuario, y es difícil conectar el monitor y el teclado cada vez que la conexión inalámbrica se bloquea.

Cron parte hecha a través de webmin, así que Idk mucho al respecto. El guión es el siguiente:

# 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

Asegúrese de ejecutar como root y asegúrese de que el script tenga permisos de ejecución (u + x).

Enlaces:

dim_voly
fuente
2

Versión más moderna del 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
halcón
fuente
2

Simplemente cree un nuevo archivo vi /root/checkwanupy agregue este contenido:

#!/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

Luego chmod 555 /root/checkwanupy agréguelo a su crontab:

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

Fuente: http://sirlagz.net/2013/01/10/script-wifi-checker-script/

DougD
fuente
agregar LANG=Co grep inet\ addrpuede fallar.
Mawi12345
1

Es posible que desee echar un vistazo al uso de wpa_supplicant en lugar del administrador de red, pero eso realmente no importa cuando se encuentra en un centro de medios. wpa_supplicant no es tan flexible como el administrador de red, pero afaik no se rinde después de intentarlo tres veces. Echa un vistazo a esta respuesta .

LassePoulsen
fuente
1

Aquí está mi versión: funciona con 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
Chris
fuente