Wykrywanie temperatur
Posted In: I-Nex, Uncategorized
Tagi: i-nex, lm-sensors, sensors, temperatura
Wykrywanie temperatury procesora załatwić można na dwa znane mi sposoby. Pierwszy to zainstalowanie lm-sensors i wykonanie sensors-detect. Nejlepiej wykonać to poleceniem
sudo -i
/bin/yes „” | sensors-detect
Drugim sposobem zaś jest wydobycie danych o temperaturze bezpośrednio z plików. Jednakże położenie plików zmienia się w zależności od sprzętu. I-Nex dziś doczekał się poprawy modułu odpowiedzialnego za wykrywanie temperatury procesora. Zauważyłem błąd przy okazji testując go na Manjaro i zabrałem się za szybką naprawę tego błędu.
I-Nex nie wykorzystuje lm-sensors do wykrywania temperatury procesora, robi to właśnie po przez wydobycie danych z plików zawartych w katalogu /sys. Przy czym zawiera odpowiednią tablicę dzięki której jest w stanie wykryć ją dla większości sprzętu.
A mowa o tych plikach:
TemperaturesDirectiories = [("0"): ("/sys/bus/acpi/devices/LNXTHERM:00/thermal_zone/temp"),
("1"): ("/proc/acpi/thermal_zone/THM0/temperature"),
("2"): ("/sys/class/hwmon/hwmon0/device/temp2_input"),
("3"): ("/sys/class/hwmon/hwmon0/temp1_input"),
("4"): ("/sys/devices/platform/coretemp.0/temp2_input"),
("5"): ("/sys/class/hwmon/hwmon0/device/temp1_input"),
("6"): ("/sys/class/hwmon/hwmon0/temp2_input"),
("7"): ("/sys/bus/acpi/drivers/ATK0110/ATK0110:00/hwmon/hwmon0/temp1_input"),
("8"): ("/sys/devices/virtual/thermal/thermal_zone0/temp")]
To samo także dotyczy temperatury krytycznej, jednak na ten czas istnieją dane na temat położenia tylko jednego pliku. A jest to:
TemperatureCriticalDirectories = [("0"): ("/sys/devices/platform/coretemp.0/temp2_crit")]
Istnieje tylko jeden, ponieważ jeszcze nie znalazłem dokumentacji czy implementacji tego rozwiązania w żadnym innym programie.
Zasadnicze pytanie, na co nam potrzebna jest informacja o krytycznej temperaturze? Moim zdaniem jest to zbędna informacja ale dodałem ją po prostu przy okazji.
Pracuje obecnie jeszcze nad opcją wykrywania obecnego napięcia procesora. Znalazłem jedynie dokumentację modułu w83627dhg-isa-0290. Mógł bym załatwić to po przez lm-sensors. I dać jako opcjonalna zależność w programie. No ale po co? Skoro wszystkie dane przedstawione przez sensors, dane na temat modułu w83627dhg-isa-0290 znajdują sie w katalogu
/sys/devices/platform/w83627ehf.656/
Znajdują tam się wszystkie potrzebne pliki. Wystarczy tylko to odpowiednio poskładać i mamy gotowe wykrywanie napięcia procesora w I-Nex. bez potrzeby wykonywania procesu sensors którego rodzicem był by I-Nex, gdzie dodatkowo co pewien okres czasu musiał by ponawiać wykonanie sensors by dynamicznie przedstawiać dane.
Kompilacja z naprawioną detekcją temperatury powinna już być gotowa w repozytorium Daily.