Ahorro de energía en Athlon COMO

Daniel Nofftz <nofftz(at)castor.uni-trier.de>
Traducción: Carlos Mayo <cmayo(at)softhome.net>

v0.05, 10 de Septiembre de 2002; traducción: 10 de Septiembre de 2002


Como habilitar la funcionalidad del ahorro de energía de los procesadores Athlon/Duron/AthlonXP en algunas placas base.


1. Introducción

2. Las distintas soluciones

3. ¿Qué mas?



1. Introducción

1.1 Conceptos del modo de ahorro de energía en los Athlon

La señal HLT que se usa en los ciclos normales de inactividad del núcleo de Linux no conlleva al ahorro de energía en los procesadores de la familia Athlon/Duron (a partir de ahora llamados solamente procesadores Athlon). Para conseguir un ahorro de energía real en los procesadores Athlon, se debe poner al procesador en el modo STPGNT. En este modo, el procesador se desconecta del FSB y por tanto, podría apagar partes de la CPU y reducir el reloj para ahorrar energía

1.2 Placas Base/Chipsets soportadas

Por el momento, mi parche soporta las placas base basadas en los chipsets KT133/133A, KX133 y KT266/266A. El programa lvcool soporta solamente las placas base basadas en KT133/133A y KX133. También está el comando setpci para activarlo en los chipsets AMD760.


2. Las distintas soluciones

2.1 Mi parche

Mi parche está basado en otro parche que encontré en las news. Lo modifiqué para que soportasen también el chipset KT266/266A y espero pronto poder añadir mas.

El parche solamente funciona si tienes activado el sistema ACPI. Es así debido a que mi parche solamente activa el bit "Desconectar cuando se detecte STPGNT" en el Nortbridge del chipset. Para realmente ahorar energía, alguien tiene que enviar la señal STPGNT. Esto lo hace el subsistema del procesador de ACPI, cuando se entra en el estado de inactividad c2.

Primeramente debe bajarse el parche:

Luego debe parchear el núcleo:
- convertise en root
- cd /usr/src/
- aplicar el parche: cat $path-to-patch/amd_cool.diff | patch -p0
- cd linux
- make menuconfig (o make xconfig)
- en configuración general activar el subsistema acpi y allí el bus acpi y la entrada del procesador acpi (NOTA: cuando ACPI está activado, APM no funcionará, se apaga a la hora de arrancar el sistema). Así que solamente puede usar ACPI o APM. Pero el ahorro de energía no funcionará con APM (Si necesita APM y tiene un KT133/133A o KX133 mira el parche lvcool).
- compila el nuevo núcleo
- reinicializa y escribe en el prompt del arranque del núcleo "amd_disconect=yes". Es así debido a que hay algunos fallos con los procesadores athlon, que pueden ocasionar problemas en algunas placas. Fácilmente puede verificar el aprche, y si funciona bien, añade "amd_disconect=yes" al fichero lilo.conf.

2.2 El parche de lvcool

LVCool es una adaptación del programa de Windows VCool. Puedes bajarlo aquí.

2.3 El comando setpci

Si ya has habilitado el procesador acpi en el núcleo, puedes habilitar/inhabilitar el ahorro de energía desde la linea de comandos (sin mi parche). Es así debido a que solamente se debe activar/desactivar un bit específico del northbridge y se puede hacer con el comando setpci.

en kt133/133a y kx133:
habilitar: setpci -v -H1 -s 0:0.0 52=EB
inhabilitar: setpci -v -H1 -s 0:0.0 52=6B
en kt266/266a:
habilitar: setpci -v -H1 -s 0:0.0 92=EB
inhabilitar: setpci -v -H1 -s 0:0.0 92=6Bi
en placas base basadas en MSI K7T266Pro (MS-6380) (KT266) y KT333:
habilitar:
setpci -v -H1 -s 0:0.0 70=86
setpci -v -H1 -s 0:0.0 95=1e
inhabilitar:
setpci -v -H1 -s 0:0.0 70=82
setci -v -H1 -s 0:0.0 95=1c
en AMD760:
habilitar: setpci -s 0:0.0 0x62=0xb7
inhabilitar: setpci -s 0:0.0 0x62=0xb1

Si tienes mi parche instalado, puedes inhabilitarlo y rehabilitarlo con estos comandos.



3. ¿Qué mas?

3.1 Bugs/problemas encontrados

Se conocen 2 bugs en los procesadores Athlon/Duron. Son el Número 11 y el Número 14 en la Guía de Revisión del Procesador AMD Athlon. Parece ser que al Athlon XP no le afecta este bug. Así que si tienes un Athlon XP estás de suerte (como yo).

Debido a estos bugs puede ocurrir los siguiente problemas:
- saltos durante la reproducción de sonidos
- saltos y lentitud durante la reproducción de video
- reducción de velocidad en las transferencias de los discos duro ulta-dma
- cuelgues del sistema

A veces, una actualización de la bios puede ayudar parte del arreglo para el bug 11 lo puede realizar la Bios. Sin emargo, sólo hay algunas placas base que pueden ayudar para la solución del Bug 11. Por el momento, espero que AMD me envie la documentación para implementar la solución en el núcleo de linux, peor no parecen estar muy de acuerdo en esto (no ha habido reacción de AMD por ahora).

Para la Asus A7V133-C se sabe que la opción de la bios "PCI master read caching" puede solucionar muchos problemas cuando está activada. Así que mira la bios por si tiene opción.

También se sabe que en algunas placas la opción de la bios "Delayed Transaction" soluciona algunos de los problemas. ¡Actívelo y pruebelo! ¡ATENCION: En placas con KT133A, esto puede activar el famoso bug VIA-Southbridge!

(de este post en las news (alemán, lo siento): en una asus a7v:
sin "delayed transaction": saltos en el sonido y tv
con "delayed transaction": sin saltos en el sonido y solamente leves problemas en tv
con "delayed transaction" y "master read caching": casi ningún problema en tv y sin saltos en el sonido)


3.2 Por hacer

- Añadir mas chispsets al parche

- Añadir mas información a este COMO

3.3 Traducciones

Ingles por Daniel Nofftz

Español: estas en él :)

Francés por Mathieu Pillard