Provided by: manpages-ro_4.27.0-1_all 

NUME
thinkfan.conf - configurație în format YAML pentru thinkfan(1)
DESCRIERE
YAML este o notație foarte puternică, dar concisă, pentru datele structurate. Specificațiile sale
complete sunt disponibile la https://yaml.org/spec/1.2/spec.html. «thinkfan» utilizează doar un mic
subset din întreaga sintaxă YAML, așa că ar putea fi util, dar nu strict necesar, ca utilizatorii să
consulte specificațiile.
Cel mai important lucru de reținut este că indentarea este relevantă din punct de vedere sintactic. În
special, tabulatoarele nu trebuie amestecate cu spațiile. Vă recomandăm să folosiți două spații pentru
indentare, așa cum este prezentat mai jos.
Configurația «thinkfan» are trei secțiuni principale:
sensors: De unde trebuie citite temperaturile. Sunt acceptate toți controlorii de tip hwmon, precum și
/proc/acpi/ibm/thermal și, în funcție de opțiunile din timpul compilării, libatasmart (pentru
a citi temperaturile direct de pe discurile dure) și NVML (prin intermediul controlorului
proprietar nvidia).
fans: Ce ventilatoare ar trebui utilizate (în prezent este permis doar unul singur). Suportul pentru
mai multe ventilatoare este în curs de dezvoltare și este planificat pentru o versiune
viitoare. Pot fi utilizate atât comenzile PWM de tip hwmon, cât și cele de tip
/proc/acpi/ibm/fan.
levels: Trasează temperaturile în funcție de viteza ventilatorului. O „cartografiere simplă” specifică
doar o temperatură ca limită inferioară și superioară (respectiv) pentru o anumită viteză a
ventilatorului. Într-o „cartografiere detaliată”, limitele superioară și inferioară sunt
specificate pentru fiecare controlor/senzor configurat în sensors:. Acest mod trebuie utilizat
atunci când «thinkfan» monitorizează mai multe dispozitive care pot tolera cantități diferite
de căldură.
Sub fiecare dintre aceste secțiuni, trebuie să existe o listă de corespondențe cheie-valoare, fiecare
dintre acestea configurând un controlor de senzor, un controlor de ventilator sau un interval de viteză a
ventilatorului.
CONTROLORI PENTRU SENZORI ȘI VENTILATOARE
Pentru ca «thinkfan» să funcționeze, trebuie mai întâi să știe ce controlori de senzori de temperatură și
ce controlori de ventilatoare trebuie să folosească. Corelația dintre citirile de temperatură și vitezele
ventilatoarelor este specificată într-o secțiune de configurare separată (a se vedea secțiunea VITEZELE
VENTILATORULUI de mai jos).
Sintaxa senzorilor
Intrările din secțiunea sensors: pot specifica controlorii hwmon, thinkpad_acpi, NVML sau atasmart, unde
ultimele două trebuie activate la compilare. Poate exista orice număr (mai mare decât zero) și orice
combinație de intrări hwmon, tpacpi, nvml și atasmart. Cu toate acestea, poate exista cel mult o singură
instanță a intrării tpacpi.
sensors:
- hwmon: ruta-hwmon
name: nume-hwmon
indices: listă-index
correction: listă-corecție
optional: permite-erori_boolean
- tpacpi: /proc/acpi/ibm/thermal
indices: list--index
correction: listă-corecție
optional: permite-erori_boolean
- nvml: id-magistrală-nvml
correction: listă-corecție
optional: permite-erori_boolean
- atasmart: fișier-dispozitiv-disc
correction: listă-corecție
optional: permite-erori_boolean
- ...
Sintaxa ventilatoarelor
În prezent, «thinkfan» permite doar un singur ventilator, astfel încât poate exista o singură intrare în
listă. Suportul pentru mai multe ventilatoare este în curs de dezvoltare și este planificat pentru o
versiune viitoare. Ventilatorul este fie un ventilator hwmon:
fans:
- hwmon: ruta-hwmon
name: nume-hwmon
indices: listă-index
sau un ventilator tpacpi:
fans:
- tpacpi: /proc/acpi/ibm/fan
Valori
ruta-hwmon Există trei moduri de a specifica ventilatoare sau senzori hwmon:
1) O rută completă a unui fișier „temp*_input” sau „pwm*”, cum ar fi
„/sys/class/hwmon/hwmon/hwmon0/pwm1” sau „/sys/class/hwmon/hwmon/hwmon0/temp1_input”. În
acest caz, intrările „indices: listă-index” și „name: nume-hwmon” nu sunt necesare, deoarece
ruta identifică în mod unic un ventilator sau un senzor specific.
Rețineți că această metodă poate duce la probleme atunci când ordinea de încărcare a
controlorilor se schimbă în timpul pornirii, deoarece în numele dosarului „hwmonX”, X
corespunde de fapt ordinii de încărcare. Utilizați metoda 2) sau 3) pentru a evita această
problemă.
2) Un director care conține un controlor hwmon specific, de exemplu
„/sys/devices/platform/nct6775.2592”. Rețineți că această rută nu conține directorul
„hwmonX”, care depinde de ordinea de încărcare. Atâta timp cât conține doar un singur
controlor/interfață hwmon, este suficient să specificați intrarea „indices: listă-index”
pentru a-i indica lui «thinkfan» ce senzori specifici să utilizeze din acea interfață.
Intrarea „name: nume-hwmon” nu este necesară.
3) Un director care conține mai multe sau toți controlorii hwmon, de exemplu „/sys/class/hwmon”.
Aici, atât intrările „name: nume-hwmon”, cât și „indices: listă-index” sunt necesare pentru
a-i indica lui «thinkfan» ce interfață să selecteze sub această rută și ce senzori sau ce
ventilator să folosească din acea interfață.
nume-hwmon Numele unei interfețe hwmon, care se găsește de obicei într-un fișier numit „nume”. Acesta
trebuie specificat dacă ruta-hwmon este o rută de bază care conține mai multe hwmons. Această
metodă de specificare a senzorilor este deosebit de utilă în cazul în care ruta completă
către un anumit hwmon continuă să se schimbe între porniri, de exemplu, din cauza schimbării
ordinii de încărcare a modulelor de control.
listă-index O listă YAML [ X1, X2, ... ] care specifică ce senzori, respectiv ce ventilator trebuie să
utilizeze de la o anumită interfață. Atât /proc/acpi/ibm/thermal, cât și multe interfețe
hwmon conțin mai mulți senzori și nu toți dintre aceștia pot fi relevanți pentru controlul
ventilatorului.
• Pentru intrările hwmon, acest lucru este necesar în cazul în care ruta-hwmon nu se referă
direct la un singur fișier „tempXi_input”, ci la un dosar care conține unul sau mai multe. În
acest caz, listă-index specifică Xi pentru fișierele „tempXi_input”care trebuie utilizate. O
interfață hwmon poate conține, de asemenea, mai multe comenzi PWM pentru ventilatoare, deci,
în acest caz, listă-index trebuie să conțină exact o singură intrare.
• Pentru senzorii tpacpi, această intrare este opțională. Dacă este omisă, se vor utiliza toate
temperaturile găsite în /proc/acpi/ibm/thermal.
id-magistrală-nvml
NOTĂ: disponibilă numai dacă «thinkfan» a fost compilat cu opțiunea USE_NVML activată.
ID-ul de magistrală PCI al unei plăci grafice nVidia care rulează cu controlorul proprietar
nVidia. Poate fi obținut, de exemplu, cu «lspci | grep -i vga». De obicei, plăcile nVidia vor
folosi controlorul „open source” nouveau, care ar trebui să accepte în schimb senzorii hwmon.
fișier-dispozitiv-disc
NOTĂ: disponibilă numai dacă «thinkfan» a fost compilat cu opțiunea USE_ATASMART activată.
Ruta completă către un fișier de dispozitiv pentru un disc dur care suportă S.M.A.R.T. A se
vedea, de asemenea, opțiunea -d din thinkfan(1) care împiedică «thinkfan» să trezească
discurile adormite (mecanice) pentru a le citi temperatura.
listă-corecție (întotdeauna opțională)
O listă YAML care specifică decalajele de temperatură pentru fiecare senzor utilizat de către
controlorul dat. Folosiți această opțiune dacă doriți să utilizați sintaxa de nivel „simplu”,
dar trebuie să compensați pentru dispozitive cu o toleranță termică mai mică. Rețineți totuși
că sintaxa de nivel detaliat este de obicei alegerea mai bună (adică un reglaj mai fin).
permite-erori_boolean (întotdeauna opțional, false în mod implicit)
O valoare de adevăr (yes/no/true/false) care specifică dacă «thinkfan» trebuie să accepte
erori atunci când citește de la acest senzor. În mod normal, «thinkfan» va ieși cu un mesaj
de eroare dacă citirea temperaturii de la orice senzor configurat eșuează. Marcarea unui
senzor ca fiind opțional poate fi utilă pentru hardware-ul detașabil sau pentru dispozitivele
care pot fi oprite complet pentru a economisi energie.
VITEZELE VENTILATORULUI
Secțiunea levels: specifică o listă de viteze ale ventilatorului cu limitele de temperatură inferioară și
superioară asociate. Dacă temperaturile scad sub limita inferioară, «thinkfan» trece la nivelul anterior,
iar dacă este atinsă limita superioară, «thinkfan» trece la nivelul următor.
Sintaxa simplă
În forma simplificată, se specifică doar o singură temperatură ca limită superioară/inferioară pentru o
anumită turație a ventilatorului. În acest caz, limita-inferioară și limita-superioară sunt comparate
numai cu cea mai mare temperatură găsită printre toți senzorii configurați. Toate celelalte temperaturi
sunt ignorate. Acest mod este potrivit pentru sistemele mici (cum ar fi laptopurile) în cazul în care
există un singur dispozitiv (de exemplu, CPU) a cărui temperatură trebuie controlată sau în cazul în care
comportamentul necesar al ventilatorului este suficient de similar pentru toate dispozitivele care
generează căldură.
levels:
- [ viteza-ventilatorului, limita-inferioară, limita-superioară ]
- ...
Sintaxa detaliată
Acest mod este potrivit pentru sisteme mai complexe, cu dispozitive care au temperaturi nominale
diferite. De exemplu, multe CPU-uri și GPU-uri moderne pot face față zilnic la temperaturi de peste 80°C,
în timp ce un disc dur va muri rapid dacă atinge astfel de temperaturi. În modul detaliat, limitele
superioare și inferioare de temperatură sunt specificate pentru fiecare senzor în parte:
levels:
- speed: viteza-ventilatorului
lower_limit: [ l1, l2, ... ]
upper_limit: [ u1, u2, ... ]
- ...
Valori
viteza-ventilatorului
Valorile posibile ale turației sunt diferite în funcție de controlorul de ventilator
utilizat.
Pentru un ventilator hwmon, viteza-ventilatorului este o valoare numerică cuprinsă între 0 și
255, care corespunde valorilor PWM acceptate de diverși controlori ai nucleului.
Pentru un ventilator tpacpi de pe Lenovo/IBM ThinkPad și alte câteva laptopuri Lenovo (a se
vedea CONTROLORI PENTRU SENZORI ȘI VENTILATOARE de mai sus), se pot utiliza valori numerice
și șiruri de caractere. Valorile numerice variază de la 0 la 7. Valorile de tip șir de
caractere au forma „level lvl-id”, unde lvl-id poate fi o valoare de la 0 la 7, auto,
full-speed sau disengaged. Valorile numerice de la 0 la 7 corespund vitezelor obișnuite ale
ventilatorului utilizate de firmware, deși multe firmware-uri nici măcar nu utilizează
nivelul 7. Valoarea „level auto” redă controlul firmware-ului, ceea ce poate fi util în cazul
în care comportamentul ventilatorului trebuie modificat doar pentru anumite intervale
specifice de temperatură (de obicei, la capetele de temperatură ridicată și scăzută ale
intervalului). Valorile „evel full-speed” și „level disengaged” iau controlul vitezei
ventilatorului de la firmware, determinând ventilatorul să urce încet până la un maxim
absolut care poate fi atins în limitele electrice. Rețineți că acest lucru va scoate
ventilatorul din specificații și va cauza o uzură crescută, deși poate fi util pentru a
combate blocarea termică.
l1, l2, ...
u1, u2, ... Limitele inferioare și superioare se referă la senzori în aceeași ordine în care au fost
găsiți la procesarea secțiunii senzors: (a se vedea secțiunea CONTROLORI PENTRU SENZORI ȘI
VENTILATOARE de mai sus). Pentru prima intrare de nivel, lower_limit poate fi omisă, iar
pentru ultima, upper_limit poate fi omisă. Pentru toate nivelurile intermediare, limitele
inferioare trebuie să se suprapună cu limitele superioare ale nivelului anterior, pentru a se
asigura că este acoperit întregul interval de temperatură și că există o anumită histerezis
între nivelurile de viteză.
CONSULTAȚI ȘI
Pagina de manual thinkfan:
thinkfan(1)
Exemple de configurații livrate împreună cu distribuția sursă, disponibile și la:
https://github.com/vmatare/thinkfan/tree/master/examples
Documentația privind interfața de utilizator hwmon pentru Linux:
https://www.kernel.org/doc/html/latest/hwmon/sysfs-interface.html
Documentația privind interfața thinkpad_acpi:
https://www.kernel.org/doc/html/latest/admin-guide/laptops/thinkpad-acpi.html
ERORI
Raportați erorile în sistemul de urmărire a problemelor din github:
https://github.com/vmatare/thinkfan/issues
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
thinkfan 1.3.1 decembrie 2021 THINKFAN.CONF(5)