Asrock E350M1 (ITX): Kühlen durch Undervolting

linuxnutzer

Commander
Registriert
Dez. 2011
Beiträge
2.458
Ich habe irgendwo gelesen, dass man ein Asrock E350M1 durch geringes Undervolting deutlich kühler machen kann. Leider habe ich keine AHnung davon, was man da alles ändern muss und wieviel es geringer sein soll. Das Handbuch findet man bei ftp://europe.asrock.com/manual/E350M1.pdf

Code:
sensors
nct6775-isa-0290
Adapter: ISA adapter
Vcore:        +1.30 V  (min =  +0.00 V, max =  +1.74 V)
in1:          +1.07 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
AVCC:         +3.33 V  (min =  +2.98 V, max =  +3.63 V)
+3.3V:        +3.33 V  (min =  +2.98 V, max =  +3.63 V)
in4:          +1.38 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:          +1.83 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:          +1.70 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
3VSB:         +3.46 V  (min =  +2.98 V, max =  +3.63 V)
Vbat:         +3.42 V  (min =  +2.70 V, max =  +3.30 V)  ALARM
fan1:           0 RPM  (min =    0 RPM, div = 128)
fan2:        4963 RPM  (min =    0 RPM, div = 8)  ALARM
fan3:           0 RPM  (min =    0 RPM, div = 64)
fan4:           0 RPM  (div = 64)
SYSTIN:       +50.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor = thermistor
CPUTIN:       +53.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
AUXTIN:       -12.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
cpu0_vid:    +0.000 V
intrusion0:  ALARM

radeon-pci-0008
Adapter: PCI adapter
temp1:        +70.0°C  

k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +70.0°C  (high = +70.0°C)
                       (crit = +75.0°C, hyst = +72.0°C)

Ich habe keine Ahnung was da bzgl. PCI gemessen wird, aber PCI-Karte ist keine verbaut, allerdings gibt es eine Reihe von onboard-PCI. Die Grafikkarte sollte sich langweilen, der Monitor ist aus und es gibt kein X, sondern nur eine Konsole (Linux Server). Ich habe der Grafik im UEFI 32M zugeordnet. Ich verstehe die 70° nicht. Das LC-Power LC-1320MI Gehäuse ist warm, aber nicht heiß. Vielleicht ist das nur ein falsch kalibrierter Sensor-Wert.

Code:
lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Complex
00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Wrestler [Radeon HD 6310]
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310]
00:04.0 PCI bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Port
00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (rev 40)
00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller (rev 42)
00:14.1 IDE interface: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 IDE Controller (rev 40)
00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:15.0 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
00:15.1 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1)
00:16.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 0 (rev 43)
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 1
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 2
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 3
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 4
00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 6
00:18.6 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 5
00:18.7 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 7
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
 
Zuletzt bearbeitet:
Kannst du bezüglich des V-cores was im Bios ändern? Oder mal per SOftware versucht?
 
Also ich verstehe auch nichts, aber zB http://forum.xbmc.org/showthread.php?tid=104716

Setting the speed to 14.2ghz @ 1.05 volts compared with default 1.6ghz @ 1.3 volts lowered power usage from a fluctuating 20w-21w (stays at 21w more) to a stable 16w at 100% cpu usage running Orthos cpu stress test. Also the maximum temperature during Orthos dropped from 80 deg C to 68 deg C. Sacrificing only a tiny bit of speed reduced power consumption by almost 6 watts and temperature by 12 degrees C.

14.2 GHz wäre nett ;-)

Aus dem Manual:
Voltage Control
DRAM Voltage
Use this to select DRAM Voltage. Confi guration options: [Auto], [1.300V]
to [1.965V]. The default value is [Auto].
+1V Voltage
Use this to select +1V Voltage. Confi guration options: [Auto], [1.07V] to
[1.16V]. The default value is [Auto].
FCH Voltage
Use this to select FCH Voltage. Confi guration options: [Auto], [1.10V] to
[1.40V]. The default value is [Auto].
+1.8V Voltage
Use this to select +1.8V Voltage. Confi guration options: [Auto], [1.85V] to
[2.10V]. The default value is [Auto].

Wie ich per Software was änder, habe ich (noch) keine Ahnung. Ich verwende Ubuntu 12.04.

Bei welchen Volt-Einstellungen fange ich zu probieren an?
 
Fange mit der CPU Votage an, denn NB Voltage und DRAM Voltage. Immer anständig zwischen durch testen, ob das System stabil läuft. Auch immer in kleinen Schritten die Spannung senken, sonst schießt du das System mal schnell ab.
 
Ich finde beim E350M1 aber nichts, wie ich die CPU-Frequenz verringern kann. Da gibt es eine ganze Menge zu DRAM Timing Control, das ich bei Bedarf poste und dann die bereits zitierte Voltage Control.

Was meinst du mit CPU-Voltage?
Ich habe DRAM Voltage, +1V Voltage, FCH Voltage und +1.8V Voltage, nur bei DRAM kann ich mir was vorstellen.
 
