WiFi ยกเลิกการเชื่อมต่อหลังจาก Raspberry Pi ไม่ได้เชื่อมต่ออีกครั้ง


15

ในที่สุดฉันก็สามารถเชื่อมต่อ Raspberry Pi ของฉันกับเครือข่าย SSID ที่ซ่อนอยู่ (WPA2 ส่วนตัว) โดยใช้การตั้งค่าด้านล่าง (ไม่ใช้ wpa_supplicant.conf)

อย่างไรก็ตามหลังจากนั้นสองสามชั่วโมงมันจะตัดการเชื่อมต่อและจะไม่เชื่อมต่ออีกครั้ง

  • Raspberry Pi B + กำลังเรียกใช้ NOOBS
  • USB การ์ด WiFi ขับเคลื่อน (ชิปเซ็ต 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 / network / interfaces

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ซึ่งควรแก้ปัญหาของคุณ
Shan-Desai

@ ทางออก Shan-Desai แก้ไขปัญหาของฉัน ราสเบอร์รี่ Pi W ของฉันจะตัดการเชื่อมต่อทุก 3-5 นาที ขอบคุณมาก!
เดฟ

คำตอบ:


10

วิธีเดียวที่ฉันสามารถแก้ไขปัญหานี้ได้คือการเขียนเชลล์สคริปต์ที่ทำงานทุกนาทีโดยงาน cron มันตรวจสอบว่าเครือข่ายไม่ทำงานถ้าใช่เชื่อมต่อใหม่อีกครั้ง มันใช้งานได้ดีมากในสัปดาห์ที่แล้ว

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

@ แอนดรูว์ฉันเดาว่าคงไม่ทำอะไรเลย และหากifupไม่ทำอะไรเลยก็ไม่ได้ทำให้การเชื่อมต่ออัตโนมัติอีกครั้ง อาจเป็นเพราะเหตุผลนี้หรือง่ายกว่าในการเขียนโค้ดด้วยวิธีนี้มากกว่าทดสอบว่าจะใช้งานได้หรือไม่
lucidbrot

ในกรณีของฉันส่วนเชื่อมต่อใหม่ดูเหมือนไม่จำเป็น ส่ง Ping ไปที่ Google ทุกนาทีช่วยให้การเชื่อมต่อมีเสถียรภาพ 100%
gromit190

6

นี่คือพฤติกรรมที่คาดหวัง; WiFi ไม่สามารถรับประกันได้ 100% ของเวลา

สิ่งนี้ใช้กับ Raspbian Wheezy ก่อน 2015-05-05 สำหรับภายหลัง (และเจสซี) ดูฉันจะตั้งค่าเครือข่าย / WiFi / IP แบบคงที่ได้อย่างไร

หากคุณต้องการให้มันเชื่อมต่อใหม่โดยอัตโนมัติหลังจากการสูญเสียการเชื่อมต่อใช้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-roam ร่วมกับ wpa_supplicant.conf ได้หรือไม่? ฉันไม่ได้ใช้ไฟล์ conf อีกต่อไปเพราะเมื่อฉันใส่เครดิตในนั้นมันจะไม่เชื่อมต่อกับ SSID ที่ซ่อนอยู่ด้วยเหตุผลบางอย่าง BTW นั้น SSID และ PSK ไม่ถูกต้องถึงแม้ว่าฉันจะลบออกเพราะมันเป็นสิ่งที่ทำให้ไขว้เขว ขอบคุณ
คา

2
ฉันได้ระบุไว้ข้างต้น ความลับของ SSID ที่ซ่อนอยู่คือscan_ssid=1
Milliways

3

ตามที่แนะนำคุณสามารถใช้ wpa-roam ได้แม้ว่าฉันจะแนะนำให้ใช้ wicd หรือตัวจัดการเครือข่าย พวกเขาดูแลการตั้งค่าทั้งหมดพวกเขาจัดการกับเครือข่ายหลายเครือข่ายและใช้งานง่ายขึ้น

เช่น wicd มี curses gui ที่คุณสามารถติดตั้งด้วย:

sudo apt-get install wicd-curses

และทำงานด้วย:

wicd-curses

1

มีปัญหาเดียวกันกับการยกเลิกการเชื่อมต่อ ... เกี่ยวข้องกับอะแดปเตอร์ไร้สาย linksys 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

ฉันเปลี่ยนการตั้งค่าเวลาและมันก็เริ่มทำงานให้ฉัน

การตั้งค่า -> Raspberry Pi Configuration-> แท็บรองรับหลายภาษา

ฉันตรวจสอบให้แน่ใจว่ามีการตั้งค่าตัวเลือกทั้ง 4 อย่างถูกต้องสำหรับตำแหน่งของฉัน



0

มีปัญหาเดียวกันแก้ไขโดยทำให้ PI ของฉัน ping Google ทุกนาที

วิ่ง sudo crontab -e

เพิ่มสิ่งนี้ลงในตอนท้ายของไฟล์

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

มันไม่เหมือนกับคำตอบที่ยอมรับใช่หรือไม่?
เดิร์ค

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