Kablosuz bağlantıyı otomatik olarak yeniden bağla


13

Evimdeki kablosuz bağlantı maalesef genellikle kayboluyor ve kablosuz yönlendiricinin yeniden başlatılmasını gerektiriyor.

Bu daha da kötüsü, benim ubuntu medya bilgisayarım, gittiğinde kablosuz ağa otomatik olarak yeniden bağlanmaz ve yaklaşık bir dakika sonra ortaya çıkar. Söz konusu ağ, ağ ayarlarında "otomatik olarak bağlan" olarak ayarlanmıştır.

Ekranımın sağ üst köşesindeki kablosuz simgesini kullanarak kablosuz ağımı manuel olarak seçersem, bir sonraki kablosuz bağlantı sona erene kadar her şey yolunda gider.

Bir yol arıyorum, bu yüzden bunu her zaman manuel olarak yapmayı hatırlamak zorunda değilim.


Aynı problemim var. Şimdiye kadar bağlı değilse, Ağ Yöneticisi'nden yeniden bağlanmasını isteyen, örneğin her 5 dakikada bir cron komut dosyası kullanan bir çözümden memnun olurum.
Marius Gedminas

@Marius'un böyle bir senaryosu var mı?
Oli

Lütfen sorunuza bazı donanım bilgileri ekleyin.
Jorge Castro

@Oli: ne yazık ki hayır.
Marius Gedminas

Yanıtlar:


3

Dizüstü bilgisayarımın Intel Kablosuz WiFi 5100 yarım yükseklik kartı ve sürücü iwlagn sürücüsü ile benzer bir sorun yaşadım. Bu sorun iwlagn sürücüsü ile ilgili bilinen bir sorundur ve en iyi çözüm kartta 802.11n'yi devre dışı bırakmaktır.

Bu kartta 802.11n'yi devre dışı bırakmak için /etc/modprobe.d/options.confdosyanızı oluşturun / düzenleyin :

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

Ve buna aşağıdakileri ekleyin.

options iwlagn 11n_disable=1 11n_disable50=1

3

Bu, aşağıdakileri kullanan bir alternatiftir 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

3

Bu iyi bir çözüm olmadan tüm net yayınlanmıştır gibi görünüyor. Sanırım en iyi düzeltme / geçici çözüm, internet bağlantısı olup olmadığını kontrol etmek ve orada değilse yeniden bağlanın. Bunu google.com'a bir ping testi ile yaptım ve sonra sadece ağları yeniden başlatmayı başardım. Kod test edilmez (yeniden başlatma kısmı ve cron kısmı, eğer ifade test edilirse), bu yüzden sadece bir noktada bağlantısının kesilmesini bekleyeceğim. Ben bir Ubuntu Server 12.10 var, bu yüzden GUI yok, ve kablosuz malzeme her zaman monitör ve klavye bağlamak için bir acıdır.

Cron kısmı webmin üzerinden yapılır, bu yüzden bu konuda çok Idk. Komut dosyası aşağıdaki gibidir:

# 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

Kök olarak çalıştırdığınızdan ve komut dosyasının yürütme (u + x) izinlerine sahip olduğundan emin olun.

links:


2

@DougD betiğinin daha modern versiyonu

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

2

Sadece yeni bir dosya oluşturun vi /root/checkwanupve bu içeriği ekleyin:

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

Ardından chmod 555 /root/checkwanupcrontab'ınıza ekleyin:

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

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


ekleme LANG=Cveya grep inet\ addrbaşarısız olabilir.
Mawi12345

1

Ağ yöneticisi yerine wpa_supplicant kullanmaya bir göz atmak isteyebilirsiniz, ancak bu bir medya merkezinde ne zaman önemli değildir. wpa_supplicant ağ yöneticisi kadar esnek değil ama üç kez denedikten sonra vazgeçmiyor. bu cevaba bir göz atın .


1

İşte benim sürüm - NetworkManager ile çalışır:

#!/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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.