Herramientas de usuario

Herramientas del sitio


informatica:software:cli:rtcwake

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:software:cli:rtcwake [2022/09/07 18:38] tempwininformatica:software:cli:rtcwake [2025/05/26 13:09] (actual) – [Recursos] tempwin
Línea 9: Línea 9:
 </WRAP> </WRAP>
  
 +===== Requisitos =====
 +
 +Para poder usar este programa es necesario que el hardware soporte el encendido por RTC (//wake up alarm//, lo llaman en algunos sitios). Una forma de verificarlo, es desde el equipo Linux que queremos usarlo, buscar en los mensajes del sistema:
 +
 +<code>
 +# dmesg | grep -i rtc
 +
 +[mié sep  7 18:22:09 2022] PM: RTC time: 16:22:09, date: 2022-09-07
 +[mié sep  7 18:22:09 2022] rtc_cmos 00:01: RTC can wake from S4
 +[mié sep  7 18:22:09 2022] rtc_cmos 00:01: registered as rtc0
 +[mié sep  7 18:22:09 2022] rtc_cmos 00:01: setting system clock to 2022-09-07T16:22:10 UTC (1662567730)
 +[mié sep  7 18:22:09 2022] rtc_cmos 00:01: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
 +</code>
 +
 +En el ejemplo anterior, nos indica que se podría arrancar desde el estado de "sueño" ACPI S4, es decir, desde un apagado total. 
 +
 +Los **estados de energía** del sistema son:
 +
 +  * **S0**: estado normal, encendido.
 +  * **S1**: en espera, la CPU no trabaja.
 +  * **S2**: "dormido". La CPU no tiene alimentación, pero la RAM sí. Raramente se implementa.
 +  * **S3**: suspensión a RAM con muy poca alimentación.
 +  * **S4**: suspensión a disco (hibernación)
 +  * **S5**: apagado total.
 ===== Funcionamiento ===== ===== Funcionamiento =====
  
 ''rtcwake'' permite los siguientes modos (parámetro ''m'' o ''mode''): ''rtcwake'' permite los siguientes modos (parámetro ''m'' o ''mode''):
  
-  * ''mem'': suspende el equipo (contenido a RAM). +  * ''freeze'': se paralizan los procesos y se suspenden los dispositivos, el sistema sigue en ejecución. 
-  * ''disk'': hiberna el equipo (contenido a disco). +  * ''mem'': suspende el equipo (contenido a RAM). Estado ''S3'' de ACPI
-  * ''off'': apaga el equipo.+  * ''disk'': hiberna el equipo (contenido a disco). Estado ''S4'' de ACPI
 +  * ''off'': apaga el equipo. Estado ''S5'' de ACPI. 
 +  * ''no'': solo establece la hora en que despierta el sistema. Se supone que será el usuario (o alguna tarea programada) quien apague/suspenda el equipo. 
 +  * ''on'': Es un modo que tampoco suspende y es utilizado para depuración de programas. 
 +  * ''disable'': Deshabilita una alarma programada. 
 +  * ''show'': muestra información de la alarma configurada. 
 + 
 +<WRAP center round info 60%> 
 +Para ver los modos disponibles, ejecutamos ''rtcwake'' con la opción ''%%--%%list-modes'': 
 + 
 +<code bash> 
 +rtcwake --list-modes 
 +</code> 
 +</WRAP> 
 + 
 + 
 +Si usamos la opción ''n'' podemos hacer una simulación. Esto es útil para verificar la ejecución del programa. Por ejemplo: 
 + 
 +<code> 
 +# rtcwake -m off --date +1hours -n 
 +rtcwake: wakeup from "off" using /dev/rtc0 at Sun Sep 11 22:32:03 2022 
 +</code> 
 + 
 +<WRAP center round info 60%> 
 +Realmente lo que hace ''rtcwake'' es escribir en el fichero ''/sys/class/rtc/rtc0/wakealarm'' un valor en //Unix epoch time// (segundos transcurridos desde 01/01/1970) que corresponde a la fecha y hora en que despertará al sistema. También se puede ver información sobre RTC en ''/proc/driver/rtc'' 
 +</WRAP>
  
 ===== Suspender y arrancar ===== ===== Suspender y arrancar =====
Línea 32: Línea 81:
 rtcwake -m off -s 60 rtcwake -m off -s 60
 </code> </code>
 +
 +Establecer una hora y fecha de encendido y después apagar:
 +
 +<code>
 +rtcwake -m off --date 20221011080000
 +</code>
 +
 +Apagará el equipo y lo encenderá a las 8:00 del 11/10/2022 siempre que el sistema tenga la misma hora que el RTC (usar la opción ''-n'' para hacer simulación y verificar)
 +===== Recursos =====
 +
 +  * [[https://docs.microsoft.com/es-es/windows-hardware/drivers/kernel/system-power-states|Estados de energía del sistema]] (Microsoft Docs)
 +  * [[https://www.linux.com/training-tutorials/wake-linux-rtc-alarm-clock/|Wake Up Linux With an RTC Alarm Clock]]
 +  * [[https://www.epochconverter.com/|Epoch Converter]]: Convierte Epoch a fecha "humana" y viceversa.
informatica/software/cli/rtcwake.1662568704.txt.gz · Última modificación: por tempwin