<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY colon      "&#x003A;"> <!-- COLON -->
<!ENTITY dollar     "&#x0024;"> <!-- DOLLAR SIGN -->
<!ENTITY mdash      "&#x2014;"> <!-- EM DASH -->
<!ENTITY ndash      "&#x2013;"> <!-- EN DASH -->
<!ENTITY reg        "&#x00AE;"> <!-- REGISTERED TRADEMARK -->
<!ENTITY trade      "&#x2122;"> <!-- TRADEMARK -->
<!ENTITY agrave     "&#x00E0;"> <!-- a GRAVE -->
<!ENTITY eacute     "&#x00E9;"> <!-- e ACUTE -->
<!ENTITY egrave     "&#x00E8;"> <!-- e GRAVE -->
<!ENTITY igrave     "&#x00EC;"> <!-- i GRAVE -->
<!ENTITY ograve     "&#x00F2;"> <!-- o GRAVE -->
<!ENTITY ugrave     "&#x00F9;"> <!-- u GRAVE -->
<!ENTITY Agrave     "&#x00C0;"> <!-- A GRAVE -->
<!ENTITY Eacute     "&#x00C9;"> <!-- E ACUTE -->
<!ENTITY Egrave     "&#x00C8;"> <!-- E GRAVE -->
<!ENTITY Igrave     "&#x00CC;"> <!-- I GRAVE -->
<!ENTITY Ograve     "&#x00D2;"> <!-- O GRAVE -->
<!ENTITY Ugrave     "&#x00D9;"> <!-- U GRAVE -->
]>
<article>
 <articleinfo>

  <title>Athlon Powersaving HOWTO</title>
  <author>
     <firstname>Daniel</firstname>
     <surname>Nofftz</surname>
     <affiliation>
        <!-- Valid email...spamblock/scramble if so desired -->
        <address><email>daniel@nofftz.net.NOSPAM</email></address>
     </affiliation>
   </author>

   <!-- All dates specified in ISO "YYYY-MM-DD" format -->
   <pubdate>2007-06-06</pubdate>

<revhistory>
      <revision>
    <revnumber>1.2.3</revnumber>
    <date>2007-06-06</date>
    <authorinitials>dn</authorinitials>
    <revremark>applicate correzioni da 1.2.3 (grazie a Rajeev V. Pillai)</revremark>
  </revision>
      <revision>
    <revnumber>1.2.2</revnumber>
    <date>2007-05-30</date>
    <authorinitials>dn</authorinitials>
    <revremark>corretto refuso nel comando disable nforce</revremark>
  </revision>
  <revision>
        <revnumber>1.2.1</revnumber>
        <date>2007-05-13</date>
        <authorinitials>dn</authorinitials>
        <revremark>correzioni per il nuovo copyright, correzione della liberatoria</revremark>
      </revision>
   <revision>
        <revnumber>1.2</revnumber>
        <date>2007-05-10</date>
        <authorinitials>dn</authorinitials>
    <revremark>aggiunto coolrun, nuovo URL per la versione Portoghese (Brasiliano), cambio di Licenza (da GNU FDL a GNU GPL), alcuni cambi minori relativi all'accessibilit&agrave;</revremark>
  </revision>
     <revision>
        <revnumber>1.1.12</revnumber>
        <date>2006-04-06</date>
        <authorinitials>dn</authorinitials>
        <revremark>corretti refusi</revremark>
     </revision>
   </revhistory>

   <abstract>
      <para>
       Come abilitare la funzionalit&agrave; per il risparmio energetico del processore Athlon/Duron/AthlonXP su certe schede madri/chipset. Questo &egrave; utile per risparmiare elettricit&agrave; ed abbassare la temperatura della CPU e del sistema. (Diminuir&agrave; anche il rumore, se si usano le ventole a controllo termico presenti nella cassa/sul dissipatore della CPU).
      </para>
      <para>Traduzione a cura di Giancarlo Contrafatto. Revisione a cura di Antonio Colombo. Per versioni aggiornate di questo documento e per trovare altra documentazione in italiano sul software libero visitare il sito dell'<ulink url="http://it.tldp.org">ILDP</ulink></para>
   </abstract>

 </articleinfo>

<!-- Content follows...include introduction, license information, feedback -->

