WiFi terputus setelah periode waktu di Raspberry Pi, tidak terhubung kembali


14

Saya akhirnya bisa membuat Raspberry Pi saya terhubung ke jaringan SSID tersembunyi (WPA2 Personal) menggunakan pengaturan di bawah ini (tidak menggunakan wpa_supplicant.conf).

Namun, setelah beberapa jam terputus dan tidak terhubung kembali.

  • Raspberry Pi B +, menjalankan NOOBS.
  • Kartu WiFi bertenaga USB (chipset Ralink RT5370)
  • Terhubung ke SSID tersembunyi (Saya tidak yakin SSID tersembunyi ada hubungannya dengan masalah ini, mungkin herring merah)

Ini lognya:

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

Inilah / 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
dapatkah Anda membagikan hasil yang sudo iwconfig wlan0ditampilkan Power Mgmt: On? Jika demikian maka Anda perlu menonaktifkannya sudo iwconfig wlan0 power offyang seharusnya memecahkan masalah Anda
Shan-Desai

Solusi @ Shan-Desai memperbaiki masalah saya. Raspberry Pi W saya akan terputus setiap 3-5 menit. Terima kasih banyak!
Dave

Jawaban:


10

Satu-satunya cara saya bisa menyelesaikan masalah ini adalah dengan menulis skrip shell yang dijalankan setiap menit oleh pekerjaan cron. Ia memeriksa apakah jaringan mati, jika demikian, menghubungkan kembali itu. Ini telah bekerja dengan sangat baik selama seminggu terakhir.

#!/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
Hai. Sebelum menggunakan ifup --force wlan0alasan Anda menggunakanifdown wlan0
S Andrew

@ Andrew Dugaan saya adalah bahwa jika tidak maka tidak akan melakukan apa-apa. Dan jika ifuptidak melakukan apa-apa, itu juga tidak menyebabkan penyambungan kembali otomatis. Entah ini alasannya, atau lebih mudah untuk mengkodekannya dengan cara ini daripada menguji apakah itu akan berhasil.
lucidbrot

Dalam kasus saya, bagian koneksi ulang sepertinya tidak perlu. Ping Google setiap menit menjaga koneksi 100% stabil.
gromit190

6

Ini adalah perilaku yang diharapkan; WiFi tidak dapat dijamin 100% dari waktu.

Ini berlaku untuk Raspbian Wheezy sebelum 2015-05-05 untuk nanti (dan Jessie) Lihat Bagaimana cara mengatur jaringan / WiFi / IP Statis

Jika Anda ingin terhubung kembali secara otomatis setelah kehilangan konektivitas gunakan wpa-roambersamawpa_supplicant.conf)

PS Tidaklah masuk akal untuk menerbitkan SSID dan PSK Anda

/ etc / network / interfaces

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
}

Bisakah Anda memberikan contoh penggunaan wpa-roam bersama dengan wpa_supplicant.conf? Saya tidak menggunakan file conf lagi karena ketika saya menaruh kredibilitas di sana itu tidak akan pernah terhubung ke SSID tersembunyi karena suatu alasan. BTW, SSID dan PSK itu tidak valid, meskipun saya akan menghapusnya karena itu adalah gangguan. Terima kasih.
Mikha

2
Saya telah mendaftarkan milik saya di atas. rahasia untuk menyembunyikan SSID adalahscan_ssid=1
Milliways

3

Seperti yang disarankan Anda dapat menggunakan wpa-roam, meskipun saya akan merekomendasikan untuk menggunakan manajer wicd atau jaringan. Mereka menangani semua pengaturan, mereka juga berurusan dengan banyak jaringan dan lebih ramah pengguna.

Misalnya wicd memiliki gui kutukan yang dapat Anda instal dengan:

sudo apt-get install wicd-curses

Dan jalankan dengan:

wicd-curses

1

mengalami masalah yang sama dengan putuskan ... harus dilakukan dengan adaptor nirkabel. Linksys ae3000 saya terputus setiap beberapa hari. Saya sedikit memodifikasinya untuk bekerja dengan kamera usb gerak saya dan berbagi nfs ditambah pemberitahuan email tambahan.

Entri crontab:

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

Skrip yang Dimodifikasi:

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

Saya mengubah pengaturan waktu dan semuanya mulai bekerja untuk saya.

Preferensi-> Konfigurasi Raspberry Pi-> Tab Pelokalan

Saya memastikan semua 4 opsi diatur dengan benar untuk lokasi saya.



0

Punya masalah yang sama, menyelesaikannya dengan membuat PI saya ping Google sekali setiap menit.

Lari sudo crontab -e

Tambahkan ini ke akhir file

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

Bukankah itu pada dasarnya sama dengan jawaban yang diterima?
Dirk

Intinya ya. Secara praktis, tidak. PI saya tidak terhubung kembali, karena tidak harus. OP juga, mungkin.
gromit190
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.