Himbeer-Pi-Schlafmodus, wie zu vermeiden

32

Ich verwende die neueste Version von "wheezy". Das Gerät bietet einige Webservice-Funktionen und soll rund um die Uhr aktiv sein. Wenn der Server jedoch für eine bestimmte Zeit nicht angefordert wurde (es ist schwer, die genaue Zeit zu bestimmen), scheint das Gerät in den Ruhezustand zu gehen (hoffentlich stürzt es nicht ab). Das Gerät ist über einen WLAN-Dongle mit dem Netz verbunden. Ich habe hier einige Antworten gefunden, dass ein Grund für das Einfrieren des Geräts sein kann, dass die Wi-Fi-Karte im Sparmodus ist. Daher habe ich die Anweisungen befolgt und kann bestätigen, dass der Dongle nicht in den Ruhezustand wechselt, sondern blinkt, als würde er nicht bedient Computer. Dies bedeutet, dass das Gerät immer noch in den Ruhezustand wechselt, obwohl WLAN aktiviert ist. Die Lösung, wie man ein anderes Himbeer-Pi kauft und es immer pingt, wenn man schläft, funktioniert nicht, da nur ein Server, der Anfragen erhält, verhindert, dass das Gerät in den Ruhezustand wechselt. Der Versuch, etwas vom Gerät abzufragen, verhindert nicht, dass der Schlafmodus aktiviert wird. Ich kann nicht bestätigen, dass das Gerät in den Ruhezustand wechselt. Ich habe keinen Monitor oder keine Tastatur angeschlossen und versuche, Probleme beim Neustart des Geräts zu beheben. Ich habe derzeit keine Ahnung, was das Verhalten auslösen kann. Und ja, ich habe alle Abhilfemaßnahmen angewendet, um Betriebssystemabstürze zu verhindern, und die minimale VM-Speichergröße erhöht.

Don Cesar D'Bazar
quelle
Gibt es irgendetwas in / var / log-Dateien, das anzeigt, dass etwas passiert, in den Ruhezustand geht oder das Gerät herunterfährt?
Kolin
2
Bitte beachten Sie, dass die Pi-Hardware keinen möglichen Schlaf-, Suspendierungs- usw. Modus hat . Es läuft entweder oder nicht. Wenn es eingesteckt ist, leuchtet die Power-LED in beide Richtungen.
Goldlöckchen
Es ist nicht nur Ihr Wi-Fi-Dongle. Ich habe meine über ihren Ethernet-Port verbunden, um Web-Anfragen zu bearbeiten, und sie "schläft ein" (oder etwas in der Nähe dieses Zustands) nach einiger Zeit und wird keine Anfragen mehr bearbeiten. Wenn ich einige Tasten drücke, um es aufzuwecken, funktioniert es wieder. Aber es ist ein Schmerz, weil ich es nur dann brauche, wenn ich nicht da bin, um es aufzuwecken.
Ich hatte das Problem, dass der Pi anscheinend schlafen geht. Ich kann alle paar Minuten passieren und kann etwa 20 Sekunden dauern. Es ist offensichtlich, wenn ich versuche, über Samba-Freigabe auf eine Datei zuzugreifen, oder wenn ich in den Pi SSHing - alles stoppt einfach. Ich dachte, dass es der Pi sein könnte, der unter Last war, also lief ich "oben". Es gab keine Anzeichen für eine starke Belastung. Ich stellte jedoch fest, dass der Pi beim Ausführen von "top" einwandfrei funktionierte. Der Zugriff auf Dateien verlief zügig und bei SSH-Verbindungen kam es zu keinem Ausfall. Also, ich kann nicht sagen, was dieses Problem verursacht, aber es sind keine hohen Anforderungen an die CPU, im Gegenteil, der Pi
Brian

Antworten:

9

Ich habe einfache Schritte benutzt und es hat bei mir perfekt funktioniert:

  1. Öffnen Sie ein Root-Terminal in Himbeer-Pi. Jetzt müssen Sie Ihr Skript bearbeiten, das X startet. Im Standard-Build mit lightdm.

  2. Öffnen Sie die Datei "lightdm.conf" in,

    /etc/lightdm/lightdm.conf

  3. Fügen Sie die folgende Zeile im Abschnitt SeatDefault(oder Seat:*in neueren LightDM-Versionen) hinzu.

    [SeatDefaults]

    xserver-command = X -s 0 -dpms

  4. Starten Sie Ihren Raspberry Pi neu.