<sect1 id="intro">
 <title>Introduzione</title>

<sect2 id="basics">
 <title>Nozioni di Base sulla modalit&agrave; risparmio energetico dell'Athlon</title>
 <para>
Il segnale HLT usato dal normale ciclo inattivo del kernel Linux, normalmente non conduce ad alcun significativo risparmio di energia sui processori della famiglia Athlon/Duron (d'ora in poi riferiti come processori Athlon). Per ottenere un risparmio energetico reale con un processore Athlon, bisogna mettere il processore in modalit&agrave; STPGNT (Stop Grant Mode). Usando questa modalit&agrave;, il processore &egrave; disconnesso dal front-side bus (FSB) e pu&ograve; spegnere alcune parti della CPU come pure ridurre il clock per risparmiare energia.
 </para>
 <para>
 Certe schede madri/chipset moderni supportano anche una funzione che crea un STPGNT quando viene individuato un segnale HLT.
 </para>
</sect2>

 <!-- Legal Sections -->
 <sect2 id="copyright">
  <title>Copyright and License</title>

  <!-- The LDP recommends, but doesn't require, the GFDL -->
  <para>
   This document, <emphasis>Athlon Powersaving HOWTO</emphasis>,
   is copyrighted (c) 2003-2007 by <emphasis>Daniel Nofftz</emphasis>.
  </para>
  <para>
   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.
   </para>
   <para>
   A copy of the license is available at
   <ulink url="http://www.daniel.nofftz.net/linux/gpl_v2.txt">
   http://www.daniel.nofftz.net/linux/gpl_v2.txt</ulink>.
  </para>
  <para>
   Linux is a registered trademark of Linus Torvalds.
  </para>
 </sect2>

 <sect2 id="disclaimer">
  <title>Liberatoria</title>

  <para>
  Questo lavoro &egrave; distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza neppure la garanzia implicata di VENDIBILIT&Agrave; o IDONEIT&Agrave; A USI PARTICOLARI. Si veda la Licenza Pubblica Generica GNU per maggiori dettagli.
  </para>

  <para>
   Tutti i diritti d'autore appartengono ai rispettivi proprietari, se non altrimenti specificato. Non si deve considerare l'uso di un termine in questo documento come influenzante la validit&agrave; di alcun marchio o marchio di servizio. La citazione di specifici prodotti o marche non deve essere interpretata come approvazione.
  </para>
 </sect2>

 <!-- Feedback -->
 <sect2 id="feedback">
  <title>Feedback/Domande/Supporto</title>

  <para>
   Ricevere reazioni a questo documento &egrave; estremamente essenziale. Soluzioni nuove per chipset nuovi sono specialmente necessarie, come lo sono i commenti, sia che le soluzioni proposte funzionino oppure no. Si prega di inviare aggiunte, commenti, critiche e domande al seguente indirizzo e-mail: <email>daniel@nofftz.net.NOSPAM></email> <emphasis>&Egrave; possibile scrivermi sia in Inglese che in Tedesco.</emphasis>
  </para>
  <para>
   Se si vuole sostenermi, &egrave; possibile fare donazioni usando Paypal (allo stesso indirizzo email) oppure inviarmi qualche nuovo pezzo di hardware con cui io possa giocare. ;)
  </para>
 </sect2>

 <sect2 id="newversions">
  <title>Nuove versioni di questo documento</title>
  <para>
    La versione pi&ugrave; recente di questo HOWTO sar&agrave; sempre rese disponibili nel sito:
     <ulink url="http://www.daniel.nofftz.net/linux/">http://www.daniel.nofftz.net/linux/
     </ulink>
  </para>
  <para>
      Il codice sorgente di questo HOWTO &egrave; ospitato al <ulink url="http://www.tldp.org">Linux Documentation Project</ulink> oppure pu&ograve; essere richiesto a me.
  </para>
 </sect2>


</sect1>

