PHC (rmclock für linux)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • PHC (rmclock für linux)

      habe ne weile nach einer möglichkeit gesucht auch mit linux die cpu zu untervolten,.. und habe nun auch endlich was brauchbares gefunden.

      dedigentoo.org/trac/linux-phc/

      dazu die passende GUI: phctool

      das tolle darran ist das es auch ohne kernel-patch (rebuild) funktioniert.

      meine einstellungen für den T7700:

      /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
      36 32 26 19 12 0

      /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
      13:36 12:32 10:26 8:19 6:12 136:0


      das ganze ist recht einfach, sollte es trotzdem zu problemen kommen könnt ihr hier oder im chat (signatur) nachfragen ;)
    • Ab Ubuntu 9.04 ist wohl das einfachste einen entsprechenden Kernel aus dem PPA zu installieren:
      wiki.ubuntuusers.de/Prozessorspannung_absenken

      Original von Chaoskrieger
      das tolle darran ist das es auch ohne kernel-patch (rebuild) funktioniert.

      Seit einigen Versionen funktioniert auch bei der intel Version vom phc wieder lediglich ein Kernelmodul zu kompilieren. Auch ohne den Quelltext vom Kernel u. insbesondere ohne Kompilieren dessen lässt sich so das phc_intel.ko modul starten, womit dann schlussendlich das Undervolten funktioniert.

      Da obiger Downloadlink von Chaoskrieger z.Z. nicht funktioniert für alle LowLevel User der Link zum phc:
      linux-phc.org/forum/viewtopic.php?f=13&t=2

      und zum phctool:
      linux-phc.org/forum/viewtopic.php?f=14&t=17

      Für die allermeisten ist jedoch eine Wikianleitung wie oben geeigneter.
      XPS M1330 red nseries
      » T8300 » 8GB » OCZ Vertex 2E 240GB » X3100 » LED » Zalman ZM-NC1000
    • "I think my horse kicks me!" Will sagen: "Ich glaub' mich tritt ein Pferd!" oder auch korrekt: "Blow me down!"

      Nach dem T7500 -> T8300 Upgrade wollte ich dann das Undervolting unter Linux auch wieder aktivieren. Die minimalen Spannungen mit der meine neue CPU lief, hatte ich ja schon unter Windows ermittelt u. wollte diese Werte nun einfach in PHC eintragen.

      PHC in der aktuellen Version 0.5.2 (auch wenn die GUI 0.5.1 ausgibt) erwartete mich mit folgender Meldung:

      [Blockierte Grafik: http://img26.imageshack.us/img26/9941/phct8300notrecognized.png]

      Ein Tab weiter geblättert, sah' ich auch das Dilemma. Die Voltages wurden nicht mehr angezeigt:

      [Blockierte Grafik: http://img8.imageshack.us/img8/6214/phct8301novid.png]

      Mit der 65nm Merom CPU (T7500) wurden dort noch die Voltages angezeigt. Beim 45nm Penryn (T8300) leider nicht mehr. Die phc tool 2.0 beta zeigt auch nur die Zahlen - jedoch nicht die Spannung in Volt an.

      Ja, Klasse! Google angeworfen u. auf die Schnelle nix gefunden. Das mühsame herantasten an stabile Spannung werd' ich jedoch nicht nochmals durchführen.

      EDIT: Hab' einen Patch geschrieben, damit ist das Problem erledigt:
      linux-phc.org/forum/viewtopic.php?p=525#p525

      So geht's - einfach::
      voltage = 0.7125 + VID * 0.0125

      Und so geht's - ausführlich. Beispiel:

      Bei mir war die VID Zahl zu 1,0375 Volt gesucht, die ich für den maximalen Multiplikator bei 2,4 GHz eintragen will. Dazu sucht man sich in der Tabelle ganz unten den Binärwert VID[5:0] heraus. In diesem Beispiel also:

      [Blockierte Grafik: http://img12.imageshack.us/img12/9800/10375volt.png]

      Diese Binärzahl von links nach rechts notiert man sich und zwar so, dass jedes Bit invertiert wird. Also dort wo "1" steht eine "0" und dort wo eine "0" steht eine "1".

      Aus obigem 100101 => 011010.

      Nun öffnen man einen Taschenrechner. Hab' den unter Gnome genommen u. stell diesen auf View / Scientific. Stellt das Zahlenformat auf binär und tippt letzere Zahl ein. Die führende Null entfällt hier, aber sieht dann so aus:

      [Blockierte Grafik: http://img12.imageshack.us/img12/7924/calc11010cut.png]

      Nun auf [x] Dec für dezimal klicken und die Binärzahl wird in eine Dezimalzahl umgewandelt:

      [Blockierte Grafik: http://img35.imageshack.us/img35/9441/calc26cut.png]

      Und diese Zahl kommt oben bei "new VID" rein. Wenn ihr nochmal vergleicht oben steht VID = 26 bei 2400 MHz. Voila!

      Läuft alles wie erwartet stabil, dann kann man sich die Zahlen natürlich auslesen:
      cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
      und z.B. in /etc/rc.local beim booten setzen. Es genügt die Spannung für einen Kern zu setzen. Beim Dual-Core sind diese Spannungen immer gleich. Setzt man einen Core, so wird der gesamte "Package Level" (so heißt das bei Intel) gesetzt u. damit auch der andere Core. Sprich es genügt beispielsweise in rc.local:

      sudo echo "34 26 23 19 19 19" > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids

      Soweit so gut. Mir ist aufgefallen, dass dies nicht die einzige Inkompatibilität der Penryn CPU (45nm) ist. TJ_max ist ebenfalls fälschlicherweise auf 100°C statt 105°C gesetzt. Alle angezeigten Temperaturen sind somit 5°C zu niedrig.

      Quellcode

      1. sensors
      2. coretemp-isa-0000
      3. Adapter: ISA adapter
      4. Core 0: +33.0°C (high = +100.0°C, crit = +100.0°C)
      5. coretemp-isa-0001
      6. Adapter: ISA adapter
      7. Core 1: +33.0°C (high = +100.0°C, crit = +100.0°C)


      Auch "sensors-detect" hat's nicht repariert. Die CPU gibt's seit 1,5 Jahren (!!) - 6. Januar 2008. Ich bin auf dem vanilla Kernel 2.6.30. Mir unverständlich warum dies nicht korrigiert ist. Gibt's 'nen Patch? Kann man TJ_max irgendwo manuell einstellen? Wer weiß da was?

      EDIT: Hab' mir den Sourcecode angeschaut. Linux liest für den Penryn die falsche CPU Temperatur aus. Die Funktion adjust_tjmax liefert für den Penryn 100°C:

      Quellcode

      1. 155 static int __devinit adjust_tjmax(struct cpuinfo_x86 *c, u32 id, struct device *dev)
      2. 156 {
      3. 157 /* The 100C is default for both mobile and non mobile CPUs */
      4. 158
      5. 159 int tjmax = 100000;
      6. [...]
      7. 202 return tjmax;
      8. 203 }

      git.kernel.org/?p=linux/kernel…f9b96b4af4d030670;hb=HEAD

      Hab's dem Author gemailt u. Antwort erhalten - er schaut sich's an. Hacken kann man das recht einfach, aber es soll ja auch noch für andere CPUs funktionieren. EDIT: Hab 'nen schlechten, aber funktionierenden Hack angehangen.

      --

      Die Spannungstabelle noch, dann könnt ihr loslegen:

      [Blockierte Grafik: http://img11.imageshack.us/img11/6770/vidtablepenryn.png]
      XPS M1330 red nseries
      » T8300 » 8GB » OCZ Vertex 2E 240GB » X3100 » LED » Zalman ZM-NC1000

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von 7oby ()