4. Administración de energía

Desgraciadamente no existe un soporte demasiado bueno en FreeBSD. Si tiene suerte algunas características pueden ser funcionales mientras que otras no lo serán en absoluto.

Para complicar un poco más las cosas hay dos estándares de administración de energía, APM y ACPI. El segundo se hizo para sustituír el primero e incluye nuevas características pero también más problemas.

Algunos portátiles soportan tanto APM como ACPI (hasta cierto punto) mientras que otros sólo soportan uno de ellos así que no tendrá más remedio que experimentar con ambos para saber si dispone de administración de energía y hasta qué punto.

Nota: No puede tener APM y ACPI activados simultáneamente, aunque su portátil soporte ambos.

4.1. APM

Una BIOS con APM (Advanced Power Management, Administración Avanzada de Energía) provée de soporte para diversas características de administración de energía tales como “standby”, suspensión, hibernación, reducción de la velocidad del reloj de la CPU, etc. y existe tanto en FreeBSD 4.X como en FreeBSD 5.X.

Para activar el soporte de APM deberá compilar su kernel: añada device apm0 en FreeBSD 4.X y device apm en FreeBSD 5.X. El soporte APM como módulo existe en FreeBSD 5.X; para cargarlo en el arranque añada la línea apm_load="YES" al fichero /boot/loader.conf.

En FreeBSD 5.X tendrá que asignar hint.apm.0.disabled="0" en el fichero /boot/device.hints.

APM puede activarse en el arranque añadiendo apm_enable="YES" en el fichero /etc/rc.conf. El daemon apmd(8) se puede lanzar añadiendo apmd_enable="YES" al fichero /etc/rc.conf, que se encarga de transmitir ciertos eventos a la BIOS, de manera que sea posible suspender/reanudar presionando alguna tecla concreta o al abrir y al cerrar la pantalla.

Los comandos APM figuran en la página man de apm(8). Por ejemplo apm -b suministra el estado de la batería (o 255 si no está soportado), apm -Z pone el portátil en “standby”, apm -z (o zzz) lo suspende. Para apagar el sistema use shutdown -p. Le recordamos una vez más que alguna o incluso todas éstas funciones pueden no funcionar del todo bien o incluso no hacerlo en absoluto.

Es posible que la suspensión o el modo “standby” funcione en consola pero no en X (esto es, la pantalla no se recupera). Si usa FreeBSD 5.X una posible solución es añadir options SC_NO_SUSPEND_VTYSWITCH al fichero de configuración de su kernel y que lo recompile. Otra forma de solucionarlo es cambiar a otra consola virtual (mediante Ctrl+Alt+F1 u otra tecla de función) y ejecutar apm(8). Si está usando apmd(8) puede automatizar esto con vidcontrol(1): edite /etc/apmd.conf y cámbielo del siguiente modo:

apm_event SUSPENDREQ {
 exec "vidcontrol -s 1 < /dev/console";
 exec "/etc/rc.suspend";
}

apm_event USERSUSPENDREQ {
 exec "vidcontrol -s 1 < /dev/console";
 exec "sync && sync && sync";
 exec "sleep 1";
 exec "apm -z";
}

apm_event NORMRESUME, STANDBYRESUME {
 exec "/etc/rc.resume";
 exec "vidcontrol -s 9 < /dev/console";
}

4.2. ACPI

ACPI (Advanced Configuration and Power Management Interface, Interfaz para la Administración de Energía y Configuración Avanzada) facilita no solo la administración de energía sino también la detección de hardware (sustituyendo la detección PnP y PCI). ACPI sólo está disponible en FreeBSD 5.X y está activado por defecto, así que no tiene que hacer nada especial para que funcione. Puede controlar el comportamiento de ACPI con acpiconf(8).

Desgraciadamente los fabricantes ponen a la venta sus portátiles con implementaciones ACPI defectuosas, haciendo que habilitar ACPI algunas veces genere más problemas que ventajas, hasta el punto de no poder siquiera arrancar FreeBSD en algunas máquinas con ACPI habilitado.

Si ACPI le está causando problemas debería comprobar si el fabricante de su portátil ha liberado una nueva versión de la BIOS que solucione alguno de esos problemas. Dado que la implementación de ACPI en FreeBSD está en constante evolución debería también actualizar su sistema; tal vez así sus problemas se solucionen.

Si desea deshabilitar ACPI añada hint.acpi.0.disabled="1" al fichero /boot/device.hints. ACPI puede deshabilitarse temporalmente en el “prompt” del arranque tecleando unset acpi_load en caso de tener problemas para arrancar una máquina con ACPI habilitado. FreeBSD 5.1-RELEASE y posteriores disponen de un menú en el arranque que controla cómo FreeBSD arranca. Una de las opciones que se suministran es la de dehabilitar ACPI. Para hacerlo simplemente seleccione 2. Boot FreeBSD with ACPI disabled (Arrancar FreeBSD con ACPI deshabilitado) en el menú.

4.3. Administración de Energía de la Pantalla

El sistema X window (XFree86) incluye administración de energía de la pantalla (consulte la página man de xset(1) y busque en ella “dpms”). Tendrá que investigar. Sin embargo tenga en cuenta que también esto funciona de manera muy poco fiable en portátiles: con frecuencia apaga la pantalla pero no apaga la retroiluminación.

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.