Guía de Administración de Energía
1.
Introducción
La capacidad y el tiempo de vida de las baterías de un portátil han mejorado
mucho en los últimos años. No obstante, los procesadores modernos consumen
mucha más energía que los antiguos y cada generación de portátiles trae
consigo más dispositivos hambrientos de energía. Por eso es que la
Administración de Energía es más importante que nunca. Incrementar el
tiempo de duración de una batería no significa necesariamente comprar otra.
Mucho se puede lograr con tan sólo aplicar políticas inteligentes de
Administración de Energía.
Una rápida vista general
Por favor, observe que esta guía describe la Administración de Energía
para portátiles. Aunque algunas secciones pueden ser válidas
para servidores, otras no lo son e incluso pueden causar daño. Por favor,
no aplique nada de esta guía a un servidor a menos que realmente sepa lo
que está haciendo.
Como esta guía se ha convertido un poco larga, a continuación hay un corta vista
general que le ayudará a encontrar su camino a lo largo de ésta.
El capítulo de Prerrequisitos habla
acerca de algunos requerimientos que deberían cumplirse antes de que
funcione cualquiera de las siguientes secciones individuales de
dispositivos. Esto incluye los ajustes a la BIOS, configuración del
kernel y algunas simplificaciones en el área del usuario. Los
siguientes tres capítulos se enfocan en los dispositivos que
típicamente consumen más energía - procesador, pantalla y disco
duro. Cada uno puede ser configurado de forma separada. La Administración de Energía de la CPU muestra
cómo ajustar la frecuencia del procesador para ahorrar un máximo de
energía sin perder mucho rendimiento. Distintos trucos previenen a su
disco duro de trabajar innecesariamente más de lo usual en la sección
Administración de Energía del Disco
(disminuyendo el nivel de ruido como agradable efecto
secundario). Algunas notas sobre LAN inalámbricas y USB completan la
sección de dispositivos en Administración de
Energía para otros dispositivos mientras que otro capítulo está
dedicado (más experimentalmente) a los estados
de sueño. Última pero no menos importante está la sección de
Solución de problemas que lista los
errores comunes.
Presupuesto de Energía para cada componente
Ilustración 1.1: Presupuesto de Energía para cada componente |
 |
