Режим сну Raspberry Pi, як уникнути


32

Я використовую "wheezy" останнього випуску. Пристрій надає деякі функції веб-сервісу та передбачає бути активним 24/7. Однак якщо сервер не вимагали протягом певного часу (важко сказати точний час), пристрій схоже спати (сподіваємось, не вийде з ладу). Пристрій підключено до мережі за допомогою wi-fi dongle. Тут я знайшов кілька відповідей, що причиною замерзання пристрою може бути те, що Wi-Fi карта працює в економічному режимі, тому я слідував інструкціям і можу підтвердити, що ключ не засинає, але він починає блимати, як не відвідувати комп’ютер. це означає, що пристрій все ще перебуває уві сні, хоча wi-fi прокинувся. Таке рішення, як придбати черговий малиновий пі та зробити так, щоб він постійно передавав сон, не працює, оскільки лише сервер, який отримує запити, заважає пристрою спати. Намагання опитати щось із пристрою не перешкоджає переходу у сплячий режим. Я фактично не можу підтвердити, що пристрій лягає спати. У мене немає монітора чи клавіатури, і я намагаюся долучити щось до перезавантаження пристрою. Тому я зараз не знаю, що може спричинити поведінку. І так, я застосував усі засоби запобігання збоїв ОС, оскільки немає турбо та збільшив мінімальний об'єм пам'яті VM.


чи є щось у файлах / var / log, що показує, що щось відбувається, переходить у режим сну, пристрій вимикається?
колін

2
Щодо нащадків, зауважте, що апаратне забезпечення pi не має режиму сну, призупинення тощо . Це або працює, або ні. Якщо він підключений до мережі, світлодіодний індикатор живлення буде увімкнено.
goldilocks

Це не лише ваш wi-fi ключ. У мене підключений через його порт Ethernet для обслуговування веб-запитів, і він «засинає» (або щось близьке до цього стану) через деякий час і більше не буду подавати запити. Якщо я натисну якусь клавішу, щоб її розбудити, вона почне працювати знову. Але це біль, тому що єдиний раз, коли мені це потрібно для обслуговування запитів, це коли я не там, щоб прокинутись.

У мене ця проблема пі, мабуть, лягала спати. Я можу статися кожні кілька хвилин і може тривати близько 20 секунд. Це видно, коли я намагаюся отримати доступ до файлу через спільний доступ Samba або коли я входжу в Pi в Pi - все просто припиняється. Я подумав, що це може бути Пі, який перебуває під навантаженням, тому я побіг "наверх". Не було доказів великого навантаження. Однак я виявив, що, працюючи вгорі, Пі працював чудово. Доступ до файлів був швидким, а в SSH-з’єднаннях не було перебоїв. Отже, я не можу сказати, що викликає цю проблему, але це не великі вимоги до процесора, навпаки, Pi
Brian

Відповіді:


9

Я використав прості кроки, і це прекрасно спрацювало для мене:

  1. Відкрийте кореневий термінал у малині Pi. Тепер вам потрібно відредагувати свій сценарій, який починається з X. У збірці за замовчуванням з lightdm.

  2. Відкрийте файл "lightdm.conf", розташований у,

    /etc/lightdm/lightdm.conf

  3. Додайте нижній рядок до розділу SeatDefault(або Seat:*в новіших версіях LightDM).

    [SeatDefaults]

    xserver-command = X -s 0 -dpms

  4. Перезавантажте Raspberry Pi.

Тепер питання слід вирішити.

Джерело посилання: http://chamaras.blogspot.com/2013/03/how-to-deactivate-monitor-sleep-in.html


1
Ласкаво просимо до обміну стеками. Тут ми очікуємо, що відповіді стоять самостійно, а не просто посиланнями на зовнішні джерела. Якщо ви можете додати відповідну інформацію у свою відповідь, тоді це буде набагато краще.
Jivings

Будь ласка , додайте інформацію , яка знаходиться на цьому сайті: посилання НЕ прийнятні відповіді.
xxmbabanexx

1
дякую за найкращу відповідь, творить чудеса навіть у 2017 році
Sverre

8

Щось не так. Пі не має "режиму сну".

У мене пі було лише кілька тижнів, і я не залишав його весь час, але я маю намір врешті-решт, і я залишив його на кілька довгих часів. У мене працює розп'ян, і у мене є особиста неприязнь до NetworkManager, lol, так що його вимкнено. Щоб підтримати Wi-Fi, я запускаю сценарій, який коментує роутер кожні п'ять секунд Якщо пінг не вдається, він вбиває поточний dhcpcd і намагається налаштувати wifi знову кожні 5 секунд, поки це не вдасться. Він реєструє спроби, і насправді працює вже понад 24 години, не потребуючи повторного підключення, і коли я переходжу до ssh, немає проблем.