Zuletzt bearbeitet:
Wenn du die Frequenz senkst, dann liegt aber noch immer die selbe Spannung an. Du musst also unter Voltage die Einstellungen setzen um dein Prozessor/RAM kühler zu bekommen.
 
Bei der Frequenz bezog ich mich nur auf mein zitiertes Posting von 1,42GHz. Da finde ich bei mir nichts. Ich habe das neueste Bios

dmidecode
# dmidecode 2.11
# SMBIOS entry point at 0xddd3fc98
SMBIOS 2.7 present.
18 structures occupying 1213 bytes.
Table at 0x000E9260.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: P1.70
Release Date: 07/16/2012
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 4096 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 4.6

Ich blicke begrifflich nicht durch _welche_ Volt ich verändern soll. Es gibt: DRAM Voltage, +1V Voltage, FCH Voltage und +1.8V Voltage
 
CPU/APU voltage... anscheinened kannst du die net ändern... aber schau nochmal nach, ich kenne das Board nicht, vllt nennt asrock die spannung für die apu auch anders
 
+1V Voltage
FCH Voltage
+1.8V Voltage

betrifft also _nicht_ die CPU?

Sonst gibt es da nichts ausßer Cool 'n' quiet.
 
Okay, ich hab mir fix nochma den Forumslink angeschaut, dort ist doch defacto alles angegeben? mit der "Brazostweaker" software hat der wohl untervoltet... also software saugen, pstates einstellen und dann mit cpu-z oder ähnlichem kontrollieren?!
 
Da läuft nur ein Linux. Also kann ich da im Bios mit den zitierten Volteinstellungen gar nichts machen?
 
Läuft die Software nicht auch unter Linux? Ggf. Linuxalternativen?! // Ich denke nicht das du da nichts im Bios einstellen kannst, das alles scheint für andere Spannungen zu stehen.
 
Ich habe nun http://wiki.ubuntuusers.de/k10ctl gefunden, aber da kommt die Meldung "No AMD Family 10h processor". Mit dem Programm kann man auch Spannungen verändern, aber ob ich mich das trauen soll, wenn das Programm für andere CPUs gedacht ist? Ich will das eher nicht, wenn es dazu keine Erfahrung gibt.


Augenblicklich habe ich auch mit Powersave-Optionen rumgespielt, sodass dies die folgenden Werte beeinflusst haben kann:

k10ctl 0-1
Warning: No AMD Family 10h processor
VID interface mode: serial

CPU0
Current P-State: 2 Fastest P-State: 0
NbVid NbDid CpuVid CpuDid CpuFid UNb CpuMult UCpu PCore
P-State 0: 0 0 20 0 16 1550.0mV 16.00000 1300.0mV 6890mW
P-State 1: 0 0 32 0 18 1550.0mV 17.00000 1150.0mV 3795mW
P-State 2: 0 0 48 0 48 1550.0mV 32.00000 950.0mV 1720mW
Low Limit: 124 1 124 0.0mV 0.50000 0.0mV
High Limit: 20 1 20 1300.0mV 8.00000 1300.0mV
Target: 0 0 0 0 0 1550.0mV 8.00000 1550.0mV
Current: 58 0 48 0 48 825.0mV 32.00000 950.0mV

VID interface mode: serial

CPU1
Current P-State: 2 Fastest P-State: 0
NbVid NbDid CpuVid CpuDid CpuFid UNb CpuMult UCpu PCore
P-State 0: 0 0 20 0 16 1550.0mV 16.00000 1300.0mV 6890mW
P-State 1: 0 0 32 0 18 1550.0mV 17.00000 1150.0mV 3795mW
P-State 2: 0 0 48 0 48 1550.0mV 32.00000 950.0mV 1720mW
Low Limit: 124 1 124 0.0mV 0.50000 0.0mV
High Limit: 20 1 20 1300.0mV 8.00000 1300.0mV
Target: 0 0 0 0 0 1550.0mV 8.00000 1550.0mV
Current: 58 0 48 0 48 825.0mV 32.00000 950.0mV

cpufreq-info
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Bitte melden Sie Fehler an cpufreq@vger.kernel.org.
analysiere CPU 0:
Treiber: powernow-k8
Folgende CPUs laufen mit der gleichen Hardware-Taktfrequenz: 0
Die Taktfrequenz folgender CPUs werden per Software koordiniert: 0
Maximale Dauer eines Taktfrequenzwechsels: 1000 ns.
Hardwarebedingte Grenzen der Taktfrequenz: 800 MHz - 1.60 GHz
mögliche Taktfrequenzen: 1.60 GHz, 1.28 GHz, 800 MHz
mögliche Regler: conservative, ondemand, userspace, powersave, performance
momentane Taktik: die Frequenz soll innerhalb 800 MHz und 1.60 GHz.
liegen. Der Regler "powersave" kann frei entscheiden,
welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
momentane Taktfrequenz ist 800 MHz (verifiziert durch Nachfrage bei der Hardware).
Statistik:1.60 GHz:0,39%, 1.28 GHz:0,08%, 800 MHz:99,53% (6052)
analysiere CPU 1:
Treiber: powernow-k8
Folgende CPUs laufen mit der gleichen Hardware-Taktfrequenz: 1
Die Taktfrequenz folgender CPUs werden per Software koordiniert: 1
Maximale Dauer eines Taktfrequenzwechsels: 1000 ns.
Hardwarebedingte Grenzen der Taktfrequenz: 800 MHz - 1.60 GHz
mögliche Taktfrequenzen: 1.60 GHz, 1.28 GHz, 800 MHz
mögliche Regler: conservative, ondemand, userspace, powersave, performance
momentane Taktik: die Frequenz soll innerhalb 800 MHz und 1.60 GHz.
liegen. Der Regler "powersave" kann frei entscheiden,
welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
momentane Taktfrequenz ist 800 MHz (verifiziert durch Nachfrage bei der Hardware).
Statistik:1.60 GHz:0,23%, 1.28 GHz:0,01%, 800 MHz:99,76% (1130)
Ergänzung ()

