Met behulp van lm-sensors ben je in staat om sensors van je moederbord uit te lezen. Daar is op Digiplace al eerder over geschreven (Ubuntu is koel). So far, so good zou je zeggen. Maar ik kreeg regelmatig een vervelende beeeeeeep uit mijn computerkast. Dat is een indicatie dat er iets niet goed gaat. Het kan bijvoorbeeld betekenen dat een fan niet meer draait waardoor de temperatuur te hoog oploopt.
Je gaat dus eerst eens kijken of je hardware nog wel werkt. Een fysieke controle bracht niets bijzonders aan het licht. Wel zag ik dat het de hoogste tijd was om mijn stoffilters schoon te maken. Maar dat was het dan wel.
Het kwam eigenlijk alleen maar voor als ik het (Steam) spel Metro: Last Light probeerde te starten. De waarschuwing kwam zo snel dat ik die metro maar voorbij liet rijden. Ik trok de conclusie dat deze game gewoon te zwaar was voor mijn hardware. Vreemd, want de specs van mijn computer zijn toch niet heel erg kinderachtig. Maar toen kwam dezelfde beep terug bij het draaien van een grote foto import onder Shotwell. Het werd dus serieus tijd om het probleem te traceren én op te lossen.
Xsensors
Er zijn meerdere mogelijkheden om de temperatuur van je computer in de gaten te houden. Ik gebruik meestal conky waarin de 4 cpu cores worden bijgehouden. Je kan veel meer informatie bekijken als je vanuit je terminal de opdracht sensors opgeeft. Maar die output is verouderd op het moment dat je die opdracht hebt uitgevoerd. Daarom is het beter om ook xsensors (sudo apt-get install xsensors) te installeren.
xsensors reads data from the libsensors library regarding hardware health such as temperature, voltage and fan speed and displays the information in a digital read-out.
Als je xsensors start krijg je een venster op je scherm waarmee je doorlopend de status van je hardware kan bekijken.
Als er vervolgens een overschrijding van een ingestelde limiet wordt bereikt dan veranderd de kleur van die sensor. Je kan dan snel zien waar het probleem zit. In dit geval bleek de limiet van mijn Intel PECI sensor (temp3) de boosdoener te zijn.
Om dat te laten zien gebruik ik hieronder een output van sensors. Die laat (naast allemaal andere output) o.a. dit zien:
it8728-isa-0a30
Adapter: ISA adapter
<knip voltages, fans>
temp1: +30.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: +25.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp3: +38.0°C (low = +0.0°C, high = +60.0°C) sensor = Intel PECI
Als temp3 dus de 60 graden bereikt begint de ellende. En zo staat het feitelijk ook ingesteld: high = +60.0°C. De computer of lm-sensors valt niets te verwijten. Maar is het terecht?
Sensors.conf
Met het gebruiken van lm-sensors wordt er natuurlijk gebruik gemaakt van een configuratiebestand. Door even te zoeken in de manpages kom je dan snel uit op de plek waar je moet zijn:
/etc/sensors3.conf
/etc/sensors.conf
The system-wide libsensors(3) configuration file.
/etc/sensors3.conf is tried first, and if it doesn’t exist, /etc/sensors.conf is used instead./etc/sensors.d
A directory where you can put additional libsensors configuration files.Files found in this directory will be processed in alphabetical order after the default configuration file. Files with names that start with a dot are ignored.
Nou kan je ervoor kiezen om gewoon die piep uit te zetten. Je kan daarvoor een set beep_enable 0 in je configuratiebestand plaatsen. Maar dat is natuurlijk niet aan te bevelen. Daarom ben ik op zoek gegaan naar specifieke instellingen van mijn moederbord.
Specifieke moederbord configuraties
Specieke configuratie vind je op de website van lm-sensors. Zie: http://www.lm-sensors.org/wiki/Configurations
En daar vond ik ook de juiste sensor specs van mijn moederbord (Gigabyte Z77-D3H) terug. En dan komen we ergens.
Open een terminal en geef de opdacht gksudo gedit /etc/sensors.d/libsensors
Gedit opent zich nu met een leeg bestand (libsensors) en kopieer in dat bestand de gevonden configuratie van het moederbord. Als je dan je computer herstart zou het probleem opgelost moeten zijn. Maar helaas begint tijdens het booten mijn computer al te piepen. Hoe kan dat dan?
Ach..heel eenvoudig. Het moederbord specifieke configuratiebestand gaat uit van een volledige bezetting van fans. En ik heb er geen 5, maar 3 in mijn kast geplaatst. Door nu die ontbrekende fans (fans 2 en 5) op minimaal 0 rpm te zetten werd dat probleem na een nieuwe herstart ook opgelost. Het blijft ten slot van rekening maatwerk. Ook goed om te zien dat de voltages nu zijn gekoppeld aan herkenbare id’s. Zie o.a. de comments in de hieronder vermelde configuratie.
Mijn lm-sensors config Gigybyte Z77-D3H
chip “acpitz-virtual-0”
ignore temp1 # stays always at 27.8 degrees C
ignore temp2 # dito
chip “it8728-*”
label in0 “CPU Vtt”
set in0_min 1.02 # I’m liberal with these, 2-3% tops
set in0_max 1.08 # after that, cpu gets very unstable
label in1 “+3.3V”
set in1_min 3.3 * 0.95 # Some boards including GA-H67MA-UD2H
set in1_max 3.3 * 1.05 # don’t have 3.3V voltage reading
compute in1 1.649*@,@/1.649 # multipliers provided by Martin Malik author of hwinfo
label in2 “+12V”
set in2_min 12 * 0.95
set in2_max 12 * 1.05
compute in2 @ * (72/12), @ / (72/12) #mg,15.05.13
label in3 “+5V”
set in3_min 5 * 0.95
set in3_max 5 * 1.05
compute in3 2.5*@,@/2.5
label in4 “Vaxg” # Voltage used by the video controller embedded inside the CPU
set in4_min 0.4
set in4_max 1.4
label in5 “Vcore”
set in5_min 0.825 * 0.95
set in5_max 1.425 * 1.05
label in6 “Vdram”
set in6_min 1.5 * 0.95 # adjust these, 1.35 for LVDDR3
set in6_max 1.5 * 1.05 # 1.5V is recommended, 1.65 tops
# 3VSB
set in7_min 3.3 * 0.95
set in7_max 3.3 * 1.05
# Vbat
set in8_min 3.0 * 0.90
set in8_max 3.0 * 1.10
### fan
label fan1 “CPU fan”
set fan1_min 700
label fan2 “Sys1 fan”
set fan2_min 000
label fan3 “Sys2 fan”
set fan3_min 200
label fan4 “Sys3 fan”
set fan4_min 200
label fan5 “Sys4 fan”
set fan5_min 000
### temperatures
label temp1 “System temp” # tops at 33 degrees C
set temp1_min 10
set temp1_max 60
ignore temp2 # shows always 25 degrees C
set temp2_min 0
set temp2_max 60
label temp3 “CPU temp”
set temp3_min 10
set temp3_max 85
Probleem opgelost!
Werkt Xsensors apart van lm-sensors? Helaas herkent lm-sensors mijn moederbord en CPU niet waardoor ik de waarden daarvan niet kan uitlezen 🙁
De benodigdheden om je sensors uit te kunnen lezen is inderdaad lm-sensors. Met behulp van xsensors krijg je een interface aangeboden om die resultaten (X, dus grafisch) af te lezen.