<sect1 id="approaches">
 <title>I diversi approcci</title>

 <para>
   Nella seguente sezione presento diversi approcci per ottenere lo stesso obbiettivo: risparmiare energia in un sistema basato sul Athlon/Athlon-XP. L'approccio che consiglio al momento, &egrave; quello di usare <quote>il metodo della riga di comando</quote> o il programma Athcool (la patch al kernel &egrave; ormai obsoleta e non verr&agrave; pi&ugrave; aggiornata, e la patch LVCool supporta solo una famiglia di chipset).
 </para>
 <para>
   Quasi tutti questi approcci assegneranno, nel north bridge del chipset, il bit <quote>disconnessione abilitata quando si individua un STPGNT</quote>. Il resto del lavoro viene sostenuto dal sottosistema ACPI del kernel, che invia un segnale STPGNT al processore quando entra in modalit&agrave; inattiva acpi-c2.
 </para>

 <para>
   Se il kernel in uso non ha ancora supporto per ACPI, bisogna abilitarlo nell'impostazione del kernel e ricompilare nuovamente il kernel. Le opzioni-ACPI si trovano sotto <menuchoice><guimenu>Impostazioni generali</guimenu><guimenu>Impostazioni gestione energetica</guimenu><guimenuitem>ACPI</guimenuitem></menuchoice>. Devono essere impostate almeno le seguenti scelte: <guimenuitem>Gestione bus ACPI</guimenuitem>, <guimenuitem>Sistema</guimenuitem> e <guimenuitem>Processore</guimenuitem>.
 </para>
 <para>
   Oppure per il kernel 2.4.22: <menuchoice><guimenu>Impostazioni generali</guimenu><guimenu>Supporto ACPI</guimenu></menuchoice>. Deve essere impostata almeno la seguente scelta: <guimenuitem>Processore</guimenuitem>.
 </para>
 <para>Kernel 2.6.x: <menuchoice><guimenu>Opzioni di risparmio energetico</guimenu><guimenu>ACPI</guimenu></menuchoice>. Deve essere impostata almeno la scelta <guimenuitem>Processore</guimenuitem>. Non si dovrebbe abilitare Zona Termica !!
 </para>

 <para>
   Alcuni chipset supportano anche un STPGNT se un segnale HLT &egrave; rilevato. Queste schede madri/chipset non hanno bisogno che sia abilitato ACPI! Al momento mi servono riscontri su quali chipset funzionano senza ACPI e quali lo necessitano. Forse potreste provarlo sulla vostra scheda madre ed inviarmi un email. (vedere <xref linkend="testing"/>)
 </para>

