old-www/HOWTO/html_single/Athlon-Powersaving-HOWTO/index.html

1303 lines
28 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Athlon Powersaving HOWTO</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
><BODY
CLASS="article"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="ARTICLE"
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="title"
><A
NAME="AEN2"
></A
>Athlon Powersaving HOWTO</H1
><H3
CLASS="author"
><A
NAME="AEN4"
>Daniel Nofftz</A
></H3
><DIV
CLASS="affiliation"
><DIV
CLASS="address"
><P
CLASS="address"
><TT
CLASS="email"
>&#60;<A
HREF="mailto:daniel@nofftz.net.NOSPAM"
>daniel@nofftz.net.NOSPAM</A
>&#62;</TT
></P
></DIV
></DIV
><P
CLASS="pubdate"
>2007-06-06<BR></P
><DIV
CLASS="revhistory"
><TABLE
WIDTH="100%"
BORDER="0"
><TR
><TH
ALIGN="LEFT"
VALIGN="TOP"
COLSPAN="3"
><B
>Revision History</B
></TH
></TR
><TR
><TD
ALIGN="LEFT"
>Revision 1.2.3</TD
><TD
ALIGN="LEFT"
>2007-06-06</TD
><TD
ALIGN="LEFT"
>Revised by: dn</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
>corrected the correction from 1.2.3 (thx to Rajeev V. Pillai)</TD
></TR
><TR
><TD
ALIGN="LEFT"
>Revision 1.2.2</TD
><TD
ALIGN="LEFT"
>2007-05-30</TD
><TD
ALIGN="LEFT"
>Revised by: dn</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
>corrected a typo in the nforce disable command</TD
></TR
><TR
><TD
ALIGN="LEFT"
>Revision 1.2.1</TD
><TD
ALIGN="LEFT"
>2007-05-13</TD
><TD
ALIGN="LEFT"
>Revised by: dn</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
>corrections to the new copyright statement, corrections to the disclaimer</TD
></TR
><TR
><TD
ALIGN="LEFT"
>Revision 1.2</TD
><TD
ALIGN="LEFT"
>2007-05-10</TD
><TD
ALIGN="LEFT"
>Revised by: dn</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
>coolrun added, new URL for (brazilian) Portuguese Version, License Change (GNU FDL to GNU GPL), some minor accessibility related changes</TD
></TR
><TR
><TD
ALIGN="LEFT"
>Revision 1.1.12</TD
><TD
ALIGN="LEFT"
>2006-04-06</TD
><TD
ALIGN="LEFT"
>Revised by: dn</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
>typos corrected</TD
></TR
></TABLE
></DIV
><DIV
><DIV
CLASS="abstract"
><A
NAME="AEN37"
></A
><P
></P
><P
>&#13; How to enable the power-saving functionality of the
Athlon/Duron/AthlonXP processor on some motherboards/chipsets.
This is usefull for saving Power and lowering the Temperature of the
CPU and the System. (It also will reduce noise if you use temperature
controlled fans in your case/on your cpu heatsink).
</P
><P
></P
></DIV
></DIV
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>1. <A
HREF="#intro"
>Introduction</A
></DT
><DD
><DL
><DT
>1.1. <A
HREF="#basics"
>Basics on the Athlon Power Saving Mode</A
></DT
><DT
>1.2. <A
HREF="#copyright"
>Copyright and License</A
></DT
><DT
>1.3. <A
HREF="#disclaimer"
>Disclaimer</A
></DT
><DT
>1.4. <A
HREF="#feedback"
>Feedback/Questions/Support</A
></DT
><DT
>1.5. <A
HREF="#newversions"
>New Versions of this Document</A
></DT
></DL
></DD
><DT
>2. <A
HREF="#approaches"
>The Different Approaches</A
></DT
><DD
><DL
><DT
>2.1. <A
HREF="#commandline"
>The Command-line Hack (recommended)</A
></DT
><DT
>2.2. <A
HREF="#coolrun"
>The coolrun shellscript (recommended)</A
></DT
><DT
>2.3. <A
HREF="#athcool"
>The Athcool Program (recommended)</A
></DT
><DT
>2.4. <A
HREF="#biosup"
>BIOS updates</A
></DT
><DT
>2.5. <A
HREF="#patch"
>Kernel Patches</A
></DT
><DT
>2.6. <A
HREF="#lvcool"
>The LVCool Solution</A
></DT
><DT
>2.7. <A
HREF="#fvcool"
>The FVCool Program</A
></DT
><DT
>2.8. <A
HREF="#760MP"
>AMD 760MP Powersaving</A
></DT
></DL
></DD
><DT
>3. <A
HREF="#else"
>What Else?</A
></DT
><DD
><DL
><DT
>3.1. <A
HREF="#testing"
>How to test whether it works</A
></DT
><DT
>3.2. <A
HREF="#bugs"
>Known Bugs/Problems</A
></DT
><DT
>3.3. <A
HREF="#fix"
>Fix for sound skips and other problems</A
></DT
><DT
>3.4. <A
HREF="#viafix"
>Another Fix for sound skips and other problems (on some Via-Chipsets)</A
></DT
><DT
>3.5. <A
HREF="#todo"
>ToDo</A
></DT
><DT
>3.6. <A
HREF="#translations"
>Translations</A
></DT
></DL
></DD
></DL
></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="intro"
></A
>1. Introduction</H1
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="basics"
></A
>1.1. Basics on the Athlon Power Saving Mode</H2
><P
>&#13; The HLT signal which is used by the normal idle-loop of the Linux kernel
doesn't normaly bring any significant power-saving on processors of the Athlon/Duron
family (hereafter referred to as Athlon processors). To get real power-saving on an
Athlon processor, you have to put the processor in the STPGNT-Mode (Stop Grant Mode).
In this mode, the processor is disconnected from the front-side bus (FSB), and can
turn off parts of the CPU as well as reduce the clock to save power.
</P
><P
>&#13; Some modern Motherboards/Chipsets also support a Function to make a STPGNT when a HLT signal is detected.
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="copyright"
></A
>1.2. Copyright and License</H2
><P
>&#13; This document, <EM
>Athlon Powersaving HOWTO</EM
>,
is copyrighted (c) 2003-2007 by <EM
>Daniel Nofftz</EM
>.
</P
><P
>&#13; This work is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2,
as published by the Free Software Foundation.
</P
><P
>&#13; A copy of the license is available at
<A
HREF="http://www.daniel.nofftz.net/linux/gpl_v2.txt"
TARGET="_top"
>&#13; http://www.daniel.nofftz.net/linux/gpl_v2.txt</A
>.
</P
><P
>&#13; Linux is a registered trademark of Linus Torvalds.
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="disclaimer"
></A
>1.3. Disclaimer</H2
><P
>&#13; This work is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
</P
><P
>&#13; All copyrights are held by their respective owners,
unless specifically noted otherwise. Use of a term in this
document should not be regarded as affecting the validity of any
trademark or service mark. Naming of particular products or
brands should not be seen as endorsements.
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="feedback"
></A
>1.4. Feedback/Questions/Support</H2
><P
>&#13; Feedback is most essential for this document. New solutions for
new chipsets are especially needed, as are comments,
whether the provided solutions work or don't work. Also please report
spelling errors if you find them, cause i am no native english speaker. Send
your additions, comments, criticisms and questions to the following
email address: <TT
CLASS="email"
>&#60;<A
HREF="mailto:daniel@nofftz.net.NOSPAM"
>daniel@nofftz.net.NOSPAM</A
>&#62;</TT
>.
<EM
>You can email me in German or English!</EM
>
</P
><P
>&#13; If you want to support me, you could donate through Paypal (to the
same email-adress) or send me some new Hardware to play with. ;)
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="newversions"
></A
>1.5. New Versions of this Document</H2
><P
>&#13; The newest version of this HOWTO will always first be made
available at:
<A
HREF="http://www.daniel.nofftz.net/linux/"
TARGET="_top"
>http://www.daniel.nofftz.net/linux/</A
>
</P
><P
>&#13; The sourcecode of this HOWTO is hosted at the <A
HREF="http://www.tldp.org"
TARGET="_top"
>Linux Documentation Project</A
> or can be requested from me.
</P
></DIV
></DIV
><DIV
CLASS="sect1"
><HR><H1
CLASS="sect1"
><A
NAME="approaches"
></A
>2. The Different Approaches</H1
><P
>&#13; In the following section I present different approaches to achieve the same goal:
power-saving on your Athlon/Athlon-XP based system. My recommended approach at the
moment is to use the <SPAN
CLASS="QUOTE"
>"command-line hack"</SPAN
> or the athcool programm (the kernel patch
is outdated and will not be developed any further, and the
LVCool patch supports only one chipset family.)
</P
><P
>&#13; Nearly all of these approaches will set the <SPAN
CLASS="QUOTE"
>"
Disconnect enable when STPGNT detected"</SPAN
> bit
in the north bridge of the chipset. All other work is done by the ACPI subsystem of
the kernel which sends a STPGNT signal to the processor, when it enters the acpi-c2 idle
mode.
</P
><P
>&#13; If you haven't already got a kernel with ACPI support, you have to enable it in
the kernel setup and then recompile the new kernel. You'll find the
ACPI-options under <SPAN
CLASS="guimenu"
>General Setup</SPAN
>+<SPAN
CLASS="guimenu"
>Power Management Setup</SPAN
>-&gt;<SPAN
CLASS="guimenuitem"
>ACPI</SPAN
>. You must have at least the following options: <SPAN
CLASS="guimenuitem"
>ACPI Bus Manager</SPAN
>, <SPAN
CLASS="guimenuitem"
>System</SPAN
> and <SPAN
CLASS="guimenuitem"
>Processor.</SPAN
>
</P
><P
>&#13; Or for the new 2.4.22 Kernel: <SPAN
CLASS="guimenu"
>General Setup</SPAN
>+<SPAN
CLASS="guimenu"
>ACPI Support</SPAN
>. You must have at least the following option: <SPAN
CLASS="guimenuitem"
>Processor</SPAN
>.
</P
><P
>2.6.x Kernel: <SPAN
CLASS="guimenu"
>Powermanagment options</SPAN
>+<SPAN
CLASS="guimenu"
>ACPI</SPAN
>. You must have at least the option <SPAN
CLASS="guimenuitem"
>Processor</SPAN
> enabled. You shouldn't enable Thermal Zone !!
</P
><P
>&#13; Some Chipsets also support a STPGNT if a HLT signal is detected. This Motherboards/Chipsets
don't need ACPI to be enabled! At the moment i look for feedback which Chipsets work without
ACPI and which need ACPI. Maybee you could test it on your Motherboard and send me a mail.
(see <A
HREF="#testing"
>Section 3.1</A
>)
</P
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="commandline"
></A
>2.1. The Command-line Hack (recommended)</H2
><P
>&#13; To use the command-line hack you normaly have to enable ACPI in the kernel, otherwise it is mentioned. No reboot is needed to enable the Powersaving. You could enable/disable it from the command line with this commands:
</P
><P
>&#13; <P
></P
><DIV
CLASS="variablelist"
><DL
><DT
>on KT133/133A, KX133, KL/KLE133, KM/KN133, ...: (needs definitively acpi enabled)</DT
><DD
><P
>&#13; enable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s 0:0.0 52) | 0x80)))</B
>
</P
><P
>&#13; disable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s 0:0.0 52) &#38; 0x7f)))</B
>
</P
></DD
><DT
>on KT266/266A/333,KM266/266A/333, ...:</DT
><DD
><P
>enable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 92=$(printf %x $((0x$(setpci -H1 -s 0:0.0 92) | 0x80)))</B
></P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 95=$(printf %x $((0x$(setpci -H1 -s 0:0.0 95) | 0x02)))</B
></P
><P
>disable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 92=$(printf %x $((0x$(setpci -H1 -s 0:0.0 92) &#38; 0x7f)))</B
></P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 95=$(printf %x $((0x$(setpci -H1 -s 0:0.0 95) &#38; 0xfd)))</B
></P
></DD
><DT
>on KT333CF/KT400/KT400A/KM400/KM400A/KT600:</DT
><DD
><P
>enable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) | 0x80)))</B
></P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 D5=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D5) | 0x02)))</B
></P
><P
>disable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) &#38; 0x7f)))</B
></P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 D5=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D5) &#38; 0xfd)))</B
></P
></DD
><DT
>on KT880:</DT
><DD
><P
>enable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 82=$(printf %x $((0x$(setpci -H1 -s 0:0.0 82) | 0x80)))</B
></P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 85=$(printf %x $((0x$(setpci -H1 -s 0:0.0 85) | 0x02)))</B
></P
><P
>disable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 82=$(printf %x $((0x$(setpci -H1 -s 0:0.0 82) &#38; 0x7f)))</B
></P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 85=$(printf %x $((0x$(setpci -H1 -s 0:0.0 85) &#38; 0xfd)))</B
></P
></DD
><DT
>on SIS730/733:</DT
><DD
><P
>enable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 6B=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6B) | 0x01)))</B
></P
><P
>disable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 6B=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6B) &#38; 0xfe)))</B
></P
></DD
><DT
>on SIS735/740/745/755:</DT
><DD
><P
>enable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 6A=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6A) | 0x0003)))</B
></P
><P
>disable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 6A=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6A) &#38; 0xfffc)))</B
></P
></DD
><DT
>on SIS741/741GX/746/748:</DT
><DD
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 6C=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6C) | 0x0003)))</B
></P
><P
>disable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 6C=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6C) &#38; 0xfffc)))</B
></P
></DD
><DT
>on Nforce:</DT
><DD
><P
>enable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 E7=$(printf %x $((0x$(setpci -H1 -s 0:0.0 E7) | 0x06)))</B
></P
><P
>disable:</P
><P
><B
CLASS="command"
>setpci -v -H1 -s 0:0.0 E7=$(printf %x $((0x$(setpci -H1 -s 0:0.0 E7) &#38; 0xf9)))</B
></P
></DD
><DT
>on Nforce2: (works without acpi enabled)</DT
><DD
><P
>enable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 6F=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6F) | 0x10)))</B
></P
><P
>disable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 6F=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6F) &#38; 0xef)))</B
></P
></DD
><DT
>on AMD751 and AMD760/761:(not for the 760MP!!!)(works without acpi enabled)</DT
><DD
><P
>&#13; enable: <B
CLASS="command"
>setpci -v -s 0:0.0 0x62=$(printf %x $((0x$(setpci -H1 -s 0:0.0 62) | 0x06)))</B
>
</P
><P
>&#13; disable: <B
CLASS="command"
>setpci -v -s 0:0.0 0x62=$(printf %x $((0x$(setpci -H1 -s 0:0.0 62) &#38; 0xf9)))</B
>
</P
></DD
></DL
></DIV
>
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="coolrun"
></A
>2.2. The coolrun shellscript (recommended)</H2
><P
>&#13; <EM
>coolrun</EM
> is a small shellscript which uses the command line hacks and does all the work for you. It is developed/maintened
by Grozdan Nikolov and based on this HOWTO.
</P
><P
>&#13; You can read more about it (and download it) here:
<A
HREF="https://sourceforge.net/projects/coolrun/"
TARGET="_top"
>&#13; https://sourceforge.net/projects/coolrun/</A
>
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="athcool"
></A
>2.3. The Athcool Program (recommended)</H2
><P
>&#13; <EM
>Athcool</EM
> is a small program which performs the same
task as the <B
CLASS="command"
>setpci</B
> commands above. It supports the same
chipsets and detects what chipset you have, issuing the right settings
in the chipset to get the power-saving to work.
</P
><P
>&#13; You can read more about it (and download it) here:
<A
HREF="http://members.jcom.home.ne.jp/jacobi/linux/softwares.html"
TARGET="_top"
>&#13; http://members.jcom.home.ne.jp/jacobi/linux/softwares.html</A
> <EM
>I am not the Author
of this program!</EM
>
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="biosup"
></A
>2.4. BIOS updates</H2
><P
>&#13; On some newer boards the manufacturer provides a BIOS update which sets
the needed bit/bits in the chipset of the board (or let you choose in
the BIOS-setup whether it should be enabled). Refer to the homepage of
your motherboard manufacturer to see if such a BIOS-update is available.
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="patch"
></A
>2.5. Kernel Patches</H2
><P
>&#13; The patch is based on another patch (from Jan Niehusmann) I found on the
Newsnet. I modified the patch to also support the KT266/266A chipset.
By the way, my patch does the same as the command-line hack, except that
the Patch does it from
within the kernel. This is why I recommend using the command-line hack,
which is really simple to use and you don't have to modify your kernel.
</P
><DIV
CLASS="procedure"
><P
><B
>Ok... now step by step, here's how to apply the patch:</B
></P
><OL
TYPE="1"
><LI
><P
>&#13; First you have to download the patch: </P
><P
><A
HREF="http://www.daniel.nofftz.net/linux/amd_cool.diff"
TARGET="_top"
>&#13; Kernel Patch for 2.4.17</A
></P
><P
><A
HREF="http://www.daniel.nofftz.net/linux/amd_cool.linux-2.4.21.diff"
TARGET="_top"
>&#13; Kernel Patch for 2.4.21</A
> (thx to Thomas Reinhardt for porting it to 2.4.21)</P
><P
><A
HREF="http://www.daniel.nofftz.net/linux/amd_cool.linux-2.6.5.diff"
TARGET="_top"
>&#13; Kernel Patch for 2.6.5</A
> which supports all Via Chipsets up to the KT600 (thx to Sebastian Droege for porting it to 2.6.5 and adding the other Chipsets)</P
><P
><A
HREF="http://www.daniel.nofftz.net/linux/amd_cool.linux-2.6.9.diff"
TARGET="_top"
>&#13; Kernel Patch for 2.6.9</A
> which supports all Via Chipsets up to the KT600 (thx to Alexander Hug for porting it from 2.6.5 to 2.6.9)</P
></LI
><LI
><P
>&#13; Login as root
</P
></LI
><LI
><P
>&#13; <B
CLASS="command"
>cd /usr/src</B
>
</P
></LI
><LI
><P
>&#13; Apply the patch: <B
CLASS="command"
>cat $path-to-patch/amd_cool.diff | patch -p0</B
>
(The new 2.6.5 Patch: cd to linux and patch -p1)
</P
></LI
><LI
><P
>&#13; <B
CLASS="command"
>cd linux</B
>
</P
></LI
><LI
><P
>&#13; Make the new kernel
</P
></LI
><LI
><P
>&#13; Reboot, and at the kernel boot-prompt, enter the statement <TT
CLASS="userinput"
><B
> amd_disconnect=yes </B
></TT
>. This is because there are known bugs within the Athlon processor, which could cause problems on several boards. You should test the patch, and if it works, you can append the statement <TT
CLASS="userinput"
><B
> amd_disconnect=yes </B
></TT
> to the file <TT
CLASS="filename"
>/etc/lilo.conf</TT
>.
</P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="lvcool"
></A
>2.6. The LVCool Solution</H2
><P
>&#13; <EM
>LVCool</EM
> is a small port of the Windows programm
<A
HREF="http://vcool.occludo.net/"
TARGET="_top"
>&#13; VCool</A
>. It only supports the KT133/133A and KX133 chipset and
I can't provide support for it. You can download it
<A
HREF="http://vcool.occludo.net/VC_Linux.html"
TARGET="_top"
>&#13; here</A
>. This solutions needs no ACPI compiled in the kernel.
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="fvcool"
></A
>2.7. The FVCool Program</H2
><P
>
<A
HREF="http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html"
TARGET="_top"
>&#13; Here</A
> is another Powersaving program which supports several chipsets. I didn't test it
by myself but i heared it works. Check it out ... There is also a program provided with
which you could use the onboard monitoring chips on some motherboards
(like the lm-sensors package).
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="760MP"
></A
>2.8. AMD 760MP Powersaving</H2
><P
>&#13; There is a kernel module which enables powersaving on the 760MP multiprocessor chipset. You
could find it
<A
HREF="http://www.muru.com/linux/amd-smp-idle/"
TARGET="_top"
>&#13; here</A
>. I don't know how good it works, but i got at least one mail from someone
who said it works for him. So check it out.
</P
></DIV
></DIV
><DIV
CLASS="sect1"
><HR><H1
CLASS="sect1"
><A
NAME="else"
></A
>3. What Else?</H1
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="testing"
></A
>3.1. How to test whether it works</H2
><P
>&#13; Ok ... you use one of the described powersaving possibilitys and you want to verify, whether
it works. Here are two ways to check it:
</P
><P
>&#13; If you have temperature controlled Fan on your CPU-Heatsink, you could check for the noise level of the Fan to see whether it works or not. After a few idle minutes you give the CPU somthing to do.
<DIV
CLASS="procedure"
><P
><B
>I normaly do it like this:</B
></P
><OL
TYPE="1"
><LI
>get superuser (root)
</LI
><LI
><B
CLASS="command"
>cd /usr/src/linux</B
></LI
><LI
>and give the computer something to do: <B
CLASS="command"
>while true; do make clean; make bzImage; done</B
></LI
></OL
></DIV
>
After about 20 or 30 seconds you should notice that the noise of the fan is getting louder while the fan is getting faster. Don't forget to end the while-loop after some time ( a few minutes) with STRG-C.
</P
><P
>&#13; The same procedure as above works also with a monitoring program for the cpu-temperature (like <A
HREF="http://secure.netroedge.com/~lm78/"
TARGET="_top"
>lm-sensors</A
>, <A
HREF="http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html"
TARGET="_top"
>xmbmon</A
> and <A
HREF="http://www.tinet.org/~com.ea/rtsensors/"
TARGET="_top"
>rtsensors</A
>).
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="bugs"
></A
>3.2. Known Bugs/Problems</H2
><P
>There are two known bugs in the Athlon/Duron processor. This is number
11 and number 14 in the <I
CLASS="citetitle"
>AMD Athlon Processor Revision Guide</I
>. It looks like the Athlon XP is significantly less often affected by these bugs. So if you have an Athlon XP you are on the lucky side (like me).</P
><P
>There could be following problems (caused by the bugs):
<P
></P
><UL
><LI
><P
>skips during sound playback</P
></LI
><LI
><P
>skips and slowdown during video playback</P
></LI
><LI
><P
>slowdown of the ultra-DMA harddisk transfers</P
></LI
><LI
><P
>system hangs</P
></LI
><LI
><P
>USB problems</P
></LI
><LI
><P
>someone reported a high cheeping noise</P
></LI
></UL
>
</P
><P
>Sometimes a BIOS-update will help (it exists as a workaround for
bug 11, which could be done by the BIOS). But as far as I know there are
only a few boards out there which have this workaround in the BIOS.</P
><P
>For the Asus A7V133-C, it is known that the BIOS-option <TT
CLASS="option"
>PCI master read caching</TT
> will solve most problems when it is enabled. So look
at your BIOS to see whether it has such functionality.</P
><P
>It is also known that on some boards, the BIOS option <TT
CLASS="option"
>Delayed Transaction</TT
> solves some of the problems. You may want to give this option a try too.</P
><P
>WARNING: On boards with KT133A, this could enable the famous VIA-Southbridge bug!</P
><P
>From a Newsnet post, regarding Asus A7V:
<P
></P
><UL
><LI
><P
>without delayed transaction: sound-skips and TV-skips</P
></LI
><LI
><P
>with delayed transaction: no sound skips and only slight TV problems</P
></LI
><LI
><P
>with delayed transcation and master read caching: nearly no TV problems and no sound skips at all</P
></LI
></UL
>
</P
><P
>There are other causes for problems:
<P
></P
><UL
><LI
><P
>the PSU is not strong enough to handle the fluctuations in the power consumption of the processor/motherboard</P
></LI
><LI
><P
>some motherboard voltage-regulators could have the same problems like the PSU ;)</P
></LI
><LI
><P
>you have a K7S5A (as far as I know, this board could be really wierd when power-saving is enabled)</P
></LI
></UL
>
</P
><P
>&#13; If you have minor problems with power-saving enabled, and nevertheless want to use
power-saving, you can enable the power-saving by default, and turn it off if you
want to playback music, watch TV, ...
</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="fix"
></A
>3.3. Fix for sound skips and other problems</H2
><P
>Thank you to Michael Hamilton for submitting me the idea how it works.</P
><P
>The working of this Fix was confirmed by two People, so it looks like it works, but it may not work for everyone. Please feel free to submit further experiences!</P
><P
>Lets go: It looks like at least the sound skips are curable by maximizing the pci latency timer of the device.</P
><P
>First you have to find the "pci-address" of your Soundcard. This could be done with <B
CLASS="command"
>lspci</B
>. You have to look for something like "Multimedia audio controller" or "AudioPCI". Take the "pci-address" of the device (looks like something like that: 01:06.0 -&#62; it stands for: bus:slot.function) and maximize the latency timer for it. This is done by setpci:</P
><P
><B
CLASS="command"
>setpci -v -s "pci-address" latency_timer=ff</B
></P
><P
>For additional Information on the Latency Timer you could look <A
HREF="http://www-106.ibm.com/developerworks/linux/library/l-hw2.html"
TARGET="_top"
>here.</A
></P
><P
>Maybe this works also for other problems like USB-Problems and Harddisk-Transfer-Slowdowns, but this hasn't been tested for now. Feel free to test it (but don't blame me, if it doesn't work or makes everything worse) and report whether it works. The problem is, that i have none of this problems and so can't test this by myself.</P
><P
>If it works, you have to perform this setpci command at every startup/reboot of the Computer. So it would be wise to put it in one of the init-scripts (after the driver module is loaded!).</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="viafix"
></A
>3.4. Another Fix for sound skips and other problems (on some Via-Chipsets)</H2
><P
>Thank you to Wijatmoko Prayitno for submitting this!</P
><P
>The working of this Fix was confirmed for KT266, KT/KM333 and KT/KM400 Chipsets. It may also work for other Via-Chipsets. Please report if it works on other Via-Chipsets !</P
><P
>This is quite easy and works like the Commandline-Hack for enabling the Powersaving:</P
><P
></P
><DIV
CLASS="variablelist"
><DL
><DT
>Soundfix on KT/KM333 and KT/KM400 Chipsets:</DT
><DD
><P
>&#13; enable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 70=$(printf %x $((0x$(setpci -H1 -s 0:0.0 70) | 0x08)))</B
>
</P
><P
>&#13; disable: <B
CLASS="command"
>setpci -v -H1 -s 0:0.0 70=$(printf %x $((0x$(setpci -H1 -s 0:0.0 70) &#38; 0xf7)))</B
>
</P
></DD
></DL
></DIV
><P
>If it works, you have to perform this setpci command at every startup/reboot of the Computer. So it would be wise to put it in one of the init-scripts (after the driver module is loaded!).</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="todo"
></A
>3.5. ToDo</H2
><P
>Adding more chipsets and more informations to this document.</P
><P
>Adding some Informations on the Powersaving System of the Athlon64 and Opteron CPUs.</P
><P
>Adding some Informations on Notebooks and Power-Saving.</P
></DIV
><DIV
CLASS="sect2"
><HR><H2
CLASS="sect2"
><A
NAME="translations"
></A
>3.6. Translations</H2
><P
>&#13; Translations into different languages also exist. At the moment, some of
them are not up to date.
</P
><P
><A
HREF="http://tldp.fsf.hu/HOWTO/Athlon-Powersaving-HOWTO-hu/index.html"
TARGET="_top"
>&#13; Hungarian</A
>by Zsolt Mocza</P
><P
><A
HREF="http://perso.wanadoo.es/cmayo/docs/Athlon-Powersaving-HOWTO-es.html"
TARGET="_top"
>&#13; Spanish</A
> by Carlos Mayo (very out-dated)</P
><P
><A
HREF="http://www.gigantefotos.com.br/sl/pt_BR_Athlon_Powersaving_HOWTO.html"
TARGET="_top"
>&#13; brasilian Portuguese/Portuguese</A
> by Bruno Buys</P
><P
><A
HREF="http://www.daniel.nofftz.net/linux/Athlon-Powersaving-HOWTO-fr.html"
TARGET="_top"
>&#13; French</A
> by Mathieu Pillard (very out-dated)</P
><P
><A
HREF="http://www.daniel.nofftz.net/linux/Athlon-Powersaving-HOWTO-it.html"
TARGET="_top"
>&#13; Italian</A
> by Maurizio Fantino (very out-dated)</P
><P
><A
HREF="http://www.linuxwiki.de/AMDPowerSaving"
TARGET="_top"
>&#13; German (only parts)</A
> by Fabian Mohren</P
><P
><A
HREF="http://www.linux.or.jp/JF/JFdocs/Athlon-Powersaving-HOWTO/index.html"
TARGET="_top"
>Japanese</A
> by Seiji Kaneko</P
></DIV
></DIV
></DIV
></BODY
></HTML
>