Wi-Fi відключається через деякий час на Raspberry Pi, не підключається знову


15

Нарешті я зміг підключити свій Raspberry Pi до прихованої мережі SSID (WPA2 Personal) за допомогою наведених нижче параметрів (не використовуючи wpa_supplicant.conf).

Однак через кілька годин він відключається і не підключається знову.

  • Raspberry Pi B +, працює з NOOBS.
  • WiFi-карта, що працює на 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 / network /

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що повинно вирішити вашу проблему
Шан-Дезай

@ Рішення Шен-Дезай вирішило мою проблему. Моя малина 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
Андрій

@Andrew Я здогадуюсь, що в іншому випадку просто нічого не робити. І якщо ifupнічого не робити, це також не викликає автоматичне підключення. Або це причина, або було легше кодувати це таким чином, ніж перевіряти, чи не буде працювати інакше.
lucidbrot

У моєму випадку частина підключення здається непотрібною. Pinging Google щохвилини підтримує зв’язок на 100% стабільним.
gromit190

6

Це очікувана поведінка; Wi-Fi не можна гарантувати 100% часу.

Це стосується Raspbian Wheezy до 2015-05-05 для подальшого (та Джессі) Див. Як встановити мережеві / Wi-Fi / Статичний IP

Якщо ви хочете, щоб він автоматично підключався після втрати підключення, використовуйте wpa-roamспільно зwpa_supplicant.conf)

PS Опублікувати свої SSID та PSK недоцільно

/ і т.д. / мережа / інтерфейси

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 чомусь. До речі, SSID та PSK недійсні, хоча я їх видаляю, оскільки вони відволікають. Спасибі.
Міка

2
Я перерахував шахту вище. секрет прихованого SSID полягає вscan_ssid=1
Milliways

3

Як було запропоновано, ви можете використовувати wpa-roam, хоча я б рекомендував використовувати wicd або мережевий менеджер. Вони дбають про всі налаштування, вони також працюють з кількома мережами і більш зручні для користувачів.

Наприклад, wicd має gui curses, який можна встановити за допомогою:

sudo apt-get install wicd-curses

І бігайте з:

wicd-curses

1

виникали ті ж проблеми з відключенням ... це стосується бездротового адаптера. Мій linkys 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-> Вкладка локалізації

Я переконався, що всі 4 варіанти встановлені правильно для мого місцезнаходження.



0

З тією ж проблемою я вирішив її, роблячи свій PI пінг Google раз на хвилину.

бігати sudo crontab -e

Додайте це до кінця файлу

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

Хіба це не те саме, що прийнята відповідь?
Дірк

По суті, так. Практично ні. Мій ІП не з’єднується, оскільки цього не потрібно. Мабуть, також і ОП.
gromit190
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.