<sect2 id="commandline">
 <title>Metodo della riga di comando (raccomandato)</title>

 <para>
   Per usare la linea di comando &egrave; normalmente necessario abilitare ACPI nel kernel, altrimenti se ne viene avvisati. Non &egrave; necessario riavviare il computer per abilitare il risparmio energetico. Lo si pu&ograve; abilitare/disabilitare dalla riga di comando, con il comando seguente:
 </para>

 <para>
   <variablelist>
      <varlistentry>
     <term>su KT133/133A, KX133, KL/KLE133, KM/KN133, ...: (decisamente acpi deve essere abilitato)</term>
         <listitem>
        <para>
            abilitare: <command>setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s 0:0.0 52) | 0x80)))</command>
            </para>
        <para>
            disabilitare: <command>setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s 0:0.0 52) &amp; 0x7f)))</command>
            </para>
         </listitem>
  </varlistentry>

      <varlistentry>
     <term>su KT266/266A/333,KM266/266A/333, ...:</term>
     <listitem>
        <para>abilitare:</para>
        <para><command>setpci -v -H1 -s 0:0.0 92=$(printf %x $((0x$(setpci -H1 -s 0:0.0 92) | 0x80)))</command></para>
       <para><command>setpci -v -H1 -s 0:0.0 95=$(printf %x $((0x$(setpci -H1 -s 0:0.0 95) | 0x02)))</command></para>
       <para>disabilitare:</para>
       <para><command>setpci -v -H1 -s 0:0.0 92=$(printf %x $((0x$(setpci -H1 -s 0:0.0 92) &amp; 0x7f)))</command></para>
        <para><command>setpci -v -H1 -s 0:0.0 95=$(printf %x $((0x$(setpci -H1 -s 0:0.0 95) &amp; 0xfd)))</command></para>
         </listitem>
      </varlistentry>

      <varlistentry>
     <term>su KT333CF/KT400/KT400A/KM400/KM400A/KT600:</term>
     <listitem>
            <para>abilitare:</para>
        <para><command>setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) | 0x80)))</command></para>
        <para><command>setpci -v -H1 -s 0:0.0 D5=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D5) | 0x02)))</command></para>               <para>disabilitare:</para>
        <para><command>setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) &amp; 0x7f)))</command></para>
        <para><command>setpci -v -H1 -s 0:0.0 D5=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D5) &amp; 0xfd)))</command></para>            </listitem>
      </varlistentry>

      <varlistentry>
     <term>su KT880:</term>
     <listitem>
            <para>abilitare:</para>
        <para><command>setpci -v -H1 -s 0:0.0 82=$(printf %x $((0x$(setpci -H1 -s 0:0.0 82) | 0x80)))</command></para>
        <para><command>setpci -v -H1 -s 0:0.0 85=$(printf %x $((0x$(setpci -H1 -s 0:0.0 85) | 0x02)))</command></para>               <para>disabilitare:</para>
        <para><command>setpci -v -H1 -s 0:0.0 82=$(printf %x $((0x$(setpci -H1 -s 0:0.0 82) &amp; 0x7f)))</command></para>
        <para><command>setpci -v -H1 -s 0:0.0 85=$(printf %x $((0x$(setpci -H1 -s 0:0.0 85) &amp; 0xfd)))</command></para>
           </listitem>
      </varlistentry>

      <varlistentry>
     <term>su SIS730/733:</term>
         <listitem>
            <para>abilitare: <command>setpci -v -H1 -s 0:0.0 6B=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6B) | 0x01)))</command></para>
            <para>disabilitare: <command>setpci -v -H1 -s 0:0.0 6B=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6B) &amp; 0xfe)))</command></para>
         </listitem>
      </varlistentry>

      <varlistentry>
         <term>su SIS735/740/745/755:</term>
     <listitem>
            <para>abilitare: <command>setpci -v -H1 -s 0:0.0 6A=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6A) | 0x0003)))</command></para>
            <para>disabilitare: <command>setpci -v -H1 -s 0:0.0 6A=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6A) &amp; 0xfffc)))</command></para>
         </listitem>
      </varlistentry>

      <varlistentry>
         <term>su SIS741/741GX/746/748:</term>
     <listitem>
        <para>abilitare:<command>setpci -v -H1 -s 0:0.0 6C=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6C) | 0x0003)))</command></para>                     <para>disabilitare:</para>
        <para><command>setpci -v -H1 -s 0:0.0 6C=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6C) &amp; 0xfffc)))</command></para>
    </listitem>
      </varlistentry>

      <varlistentry>
         <term>su Nforce:</term>
     <listitem>
            <para>abilitare:</para>
        <para><command>setpci -v -H1 -s 0:0.0 E7=$(printf %x $((0x$(setpci -H1 -s 0:0.0 E7) | 0x06)))</command></para>
        <para>disabilitare:</para>
            <para><command>setpci -v -H1 -s 0:0.0 E7=$(printf %x $((0x$(setpci -H1 -s 0:0.0 E7) &amp; 0xf9)))</command></para>
     </listitem>
      </varlistentry>

      <varlistentry>
         <term>su Nforce2: (funziona con apci non abilitato)</term>
     <listitem>
            <para>abilitare: <command>setpci -v -H1 -s 0:0.0 6F=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6F) | 0x10)))</command></para>
            <para>disabilitare: <command>setpci -v -H1 -s 0:0.0 6F=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6F) &amp; 0xef)))</command></para>
         </listitem>
      </varlistentry>

      <varlistentry>
     <term>su AMD751 e AMD760/761:(non per il 760MP!!!)(funziona con acpi non abilitato)</term>
         <listitem>
        <para>
            abilitare: <command>setpci -v -s 0:0.0 0x62=$(printf %x $((0x$(setpci -H1 -s 0:0.0 62) | 0x06)))</command>
            </para>
        <para>
            disabilitare: <command>setpci -v -s 0:0.0 0x62=$(printf %x $((0x$(setpci -H1 -s 0:0.0 62) &amp; 0xf9)))</command>
            </para>
         </listitem>
  </varlistentry>

   </variablelist>
 </para>
</sect2>