Ви вже говорили: "Намагання опитати щось із пристрою не перешкоджає переходу у сплячий режим", тому тут я можу сказати лише про те, що у моєї явно немає цієї проблеми, тому щось не так.

Ви кажете, що йде «спати», але це здається, що вам насправді доводиться перезавантажуватися. Чому ти вважаєш, що спить? AFAICT, пі не може спати, у нього немає такої можливості. Гулячи навколо, схоже, є певна плутанина щодо цього у людей, які мають такі проблеми, як у вас.

Майте на увазі, що є червоний світлодіод, який увімкнено, коли підключено живлення, незалежно від того, працює чи ні. Але пі або завантажується, і працює, або зупиняється, у ньому немає режиму сну, очікування, сплячого режиму тощо .

Тож ваш пі або розбився, зупинився, або перебуває в якомусь помилковому замороженому стані. Почуваєте, чи не злегка тепло, що вказує на те, що процесор перебуває у вічному зайнятому циклі (одна причина, на яку він може бути, але не відповідає).

Я здогадуюсь, що одна з причин, по якій ви вважаєте, що це спить, полягає в тому, що "спроба приєднати щось викликає перезавантаження пристрою". Це може статися, коли пристрій повністю зупинено (спробуйте); це тому, що деякі пристрої призведуть до короткого падіння напруги (але див. ПРИМІТКА) при першому підключенні, що означає відключення пі, а потім підключення його знову - що, як ви знаєте, підключення до нього призводить до завантаження. Мій нано розмір wifi dongle зробить це.

ПРИМІТКА: Насправді наші пі були, ймовірно, зроблені з минулого серпня, коли поліфузи замінені на "шорти" - я знаю дуже мало про електронні компоненти або електрику, але очевидно, що WRT для перезавантаження з usb-пристроїв залишається тим самим .


6

Я знаю, що це давнє запитання, але це був перший результат, який з’явився в моєму пошуку, коли у мене було по суті та ж проблема на моєму щойно встановленому Pi Zero.

Я знайшов ключ до своєї відповіді на це інше питання , серед інших джерел.

В основному, хоча сам Pi не має режиму сну, окремі пристрої в Linux (включаючи мережеві адаптери) можуть. Коли я спробував запустити команду, iw wlan0 get power_saveяк було сказано вище, спочатку я постійно отримував помилку. Це було виправлено оновленням ОС:

sudo apt-get update && apt-get upgrade

Потім я перезавантажив: sudo reboot now

Після цього iwкоманда перевірила, що режим power_save дійсно увімкнено. Отже, я вимкнув це:

sudo iw wlan0 set power_save off

Відтоді все нормально. Мій екран перейде в режим сну, але мережеве з'єднання залишається активним, і я можу перейти на свій Pi навіть після того, як він деякий час не працює.


1
Голова вгору, мені потрібно було користуватися sudo iw dev wlan0 set power_save off(дев потрібно було там)
n0nag0n

Цей для мене не працює. Навіть незважаючи на те, що мій пристрій wlan0command failed: No such device (-19)
Wlan

@ n0nag0n Я можу підтвердити, що iwочікує devабо phyдругого аргументу, або залежно від того, як ви посилаєтесь на бездротовий пристрій. Я також додам, що команда, ймовірно, повинна бути запущена після кожного перезавантаження.
Дмитро Григор’єв

5

Це здається, що ваш Wi-Fi ключ починає пульсувати, як ноутбук у режимі очікування, але ви не підтвердили, що Pi вже вимикається. Я переживаю те саме питання.

Я спробував це, але не застосовував його досить довго, щоб знати, чи вирішив це моє конкретне питання: https://raspberrypi.stackexchange.com/a/4518/4271


1

Я перевірив би проблеми з живленням. Прикріплення пристроїв, що викликають перезавантаження RPI, не виглядає пов'язаним з будь-яким режимом сну.

Як швидкий тест, я зробив би це - напишіть невеликий сценарій (python / повинен, що є зручнішим) і змусити його надіслати просту електронну пошту "Я хороший" і помістити її у вашу crontab, щоб виконувати кожні 30 хвилин або близько того подивіться, як це йде.


0

Цікаво, чи переживаю я щось подібне. Мене зацікавив би набір мікросхем, який має ваш dongle, і драйвер, який ви використовуєте?