Jetzt sollte das Problem behoben sein.

Quelllink: http://chamaras.blogspot.com/2013/03/how-to-deactivate-monitor-sleep-in.html

Chamara Silva
quelle
1
Willkommen bei Stack Exchange. Hier erwarten wir, dass Antworten für sich allein stehen, anstatt nur Links zu externen Quellen zu sein. Wenn Sie die relevanten Informationen in Ihre Antwort einfügen können, ist dies viel besser.
Jivings
Bitte fügen Sie die Informationen hinzu, die sich auf dieser Site befinden: Links sind keine akzeptablen Antworten.
xxmbabanexx
1
Vielen Dank für die beste Antwort, wirkt Wunder auch im Jahr 2017
Sverre
8

Irgendwas stimmt nicht. Das Pi hat keinen "Schlafmodus".

Ich hatte mein Pi nur ein paar Wochen und habe es nicht die ganze Zeit über verlassen, aber ich habe vor, es irgendwann zu tun, und ich habe es für einige lange Strecken belassen. Ich verwende Raspbian und ich habe eine persönliche Abneigung gegen NetworkManager, lol, das ist also deaktiviert. Um das WLAN aufrecht zu erhalten, führe ich alle fünf Sekunden ein Skript aus, das den Router anpingt. Wenn der Ping fehlschlägt, bricht er den aktuellen DHCP-Code ab und versucht, das WLAN alle 5 Sekunden neu einzurichten, bis es erfolgreich ist. Es protokolliert Versuche und ist in der Tat seit über 24 Stunden aktiv, ohne dass eine erneute Verbindung hergestellt werden muss. Wenn ich zu ssh gehe, gibt es keine Probleme.

Sie haben bereits gesagt: "Der Versuch, etwas vom Gerät abzufragen, verhindert nicht, in den Ruhemodus zu wechseln." Mein Punkt hier ist nur, dass meins offensichtlich dieses Problem nicht hat, also stimmt etwas nicht.

Sie sagen, es geht "schlafen", aber es klingt, als müssten Sie tatsächlich neu starten. Warum glaubst du, dass es schläft? AFAICT, der Pi kann nicht einschlafen, er hat keine solche Fähigkeit. Beim googeln scheint es einige Verwirrung darüber zu geben, von Leuten, die Probleme wie deine haben.

Denken Sie daran, dass eine rote LED leuchtet, wenn Strom angeschlossen wird, unabhängig davon, ob der Pi läuft oder nicht. Aber der pi wird entweder gestartet und läuft oder gestoppt, es hat keinen Schlaf, Standby, Ruhezustand etc. Modus .

Ihr Pi ist entweder abgestürzt, angehalten oder in einem fehlerhaften gefrorenen Zustand. Stellen Sie fest, ob es mehr als ein bisschen warm ist, was darauf hindeutet, dass sich der Prozessor in einer permanenten Besetzt-Schleife befindet (ein Grund, warum er möglicherweise eingeschaltet ist, aber nicht reagiert).

Ich vermute, ein Grund, warum Sie glauben, dass es schläft, ist, dass "ein Versuch, etwas anzuhängen, Probleme beim Neustart des Geräts verursacht". Dies kann passieren, wenn das Gerät vollständig angehalten ist (probieren Sie es aus). Dies liegt daran, dass einige Geräte beim erstmaligen Anschließen einen kurzen Spannungsabfall verursachen (siehe HINWEIS). Dies bedeutet, dass der Pi abgezogen und dann wieder eingesteckt wird. Wie Sie wissen, führt das Anschließen zum Hochfahren. Mein Wifi-Dongle in Nano-Größe wird dies tun.

HINWEIS: Tatsächlich wurden unsere Pi wahrscheinlich seit dem letzten August hergestellt, als die Polyfuses durch "Shorts" ersetzt wurden. Ich weiß sehr wenig über elektronische Komponenten oder Elektrizität, aber das Problem mit dem Neustart von USB-Geräten bleibt offensichtlich dasselbe .

Goldlöckchen
quelle
6