<sect2 id="coolrun">
 <title>Lo shell script coolrun (raccomandato)</title>

  <para>
  <emphasis>Coolrun</emphasis> &egrave; un breve shell script che fa risparmiare lavoro usando il metodo della riga di comando. &Egrave; sviluppato/mantenuto da Grozdan Nikolov ed &egrave; basato su questo HOWTO.
  </para>
  <para>
  Si possono avere pi&ugrave; informazioni (e scaricarlo) qui:
  <ulink url="https://sourceforge.net/projects/coolrun/">
  https://sourceforge.net/projects/coolrun/</ulink>
  </para>
</sect2>

<sect2 id="athcool">
 <title>Il programma Athcool (raccomandato)</title>

 <para>
    <emphasis>Athcool</emphasis> &egrave; un breve programma che esegue lo stesso compito del comando <command>setpci</command> visto sopra. Supporta gli stessi chipset, rileva qual &egrave; il vostro chipset e sceglie le impostazioni adatte per far funzionare il risparmio-energia.
 </para>
 <para>
   Si possono avere pi&ugrave; informazioni (e scaricarlo) qui:
   <ulink url="http://members.jcom.home.ne.jp/jacobi/linux/softwares.html">
   http://members.jcom.home.ne.jp/jacobi/linux/softwares.html</ulink>  <emphasis>Non sono io l'autore di questo programma!</emphasis>
 </para>
</sect2>

