रास्पबेरी पाई पर समय की अवधि के बाद वाईफाई डिस्कनेक्ट नहीं होता है, फिर से कनेक्ट नहीं होता है


15

मैं अंत में नीचे सेटिंग्स का उपयोग करते हुए (wpa_supplicant.conf का उपयोग नहीं करते हुए) अपने रास्पबेरी पाई को एक छिपे हुए SSID नेटवर्क (WPA2 पर्सनल) से कनेक्ट करने में सक्षम था।

हालांकि, कुछ घंटों के बाद यह डिस्कनेक्ट हो जाता है और फिर से कनेक्ट नहीं होता है।

  • रास्पबेरी पाई B +, NOOBS चल रहा है।
  • USB संचालित वाईफाई कार्ड (Ralink RT5370 चिपसेट)
  • एक छिपे हुए SSID से जुड़ा (मुझे यकीन नहीं है कि छिपे हुए SSID का इस मुद्दे से कोई लेना-देना नहीं है, एक लाल हेरिंग हो सकता है)

यहाँ लॉग है:

Feb  6 14:36:01 raspberrypi wpa_supplicant[1641]: wlan0: CTRL-EVENT-DISCONNECTED bssid=90:72:40:1c:ed:c8 reason=4
Feb  6 14:36:01 raspberrypi kernel: [33883.785257] cfg80211: Calling CRDA to update world regulatory domain
Feb  6 14:36:01 raspberrypi ifplugd(wlan0)[1634]: Link beat lost.
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: Executing '/etc/ifplugd/ifplugd.action wlan0 down'.
Feb  6 14:36:11 raspberrypi dhclient: Internet Systems Consortium DHCP Client 4.2.2
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Internet Systems Consortium DHCP Client 4.2.2
Feb  6 14:36:11 raspberrypi dhclient: Copyright 2004-2011 Internet Systems Consortium.
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Copyright 2004-2011 Internet Systems Consortium.
Feb  6 14:36:11 raspberrypi dhclient: All rights reserved.
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: All rights reserved.
Feb  6 14:36:11 raspberrypi dhclient: For info, please visit https://www.isc.org/software/dhcp/
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: For info, please visit https://www.isc.org/software/dhcp/
Feb  6 14:36:11 raspberrypi dhclient: 
Feb  6 14:36:11 raspberrypi dhclient: Listening on LPF/wlan0/00:0f:60:01:de:14
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Listening on LPF/wlan0/00:0f:60:01:de:14
Feb  6 14:36:11 raspberrypi dhclient: Sending on   LPF/wlan0/00:0f:60:01:de:14
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Sending on   LPF/wlan0/00:0f:60:01:de:14
Feb  6 14:36:11 raspberrypi dhclient: Sending on   Socket/fallback
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Sending on   Socket/fallback
Feb  6 14:36:11 raspberrypi dhclient: DHCPRELEASE on wlan0 to 192.168.128.254 port 67
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: DHCPRELEASE on wlan0 to 192.168.128.254 port 67
Feb  6 14:36:12 raspberrypi wpa_supplicant[1641]: wlan0: CTRL-EVENT-TERMINATING - signal 15 received
Feb  6 14:36:12 raspberrypi ifplugd(wlan0)[1634]: Program executed successfully.
Feb  6 14:36:14 raspberrypi ntpd[2157]: Deleting interface #2 wlan0, 192.168.128.122#123, interface stats: received=389, sent=396, dropped=0, active_time=33841 secs
Feb  6 14:36:14 raspberrypi ntpd[2157]: 192.96.207.244 interface 192.168.128.122 -> (none)
Feb  6 14:36:14 raspberrypi ntpd[2157]: 178.18.16.124 interface 192.168.128.122 -> (none)
Feb  6 14:36:14 raspberrypi ntpd[2157]: 204.2.134.164 interface 192.168.128.122 -> (none)
Feb  6 14:36:14 raspberrypi ntpd[2157]: 216.152.240.220 interface 192.168.128.122 -> (none)
Feb  6 14:36:14 raspberrypi ntpd[2157]: peers refreshed