/usr/local/sbin/undervolt -c
CPU 0: current P-state: 2, current Vid: 0x30/0.9500V, current div: 4.00
CPU 1: current P-state: 2, current Vid: 0x30/0.9500V, current div: 4.00

Und nun kann ich leider nicht französisch und Google Translator macht mich auch nicht sicher. Da steht irgendwas von

"Für jeden Zustand Prozessor, Vid (Voltage-ID) zugeordnet ist. Erhöhung der Spannung verringert Vid. Die Technik ist es, die Vid Schritt, bis der Computer friert zu erhöhen, und notieren Sie die wichtigsten Vid wo der Computer nicht blockiert. Hinweis: Das Vid wird hexadezimal angegeben und erhöht ein Vid von 0x19 1 gibt einen Vid von 0x1A, 0x1F zu erhöhen a Vid 1 Vid gibt eine 0x20. CPU-Temperatur und Lüftergeräusch sollte deutlich sinken."

README: undervolt

Ce programme permet de manipuler le voltage et la fréquence des processeurs AMD Brazos/Ontario, de manière à essentiellement augmenter l'autonomie soit en réduisant le voltage utilisé par chaque mode processeur (undervolt), soit en réduisant la fréquence (underclock). Il s'adapte aux processeurs C-30, C-50, C-60, E-240, E-300, E-350, E450, sous Linux.

COMPILATION

Faire make dans le répertoire.
$ make

INSTALLATION

Copier undervolt dans un répertoire bin ou sbin.
$ sudo cp undervolt /usr/local/sbin

UTILISATION

S'assurer que le module msr est bien chargé:
$ lsmod | grep msr
msr 12908 0
Si msr n'apparait pas, le charger avec la commande suivante:
$ modprobe msr

Vérifier que undervolt est capable de lire les états:
$ sudo undervolt -c
P-state Vid Voltage div
0 0x19 1.2375V 2.00
1 0x1A 1.2250V 2.50
2 0x33 0.9125V 4.00

Explication: le processeur, pour gérer au mieux performances et autonomie, va passer de P0 (le mode le plus performant et le plus gourmand) à P1 ou P2 (le mode le plus économique) en fonction de la charge du système. Le but d'undervolt est de réduire le voltage utilisé par chaque mode de manière à diminuer la température du système et sa consommation énergique.

Pour chaque état processeur, un Vid (voltage id) est associé. Augmenter le Vid diminue le voltage. La technique consiste à augmenter le Vid pas à pas jusqu'à ce que l'ordinateur bloque, et de noter le Vid le plus important où l'ordinateur ne bloque pas. Nota: le Vid est donné en hexadécimal; ainsi augmenter un Vid de 0x19 de 1 donne un Vid de 0x1A; augmenter un Vid de 0x1F de 1 donne un Vid de 0x20. La température du processeur et le bruit de la ventilation devraient diminuer de manière significative.

Undervolt permet de changer le Vid d'un mode:
$ sudo undervolt -P 0:0x19
(Passe le Vid du mode P0 à 0x19)
Et vérifier que les changements ont bien été pris en compte:
$ sudo undervolt -c
CPU 0: current P-state: 0, current Vid: 0x19/1.2375V, current div: 2.00
CPU 1: current P-state: 2, current Vid: 0x19/1.2375V, current div: 4.00
Note: les changements sont pris en compte au prochain changement de mode, et les deux CPUs, s'ils sont sur des modes différents, choisissent le Vid le plus petit (dans le cas ci-dessus, le Vid du mode P0).

Une fois les Vid déterminés pour tous les modes, il suffit de configurer Linux pour que ces changements soient appliqués au démarrage. Une solution est, par exemple, d'ajouter au fichier /etc/rc.local une ligne pour charger le module msr (modprobe msr) et une ligne pour changer les Vid (:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

modprobe msr
#Default undervolt at: 0:1,2375V 1:1,2250V 2:0,9125V
/usr/local/sbin/undervolt -p 0:0x19 -p 1:0x1A -p 2:0x33
exit 0

En espérant que ce petit programme vous soit utile.

Thierry, 12-2011.
 
Zurück
Oben