Domanda:
come disabilitare la gestione dell'alimentazione di raspberry pi?
Kenneth
2013-04-11 18:15:33 UTC
view on stackexchange narkive permalink

Sto usando il mio raspberry pi come server headless. Il problema è che dopo un paio d'ore di inattività sembra entrare in uno stato di sospensione dell'alimentazione in cui scompare dal web e rifiuta le connessioni ssh. Dopo averlo pungolato tramite ssh, ritorna dopo un paio di minuti e il tempo di attività informa che è stato vivo per tutto il tempo. Questo mi fa pensare che sia in vigore una sorta di schema di gestione dell'alimentazione, ma ho letto altri punti che il pi non è in grado di sospendere.

Qualcuno ha idea di cosa c'è che non va?


Aggiornamento:

Dopo aver passato molto tempo a cercare di capirlo, sembra una serie di problemi minori hanno aiutato:

  1. Configura postfix per non usare ipv6.
  2. Usa fail2ban per inserire nella lista nera i tentativi di accesso a ssh.
  3. Aggiorna il firmware sul router .

Tutti e tre gli elementi sembrano aver avuto un effetto positivo sul tempo di attività del pi greco. Ora è ragionevolmente stabile e non ho problemi di accesso per circa tre settimane.

Quale sistema operativo stai utilizzando?
anche se devo affrontare il fallimento occasionale di ssh quando uso il mio pi headless che alcuni tentativi risolvono quasi sempre.Uso shellinabox per accedere alla mia shell che sembra più veloce per qualche motivo non lo so.Non sono sicuro della sicurezza durante l'uso shellinabox ma accedo al mio pi principalmente dalla LAN.
Sono su una configurazione Raspbian standard (la scheda SD preinstallata) con tutto il materiale grafico rimosso.
Due risposte:
#1
+13
lornix
2013-06-02 22:43:08 UTC
view on stackexchange narkive permalink

Il dispositivo wireless entra in modalità di sospensione dopo un periodo di inattività. È uno schema di risparmio energetico.

È necessario disattivare la funzione di risparmio energetico di wlan0.

Sto utilizzando un ricevitore USB wireless edimax:

  Bus 001 Device 005: ID 7392: 7811 Edimax Technology Co., Ltd EW-7811Un Adattatore wireless 802.11n [Realtek RTL8188CUS]  

Utilizza il modulo 8192cu nel kernel.

Per disattivare il risparmio energetico, aggiungi quanto segue a / etc / modules, o crea un file (8192cu.conf) in /etc/modprobe.d/ con le righe:

  # impedisce lo spegnimento del wireless quando è inattivo 8192cu rtw_power_mgnt = 0 rtw_enusbss = 0  

Il prossimo riavvio (o rmmod / insmod) dovrebbe disabilitare la modalità sleepy e il tuo pi sarà sempre accessibile .

Creo il file per /etc/modprobe.d e fa parte di uno script che ho creato per eseguire la configurazione preliminare su una nuova build.

Non sto usando wlan. È collegato direttamente al router.
Hmm, l'unica altra cosa è consigliare di utilizzare un cavo USB di buona qualità per alimentare il pi. (più corto è anche meglio) Ho avuto problemi con la "scomparsa" delle mie unità che si sono interrotte quando ho usato un cavo decente invece di uno dei miei pochi economici. Il pi è _molto_ sensibile alle cadute di tensione. Immagino che se avessi un cavo USB economico e un 6V 1 + A p / s staresti bene, ma la tensione standard 5V 1 + A p / s scende sotto la soglia di pi a causa delle perdite I2R nel cavo USB.
1. Hai solo bisogno di `rtw_power_mgnt = 0` 2. Puoi verificare che abbia effetto con` cat / sys / module / 8192cu / parameters / rtw_power_mgnt`, che dovrebbe restituire 0.
#2
+5
goldilocks
2013-04-11 18:53:55 UTC
view on stackexchange narkive permalink

L'hardware raspberry pi ha nessuna capacità di gestione dell'alimentazione . Periodo. Fine della storia. Non dispone di una modalità di sospensione o sospensione. Non può nemmeno essere spento. C'è alimentazione (collegata) o non c'è (non collegata).

Quando si spegne il sistema, il software si ferma, il che significa che ora non c'è modo di farlo fare di nuovo qualcosa. Tuttavia, lo "stato di alimentazione" dell'hardware è sempre lo stesso (perché ha solo uno stato, attivo).

Quindi qualunque sia il tuo problema, non è quello. Potresti voler guardare i tuoi registri per vedere se è successo qualcos'altro durante il tempo di inattività della rete, ad esempio (sto speculando), se hai cose collegate alle porte USB che sono vicino ai limiti di 150 pi Uscita mA, quella cosa potrebbe guastarsi in modo intermittente e, se si tratta di un dongle wifi, il sistema dovrà quindi attendere fino a quando l'interfaccia non riappare. Vedresti molte prove che in / var / log / syslog o /var/log/messages.

Se è di consolazione, io usa il pi headless su una WLAN e non spegnerlo molto spesso, ed è stato abbastanza impeccabile. Uso questa metodologia per assicurarmi che la connessione rimanga attiva; sbirciando il registro corrente, ha dovuto ricollegarsi solo due volte nelle ultime 48 ore. Tuttavia, ne faccio un uso abbastanza leggero, forse occasionalmente c'è un grosso download, ecc., Ma non è un traffico costante (più si accede più possibilità ci sono che qualcosa fallisca, quindi non posso dire quanto sia affidabile servirebbe un caffè pieno di gente tutto il giorno). Inoltre, ce l'ho su un hub da 3,8 A e l'unica cosa collegata direttamente all'USB del pi è un dongle wifi "nano".

Ok, l'alimentazione non dovrebbe essere un problema. Sto usando un alimentatore da 1A e l'unica cosa collegata al pi è un disco rigido USB che funziona con il proprio alimentatore. Mi sto collegando direttamente al router usando la LAN sul pi, quindi niente dongle. L'unica cosa in syslog che non dovrebbe esserci è un avviso su IPv6 che dovrebbe essere disabilitato. Niente sul potere. Penso che il tuo approccio allo scripting sembri una buona strada da percorrere. Proverò a provarlo domani.
Ho modificato la mia domanda per descrivere ciò che ho trovato. Poiché non ho trovato una singola soluzione definitiva al problema, contrassegnerò la tua risposta come corretta in quanto mi ha davvero messo sulla strada per risolverlo. Grazie per l'aiuto.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...