Athlon Powersaving HOWTO

Daniel Nofftz <nofftz@castor.uni-trier.de>

French Translation : Mathieu Pillard <mat@mandragor.org>

v0.08, 23 Janvier 2003.


Comment activer l'économie d'énergie sur les processeurs Athlon/Duron/AthlonXP sur certaines cartes mères.


1. Introduction

2. Les différentes approches

3. Quoi d'autre ?

Appendice A : Notes sur la traduction



1. Introduction

1.1 Les bases du fonctionnement de l'économie d'énergie des Athlons

Le signal HLT qui est utilisé par le "idle-loop" du noyau linux n'apporte pas d'economie d'énergie significative sur les processeurs de la famille Athlon/Duron (Que nous appellerons plus simplement Athlon dans le reste de ce document). Pour obtenir une vraie économie d'énergie sur les processeurs athlons, vous devez mettre le processeur en mode STPGNT. Dans ce mode, le processeur est déconnecté du FSB et peut donc éteindre certains parties du CPU et reduire la fréquence d'horloge pour sauver de l'énergie.

1.2 Cartes mères/chipsets supportés

Pour le moment, mon patch ne supporte que les cartes mères basées sur les chipsets KT133/133A, KX133 et KT266/266A. Le patch/programme lvcool ne supporte que les cartes mères basées sur les chipsets KT133/133A et KX133. Il est aussi possible d'utiliser une ligne de commande avec setpci pour l'activer sur les chipsets AMD760.



2. Les différentes approches

Attention: Il est preferrable d'utiliser le hack en ligne de commande qui ne nécessite pas de modifications dans le noyau et qui est plus facile à désactiver en cas de problemes apres avoir active l'économie d'énergie. De plus je ne développe plus mon patch actuellement, car je pense que la methode du hack en ligne de commande est une meilleure facon de faire...

2.1 Mon patch

Mon patch est basé sur un autre patch que j'ai trouvé sur usenet. J'ai modifié le patch pour qu'il supporte aussi les chipsets KT266/266A et j'espère pouvoir prochainement en ajouter d'autres.

Le patch ne fonctionne que si vous avez activé ACPI. C'est parceque mon patch ne fait que activer le bit "Disconnect eable when STPGNT detected" du chipset. Pour vraiment sauver de l'énergie, quelqu'un doit envoyer un signal STPGNT. Cette action est réalisée par l'ACPI lorsque le systeme entre dans le mode "idle c2".

D'abord, vous devez telecharger le patch:

Vous devez ensuite patcher le noyau :
- devenez root
- cd /usr/src/
- appliquez le patch: cat $path-to-patch/amd_cool.diff | patch -p0
- cd linux
- make menuconfig (ou make xconfig)
- Dans "General Setup" vous devez activer "ACPI support", "ACPI bus manager", "System", et "Processor". (NOTE: lorsque ACPI est activé, APM ne marchera pas ! il est désactivé au moment du boot. Vous ne pouvez donc utiliser que ACPI ou APM. Mais l'économie d'énergie ne marche pas avec APM! - Si vous avex besoin d'APM et avez une carte mère a base de KT133/133A ou KX133, allez voir le patch lvcool).
- compilez le nouveau noyau.
- redemarrez et entrez "amd_disconnect=yes" lors du prompt boot. C'est nécessaire a cause de bugs connus du processeur athlon, qui cause certains problèmes avec certaines cartes mères! Testez le patch, et si vous constatez qu'il marche, ajoutez "amd_disconnect=yes" a votre ligne append dans lilo.conf.

2.2 Le patch noyau lvcool et la solution userspace

LVCool est un portage d'un programme windows, VCool. Vous pouvez le télécharger ici.

2.3 Le hack setpci en ligne de commande

si vous avez déjà activé le support "ACPI processor" dans votre noyau, vous pouvez activer/désactiver l'économie d'énergie depuis la ligne de commande (sans mon patch). C'est parceque la seule chose que vous avez a faire, c'est modifier un bit specifique dans le northbridge, et c'est possible via setpci.

Avec mon patch installe vous pouvez le desactiver avec les commandes, et le re-activer ensuite! (mon patch ne fais rien d'autre que rendre le bit executable depuis le kernel!)

Pour ceux qui utilisent la ligne de commande pour activer l'économie d'énergie, voici une approche plus propre pour vos scripts de demmarrage : (merci a Dirk Heumann). Tout n'a pas ete teste, donc je serais tres interesse de recevoir des reponses du style "ca marche" ou "ca marche pas du tout" :)



3. Quoi d'autre ?

3.1 Bugs et problemmes connus

Il y a 2 bugs connus dans les processeurs Athlon/Duron, respectivement les numéros 11 et 15 dans "l'AMD Athlon Processor Revision Guide". Apparamment, l'Athon XP n'est pas affecté par ces bugs. Donc si vous avez un Athlon XP, vous êtes du coté des chanceux (comme moi).

Ces bugs peuvent causer les problèmes suivants:
- "sauts" lors d'ecoute de musiques
- "sauts" et/ou ralentissements lors de visualisation de vidéos
- ralentissements des transferts sur les disques durs ultra-dma
- bloquages dy système

Selon les cas une update bu bios apportera une solution vu qu'il existe un moyen de contourner le bug 11 via le bios. Cependant, d'après ce que je sais seules un petit nombre de cartes mères permettent cela. J'espere que AMD m'enverra de la documentation pour que je puisses utiliser cette solution dans le noyau linux, mais pour l'instant ca se presente plutot mal (toujours pas de reaction de la part d'AMD.

Pour les Asus A7V133-C l'activation de l'option du bios 'PCI master read caching' devrait résoudre la plupart des problèmes. Regardez donc si votre bios possède cette fonction!

Apparamment, sur certaines cartes mères, l'option du bios "Delayed Transaction" résout également certains problèmes. Essayez donc cette option aussi! ATTENTION: Sur les cartes mères a base de KT133A ceci peut engendrer le tristement célèbre "VIA-Southbridge Bug"!

( D'apres ce post dans les news (en allemand :(): sur une asus a7v:
sans 'delayed transaction': 'sauts' dans l'audio et la video
avec 'delayed transaction': pas de problèmes avec le son, quelques problèmes mineurs avec la vidéo
avec 'delayed transcation' et 'master read caching': pas ou peu de problèmes avec la vidéo, pas de problèmes avec le son

3.2 A Faire

- Ajouter plus de chipsets dans le patch.

- Ajouter plus d'informations a ce HOWTO.

3.3 Traductions

Version Originale Anglaise par Daniel Nofftz

Espagnole par Carlos Mayo

Française (vous êtes actuellement en train de la regarder :)

Appendice A : Notes sur la traduction

Cette traduction est loin d'être finie, il n'y a eu qu'une relecture rapide pour le moment... si vous voulez m'aider, envoyez moi un mail...