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

Próxima revisión
Revisión previa
informatica:software:cli:rtcwake [2022/09/07 18:30] – creado 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 =====
 +
 +''rtcwake'' permite los siguientes modos (parámetro ''m'' o ''mode''):
 +
 +  * ''freeze'': se paralizan los procesos y se suspenden los dispositivos, el sistema sigue en ejecución.
 +  * ''mem'': suspende el equipo (contenido a RAM). Estado ''S3'' de ACPI.
 +  * ''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 =====
 +
 +El siguiente comando suspenderá el equipo y lo arrancará tras 30 segundos:
 +
 +<code>
 +rtcwake -m mem -s 30
 +</code>
 +
 +===== Apagar y arrancar =====
 +
 +El siguiente comando apagará el equipo y lo arrancará tras 60 segundos:
 +
 +<code>
 +rtcwake -m off -s 60
 +</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.1662568226.txt.gz · Última modificación: por tempwin