यहाँ / etc / नेटवर्क / इंटरफेस है

auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-scan-ssid 1
    wpa-ap-scan 1
    wpa-key-mgmt WPA-PSK
    wpa-proto RSN WPA
    wpa-pairwise CCMP TKIP
    wpa-group CCMP TKIP
    wpa-ssid "Na*****"
    wpa-psk *********************************************************

1
क्या आप sudo iwconfig wlan0इसे दिखाते हैं कि आप इसका उत्पादन कर सकते हैं Power Mgmt: On? यदि ऐसा है तो आपको इसे निष्क्रिय करने की आवश्यकता है sudo iwconfig wlan0 power offजो आपकी समस्या को हल करना चाहिए
शान-देसाई

@ शान-देसाई समाधान ने मेरी समस्या को ठीक कर दिया। मेरा रास्पबेरी पाई डब्ल्यू हर 3-5 मिनट में डिस्कनेक्ट हो जाएगा। आपका बहुत बहुत धन्यवाद!
डेव

जवाबों:


10

जिस तरह से मैं इस मुद्दे को हल करने में सक्षम था, वह एक शेल स्क्रिप्ट लिखना था जो हर मिनट एक क्रॉन जॉब द्वारा चलाया जाता है। यह जांचता है कि क्या नेटवर्क डाउन है, यदि हां, तो इसे फिर से कनेक्ट करता है। पिछले सप्ताह के लिए इसने बहुत अच्छा काम किया है।

#!/bin/bash

MY_PATH="`dirname \"$0\"`"              # relative
LOG_PATH="`( cd \"$MY_PATH\" && cd .. && pwd )`/log/network.log"
now=$(date +"%m-%d %r")

# Which Interface do you want to check
wlan='wlan0'
# Which address do you want to ping to see if you can connect
pingip='google.com'

# Perform the network check and reset if necessary
/bin/ping -c 2 -I $wlan $pingip > /dev/null 2> /dev/null
if [ $? -ge 1 ] ; then
    echo "$now Network is DOWN. Perform a reset" >> $LOG_PATH
    /sbin/ifdown $wlan
    sleep 5
    /sbin/ifup --force $wlan
else
    echo "$now Network is UP. Just exit the program." >> $LOG_PATH
fi

1
नमस्ते। उपयोग करने से पहले ifup --force wlan0आप उपयोग क्यों कर रहे हैंifdown wlan0
एस एंड्रयू एंड्रयू

@ और मेरा अनुमान है कि यह अन्यथा कुछ नहीं करेगा। और अगर ifupकुछ नहीं करता है, तो यह एक स्वचालित पुन: कनेक्ट का कारण नहीं बनता है। या तो यह कारण है, या यह परीक्षण करने की तुलना में इस तरह से कोड करना आसान था अगर यह अन्यथा काम करेगा।
लुसीडब्रोट

मेरे मामले में, पुनर्निर्माण हिस्सा अनावश्यक लगता है। Google को हर मिनट पिंग करने से कनेक्शन 100% स्थिर रहता है।
gromit190

6

यह अपेक्षित व्यवहार है; वाईफाई को 100% समय की गारंटी नहीं दी जा सकती है।

यह 2015-05-05 से पहले (और जेसी) के लिए रास्पियन व्हीजी पर लागू होता है। देखें कि मैं नेटवर्किंग / वाईफाई / स्टेटिक आईपी कैसे स्थापित करता हूं

यदि आप चाहते हैं कि इसके wpa-roamसाथ संयोजन में कनेक्टिविटी के उपयोग के नुकसान के बाद स्वचालित रूप से फिर से कनेक्ट करेंwpa_supplicant.conf)

PS अपने SSID और PSK को प्रकाशित करना समझदारी नहीं है

/ Etc / नेटवर्क / इंटरफेस

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet dhcp
iface default inet dhcp

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    scan_ssid=1
    ssid="xxx"
    psk="yyy"
    id_str="home"
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP
    auth_alg=OPEN
    eap=MD5
}