<sect2 id="biosup">
 <title>Aggiornamenti del BIOS</title>

 <para>
   Su alcune schede pi&ugrave; recenti i fabbricanti forniscono un aggiornamento del BIOS che predispone
   il bit o i bit necessari nel chipset della scheda (oppure offre la scelta di abilitare o no, nell'impostazione del BIOS). Riferirsi alla homepage del fabbricante della scheda madre per accertarsi se tale aggiornamento &egrave; disponibile.
 </para>
</sect2>

<sect2 id="patch">
 <title>Patch del kernel </title>

 <para>
    La patch si basa su un'altra patch (di Jan Niehusmann) che ho trovato su Newsnet. Ho modificato la patch in modo da aggiungere supporto anche per il chipset KT266/266A. Incidentalmente, la mia patch fa lo stesso lavoro del metodo della riga di comando, tranne che lo fa dall'interno del kernel. Ecco perch&egrave; raccomando l'utilizzo del metodo della riga di comando, che &egrave; veramente semplice da usare e non richiede di modificare il kernel.
 </para>

 <procedure>
   <title>Allora... adesso, passo per passo, ecco come applicare la patch:</title>
   <step>
      <para>
     Per prima cosa, scaricare la patch: </para>
       <para><ulink url="http://www.daniel.nofftz.net/linux/amd_cool.diff">
     Patch per il Kernel 2.4.17</ulink></para>
         <para><ulink url="http://www.daniel.nofftz.net/linux/amd_cool.linux-2.4.21.diff">
         Patch per il Kernel 2.4.21</ulink> (grazie a Thomas Reinhardt per aver fatto il porting a 2.4.21)</para>
         <para><ulink url="http://www.daniel.nofftz.net/linux/amd_cool.linux-2.6.5.diff">
         Patch per il Kernel 2.6.5</ulink> con supporto per tutti i chipset Via fino al KT600 (grazie a Sebastian Droege per aver fatto il porting a 2.6.5 ed aggiunto gli altri Chipsets)</para>
     <para><ulink url="http://www.daniel.nofftz.net/linux/amd_cool.linux-2.6.9.diff">
         Patch per il Kernel 2.6.9</ulink> che supporta tutti i chipset Via fino al KT600 (grazie a Alexander Hug per aver fatto il porting da 2.6.5 a 2.6.9)</para>
   </step>
   <step>
      <para>
     Fare login come root
  </para>
   </step>
   <step>
      <para>
     <command>cd /usr/src</command>
  </para>
   </step>
   <step>
      <para>
     Applicare la patch: <command>cat $path-to-patch/amd_cool.diff | patch -p0</command>
         (Per la nuova patch 2.6.5: cd linux e patch -p1)
  </para>
   </step>
   <step>
      <para>
     <command>cd linux</command>
  </para>
   </step>
   <step>
      <para>
     Eseguire Make per il nuovo kernel
  </para>
   </step>
   <step>
      <para>
     Riavviare e, al prompt d'avvio del kernel, digitare l'istruzione    <userinput> amd_disconnect=yes </userinput>. Ci&ograve; perch&egrave; si sa che ci sono dei bachi nel processore Athlon, che potrebbero causare problemi su parecchie schede madre. Provare la patch e se funziona, accodare l'istruzione  <userinput> amd_disconnect=yes </userinput> al file <filename>/etc/lilo.conf</filename>.
  </para>
   </step>
 </procedure>
</sect2>

<sect2 id="lvcool">
 <title>La soluzione LVCool</title>

 <para>
   <emphasis>LVCool</emphasis> &egrave; un piccolo porting del programma
   <ulink url="http://vcool.occludo.net/">
   Vcool per Windows</ulink>. Supporta solamente i chipsets KT133/133A e KX133 ed io non posso fornire supporto.
   Pu&ograve; essere scaricato
   <ulink url="http://vcool.occludo.net/VC_Linux.html">
   qui</ulink>. Questa soluzione non ha bisogno di avere ACPI compilata nel kernel.
 </para>
</sect2>

<sect2 id="fvcool">
 <title>Il programma FVCool</title>
 <para>
   <ulink url="http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html">
   Qui </ulink> c'&egrave; un altro programma per risparmio energetico che d&agrave; supporto a parecchi chipset. Io non l'ho provato ma ho sentito dire che funziona. Dategli un'occhiata ... &egrave; anche accompagnato da un programma che potrebbe essere usato per controllare i chip di monitoraggio presenti su certe schede madri (come il pacchetto lm-sensors).
 </para>
</sect2>

<sect2 id="AMD760MP">
 <title>Risparmio di energia con l'AMD 760MP</title>

 <para>
    C'&egrave; un modulo del kernel che abilita il risparmio di energia sul chipset del multiprocessore 76MP.
    Potreste trovarlo
   <ulink url="http://www.muru.com/linux/amd-smp-idle/">
   qui;</ulink>. Non so se funziona bene, ma ho ricevuto almeno un'email da qualcuno che diceva che funzionava. Perci&ograve;, dategli un'occhiata.
 </para>
</sect2>

</sect1>

<sect1 id="else">
 <title>Che cos'altro?</title>

<sect2 id="testing">
 <title>Come provare per vedere se funziona</title>
 <para>
    Bene ... state usando una delle impostazioni risparmia-energia descritte e volete verificare se funziona. Ecco due modi per controllare:
 </para>
 <para>
    Se il diffusore della vostra CPU ha una ventola a controllo termico, sarebbe possibile controllare il livello di rumore della ventola per vedere se funziona o no. Dopo qualche minuto di inattivit&agrave;, date qualcosa da fare alla CPU.
 <note>
 <procedure>
   <title>Normalmente lo faccio cos&igrave; :</title>
 <step>
 <para>
 diventate superuser (root)
 </para>
 </step>
 <step>
<para>
<command>cd /usr/src/linux</command>
 </para>
 </step>
 <step>
 <para>
    e date qualche cosa da fare al computer: <command>while true; do make clean; make bzImage; done</command>
</para>
</step>
 </procedure>
 </note>
 Dopo circa 20 o 30 secondi si dovrebbe notare che il rumore della ventola sta diventando pi&ugrave; forte e la ventola gira pi&ugrave; velocemente. Non scordarsi di terminare il while-loop dopo un po' (qualche minuto) con CTRL-C.
 </para>
 <para>
    La stessa procedura descritta qui sopra funziona anche con un programma di monitoraggio della temperatura della CPU (come <ulink url="http://secure.netroedge.com/~lm78/">lm-sensors</ulink>, <ulink url="http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html">xmbmon</ulink> e <ulink url="http://www.tinet.org/~com.ea/rtsensors/">rtsensors</ulink>).
 </para>
</sect2>

<sect2 id="bugs">
 <title>Bachi noti/Problemi</title>

 <para>Ci sono due bachi noti nel processore Athlon/Duron. Questi sono i numeri
 11 e 14 nella <citetitle>AMD Athlon Processor Revision Guide</citetitle>. Sembra che l'Athlon XP sia molto meno affetto da questi bachi. Cos&igrave; se si possiede un Athlon XP (come me) si &egrave; fortunati.</para>

 <para>Ci possono essere i problemi seguenti (causati dai bachi):
 <itemizedlist>
   <listitem>
      <para>salti nell'audio durante l'ascolto</para>
   </listitem>
   <listitem>
      <para>salti e rallentamenti video durante la visione</para>
   </listitem>
   <listitem>
      <para>trasferimenti ultra-DMA a disco rigido rallentati</para>
   </listitem>
   <listitem>
  <para>blocco del sistema</para>
   </listitem>
   <listitem>
  <para>problemi con l'USB</para>
   </listitem>
   <listitem>
  <para>pigolio acuto riportato da alcuni</para>
   </listitem>
 </itemizedlist>
 </para>

 <para>A volte un aggiornamento BIOS aiuta (questo &egrave; un modo per aggirare il baco 11, che si pu&ograve; fare tramite BIOS). Ma, per quanto ne so io, ci sono solo poche schede che hanno questa possibilit&agrave; di soluzione nel BIOS).</para>

 <para>Per l'Asus A7V133-C, si sa che abilitare la scelta-BIOS <option>PCI master read caching</option> risolver&agrave; la maggior parte dei problemi. Dunque, si dovrebbe cercare tale funzionalit&agrave; nel proprio BIOS.</para>
 <para>Si sa anche che su certe schede, la scelta-BIOS <option>Delayed Transaction</option> risolve alcuni problemi. Si pu&ograve; tentare anche questa opzione.</para>
 <para>ATTENZIONE: su schede con il KT133A, ci&ograve; potrebbe introdurre il famoso baco VIA-Southbridge!</para>
 <para>Da un messaggio su Newsnet, riguardante l'Asus A7V:
 <itemizedlist>
   <listitem>
      <para>senza delayed transaction: salti nell'audio e nella visualizzazione TV</para>
   </listitem>
   <listitem>
      <para>con delayed transaction: niente salti nell'audio e solo leggeri problemi di TV</para>
   </listitem>
   <listitem>
      <para>con delayed transaction e master read caching: quasi nessun problema di TV e nessun salto nell'audio.</para>
   </listitem>
 </itemizedlist>
 </para>

 <para>Esistono altre cause di problemi:
 <itemizedlist>
   <listitem>
      <para>l'alimentazione non &egrave; abbastanza forte da soddisfare le fluttuazioni nel consumo di energia del processore/scheda madre</para>
   </listitem>
   <listitem>
      <para>i regolatori di voltaggio di certe schede madri potrebbero avere problemi simili a quello dell'alimentatore ;)</para>
   </listitem>
   <listitem>
      <para>state usando un K7S5A (per quanto ne so, questa scheda potrebbe avere un comportamento davvero strambo con il risparmio-energia abilitato)</para>
   </listitem>
 </itemizedlist>
 </para>

 <para>
 Se si riscontrano problemi minori col risparmio-energia abilitato ma, ci&ograve; nonostante si vuole usare il risparmio-energia, si pu&ograve; abilitare il risparmio di energia per default, e disabilitarlo quando si vuole ascoltare musica, guardare la TV, ...
 </para>

