เชื่อมต่อการเชื่อมต่อไร้สายใหม่โดยอัตโนมัติ


13

การเชื่อมต่อไร้สายในบ้านของฉันน่าเสียดายที่มักจะหายไปต้องรีบูตเราเตอร์ไร้สาย

สิ่งที่แย่กว่านี้ก็คือ ubuntu media pc ของฉันไม่ได้เชื่อมต่อกับเครือข่ายไร้สายโดยอัตโนมัติเมื่อมันหายไปจากนั้นอีกหนึ่งนาทีก็มาถึง เครือข่ายที่เป็นปัญหาถูกตั้งค่าเป็น "เชื่อมต่ออัตโนมัติ" ในการตั้งค่าเครือข่าย

หากฉันเลือกเครือข่ายไร้สายด้วยตนเองโดยใช้ไอคอนไร้สายในหน้าจอของฉันทุกอย่างทำงานได้ดีจนกระทั่งครั้งต่อไปที่เครือข่ายไร้สายหยุดทำงาน

ฉันกำลังมองหาวิธีดังนั้นฉันไม่ต้องจำที่จะทำด้วยตนเองตลอดเวลา


ฉันมีปัญหาเดียวกันแน่นอน ฉันพอใจกับโซลูชันที่ใช้เช่นสคริปต์ cron ทุก 5 นาทีเพื่อขอให้ Network Manager เชื่อมต่อใหม่หากยังไม่ได้เชื่อมต่อ
Marius Gedminas

@Marius คุณมีสคริปต์ดังกล่าวหรือไม่?
Oli

โปรดเพิ่มข้อมูลฮาร์ดแวร์ลงในคำถามของคุณ
Jorge Castro

@Oli: เศร้าไม่
Marius Gedminas

คำตอบ:


3

ฉันมีปัญหาคล้ายกันกับการ์ดครึ่งความสูง Intel Wireless WiFi 5100 และแล็ปท็อปไดรเวอร์ iwlagn ปัญหานี้เป็นปัญหาที่ทราบของไดรเวอร์ iwlagn และวิธีแก้ปัญหาที่ดีที่สุดคือการปิดใช้งาน 802.11n บนการ์ด

หากต้องการปิดใช้งาน 802.11n บนการ์ดใบนี้ให้สร้าง / แก้ไข/etc/modprobe.d/options.confไฟล์ของคุณ:

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

และเพิ่มสิ่งต่อไปนี้ลงไป

options iwlagn 11n_disable=1 11n_disable50=1

3

นี่คือทางเลือกอื่นโดยใช้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

ดูเหมือนว่าจะโพสต์ทั่วเน็ตโดยไม่มีวิธีแก้ปัญหาที่ดี ฉันเดาว่าการแก้ไข / การแก้ปัญหาที่ดีที่สุดคือการตรวจสอบการเชื่อมต่ออินเทอร์เน็ตและหากไม่มีการเชื่อมต่อใหม่ ฉันทำสิ่งนี้ผ่านการทดสอบ ping ไปที่ google.com จากนั้นฉันเพียงแค่ทำการรีสตาร์ทเครือข่าย รหัสไม่ได้รับการทดสอบ (ส่วนรีสตาร์ทและส่วน cron หากคำสั่งทดสอบ) ดังนั้นฉันจะรอให้มันตัดการเชื่อมต่อในบางจุด ฉันมี Ubuntu Server 12.10 ดังนั้นจึงไม่มี GUI และเป็นความเจ็บปวดในการเชื่อมต่อจอภาพและคีย์บอร์ดทุกครั้งที่อุปกรณ์ไร้สายติดขัด

ส่วน Cron ทำผ่าน webmin ดังนั้น Idk มากเกี่ยวกับเรื่องนี้ สคริปต์ดังต่อไปนี้:

# 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

ตรวจสอบให้แน่ใจว่าได้รันเป็นรูทและตรวจสอบให้แน่ใจว่าสคริปต์มีสิทธิ์ดำเนินการ (u + x)

ลิงค์:


2

รุ่นที่ทันสมัยกว่าของสคริปต์ @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

2

เพียงสร้างไฟล์ใหม่vi /root/checkwanupและเพิ่มเนื้อหานี้:

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

จากนั้นchmod 555 /root/checkwanupและเพิ่มลงใน crontab ของคุณ:

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

ที่มา: http://sirlagz.net/2013/01/10/script-wifi-checker-script/


เพิ่มLANG=Cหรือgrep inet\ addrอาจล้มเหลว
Mawi12345

1

คุณอาจต้องการดูการใช้ wpa_supplicant แทน network-manager แต่นั่นไม่สำคัญเมื่ออยู่บน media-center wpa_supplicant นั้นไม่ยืดหยุ่นเท่ากับตัวจัดการเครือข่าย แต่ afaik ไม่ยอมแพ้หลังจากลองสามครั้ง ดูคำตอบนี้


1

นี่คือเวอร์ชั่นของฉัน - มันใช้ได้กับ 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.