क्या आप wpa_supplicant.conf के साथ संयोजन में wpa-roam का उपयोग करने का एक उदाहरण दे सकते हैं? मैं अब conf फ़ाइल का उपयोग नहीं कर रहा हूं क्योंकि जब मैं इसमें क्रेडिट डालता हूं तो यह किसी कारण से छिपे हुए SSID से कनेक्ट नहीं होगा। BTW, कि SSID और PSK मान्य नहीं हैं, हालांकि मैं उन्हें हटा दूँगा क्योंकि वे एक व्याकुलता हैं। धन्यवाद।
मीका

2
मैंने ऊपर सूचीबद्ध किया है। गुप्त SSID के लिए रहस्य हैscan_ssid=1
Milliways

3

जैसा कि सुझाव दिया गया है कि आप wpa-roam का उपयोग कर सकते हैं, हालांकि मैं wicd या नेटवर्क प्रबंधक का उपयोग करने की सलाह दूंगा। वे सभी सेटिंग्स का ख्याल रखते हैं, वे कई नेटवर्क से भी निपटते हैं और अधिक उपयोगकर्ता के अनुकूल होते हैं।

उदाहरण के लिए wicd में एक शाप गाई है जिसे आप इसके साथ स्थापित कर सकते हैं:

sudo apt-get install wicd-curses

और साथ चले:

wicd-curses

1

डिस्कनेक्ट के साथ एक ही समस्या थी ... वायरलेस एडाप्टर के साथ क्या करना है। मेरे लिंकेज ae3000 हर कुछ दिनों में डिस्कनेक्ट हो जाते हैं। मैंने इसे अपने मोशन usb कैमरों और nfs शेयर और अतिरिक्त ईमेल सूचना के साथ काम करने के लिए थोड़ा संशोधित किया।

Crontab प्रविष्टि:

*/1 * * * * /root/netcheck.sh > /dev/null 2>&1

संशोधित स्क्रिप्ट:

#!/bin/bash

LOG_PATH="/var/log/network.log"
now=$(date +"%m-%d %r")

# Which Interface do you want to check (wlan = wireless, eth0 = ethernet)
iface='eth0'
# Which address do you want to ping to see if you can connect
pingip='google.com'

# Perform the network check and reset if necessary
/bin/ping -c 2 -I $iface $pingip > /dev/null 2> /dev/null
if [ $? -ge 1 ] ; then
    echo "$now Network is DOWN. Perform a reset" >> $LOG_PATH
    /sbin/ifdown $iface
    sleep 5
    /sbin/ifup --force $iface
    sleep 5
    /bin/mount -o remount /data (reconnects my NAS nfs share)
    sleep 2
    /etc/init.d/motion restart  (restarts motion to clean hung processes)
    sleep 3
    /etc/init.d/motion restart  (2nd restart for sanity sake, sometimes 1st restart doesn't pan out)
    mail -s "`hostname` $iface recovered" xxxxxxxxx@gmail.com < /dev/null  (send me an email so I know about this)
fi

0

मैंने समय सेटिंग बदल दी और यह सब मेरे लिए काम करने लगा।

प्राथमिकताएँ -> रास्पबेरी पाई विन्यास-> स्थानीयकरण टैब

मैंने सुनिश्चित किया कि सभी 4 विकल्प मेरे स्थान के लिए सही ढंग से सेट किए गए थे।



0

एक ही समस्या थी, हर मिनट में एक बार मेरे पीआई पिंग Google बनाकर इसे हल किया।

Daud sudo crontab -e

इसे फ़ाइल के अंत में जोड़ें

* * * * * /bin/ping -c2 -I wlan0 8.8.8.8 >/dev/null

क्या यह अनिवार्य रूप से स्वीकृत उत्तर के समान नहीं है?
डिर्क

अनिवार्य रूप से, हाँ। व्यावहारिक रूप से, नहीं। मेरा PI पुन: कनेक्ट नहीं होता है, क्योंकि इसमें नहीं है। न ही ओपी, शायद।
gromit190
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.