dentaku
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
Ich habe ein komisches Problem mit meiner Grafikkarte (RX 5600 XT): wenn ich unter Ubuntu 20.04 Spiele, geht ihr Lüfter nicht an - das führt nach ca. 1 STunde dazu, daß der Rechner neu bootet, weil er zu heiss geworden ist. Boote ich in Windows 10, funktioniert der Grafikkartenlüfter einwandfrei. Kann dort auch mit AMDs Treibersoftware die Lüftersteuerung nach beleben ändern. Ich habe die open source MESA 20.0.8 Treiber drauf - ging mit den vorigen Versionen aber auch nicht. Woran kann das liegen? Und was könnte man hier machen damit der Grafikkartenlüfter auch unter Linux anspringt?
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17657
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Du installierst also einen Treiber für openSUSE unter Ubuntu?
Der hat da normalerweise nichts u suchen. Ich würde mal sagen teste das Verhalten im Live-System.
|
dentaku
(Themenstarter)
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
Nein, der mESA Treiber ist schon standardmäßig von UBuntu installiert. Ich habe auch mal neuere Versionen von PPAs ausprobiert aber überall das Gleiche. Inzwischen habe ich es fixen können: es ist bei > sensors aufgefallen, daß der Wert von "fan1" komischwrweise immer eine riesigen Wert von ca. 65000 angezeigt hat, obwohl dahinter bei "max" 3740 RPM stand. Kann ja eigentlich nciht sein. Dann habe ich herumgepsielt mit fancontrol und konnte damit die Lüfter mal hochdrehen lassen. Schliesslich konnte ich irgendwo in /sys/class/hwmon/... in einer Datei pwm_enable den vorhandenen Wert 1 (kein Lüfter) auf 2 (automatisch) ändern und schon hat's funktioniert. Danach zeigte sensors auch einen sinnvollen Wert "0" (statt ca 65000) an, als die Lüfter still waren: fan1: 0 RPM (min = 0 RPM, max = 3740 RPM)
|
crazy-biscuit
Supporter
Anmeldungsdatum: 6. November 2010
Beiträge: 4844
|
Ich nehme an, dass wenn der Kernel-Treiber, also AMDGPU für die Lüftersteuerung zuständig ist. Eine neue Mesa-Version würde in diesem Fall keine Vorteile bieten. In der Tat ein seltsamer Fehler, hoffentlich ist das mit Ubuntu 20.04.1 samt neuerem Kernel dann behoben.
|
dentaku
(Themenstarter)
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
Ja, wenn man bedenkt, daß manche / viele Benutzer einfach den Rechner (teuer) zur "Reparatur" bringen, weil alles nach einer gewissen Zeit "einfriert". Und ich habe schon lange suchen und ausprobieren müssen bis ich es irgendwie wieder hinbekommen habe. Jetzt noch einige Jahre zurück ohne Interent - gute Nacht.
|
dentaku
(Themenstarter)
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
Oh man, das gleiche Problem besteht wieder:
> sensors
...
amdgpu-pci-0600
Adapter: PCI adapter
vddgfx: 775.00 mV
fan1: 65535 RPM (min = 0 RPM, max = 3740 RPM)
edge: +87.0°C (crit = +118.0°C, hyst = -273.1°C)
(emerg = +99.0°C)
junction: +87.0°C (crit = +99.0°C, hyst = -273.1°C)
(emerg = +99.0°C)
mem: +0.0°C (crit = +99.0°C, hyst = -273.1°C)
(emerg = +99.0°C)
power1: 30.00 W (cap = 135.00 W) Wieder diese idiotische Wert "65535 RPM"
|
dentaku
(Themenstarter)
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
Oh man, jetzt habe ich wieder das gleiche gemacht - zuerst ist mir "...please run pwmconfig again" aufgefallen: /sys/class/drm/card0/device/hwmon/hwmon3$ systemctl status fancontrol.service
● fancontrol.service - fan speed regulator
Loaded: loaded (/lib/systemd/system/fancontrol.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2020-07-05 21:09:58 CEST; 1min 10s ago
Docs: man:fancontrol(8)
man:pwmconfig(8)
Process: 6227 ExecStartPre=/usr/sbin/fancontrol --check (code=exited, status=0/SUCCESS)
Process: 6333 ExecStart=/usr/sbin/fancontrol (code=exited, status=1/FAILURE)
Main PID: 6333 (code=exited, status=1/FAILURE)
Jul 05 21:09:58 pc-m fancontrol[6333]: MINPWM=0
Jul 05 21:09:58 pc-m fancontrol[6333]: MAXPWM=255
Jul 05 21:09:58 pc-m fancontrol[6333]: AVERAGE=1
Jul 05 21:09:58 pc-m fancontrol[6333]: Device path of hwmon0 has changed
Jul 05 21:09:58 pc-m fancontrol[6333]: Device path of hwmon2 has changed
Jul 05 21:09:58 pc-m fancontrol[6333]: Device name of hwmon0 has changed
Jul 05 21:09:58 pc-m fancontrol[6333]: Device name of hwmon2 has changed
Jul 05 21:09:58 pc-m fancontrol[6333]: Configuration appears to be outdated, please run pwmconfig again
Jul 05 21:09:58 pc-m systemd[1]: fancontrol.service: Main process exited, code=exited, status=1/FAILURE
Jul 05 21:09:58 pc-m systemd[1]: fancontrol.service: Failed with result 'exit-code'. Also pwmconfig aufgerufen, dort hwmon3 für meine Grafikkarte indentifiziert, Fragen beantwortet und zum Schluss drehten alle Lüfter full speed. Danach sudo vi /sys/class/drom/card0/device/hwmon/hwmon3/pwm1_enable aufgerufen und den Wert "1" wieder in "2" geändert ⇒ Lüfter wieder aus/unten.
Leider zeigt sensors weiter hin den Wert 65535 RPM an .
|
dentaku
(Themenstarter)
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
Neu gebootet: /sys/class/drm/card0/device/hwmon/hwmon3/pwm1_enable enthielt wieder den Wert "1" statt "2". Sensors zeigt weiterhin 65535 RPM ☹
|
dentaku
(Themenstarter)
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
Das ist ja echt scheisse! Habe gelesen, daß die sensoren bei jedem boot in einer anderen Reihenfolge eingebunden werden können. Vorher war es hwmon2 , jetzt ist es hwmon3 ... d.h. ich kann nciht einmal ein Script schreiben, welches ich nach eiem boot ausführen kann, weil sich der Pfad geändert haben kann.
|
dentaku
(Themenstarter)
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
Ich habe jetzt folgendes script (für sudo) geschrieben, welches zumindest den Lüfter (dynamisch) aktiviert: echo "Stopping fancontrol service:"
systemctl stop fancontrol.service
echo "Current value of hwmon2/pwm1_enable:"
cat /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
echo "Current value of hwmon3/pwm1_enable:"
cat /sys/class/drm/card0/device/hwmon/hwmon3/pwm1_enable
# change automatic (2) to full (1) or off (0):
#less /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
echo "Change value to 0 (off), 1(on, full, manuel) or 2 (on, automatic) of hwmon2/pwm1_enable : 2"
echo "2" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
echo "Change value to 0 (off), 1(on, full, manuel) or 2 (on, automatic) of hwmon3/pwm1_enable: 2"
echo "2" > /sys/class/drm/card0/device/hwmon/hwmon3/pwm1_enable
echo "New value of hwmon2/pwm1_enable:"
cat /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
echo "New value of hwmon3/pwm1_enable:"
cat /sys/class/drm/card0/device/hwmon/hwmon3/pwm1_enable
echo "Current values in /etc/fancontrol:"
cat /etc/fancontrol
echo "Starting fancontrol service:"
systemctl start fancontrol.service Mal schauen ob das jetzt immer funktioniert. Ist halt doof, daß man das dann imemr manuell machen muß.
|
haveaproblem
Anmeldungsdatum: 2. Januar 2015
Beiträge: 1141
|
Hmmm, also fancontrol hast du dir ja schon mal installiert. Daher kommt auch dein fancontrol.service den du immer deaktivierst der ist unter Ubuntu nämlich nicht Standard. Aber da du ja schon einen Service besitzt kannst du den natürlich auch gleich Konfiguieren. man pwmconfig
sowie
man fancontrol
helfen hoffentlich dabei.
|
alterpinguin
Anmeldungsdatum: 24. Mai 2014
Beiträge: 786
|
dentaku schrieb: Das ist ja echt scheisse! Habe gelesen, daß die sensoren bei jedem boot in einer anderen Reihenfolge eingebunden werden können. Vorher war es hwmon2 , jetzt ist es hwmon3 ... d.h. ich kann nciht einmal ein Script schreiben, welches ich nach eiem boot ausführen kann, weil sich der Pfad geändert haben kann.
Hilft es Dir vielleicht, wenn Du sämtliche "card?" devices durchgehst und mal kontrollierst was in dem "name" Eintrag steht? Ich hab so was ähnliches für mein conkyrc, damit die Temperaturen richtig gefunden werden, geht etwa so:
#!/bin/bash
#
patchme=~/.conkyrc_patchme
echo "..................."
echo " patch .conkyrc "
echo " use $patchme "
echo "..................."
# overwrites ~/.conkyrc
# 2 nicht mehr blacklist von eeepc
for i in 0 1 2 3; do
# 29.10.19 von 0 bis 3 hwmon Einträge - früher nur bis 2
name=`cat /sys/class/hwmon/hwmon$i/name`
echo "hwmon: $name"
case $name in
(asus) echo "do nothing...";;
(k10temp) p1="$i";
echo "patch template3 .. to $i";;
(it8655) p2="$i";
echo "patch template2 .. to $i";;
*) echo "invalid value?";;
esac
done
# und hier kommt ein wilder sed-Einzeiler-Aufruf um ein .conkyrc aus dem patchme-conkyrc zu erzeugen, den ich hier weglasse
|
dentaku
(Themenstarter)
Anmeldungsdatum: 31. Januar 2005
Beiträge: 3777
|
So richtig funktioniert das auch nicht. Jetzt habe ich nur in den Desktop gebootet und Browse im Internet - und alle paar Minuten dreht der Lüfter hoch. 😠
|