Ich weiß, dass dies eine alte Frage ist, aber es war das erste Ergebnis meiner Suche, als ich auf meinem frisch installierten Pi Zero im Wesentlichen das gleiche Problem hatte.

Ich habe unter anderem den Schlüssel zu meiner Antwort auf diese andere Frage gefunden .

Obwohl der Pi selbst anscheinend keinen Schlafmodus hat, können dies im Grunde genommen einzelne Geräte in Linux (einschließlich der Netzwerkadapter). Als ich versuchte, den Befehl iw wlan0 get power_savewie oben beschrieben auszuführen, wurde zunächst immer wieder eine Fehlermeldung angezeigt. Dies wurde durch ein Update des Betriebssystems behoben:

sudo apt-get update && apt-get upgrade

Dann habe ich neu gestartet: sudo reboot now

Danach iwüberprüfte der Befehl, ob der Stromsparmodus tatsächlich aktiviert war. Also habe ich es ausgeschaltet:

sudo iw wlan0 set power_save off

Seitdem ist alles in Ordnung. Mein Bildschirm wird in den Ruhezustand versetzt, aber die Netzwerkverbindung bleibt aktiv, und ich kann in meinen Pi sshen, auch wenn er eine Weile nicht benutzt wurde.

Dougal Campbell
quelle
1
Heads up, ich musste verwenden sudo iw dev wlan0 set power_save off(dev musste da
drin sein
Dieser funktioniert bei mir nicht. Auch wenn mein wlan Gerät gestattet wlan0ichcommand failed: No such device (-19)
gromit190
@ n0nag0n Ich kann bestätigen, iwdass entweder devoder phyals zweites Argument erwartet wird , je nachdem, wie Sie sich auf das drahtlose Gerät beziehen. Ich möchte auch hinzufügen, dass der Befehl wahrscheinlich nach jedem Neustart ausgeführt werden muss.
Dmitry Grigoryev
5

Es hört sich so an, als würde Ihr WLAN-Dongle wie ein Laptop im Standby-Modus pulsieren, aber Sie haben nicht bestätigt, dass der Pi selbst heruntergefahren wird. Ich habe das gleiche Problem.

Ich habe es versucht, habe es aber nicht lange genug angewendet, um zu wissen, ob es mein spezielles Problem gelöst hat: https://raspberrypi.stackexchange.com/a/4518/4271

Stefan Mohr
quelle
1

Ich würde nach Stromproblemen suchen. Das Anschließen von Geräten, die einen Neustart von RPI verursachen, wirkt sich nicht auf einen Schlafmodus aus.

Als schnellen Test würde ich dies tun - schreiben Sie ein kleines Skript (Python / soll, was auch immer handlicher ist) und lassen Sie es eine einfache "Ich bin gut" -E-Mail senden und in Ihre Crontab schreiben, um es alle 30 Minuten oder so auszuführen Schau wie es läuft.

abolotnov
quelle
0

Ich frage mich, ob ich etwas Ähnliches erlebe. Ich würde mich für den Chipsatz interessieren, den Ihr Dongle hat, und für den Treiber, den Sie verwenden?

Ich habe einen RT3072-Chip mit dem Treiber rt2800usb / cfg80211. Wenn ich dies entweder im Master-Modus, dh als Access Point, oder als normaler Client für einen Access Point / Router ausführe, sieht es so aus, als würde es in den Ruhezustand gehen und es dauert eine Weile, bis ich antworte. Ich richte meinen Laptop so ein, dass er im Abstand von ca. 1 Sekunde den Pi über den WLAN-Adapter anpingt. Ich habe bestätigt, dass sowohl im Master- als auch im Client-Modus das Ping-Zeitlimit im Client-Modus zwischen 5 und 10 Sekunden und im Master-Modus zwischen 5 und 25 Sekunden liegt. Im Master-Modus wurden die Zeitüberschreitungen erheblich verschlechtert, wenn ich den AP im 'n-Modus' mit HT und WMM in der hostapd.conf aktivierte. Es war nicht annähernd so schlimm im "g-Modus".

Ich habe mit einem anderen WLAN-Dongle mit dem RTL8188SU-Chip und dem r8712u-Staging-Treiber experimentiert. Leider konnte ich dies nicht im Master-Modus zum Laufen bringen, aber als Client war es viel stabiler als das RT3072.

Bei der 3072 im Client-Modus gab es keine typischen Ping-Verzögerungen - sie waren zufällig von 2 ms bis 320 ms mit gelegentlichem Timeout. Bei 8188SU betrug die typische Ping-Verzögerung 2-3 ms mit einer gelegentlichen Verzögerung von 166-200 ms - keine beobachtbaren Zeitüberschreitungen. Was besonders seltsam war, war, dass, wenn ich eine SSH-Sitzung zum Pi eröffne und das Top-Running auf 0,01 Sek. Einstelle - also ziemlich viel CPU-Auslastung und viel WLAN-Verkehr - die Leistung des 3072 mit erheblich verbessert wird Ping-Zeiten in der Regel 2-3ms. Das Laden hatte einen ähnlichen Effekt auf den 3072, der im Master-Modus arbeitete.

Ich weiß nicht, was los ist, aber es würde mich am meisten interessieren, wenn andere Benutzer sich die Zeit nehmen könnten, einen ähnlichen Ping-Test für ihren Pi durchzuführen und ihre Ergebnisse zusammen mit ihrer Konfiguration und ihren Treibern zu melden. Es wäre interessant, wenn andere finden, dass schlechte und zufällige Antwortzeiten verbessert werden, indem der Prozessor- / WLAN-Verkehr mit top geladen wird, wie ich es getan habe, oder wenn etwas gefunden wird, das Arbeit und TCP / IP-Verkehr über das WLAN erzeugt.

Ivo
quelle
Dies ist keine wirkliche Antwort, hat jedoch ausreichend detaillierten Inhalt, der wahrscheinlich nicht in den Kommentarbereich der ursprünglichen Frage
passt
Danke für den Hinweis kolin - ich bin neu in diesem Forum und habe noch nicht alles herausgefunden!
Ivo
Ich habe versucht, Stefans Antwort zu implementieren - das Ausschalten der Energieverwaltung (für cfg80211 / mac80211-Treiber können Sie iw wlan0 set power_save off verwenden), und es hat einen großen Unterschied im Client-Modus gemacht - zufällige Ping-Verzögerungen sind jetzt mit 2-3ms und ziemlich konstant noch keine Auszeiten Dies hat im AP-Modus nicht geholfen (power_save off ist bei meinem Gerät keine Option), aber ich glaube nicht, dass dies die Ursache für das Problem im AP-Modus ist, da die Ping-Zeiten im Allgemeinen sowieso stabil sind. Etwas anderes verursacht die Zeitüberschreitungen. Es ist nicht klar, ob die Konfiguration in der ursprünglichen Frage für den Client- oder den AP-Modus war.
Ivo
0

Nur zur Information, ich hatte dieses Problem, also suchte ich hier nach einer Lösung und fand diese Frage.

Jedoch später fand ich heraus, dass es nur mein Pi war, der durch das Aussehen von Dingen überhitzt wurde. Einmal habe ich es aus dem Koffer genommen. Das Problem scheint verschwunden zu sein

Ablueman
quelle
0

Bei mir hat es durch Bearbeiten /etc/X11/xinit/xserverrcund Ändern geklappt

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

durch

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

Ich benutze Raspbian "wheezy" und starte meine X-Sitzung mit startx.

Quelle: http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18200

Zengr
quelle
-1

Obwohl ich mit @goldilocks einverstanden bin, dass das pi-Gerät keine Sleep-Funktion hat, kann der Kernel bestimmte I / O-Vorgänge immer noch ausschalten, während das Gerät ausgeführt wird. Aus diesem Grund möchten Sie möglicherweise die folgende Bearbeitung in den KBD-Dateien versuchen und das Gerät neu starten:

Nehmen Sie die folgende Bearbeitung in / etc / kbd / config vor: POWERDOWN_TIME = 0

Hulkmeister
quelle
-1

Ich gehe davon aus, dass Sie das Schlafen als Ausschalten des Bildschirms definieren. Dies ist, was ich gefunden habe zu arbeiten:

sudo setterm -powersave off
Allan Cao
quelle
In der Frage heißt es speziell "Ich habe keinen Monitor oder keine Tastatur angeschlossen".
Dmitry Grigoryev
Wenn es mit dem Netzwerk verbunden ist, kann das Poster einfach eingeblendet werden. Warum stimmen Sie ab?
Allan Cao