Sambungkan kembali koneksi nirkabel secara otomatis

13

Koneksi nirkabel di rumah saya sayangnya sering hilang, membutuhkan router nirkabel untuk reboot.

Yang membuat ini lebih buruk adalah pc media ubuntu saya, tidak secara otomatis menyambung kembali ke jaringan nirkabel ketika sudah hilang, dan kemudian muncul sekitar satu menit kemudian. Jaringan yang dimaksud diatur sebagai "terhubung secara otomatis" dalam pengaturan jaringan.

Jika saya secara manual memilih jaringan nirkabel saya, menggunakan ikon nirkabel di kanan atas layar saya, semuanya berfungsi dengan baik, sampai waktu berikutnya nirkabel turun.

Saya mencari cara sehingga saya tidak harus ingat untuk melakukan ini secara manual setiap saat.

Lucas Meijer
sumber
Saya memiliki masalah yang sama persis. Saya akan puas dengan solusi yang digunakan, misalnya skrip cron setiap 5 menit meminta Network Manager untuk terhubung kembali, jika belum terhubung.
Marius Gedminas
@Marius Anda punya skrip seperti itu?
Oli
Harap tambahkan beberapa informasi perangkat keras ke pertanyaan Anda.
Jorge Castro
@Oli: sayangnya, tidak.
Marius Gedminas

Jawaban:

3

Saya memiliki masalah yang sama dengan laptop saya Intel Wireless WiFi 5100 kartu setengah tinggi dan driver driver iwlagn. Masalah ini adalah masalah yang diketahui dengan driver iwlagn, dan solusi terbaik adalah dengan menonaktifkan 802.11n pada kartu.

Untuk menonaktifkan 802.11n pada kartu ini buat / edit /etc/modprobe.d/options.conffile Anda :

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

Dan tambahkan berikut ini untuk itu.

options iwlagn 11n_disable=1 11n_disable50=1
Mike
sumber
3

Ini adalah alternatif menggunakan 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
sumber
3

Ini tampaknya diposting di seluruh internet tanpa solusi yang baik. Saya kira perbaikan / penyelesaian terbaik adalah dengan membuatnya memeriksa konektivitas internet dan jika tidak ada maka hubungkan kembali. Saya melakukan ini melalui tes ping ke google.com dan kemudian saya membuatnya restart jaringan. Kode tidak diuji (bagian restart dan bagian cron, jika pernyataan diuji), jadi saya akan menunggu sampai terputus di beberapa titik. Saya memiliki Ubuntu Server 12.10, jadi tidak ada GUI, dan menyulitkan untuk menyambungkan monitor dan keyboard setiap kali nirkabel terisi.

Bagian cron dilakukan melalui webmin jadi idk banyak tentang hal itu. Script adalah sebagai berikut:

# 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

Pastikan untuk menjalankan sebagai root dan pastikan skrip telah menjalankan (u + x) izin.

tautan:

dim_voly
sumber
2

Versi lebih modern dari skrip @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
elang
sumber
2

Cukup buat file baru vi /root/checkwanupdan tambahkan konten ini:

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

Kemudian chmod 555 /root/checkwanupdan tambahkan ke crontab Anda:

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

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

DougD
sumber
tambahkan LANG=Catau grep inet\ addrmungkin gagal.
Mawi12345
1

Anda mungkin ingin melihat menggunakan wpa_supplicant alih-alih network-manager, tapi itu tidak masalah ketika berada di media-center. wpa_supplicant tidak sefleksibel network-manager tetapi afaik tidak menyerah setelah mencoba tiga kali. lihat jawaban ini .

LassePoulsen
sumber
1

Ini versi saya - ini berfungsi dengan 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
sumber