</sect2>

<sect2 id="fix">
 <title>Aggiustare i salti nell'audio e altri problemi</title>
 <para>Grazie a Michael Hamilton per avermi dato l'idea di come funziona.</para>
 <para>Il funzionamento di questa riparazione &egrave; stato confermato da due persone, quindi sembra che funzioni, ma potrebbe non funzionare per tutti. Siete gentilmente invitati a comunicarmi ulteriori esperienze!</para>
 <para>Allora: sembra che almeno i salti nell'audio siano curabili massimizzando il timer di latenza PCI del dispositivo.</para>
 <para>Per prima cosa bisogna trovare il "pci-address" della scheda-audio. Questo si potrebbe fare con <command>lspci</command>. Si deve cercare qualcosa come "Multimedia audio controller" oppure "AudioPCI". Annotate il "PCI-address" del dispositivo (qualcosa come:  01:06.0 -&gt; che sta per: bus:slot,function) e impostare al massimo il suo timer di latenza. Questo viene fatto usando il comando setpci:</para>
<para><command>setpci -v -s "pci-address" latency_timer=ff</command></para>
<para>Per maggiori informazioni sul timer di latenza si pu&ograve; vedere <ulink url="http://www-106.ibm.com/developerworks/linux/library/l-hw2.html">qui.</ulink></para>
<para>Forse questo pu&ograve; servire anche a risolvere altri problemi come i problemi con l'USB e i rallentamenti nei trasferimenti al disco rigido, ma per ora questo non &egrave; stato verificato. Consideratevi liberi di provare (ma non date la colpa a me se non funziona o se la situazione peggiora) e fatemi sapere se funziona. il fatto &egrave; che io non ho nessuno di questi problemi per cui, non mi &egrave; possibile provare.</para>
<para>Se funziona, sar&agrave; necessario eseguire questo comando setpci ad ogni avviamento/ri-avviamento del computer. Quindi sarebbe cosa saggia metterlo in uno degli init-script (dopo il caricamento del modulo driver!).</para>
</sect2>