Casi toda componente puede operar en estados diferentes - apagada, durmiendo,
inactiva, activa por nombrar unos pocos - consumiendo una cantidad distinta de
energía. La mayor parte de la energía es consumida por la pantalla LCD, la CPU,
el chipset y los discos duros. Frecuentemente se puede activar la Administración
de Energía independiente del SO en la BIOS, pero una configuración inteligente
en los sistemas operativos que se adapta a situaciones diferentes puede lograr
mucho más.
2.
Prerrequisitos
Antes de discutir los detalles acerca de cómo hacer que los
dispositivos individuales sepan de sus propias capacidades de
Administración de Energía, asegúrese que se cumplan ciertos
requerimientos. Después de controlar los ajustes de la BIOS, algunas
opciones del kernel deben estar activadas - éstas son en resumen:
ACPI, estados de sueño y calibración de frecuencia de la CPU. Como el
ahorro de energía viene la mayoría de la veces junto a pérdida de
rendimiento o latencia incrementada, debería ser sólo activada cuando
se están usando las baterías. Aquí es cuando viene a mano un nuevo
nivel de ejecución llamado battery.
La parte de la BIOS
Primero demos una mirada a su configuración de Administración de Energía
en la BIOS. La mejor forma es combinar políticas de la BIOS y del sistema
operativo, pero por el momento es mejor desactivar la mayor parte referente a la
BIOS. Esto le asegura que no va a interferir con sus políticas. No olvide
revisar nuevamente su configuración de la BIOS luego de que haya configurado
el resto de las cosas.
Ajustando los parámetros USE
Por favor, revise que el parámetro USE acpi esté presente en el
fichero /etc/make.conf. Otros parámetros USE que pueden
ser interesantes para su sistema son: apm, lm_sensors,
nforce2, nvidia y pmu. Vea
/usr/portage/profiles/use*.desc para más detalles. Si
olvidó ajustar alguno estos parámetros, puede recompilar los paquetes
afectados usando el parámetro --newuse al usar emerge,
vea man emerge.
Configurando el núcleo
El soporte de ACPI (siglas en inglés de Configuración Avanzada e Interfaz
de Energía) en el núcleo aún está en progreso. Al usar un núcleo reciente se
asegurará de tener el soporte más actualizado.
Existen diferentes fuentes del núcleo en Portage. Le recomendamos usar
gentoo-sources o tuxonice-sources. La última contiene
parches para TuxonIce, vea el capítulo sobre los estados de sueño para más detalles. Al
configurar el núcleo, al menos active estas opciones:
Listado de Código 2.1: Configuración mínima del núcleo para la Administración de Energía (Núcleo 2.6) |
Power Management Options --->
[*] Power Management Support
[ ] Software Suspend
ACPI( Advanced Configuration and Power Interface ) Support --->
[*] ACPI Support
[ ] Sleep States
[ ] /proc/acpi/sleep (deprecated)
[*] AC Adapter
[*] Battery
<M> Button
<M> Video
[ ] Generic Hotkey
<M> Fan
<M> Processor
<M> Thermal Zone
< > ASUS/Medion Laptop Extras
< > IBM ThinkPad Laptop Extras
< > Toshiba Laptop Extras
(0) Disable ACPI for systems before Jan 1st this year
[ ] Debug Statements
[*] Power Management Timer Support
< > ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)
CPU Frequency Scaling --->
[*] CPU Frequency scaling
[ ] Enable CPUfreq debugging
< > CPU frequency translation statistics
[ ] CPU frequency translation statistics details
Default CPUFreq governor (userspace)
<*> 'performance' governor
<*> 'powersave' governor
<*> 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
<*> CPU frequency table helpers
<M> ACPI Processor P-States driver
<*> CPUFreq driver for your processor
|
Decida si quiere activar "Software Suspend" (Suspensión del Software),
"Suspend-to-Disk" (Suspender a Disco) y "Sleep States" (Estados de Sueño)
(ver más abajo). Si posee un portátil ASUS, Medion o Toshiba,
active la sección apropiada.
El núcleo debe saber cómo activar la calibración de la frecuencia de
la CPU en su procesador. Debido a que cada tipo de CPU tiene una
interfaz distinta, tiene que elegir el controlador apropiado para su
procesador. Tenga cuidado aquí, por ejemplo, al activar la
modulación del reloj de un Pentium 4 en un sistema Pentium M
llevará a resultados extraños. Consulte la documentación del núcleo si
no está seguro cuál elegir.
Compile su núcleo, asegúrese de que se carguen los módulos adecuados
al inicio y arranque su nuevo núcleo con ACPI activada. A continuación
ejecute emerge sys-power/acpid para obtener el demonio
acpi. Éste le informa sobre los eventos como el cambio de Corriente
Alterna a la batería o al cerrar la tapa del portátil. Verifique que
estén cargados los módulos si es que no los compiló en el núcleo e
inicie acpid mediante /etc/init.d/acpid start. Ejecute
rc-update add acpid default para cargarlo al inicio. Pronto
verá cómo usarlo.
Listado de Código 2.2: Instalando acpid |
# emerge sys-power/acpid
# /etc/init.d/acpid start
# rc-update add acpid default
|
Creando un nivel de ejecución "battery"
La política por defecto será activar la Administración de Energía sólo
cuando se necesite, al usar baterías. Para que sea conveniente el cambio
entre Corriente Alterna y batería, haga un nivel de ejecución battery que
contenga todos los guiones que inician y detienen la Administración de
Energía.
Nota:
Puede saltarse con seguridad esta sección si no le agrada la idea de tener otro
nivel de ejecución. No obstante, al saltarse este paso hará que el resto sea más
complicado de configurar. Las siguientes secciones asumen que existe el nivel de
ejecución battery.
|
Listado de Código 2.3: Creando el nivel de ejecución battery |
# cd /etc/runlevels
# cp -a default battery
|
Listo. Su nuevo nivel de ejecución battery contiene todo tal como el
default, pero todavía no existe un cambio automático entre ellos. Es hora
de cambiar eso.
Reaccionando a los eventos de ACPI
Entre los típicos eventos de ACPI están el cerrar la tapa del
portátil, cambiar la fuente de energía o presionar el botón para
dormir. Un evento importante es el cambiar la fuente de energía, que
debería gatillar un cambio del nivel de ejecución. Un pequeño guión
se encargará de esto.
Primero necesita un guión que cambie el nivel de ejecución a
default y respectivamente a battery dependiendo de la
fuente de energía. El guión usa el comando on_ac_power de
sys-power/powermgmt-base - asegúrese de que el paquete está
instalado en su sistema.
Listado de Código 2.4: Instalando powermgt-base |
# emerge powermgmt-base
|
Ahora puede determinar la fuente de energía ejecutando on_ac_power
&& echo AC available || echo Running on batteries en una
shell. El guión de abajo es el responsable de cambiar los niveles de
ejecución. Guárdelo como
/etc/acpi/actions/pmg_switch_runlevel.sh.
Listado de Código 2.5: /etc/acpi/actions/pmg_switch_runlevel.sh |
#!/bin/bash
RUNLEVEL_AC="default"
RUNLEVEL_BATTERY="battery"
if [ ! -d "/etc/runlevels/${RUNLEVEL_AC}" ]
then
logger "${0}: Runlevel ${RUNLEVEL_AC} does not exist. Aborting."
exit 1
fi
if [ ! -d "/etc/runlevels/${RUNLEVEL_BATTERY}" ]
then
logger "${0}: Runlevel ${RUNLEVEL_BATTERY} does not exist. Aborting."
exit 1
fi
if on_ac_power
then
if [[ "$(</var/lib/init.d/softlevel)" != "${RUNLEVEL_AC}" ]]
then
logger "Switching to ${RUNLEVEL_AC} runlevel"
/sbin/rc ${RUNLEVEL_AC}
fi
elif [[ "$(</var/lib/init.d/softlevel)" != "${RUNLEVEL_BATTERY}" ]]
then
logger "Switching to ${RUNLEVEL_BATTERY} runlevel"
/sbin/rc ${RUNLEVEL_BATTERY}
fi
|
No olvide correr chmod +x
/etc/acpi/actions/pmg_switch_runlevel.sh para que el guión sea
ejecutable. La última cosa que debe ser hecha es llamar al guión
siempre y cuando la fuente de energía cambie. Esto se hace capturando
los eventos ACPI con la ayuda de acpid. Primero necesita saber
qué eventos son generados cuando cambia la fuente de energía. Los
eventos se denominan ac_adapter y battery en la mayoría
de los portátiles, pero puede ser diferente en el suyo.
Listado de Código 2.6: Determinando los eventos ACPI para cambiar la fuente de energía |
# tail -f /var/log/messages | grep "received event"
|
Ejecute el comando de arriba y saque el cable de energía del
portátil. Debería ver algo como esto:
Listado de Código 2.7: Salida de muestra para cambios de fuente de energía |
[Tue Sep 20 17:39:06 2005] received event "ac_adapter AC 00000080 00000000"
[Tue Sep 20 17:39:06 2005] received event "battery BAT0 00000080 00000001"
|
La parte interesante es la cadena entre comillas después de
received event. Esta será contrastada por la línea de evento en
los archivos que va a crear más abajo. No se preocupe si su sistema
genera múltiples eventos o siempre el mismo. Siempre que se genere
algún evento, el cambio de nivel de ejecución funcionará.
Listado de Código 2.8: /etc/acpi/events/pmg_ac_adapter |
event=ac_adapter.*
action=/etc/acpi/actions/pmg_switch_runlevel.sh %e
|
Listado de Código 2.9: /etc/acpi/events/pmg_battery |
event=battery.*
action=/etc/acpi/actions/pmg_switch_runlevel.sh %e
|
Finalmente acpid tiene que ser reiniciado para reconocer los cambios.
Listado de Código 2.10: Finalizando el cambio de nivel de ejecución con acpid |
# /etc/init.d/acpid restart
|
Pruébelo: Conecte su portátil a la Corriente Alterna y observe en
syslog los mensajes "Switching to AC mode" o "Switching to battery
mode". Vea la sección de Solución de
Problemas si el guión no es capaz de detectar la fuente de
energía de forma apropiada.
Debido a la naturaleza del mecanismo de eventos, su portátil arrancará
en el nivel de ejecución default sin importar el estado de la
Corriente Alterna o la batería. Esto es adecuado cuando usa Corriente
Alterna pero nos gustaría arrancar en el nivel de ejecución battery en
otros casos. Una solución sería agregar un parámetro adicional al
gestor de arranque con softlevel=battery, pero es fácil que
dicha elección se olvide. Una mejor manera es falsear un evento ACPI
al término del proceso de arranque y dejar que el guión
/etc/acpi/default.sh decida si es necesario un cambio del
nivel de ejecución. Abra /etc/conf.d/local.start en su
editor favorito y agregue estas líneas:
Listado de Código 2.11: Ajuste del nivel de ejecución al momento del arranque mediante la edición de local.start |
/etc/acpi/actions/pmg_switch_runlevel.sh "battery/battery"
|
Al estar preparado tal como se ha hecho antes, ya puede activar las
políticas de Administración de Energía para los dispositivos
individuales.
3.
Administración de Energía de la CPU
Los procesadores de portátiles pueden operar en frecuencias
diferentes. Algunos también permiten cambiar el voltaje. La mayoría
del tiempo su CPU no necesita funcionar al máximo de rapidez y
ajustarla para que disminuya hará que ahorre mucha energía -
frecuentemente sin disminución de rendimiento.
Algunos términos técnicos
La calibración de frecuencia de la CPU trae algunos términos técnicos
que pueden ser desconocidos. A continuación se presenta una rápida
introducción.
Primero que todo, el núcleo debe ser capaz de cambiar la frecuencia
del procesador. El controlador CPUfreq del procesador conoce
los comandos para hacerlo en su CPU. Por lo tanto es importante elegir
el controlador correcto en su núcleo. Ya debería haber hecho esto más
arriba. Una vez que el kernel sabe cómo cambiar las frecuencias, debe
conocer qué frecuencia debería configurar. Ésto es realizado de
acuerdo a la política que consiste de una política
CPUfreq y un gobernador. Una política CPUfreq la
constituyen dos números que definen el rango en que debe estar la
frecuencia - la mínima y máxima frecuencia. Por ejemplo, el
gobernador powersave siempre elige la mínima frecuencia
disponible, el gobernador de performance elige la más alta. El
gobernador userspace no hace decisión alguna pero elige aquello
que el usuario (o el programa en el área del usuario) quiera - lo que
significa que lee la frecuencia desde
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed.
Éstos todavía no parecen ser los cambios dinámicos de frecuencia
esperados y de hecho no lo son. Sin embargo, es posible llevar a cabo
el ansiado dinamismo con varias aproximaciones. Por ejemplo, el
gobernador ondemand realiza sus decisiones dependiendo de la
carga actual de la CPU. Es lo mismo que realizan otra herramientas de
usuario como cpudyn, cpufreq, powernowd y muchas
más. Los eventos de ACPI pueden ser usados para activar o desactivar
los cambios dinámicos dependiendo de la fuente de energía.
Ajustando manualmente la frecuencia
Disminuir la velocidad de la CPU y el voltaje tiene dos ventajas: Por
un lado se consume menos energía y en el otro hay una mejora térmica
ya que su sistema no se calienta como si estuviera corriendo a toda
velocidad. La principal desventaja es que obviamente hay una pérdida
de rendimiento. El disminuir la velocidad del procesador es un
contrapeso entre la pérdida de rendimiento y el ahorro de energía.
Nota:
No todo portátil ofrece la capacidad de calibración de la
frecuencia. Si no está seguro, déle una mirada a la lista de
procesadores soportados en la sección Solución
de Problemas para verificar si el suyo lo está.
|
Es hora de probar si funciona el cambio de frecuencia de la CPU. Instalemos
otra herramienta que es muy útil para propósitos de depuración:
sys-power/cpufrequtils
Listado de Código 3.1: Chequeando la frecuencia de la CPU |
# emerge cpufrequtils
# cpufreq-info
|
Aquí hay un ejemplo de la salida del comando:
Listado de Código 3.2: Salida de ejemplo de cpufreq-info |
cpufrequtils 0.3: cpufreq-info (C) Dominik Brodowski 2004
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: centrino
CPUs which need to switch frequency at the same time: 0
hardware limits: 600 MHz - 1.40 GHz
available frequency steps: 600 MHz, 800 MHz, 1000 MHz, 1.20 GHz, 1.40 GHz
available cpufreq governors: conservative, ondemand, powersave, userspace, performance
current policy: frequency should be within 924 MHz and 1.40 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.40 GHz.
|
Pruebe cpufreq-set para estar seguro que funciona el cambio de
frecuencia. Ejecute, por ejemplo, cpufreq-set -g ondemand para
activar el gobernador ondemand y verifique el cambio con
cpufreq-info. Si no funciona como es esperado, puede encontrar
ayuda en la sección Solución de Problemas
al final de esta guía.
Adaptación automatizada de la frecuencia
Lo de arriba es agradable, pero no para realizarlo a diario. Es mejor
dejar que su sistema ajuste automáticamente la frecuencia
apropiada. Hay muchos enfoques diferentes para hacer ésto. La
siguiente tabla le da una visión general para ayudarle a decidirse en
una de ellos. Está separada en tres categorías: núcleo para los
enfoques que sólo necesitan apoyo en el núcleo, demonio para
los programas que corren en segundo plano y gráfica para los
programas que provean de una interfaz para realizar una fácil
configuración y cambios.
| Nombre |
Categoría |
Decisión de cambio |
Gobernadores del Núcleo |
Gobernadores adicionales |
Comentarios |
| Gobernador 'en demanda' |
Núcleo |
Carga de la CPU |
N/D |
N/D |
Elige la frecuencia máxima donde la CPU esté con carga y la disminuye
cuando la CPU está con poca actividad. Se pueden hacer afinamientos
adicionales a través de los archivos en
/sys/devices/system/cpu/cpu0/cpufreq/ondemand/. Aún requiere
de herramientas del área del usuario (programas y guiones) si se desea
cambiar de gobernador (o similar).
|
| Gobernador 'conservador' |
Núcleo |
Carga de la CPU |
N/D |
N/D |
A diferencia del gobernador 'en demanda', el 'conservador' no salta a la
frecuencia máxima cuando la carga de la CPU es alta, sino que incrementa la
frecuencia paso a paso.
Se pueden hacer afinamientos adicionales a través de los archivos en
/sys/devices/system/cpu/cpu0/cpufreq/conservative/. Aún
requiere de herramientas del área del usuario (programas y guiones) si se
desea cambiar de gobernador (o similar).
|
| cpudyn |
Demonio |
Carga de la CPU |
Performance, powersave |
"Dynamic" |
También permite disk standby - No obstante, note que el laptop mode
hará un mejor trabajo en la mayoría de los casos.
|
| cpufreqd |
Demonio |
Estado de la batería, carga de la CPU, temperatura, programas en ejecución
|
Todos disponibles |
Ninguno |
Configuración sofisticada (pero también complicada). Extensible mediante
plugins como monitoreo de sensores (lm_sensors) o posible de coordinar con
algunas tarjetas gráficas y core basados en nVidia. Cpufreqd es capaz de
reconocer SMP y opcionalmente puede ser controlado de forma manual en
tiempo de ejecución.
|
|
powernowd
|
Demonio |
Carga de la CPU |
Ninguno |
"Passive", "sine", "aggressive" |
Acepta SMP.
|
| ncpufreqd |
Demonio |
Temperatura |
Ninguno |
"Powersave", "Performance" |
Activa el gobernador a usar entre "performance" y "powersave" dependiendo
de la temperatura del sistema. Muy útil en portátiles con notorios
problemas de calentamiento.
|
| speedfreq |
Demonio |
Carga de la CPU |
Ninguno |
"Dynamic", "powersave", "performance", "fixed speed" |
Fácil de configurar con una útil interfaz cliente/servidor. Requiere de un
núcleo 2.6. No parece seguir siendo mantenido y fue borrado de Portage. Por
favor, cámbiese a cpufreqd si todavía lo está usando.
|
| gtk-cpuspeedy |
Gráfica |
Ninguno |
Ninguno |
Ninguno |
Herramienta gráfica de Gnome para ajustar manualmente la frecuencia de la
CPU. No ofrece automatización alguna.
|
| klaptopdaemon |
Gráfica |
Estado de la batería |
Todos disponibles |
Ninguno |
Sólo para KDE, se requiere del gobernador 'ondemand' para la calibración
dinámica de frecuencia.
|
Aunque a primera vista parece simple ajustar la frecuencia al nivel
actual de carga, no es una tarea trivial. Un mal algoritmo puede
causar que se cambie entre dos frecuencias todo el tiempo o gastar
energía cuando se ajusta la frecuencia a un nivel innecesariamente
alto.
¿Cuál elegir? Si no tiene idea acerca de esto, primero intente
cpufreqd:
Listado de Código 3.3: Instalando cpufreqd |
# emerge cpufreqd
|
cpufreqd puede ser configurado editando
/etc/cpufreqd.conf. La configuración por defecto que
viene con cpufreqd puede parecer algo confusa. Recomendamos
reemplazarla con la hecha por el antiguo desarrollador de Gentoo
Henrik Brix Andersen (ver más abajo). Por favor, observe que necesita
la versión cpufreqd-2.0.0 o superior. Las versiones previas tienen una
sintaxis diferente para el archivo de configuración.
Listado de Código 3.4: /etc/cpufreqd.conf (cpufreqd-2.0.0 y siguientes) |
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=3
enable_plugins=acpi_ac, acpi_battery
enable_remote=1
remote_group=wheel
verbosity=5
[/General]
[Profile]
name=ondemand
minfreq=0%
maxfreq=100%
policy=ondemand
[/Profile]
[Profile]
name=conservative
minfreq=0%
maxfreq=100%
policy=conservative
[/Profile]
[Profile]
name=powersave
minfreq=0%
maxfreq=100%
policy=powersave
[/Profile]
[Profile]
name=performance
minfreq=0%
maxfreq=100%
policy=performance
[/Profile]
[Rule]
name=battery
ac=off
profile=conservative
[/Rule]
[Rule]
name=battery_low
ac=off
battery_interval=0-10
profile=powersave
[/Rule]
[Rule]
name=ac
ac=on
profile=ondemand
[/Rule]
|
Ahora puede iniciar el demonio cpufreqd. Agréguelo a los niveles de ejecución
default y battery también.
Listado de Código 3.5: Iniciando cpufreqd |
# rc-update add cpufreqd default battery
# rc
|
Algunas veces puede ser deseable seleccionar otra política distinta a
la escogida por el demonio, por ejemplo, cuando la energía de la
batería está baja pero sabe que tendrá pronto disponible corriente
alterna (AC). En ese caso puede activar el modo manual de cpufreqd con
cpufreqd-set manual y seleccionar una de sus políticas
configuradas (listadas por cpufreqd-get). Puede dejar el modo
manual ejecutando cpufreqd-set dynamic.
Aviso:
No ejecute al mismo tiempo más de uno de los programas indicados arriba.
Puede causar confusión como intercambios sucesivos entre dos frecuencias.
|
Verificando el resultado
La última cosa por chequear es que sus nuevas políticas hagan bien el trabajo.
Una forma fácil de comprobarlo es monitorizando la velocidad de la CPU mientras
esté trabajando con su portátil:
Listado de Código 3.6: Monitoreando la velocidad de la CPU |
# watch grep \"cpu MHz\" /proc/cpuinfo
|
Si no se actualiza /proc/cpuinfo (ver sección de Solución de Problemas), monitoree la
frecuencia de la CPU con sys-apps/x86info:
Listado de Código 3.7: Monitoreo alternativo de la velocidad de la CPU |
# watch x86info -mhz
|
Dependiendo de su configuración, la velocidad de la CPU debería
aumentar en situaciones de alta carga, disminuir cuando no hay
actividad o permanecer en el mismo nivel. Cuando se usa
cpufreqd y el nivel de verbosidad está ajustado en 5 o más en
cpufreqd.conf, obtendrá información adicional de lo que
está pasando y será reportada a syslog.
4.
Administración de Energía de la pantalla LCD
Como puede ver en la figura 1.1, la
pantalla LCD consume la mayor parte de la energía (puede que no sea el
caso para CPUs no móviles). Por tanto, es bien importante no sólo
apagar la pantalla cuando ésta no se necesite, sino también reducir su
contraluz si es posible. La mayoría de los portátiles ofrece la
posibilidad para controlar la disminución de aquello.
Ajustes de Standby
La primera cosa a revisar son los tiempos de standby/suspensión/apagado de la
pantalla. Como esto depende fuertemente de su gestor de ventanas, le dejaremos
esa tarea. Hay dos lugares en común: Se puede blanquear el terminal con
setterm -blank <número de minutos>, setterm -powersave on y
setterm -powerdown <número de minutosM>.
Para X.org, modifique /etc/X11/xorg.conf en forma similar a ésto:
Listado de Código 4.1: Ajustes para suspender el LCD en X.org |
Section "ServerFlags"
Option "blank time" "5"
Option "standby time" "10"
Option "suspend time" "20"
Option "off time" "30"
[...]
EndSection
[...]
Section "Monitor"
Identifier [...]
Option "DPMS"
[...]
EndSection
|
Disminución de contraluz
Probablemente es más importante la disminución de contraluz. Si tiene
acceso a los ajustes de disminución vía alguna herramienta, escriba un
pequeño guión que disminuya el contraluz en el modo battery y ubíquelo
en su nivel de ejecución battery. El siguiente guión debería
funcionar en la mayoría de los portátiles IBM Thinkpad y
Toshiba. Tiene que activar la opción apropiada en su núcleo (Sólo para
pórtatiles IBM Thinkpad). Para pórtatiles Toshiba, instale el paquete
app-laptop/acpitool y salte la configuración de
thinkpad_acpi (antiguamente conocido como ibm_acpi) como
se describe a continuación.
Aviso:
El soporte para el ajusto del brillo está marcado como experimental en
thinkpad_acpi. Este accede directamente al hardware y puede causar
daño severo a su sistema. Por favor, lea el sitio web thinkpad_acpi.
|
Para poder ajustar el nivel de brillo debe ser cargado el módulo
thinkpad_acpi con el parámetro experimental.
Listado de Código 4.2: Cargar automáticamente el módulo thinkpad_acpi |
# echo "options thinkpad_acpi experimental=1" >> /etc/modules.d/thinkpad_acpi
# /sbin/update-modules
# echo thinkpad_acpi >> /etc/modules.autoload.d/kernel-2.6
# modprobe thinkpad_acpi
|
Esto debería funcionar sin mensajes de error y debería crearse el
archivo /proc/acpi/ibm/brightness luego que sea cargado
el módulo. Un guión de inicio se ocupará de elegir el brillo de acuerdo
a la fuente de energía.
Listado de Código 4.3: /etc/conf.d/lcd-brightness |
BRIGHTNESS_AC=7
BRIGHTNESS_BATTERY=4
|
Listado de Código 4.4: /etc/init.d/lcd-brightness |
#!/sbin/runscript
set_brightness() {
if on_ac_power
then
LEVEL=${BRIGHTNESS_AC:-7}
else
LEVEL=${BRIGHTNESS_BATTERY:-4}
fi
if [ -f /proc/acpi/ibm/brightness ]
then
ebegin "Setting LCD brightness"
echo "level ${LEVEL}" > /proc/acpi/ibm/brightness
eend $?
elif [[ -e /usr/bin/acpitool && -n $(acpitool -T | grep "LCD brightness") ]]
then
ebegin "Setting LCD brightness"
acpitool -l $LEVEL >/dev/null || ewarn "Unable to set lcd brightness"
eend $?
else
ewarn "Setting LCD brightness is not supported."
ewarn "For IBM Thinkpads, check that thinkpad_acpi is loaded into the kernel"
ewarn "For Toshiba laptops, you've got to install sys-power/acpitool"
fi
}
start() {
set_brightness
}
stop () {
set_brightness
}
|
Cuando esté listo, asegúrese de que el brillo sea ajustado de forma automática
mediante la adición de este al nivel de ejecución battery.
Listado de Código 4.5: Activando el ajuste de brillo automático |
# chmod +x /etc/init.d/lcd-brightness
# rc-update add lcd-brightness battery
# rc
|
5.
Administración de energía del Disco
Los discos duros consumen menos energía en el modo "sleep". Por lo tanto, tiene
sentido activar las características de ahorro de energía siempre y cuando el
disco no esté siendo usado por una cierta cantidad de tiempo. Le mostraremos
dos posibles alternativas para hacerlo. Primero, el "laptop-mode"
ahorrará la mayor cantidad de energía debido a las muchas mediciones que
impiden o al menos retrasan los accesos de escritura. La desventaja es que
a causa de los accesos de escritura retrasados, en caso de corte de energía o
caída abrupta del núcleo será más riesgoso a la pérdida de datos. Si no le
agrada esto, tiene que asegurarse que no hay procesos que escriban con
frecuencia al disco. Luego puede activar las características de ahorro de
energía del disco duro con hdparm como segunda alternativa.
Aumentando el tiempo de inactividad - laptop-mode
Los núcleos 2.6 recientes incluyen el modo laptop-mode. Cuando
está activado, los contenidos de las memorias de tránsito en estado
sucio se escriben a disco cuando hay llamadas de lectura o después de
10 minutos (en vez de 30 segundos). Esto minimiza el tiempo de
de rotación del disco duro.
Listado de Código 5.1: Inicio automátizado del laptop-mode |
# emerge laptop-mode-tools
|
laptop-mode-tools tiene su archivo de configuración en
/etc/laptop-mode/laptop-mode.conf. Ajústelo como le plazca, está
bien documentado. Ejecute rc-update add laptop_mode battery para
iniciarlo automáticamente.
Las versiones recientes (1.11 y siguientes) de laptop-mode-tools incluyen una
herramienta nueva: lm-profiler. Esta monitorizará el uso de disco de
su sistema, los servicios de red en ejecución y sugiere desactivar aquellos
innecesarios. Puede ya sea desactivarlo a través del soporte de niveles de
ejecución incluido en laptop-mode-tools (lo que puede ser revertido por el
/sbin/rc de Gentoo) o usar sus niveles de ejecución default/
battery (recomendado).
Listado de Código 5.2: Salida de muestra de lm-profiler en ejecución |
# lm-profiler
Profiling session started.
Time remaining: 600 seconds
[4296896.602000] amarokapp
Time remaining: 599 seconds
[4296897.714000] sort
[4296897.970000] mv
Time remaining: 598 seconds
Time remaining: 597 seconds
[4296900.482000] reiserfs/0
|
Luego de realizar un perfil de su sistema por unos 10 minutos, lm-profiler
presentará una lista de servicios que pueden haber causado accesos a disco
durante este tiempo.
Listado de Código 5.3: lm-profiler sugiere desactivar algunos servicios |
Program: "atd"
Reason: standard recommendation (program may not be running)
Init script: /etc/init.d/atd (GUESSED)
Do you want to disable this service in battery mode? [y/N]: n
|
Para desactivar atd como se sugiere en el ejemplo de arriba, tendría que
ejecutar rc-update del atd battery. Sea cuidadoso en no desactivar
servicios que son necesarios para que su sistema funcione adecuadamente
- lm-profiler es probable que genere algunos falsos positivos. No desactive
un servicio si está inseguro que este es necesario.
Limitar los accesos de escritura
Si no quiere usar el laptop-mode, debe prestar especial cuidado para desactivar
los servicios que escriben frecuentemente a su disco - por ejemplo,
syslogd es un buen candidato. Probablemente no querrá apagarlo por
completo, pero es posible modificar el archivo de configuración de manera que
las cosas innecesarias no se escriban a la bitácora y por tanto, no creen
tráfico a disco. Cups escribe a disco periódicamente, así que considere
desactivarlo y sólo actívelo de forma manual cuando sea necesario.
Listado de Código 5.4: Desactivar cups en el modo battery |
# rc-update del cupsd battery
|
También puede usar lm-profiler de laptop-mode-tools (ver más arriba)
para encontrar los servicios a desactivar. Una vez que los haya eliminado todos,
siga con la configuración de hdparm.
hdparm
La segunda posibilidad es usando hdparm. No lo haga si está
usando laptop-mode. De otro modo modifique el archivo
/etc/conf.d/hdparm y agregue los siguientes valores a la
línea que corresponda al disco duro. Este ejemplo asume que el disco
en cuestión es el hda:
Listado de Código 5.5: Usando hdparm para la suspensión temporal del disco |
hda_args="-q -S12"
|
Esto activará el ahorro de energía en el disco duro. Si en alguna
oportunidad desea desactivarlo, modifique el
/etc/conf.d/hdparm y cambie los valores a -q -S0,
o solo ejecute hdparm -q -S0 /dev/hda.
Vea man hdparm para las opciones. Aunque siempre se puede
iniciar hdparm manualmente cuando se está en modo de batería
ejecutando /etc/init.d/hdparm start, es más sencillo
automatizar la activación y la desactivación. Para esto, agregue
hdparm al nivel de ejecución battery para activar el ahorro
automáticamente.
Listado de Código 5.6: Automatizando la activación del ahorro de energía |
# rc-update add hdparm battery
|
Importante:
Sea cuidadoso con los ajustes de disminución de velocidad/rotación de su disco
duro. Ajustándolos a valores pequeños puede que dañe su disco y pierda la
garantía.
|
Otros trucos
Otra posibilidad es desactivar el archivo de intercambio ("swap") en el modo
battery. Antes de escribir el guión para realizar el swapon/swapoff, asegúrese
que haya suficiente memoria RAM y que el archivo de intercambio no se use
intensivamente, de otro modo estará en problemas.
Si no quiere usar el laptop-mode, todavía es posible minimizar el acceso
al disco montando ciertos directorios como tmpfs - los accesos de
escritura no son almacenados en el disco sino que permanecen en memoria
principal y se pierden al desmontar. A menudo es útil montar el directorio
/tmp de esta forma - pues no se le presta mayor atención
ya que se limpia en cada arranque sin importar si fue montado en disco
o en RAM. Sólo asegúrese tener suficiente RAM y que no haya algún programa
(tal como un cliente de descargas o herramienta de compresión) que necesite
mucho espacio en /tmp. Para activar ésto, active la opción de
tmpfs en su núcleo y agregue a una línea como la siguiente al
/etc/fstab:
Listado de Código 5.7: Editando /etc/fstab para que el /tmp sea aún más volátil |
none /tmp tmpfs size=32m 0 0
|
Aviso:
Preste atención al parámetro "size" y modifíquelo para su sistema. Si
no está seguro, no intente probar esto, puede convertirse fácilmente
en un cuello de botella del rendimiento. En caso de que quiera montar
el /var/log de esta manera, asegúrese de escribir los
archivos de bitácora a disco antes de desmontar el directorio. Son
archivos esenciales. No intente montar el directorio
/var/tmp de esta forma. Portage lo usa para compilar ...
|
6.
Administración de Energía para otros dispositivos
Tarjetas gráficas
En caso que posea una tarjeta gráfica ATI que soporte PowerPlay
(escalado dinámico del reloj para la unidad gráfica de procesamiento
GPU), puede activar esta característica en X.org. Abra el archivo
/etc/X11/xorg.conf y agregue (o active) la opción
DynamicClocks en la sección Device. Por favor note que esta
característica puede resultar en caídas o cuelgues en algunos
sistemas.
Listado de Código 6.1: Activando el soporte PowerPlay de ATI en X.org |
Section "Device"
[...]
Option "DynamicClocks" "on"
EndSection
|
Administración de energía para tarjetas inalámbricas
Las tarjetas LAN inalámbricas consumen bastante energía. Colóquelas en el
modo de Administración de Energía igual que el disco duro.
Nota:
Este guión asume que su interfaz inalámbrica se llama wlan0;
reemplácela con el nombre real de su interfaz.
|
Listado de Código 6.2: Administración de Energía automatizada para WLAN |
iwconfig_wlan0="power on"
|
Vea man iwconfig para detalles y más opciones como el lapso
entre activaciones o de expiración. Si el controlador y el punto de
acceso soportan la modificación de tiempos de faro (beacon), este
sería un buen punto de inicio para ahorrar aún más energía.
Administración de Energía USB
Existen dos problemas con los dispositivos USB respecto al consumo de
energía: Primero, los dispositivos como el mouse USB, cámaras digitales
o llaveros USB consumen energía mientras están enchufados. No puede evitar
ésto (no obstante desenchúfelos es caso de que no se necesiten). Segundo, cuando
hay dispositivos USB enchufados, la controladora USB accede periódicamente
al bus lo que previene que la CPU entre en el modo "sleep". El núcleo ofrece
una opción experimental para activar la suspensión de dispositivos USB a través
de llamadas del driver o uno de los archivos power/state en
/sys.
Listado de Código 6.3: Activando el soporte USB suspend en el núcleo |
Device Drivers
USB support
[*] Support for Host-side USB
[*] USB suspend/resume (EXPERIMENTAL)
|
7.
Estados de sueño: Suspensión, en espera e hibernación
ACPI define tres estados de sueño. Los más importantes son:
- S1 alias En espera ("standby")
- S3 alias Suspensión a RAM o Suspensión
- S4 alias Suspensión a Disco o Hibernación
Dichos estados pueden ser invocados siempre y cuando el sistema no
esté en uso de forma de evitar apagar el sistema debido al largo tiempo
de arranque.
Suspensión (S3)
El soporte de ACPI para estos estados de suspensión es considerado
experimental por una buen motivo. Los estados de sueño de APM parecen
ser más estables, sin embargo, no puede usar APM y ACPI juntos.
Listado de Código 7.1: Configuración del núcleo para los varios tipos de suspensión |
Power Management Options --->
[*] Power Management support
ACPI (Advanced Configuration and Power Interface) Support --->
[*] ACPI Support
[*] Sleep States
|
Una vez que su núcleo esté configurado adecuadamente, puede usar el
guión hibernate-script para activar el modo de suspensión o
sueño. Instalaremos esto primero.
Listado de Código 7.2: Instalando hibernate-script |
# emerge hibernate-script
|
Deben configurarse algunas cosas en /etc/hibernate. El
paquete por defecto incorpora algunos archivos de configuración para
cada estado suspensión. Las opciones comunes a todos los métodos de
suspensión se colocan en common.conf; asegúrese que este
archivo esté correctamente configurado para el sistema.
Para configurar la suspensión, modifique sysfs-ram.conf
en /etc/hibernate. UseSysfsPowerState mem ya está
configurado correctamente, pero tiene necesita hacer más cambios a
este estado de suspensión en particular (o cualquier otro estado de
suspensión) debe agregarlos a
/etc/hibernate/hibernate.conf. Los comentarios y nombres
de opciones servirán de guía. Si usa NFS o recursos compartidos en red
vía Samba, asegúrese de apagar los guiones de inicio apropiados para
evitar expiraciones de plazo.
Nota:
Para más información acerca de la configuración de estados de
suspensión, lea man hibernate.conf.
|
¿Listo? Esta es la última oportunidad de respaldar aquellos datos que
desea preservar luego de ejecutar el siguiente comando. Note que
probablemente tendrá que presionar una tecla especial como Fn
para volver desde el estado de suspensión.
Listado de Código 7.3: Llamando al estado de suspensión |
# hibernate-ram
|
Si todavía está leyendo es porque funciona. Puede también configurar
standby (S1) en forma similar modificando el archivo
sysfs-ram.conf y cambiando "UseSysfsPowerState mem" a
"UseSysfsPowerState. S3 y S4 son los estados de sueño más interesantes
debido a los mayores ahorros de energía.
Hibernar (S4)
Esta sección lo introduce al concepto de hibernación, donde una
"imagen" del sistema en ejecución se lleva a disco antes de
apagarlo. Al regreso, la "imagen" se carga y puede seguir trabajando
exactamente en el punto donde ejecutó antes la hibernación.
Aviso:
No intercambie hardware no echufable en caliente cuando está en el
modo suspensión. No intente cargar una "imagen" con una imagen con
núcleo diferente de la que se creó. Apague cualquier servidor/cliente
NFS o Samba antes de hibernar.
|
Existen dos implementaciones distintas para S4. El original denominado
swsusp y luego está la más nueva, tuxonice (antiguamente suspend2),
que tiene una interfaz más agradable (con soporte para fbsplash). Una
comparación de
características está disponible en la página Web de tuxonice. Antes existía
Suspend-to-Disk (pmdisk), un fork de swsusp, pero fue re-incorporado.
TuxOnIce no está incluido en el núcleo principal, por tanto, tendrá
que parchar sus fuentes del núcleo con los parches ofrecidos por tuxonice.net o usar
sys-kernel/tuxonice-sources.
La parte relacionada al núcleo para swsup y TuxOnIce es como sigue:
Listado de Código 7.4: Configuración del núcleo para los diversos tipos de suspensión |
Power Management Options --->
[*] Software Suspend
(/dev/SWAP) Default resume partition
Enhanced Hibernation (TuxOnIce)
--- Image Storage (you need at least one writer)
[*] File Writer
[*] Swap Writer
--- General Options
[*] LZF image compression
(swap:/dev/SWAP) Default resume device name
[ ] Allow Keep Image Mode
|
La configuración para swsup es fácil. Si no guardó la ubicación de su
partición de intercambio en la configuración del núcleo, puede pasarla
también como parámetro con la directiva resume=/dev/SWAP
(Reemplazando SWAP por su partición de intercambio). Si no puede
arrancar posiblemente debido a una imagen dañada, use el parámetro
noresume del núcleo. El guión de inicio
hibernate-cleanup invalida las imágenes swsusp durante el
proceso de arranque.
Listado de Código 7.5: Invalidando las imagenes swsup durante el proceso de arranque |
# rc-update add hibernate-cleanup boot
|
Para activar la hibernación con swsup use el guión hibernate y ajuste
UseSysfsPowerState disk en
/etc/hibernate/hibernate.conf.
Aviso:
Respalde sus datos antes de hacer esto. Corra sync antes de
ejecutar uno de los comando para llevar los datos en caché a
disco. Primero inténtelo fuera del servidor X, luego con X corriendo
pero sin haber ingresado.
|
Si experimenta errores del tipo "kernel panic" debido a uhci o
similar, intente compilar el soporte USB como módulo y descargue los
módulos antes de enviar su portátil al modo de suspensión. Hay
opciones de configuración para esto en el archivo
common.conf.
Listado de Código 7.6: Hibernando con swsusp |
# nano -w /etc/hibernate/common.conf
# hibernate
|
La siguiente sección discute la configuración de suspend2 incluyendo
el soporte de fbsplash para obtener una agradable barra de progreso
durante la suspensión y reactivación (resume).
La primera parte de la configuración es similar a la hecha para
swsup. Si no guardó la ubicación de su partición de intercambio en la
configuración del núcleo, tiene que pasarla como parámetro del núcleo
con la directiva resume2=swap:/dev/SWAP (Reemplazando SWAP por
su partición de intercambio). Si no puede arrancar posiblemente debido
a una imagen dañada, use el parámetro noresume2 del
núcleo. Adicionalmente, el guión de inicio hibernate-cleanup
invalida las imagenes suspend2 durante el proceso de arranque.
Listado de Código 7.7: Invalidando las imagenes TuxOnIce durante el proceso de arranque |
# rc-update add hibernate-cleanup boot
|
Ahora edite /etc/hibernate/hibernate.conf, active las
opciones TuxOnIce que necesite. No active las opciones
fbsplash en common.conf por ahora.
Listado de Código 7.8: Hibernando con TuxOnIce |
# nano -w /etc/hibernate/suspend2.conf
# hibernate
|
Por favor configure ahora fbsplash si no lo ha hecho hasta
ahora. Para activar el soporte de fbsplash durante la hibernación, se
necesita el paquete sys-apps/tuxonice-userui. Además debe
activar el parámetro USE fbsplash.
Listado de Código 7.9: Instalando tuxonice-userui |
# echo sys-apps/tuxonice-userui fbsplash >> /etc/portage/package.use
# echo "sys-apps/tuxonice-userui" >> /etc/portage/package.keywords
# emerge tuxonice-userui
|
El ebuild le dice que haga un enlace simbólico al tema que desea
usar. Por ejemplo, para usar el tema livecd-2005.1, ejecute el
siguiente comando:
Listado de Código 7.10: Usando el tema livecd-2005.1 durante la hibernación |
# ln -sfn /etc/splash/livecd-2005.1 /etc/splash/suspend2
|
Si no quiere que aparezca una pantalla negra en la primera parte del
proceso de vuelta, tiene que agregar la herramienta
tuxonice_fbsplash a su imagen initrd. Asumiendo que creó la
imagen initrd con splash_geninitramfs y la guardó como
/boot/fbsplash-emergence-1024x768, aquí es como se hace
esto.
Listado de Código 7.11: Agregando tuxoniceui_fbsplash a la imagen initrd |
# mount /boot
# mkdir ~/initrd.d
# cp /boot/fbsplash-emergence-1024x768 ~/initrd.d/
# cd ~/initrd.d
# gunzip -c fbsplash-emergence-1024x768 | cpio -idm --quiet -H newc
# rm fbsplash-emergence-1024x768
# cp /usr/sbin/tuxoniceui_fbsplash sbin/
# find . | cpio --quiet --dereference -o -H newc | gzip -9 > /boot/fbsplash-suspend2-emergence-1024x768
|
A continuación, ajuste grub.conf (o
lilo.conf)de manera que el núcleo TuxOnIce use
/boot/fbsplash-tuxonice-emergence-1024x768 como imagen
initrd. Ahora puede hacer una prueba para ver si todo fue configurado
correctamente.
Listado de Código 7.12: Prueba para la hibernación fbsplash |
# tuxoniceui_fbsplash -t
|
Después abra /etc/hibernate/hibernate/common.conf y
active las opciones fbsplash. Ejecute hibernate y disfrute.
8.
Solución de Problemas
P: Estoy intentando cambiar la frecuencia del CPU pero
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor no
existe.
R:Asegúrese que su procesador soporta la característica de
calibración de frecuencia de la CPU y que haya elegido el controlador
cpufreq adecuado (kernel 2.6.7): ARM Integrator, ARM-SA1100,
ARM-SA1110, AMD Elan - SC400, SC410, AMD mobile K6-2+, AMD mobile
K6-3+, AMD mobile Duron, AMD mobile Athlon, AMD Opteron, AMD Athlon
64, Cyrix Media GXm, Intel mobile PIII e Intel mobile PIII-M en
algunos chipsets, Intel Pentium 4, Intel Xeon, Intel Pentium M
(Centrino), National Semiconductors Geode GX, Transmeta Crusoe, VIA
Cyrix 3 / C3, UltraSPARC-III, SuperH SH-3, SH-4, varios "PowerBook" e
"iBook2" y algunos procesadores en sistemas ACPI 2.0-compatible (sólo
si está disponible la opción "ACPI Processor Performance States" en la
interfaz ACPI/BIOS).
P: Mi portátil tiene la capacidad de calibración de la
frecuencia, pero /sys/devices/system/cpu/cpu0/cpufreq/
está vacío.
R: Revise los errores relacionados a ACPI en el núcleo con
dmesg | grep ACPI. Intente actualizar la BIOS, en especial si
se reporta que está dañado el DSDT. También puede intentar
arreglándolo por si mismo (lo que escapa del alcance de esta guía).
P: Mi portátil tiene la capacidad de calibración de la
frecuencia, pero de acuerdo a /proc/cpuinfo la velocidad
nunca cambia.
R: Es probable que haya activado en su núcleo el soporte para
multiprocesamiento simétrico (CONFIG_SMP). Desactívelo y debería
funcionar. Algunos núcleos antiguos tienen un error que causa ésto. En
ese caso, ejecute emerge x86info, actualice su núcleo tal como
se pide y chequee la frecuencia actual con x86info -mhz.
P: Puedo cambiar la frecuencia de la CPU, no obstante el rango
no es tan amplio como lo es en otro SO.
R: Puede combinar la calibración de la frecuencia con la
regulación de temperatura de la CPU ("ACPI CPU throttling") para
obtener un mínimo de frecuencia más bajo. Note que la regulación de
temperatura del procesador no ahorra mucha energía y se usa
principalmente con propósitos de gestión térmica (mantener su portátil
a baja temperatura y en silencio). Puede leer el estado actual de
regulación de temperatura del procesador con cat
/proc/acpi/processor/CPU/throttling y cambiarlo con echo -n
"0:x" > /proc/acpi/processor/CPU/limit donde x es uno de los Tx
estados mencionados en
/proc/acpi/processor/CPU/throttling.
P: Al configurar el núcleo aparecen los gobernadores powersave,
performance y userspace, pero falta el relacionado a ondemand. ¿Dónde
lo obtengo?
R: El gobernador ondemand sólo está incluido en las fuentes
recientes del núcleo. Intente actualizarlas.
P: La vida la batería parece ser peor que antes.
R: Revise la configuración de su BIOS. Quizás olvidó reactivar
algunos ajustes.
P: Mi batería está cargada, pero KDE reporta que el nivel
actual es 0% restante y se apaga de inmediato.
R: Revise que esté compilado el soporte de batería en su
núcleo. Si puede usarlo como módulo, asegúrese que esté cargado.
P: Mi gestor de bitácoras del sistema reporta cosas como:
"logger: ACPI group battery / action battery is not defined".
R: Este mensaje es generado por el guión /etc/acpi/default.sh
que viene con acpid. Puede ignorarlo con seguridad. Si desea
deshacerse de este, puede comentar la línea apropiada en
/etc/acpi/default.sh como se muestra a continuación:
Listado de Código 8.1: Desactivar las advertencias sobre eventos acpi desconocidos |
*) # logger "ACPI action $action is not defined"
|
P: Tengo un portátil Dell Inspiron 51XX y no obtengo eventos
ACPI.
R: Esto parece ser un error del núcleo. Lea el siguiente reporte.
P: Activé la opción DynamicClocks en xorg.conf y ahora
X.org se cae / la pantalla queda en negro / mi portátil no se apaga
adecuadamente.
R: Esto pasa en algunos sistemas. Deberá desactivar
DynamicClocks.
P: Quiero usar TuxOnIce pero me dice que mi partición de
intercambio es muy pequeña. Redimensionarla no es una opción.
R: Si hay suficiente espacio libre en su sistema, puede usar el
escritor a archivo en vez del escritor de swap. El guión
hibernate-script lo reconoce también. Puede encontrar más
información en el archivo
/usr/src/linux/Documentation/power/tuxonice.txt.
P: Me acabo de comprar una batería nueva, ¡pero dura sólo unos
pocos minutos! ¿Qué estoy haciendo mal?
R: Primero siga los consejos de su fabricante acerca de cómo
cargar adecuadamente la batería.
P: Lo mencionado anteriormente no me ayudó. ¿Qué debería hacer
entonces?
R: Algunas baterías vendidas como "nuevas" en realidad son
viejas. Intente lo siguiente:
Listado de Código 8.2: Consultando el estado de la batería |
$ grep capacity /proc/acpi/battery/BAT0/info
design capacity: 47520 mWh
last full capacity: 41830 mWh
|
Si el ítem "última capacidad llena" ("last full capacity") difiere
significativamente de la capacidad diseñada, su batería está
probablemente dañada. Intente reclamar su garantía.
P: Mi problema no aparece mencionado acá. ¿Qué debería hacer?
R: No dude en contactar directamente a Dennis Nienhüser. También los Foros de Gentoo son un buen
lugar para obtener ayuda. Si prefiere IRC, únase al canal
#gentoo-laptop en la red irc.freenode.net.
El contenido de este documento está registrado bajo los términos de
la licencia
Creative Commons - Reconocimiento / Compartir Igual
|