У мене є один на основі чіпа RT3072, що використовує драйвер rt2800usb / cfg80211. Якщо я запускаю це в головному режимі, тобто в точці доступу, або як звичайний клієнт до точки доступу / маршрутизатора, це виглядає так, ніби він переходить у сон і потребує певного часу, щоб відповісти. Я налаштував свій ноутбук на пінг пі через адаптер wifi приблизно через 1 секунду. Я підтвердив, що в режимі Master і Client час від часу пінг замикається ~ 5-10 секунд в режимі клієнта і 5 - 25 секунд в режимі Master. У головному режимі час очікування був набагато гіршим, якщо я запускав AP в 'n режимі' з включеними HT та WMM в hostapd.conf. У режимі "g" це було не так близько, як поруч.

Я експериментував з іншим Wi-Fi-донглом, використовуючи чіп RTL8188SU з драйвером постановки r8712u. На жаль, мені не вдалося запустити це в режимі Master, але, як клієнт, він був набагато стабільнішим, ніж RT3072.

У режимі 3072 в клієнтському режимі не було типової затримки пінг - вони були випадковими від 2 мс - 320 мс із випадковим тайм-аутом. Для 8188SU типова затримка пінг становила 2-3 мс з періодичною затримкою 166-200 мс затримки - відсутні видимі очікування. Особливо дивно було те, що якщо я відкрив ssh-сеанс для pi та встановив верхній час, що працює на 0,01 сек. - тому було досить багато завантаження процесора та "багато" трафіку через wifi, продуктивність 3072 була значно покращена рази пінг, як правило, 2-3 мс. Навантаження подібно вплинуло на 3072, що працюють в режимі Master.

Я не знаю, що відбувається, але мені було б найбільше цікаво, якби інші користувачі могли взяти час зробити аналогічний тест ping на їх пі та повідомити про свої висновки разом із конфігурацією та драйверами. Було б цікаво, якщо інші виявлять поганий і випадковий час відгуку буде покращено, завантаживши процесор / wifi-трафік, використовуючи верхній, як я зробив, або скажіть, знайти що-небудь, що створює певну роботу та tcp / ip-трафік по Wi-Fi.


Це насправді не відповідь, проте він має досить детальний зміст, який, ймовірно, не вміститься у розділі коментарів до початкового запитання
kolin

Дякую за підказку kolin - я новачок на цьому форумі і ще не все зрозумів!
Іво

Я спробував реалізувати відповідь Стефанса - відключення управління живленням (для драйверів cfg80211 / mac80211 ви можете використовувати iw wlan0 встановити power_save off), і це зробило дуже велику різницю в клієнтському режимі - випадкові затримки пінг зараз досить стійкі на 2-3 мс і ще немає очікувань. Це не допомогло в режимі AP (power_save off не є варіантом для мого пристрою), але я не думаю, що це джерело проблеми в режимі AP, оскільки час пінгу, як правило, стабільний. Щось ще спричиняє тайм-аути. Незрозуміло, чи була конфігурація в оригінальному питанні для клієнта чи режиму AP.
Іво

0

Тільки для інформації, у мене було це питання, тому я шукав тут рішення і знайшов це питання.

Однак пізніше я дізнався, що це просто мій Пі, який перегрівався зовнішнім виглядом речей. Одного разу я вийняв це зі своєї справи. Здається, проблема втратила чинність


0

Для мене це працювало шляхом редагування /etc/X11/xinit/xserverrcта зміни

exec /usr/bin/X -nolisten tcp "$@"

по

exec /usr/bin/X -s 0 dpms -nolisten tcp "$@"

Я використовую Raspbian "wheezy", і я починаю свій X сеанс з startx.

Джерело: http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18200


-1

Хоча я погоджуюся з @goldilocks про те, що пі-пристрій не має функції сну, ядро ​​все ще може вимкнути конкретний ввід / вивід під час роботи пристрою. Саме через це міркування ви можете спробувати наступне редагування у файлах KBD та перезавантажте пристрій:

Зробіть таке редагування в / etc / kbd / config: POWERDOWN_TIME = 0


-1

Я припускаю, що ви визначаєте сон, як екран, що вимикається. Це те, що я знайшов працювати:

sudo setterm -powersave off

У запитанні конкретно зазначено: "У мене немає монітора чи клавіатури".
Дмитро Григор’єв

Якщо він підключений до мережі, плакат може просто заграти. Чому голос "за"?
Аллан Као
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.