<sect2 id="viafix">
 <title>Un'altra riparazione per i salti nell'audio ed altri problemi (su certi chipset Via)</title>
 <para>Grazie a Wijatmoko Prayitno per queste informazioni!</para>
 <para>Il funzionamento di questa riparazione &egrave; stato confermato per i chipset KT266, KT/KM333 e KT/KM400. Potrebbe anche funzionare su altri chipset Via. Per cortesia fatemi sapere se funziona su altri chipset Via!</para>
<para>Questo &egrave; abbastanza facile, e funziona come il metodo dalla riga di comando per abilitare il risparmio di energia:</para>
<variablelist>
        <varlistentry>
     <term>Aggiustare il suono sui Chipset KT/KM333 e KT/KM400:</term>
         <listitem>
        <para>
            abilitare: <command>setpci -v -H1 -s 0:0.0 70=$(printf %x $((0x$(setpci -H1 -s 0:0.0 70) | 0x08)))</command>
            </para>
        <para>
            disabilitare: <command>setpci -v -H1 -s 0:0.0 70=$(printf %x $((0x$(setpci -H1 -s 0:0.0 70) &amp; 0xf7)))</command>
            </para>
         </listitem>
  </varlistentry>
   </variablelist>
<para>Se funziona, sar&agrave; necessario eseguire questo comando setpci ad ogni avviamento/ri-avviamento del computer. Quindi sarebbe bene metterlo in uno degli init-script (dopo il caricamento del modulo driver!).</para>
</sect2>

<sect2 id="todo">
 <title>Cose da fare</title>
 <para>Aggiungere pi&ugrave; chipset e pi&ugrave; informazioni a questo documento.</para>
 <para>Aggiungere qualche informazione sul sistema a risparmio energetico delle CPU Athlon64 e Opteron.</para>
 <para>Aggiungere qualche informazione sui Notebook e il risparmio energetico.</para>
</sect2>

<sect2 id="translations">
 <title>Traduzioni</title>
 <para>
   Esistono anche traduzioni nelle lingue seguenti. Al momento, alcune non sono aggiornate.
 </para>
 <para><ulink url="http://tldp.fsf.hu/HOWTO/Athlon-Powersaving-HOWTO-hu/index.html">
 Ungherese</ulink>da Zsolt Mocza</para>
 <para><ulink url="http://perso.wanadoo.es/cmayo/docs/Athlon-Powersaving-HOWTO-es.html">
 Spagnolo</ulink> da Carlos Mayo (very out-dated)</para>
 <para><ulink url="http://www.gigantefotos.com.br/sl/pt_BR_Athlon_Powersaving_HOWTO.html">
 Portoghese Brasiliano/Portoghese</ulink> da Bruno Buys</para>
 <para><ulink url="http://www.daniel.nofftz.net/linux/Athlon-Powersaving-HOWTO-fr.html">
 Francese</ulink> da Mathieu Pillard (very out-dated)</para>
 <para><ulink url="http://www.daniel.nofftz.net/linux/Athlon-Powersaving-HOWTO-it.html">
 Italiano</ulink> da Giancarlo Contrafatto</para>
 <para><ulink url="http://www.pluto.it/ildp/howto.html?chunk=all">
 Tedesco (solo in parte)</ulink> da Fabian Mohren</para>
 <para><ulink url="http://www.linux.or.jp/JF/JFdocs/Athlon-Powersaving-HOWTO/index.html">Giapponese</ulink> da Seiji Kaneko</para>
</sect2>

</sect1>


</article>