THINKFAN(1)

NUME
thinkfan -un program simplu de control al ventilatorului

SINOPSIS
thinkfan [-hnqDd] [-b DEVIAȚIE (balans)] [-c CONFIGURARE] [-s SECUNDE] [-p [ÎNTÂRZIERE]]

DESCRIERE

«thinkfan» citește temperaturile de la un set configurat de senzori și apoi reglează vitezele ventilatorului în funcție de limitele de temperatură stabilite în fișierul de configurare.

Atenție: «thinkfan» face doar o verificare de bază a corectitudinii configurației. Aceasta înseamnă că o configurație necorespunzătoare poate crește uzura termică a hardware-ului sau chiar poate provoca distrugerea din cauza supraîncălzirii!

  Senzori acceptați

• /proc/acpi/ibm/thermal
    Acesta este furnizat de modulul de nucleu „thinkpad_acpi” pe laptopurile Thinkpad mai vechi,

• fișiere temp*_input în sysfs (interfața hwmon)
    Poate fi furnizat de orice controlor „hwmon”, inclusiv „thinkpad_acpi” pe laptopurile Thinkpad moderne,

• Discuri dure cu suport S.M.A.R.T. (libatasmart)
    Disponibil dacă thinkfan a fost compilat cu -DUSE_ATASMART=ON. Rețineți că nucleele Linux moderne pot expune, de asemenea, temperaturile discului dur S.M.A.R.T. prin interfața hwmon din sysfs (și, prin urmare, și prin lm_sensors), care este, în general, preferabilă deoarece este mai eficientă.

• De la controlorul proprietar nVidia
    Atunci când este utilizat controlorul proprietar nVidia, nu va fi disponibil niciun controlor „hwmon” pentru această placă. În această situație, «thinkfan« poate utiliza API-ul NVML proprietar pentru a obține temperaturile.

• Via lm_sensors (interfața libsensors)
    Aceasta este o alternativă modernă și mai fiabilă la interfața hwmon sysfs menționată mai sus. Este practic o abstracție standardizată pentru hwmon sysfs în care senzorii pot fi întotdeauna identificați în mod unic, chiar și atunci când se schimbă ordinea de încărcare a modulelor nucleului.

  Ventilatoare acceptate
«thinkfan» poate controla orice număr de ventilatoare, care pot fi specificate în două moduri:

• /proc/acpi/ibm/fan
    Furnizat de modulul de nucleu thinkpad_acpi. Rețineți că modulul nucleului trebuie să fie încărcat cu opțiunea „fan_control=1” pentru a permite controlul ventilatorului în spațiul utilizatorului. Pe unele modele, poate fi necesară și opțiunea „experimental=1”. Consultați secțiunea CONSULTAȚI ȘI din partea de jos a acestei pagini de manual pentru o legătură către documentația oficială thinkpad_acpi.

• fișiere pwm*_enable și pwm? în sysfs
    Furnizat de toți controlorii de monitorizare hardware moderni, inclusiv thinkpad_acpi.

  Corelarea temperaturilor cu vitezele ventilatorului

Există două moduri generale de funcționare:

• Modul detaliat
    În modul detaliat, limitele de temperatură sunt definite pentru fiecare senzor pe care «thinkfan» îl cunoaște. Stabilirea unor limite adecvate pentru fiecare senzor din sistemul dumneavoastră va necesita probabil un pic de experimentare și o bună cunoaștere a echipamentului dumneavoastră, dar este cel mai sigur mod de a menține fiecare componentă în intervalul de temperatură specificat. Consultați configurațiile de exemplu pentru a afla mai multe despre sintaxă.

• Modul simplu
    În modul simplu, «thinkfan» utilizează doar cea mai ridicată temperatură găsită în sistem. Acest lucru poate fi periculos, de exemplu, pentru discurile dure. De aceea, ar trebui să furnizați o valoare de corecție (de exemplu, adăugați 10-15 °C) pentru senzorul care are temperatura discului dur (sau a bateriei...). Consultați fișierele de configurare de exemplu pentru detalii în acest sens.

CONFIGURARE
Toate caracteristicile descrise mai sus sunt configurate în fișierul de configurare al «thinkfan». Locația sa implicită este /etc/thinkfan.conf sau /etc/thinkfan.yaml (consultați și opțiunea -c de mai jos). Un exemplu de configurare este furnizat împreună cu pachetul sursă. Acesta este destinat doar pentru ilustrarea diferitelor scenarii și nu este potrivit ca bază pentru o configurație efectiv funcțională. Pentru o referință completă, consultați pagina de manual config thinkfan.conf(5).

OPȚIUNI

-h  Afișează un scurt mesaj de ajutor.

-s SECUNDE
    Numărul maxim de secunde între actualizările de temperatură (implicit: 5)

-b DEVIAȚIE
    Număr cu virgulă mobilă (de la -10 la 30) pentru a atenua sau amplifica schimbările rapide de temperatură. Dacă temperatura unui senzor crește cu mai mult de 2 °C în timpul unui ciclu, se calculează o valoare de compensare după cum urmează:

        compensarea = delta_t * DEVIAȚIE / 10

    Această valoare de compensare este apoi adăugată la temperatura reală:

        biased_t = current_t + compensarea

    Dacă delta_t rămâne sub 2 °C în buclele următoare, compensarea va fi redusă înapoi la 0 în trepte de sgn(DEVIAȚIE) * (1 + abs(DEVIAȚIE/5)).

    Aceasta înseamnă că o DEVIAȚIE negativă va egala vârfurile de temperatură scurte și bruște, precum cele observate la unii senzori on-DIE, în timp ce valorile pozitive vor exagera creșterea temperaturii pentru a compensa, de exemplu, senzorii care răspund lent deoarece sunt fixați pe radiatoare mari/groase.

    Folosiți modul „DANGEROUS” (periculos) pentru a elimina limita de la -10 la +30. Rețineți că nu puteți avea un spațiu între -b și un argument negativ, pentru că altfel getopt() va interpreta lucruri precum -10 ca o opțiune și va da greș (adică scrieți -b-10 în loc de -b -10).

    Valoarea implicită este 0.

-c FIȘIER
    Încarcă un alt fișier de configurare. În mod implicit, «thinkfan» încearcă mai întâi să încarce „/etc/thinkfan.yaml”, iar apoi „/etc/thinkfan.conf”. Primul trebuie să fie în format YAML, în timp ce al doilea poate fi fie YAML, fie sintaxa veche anterioară.

    Dacă este specificată această opțiune, «thinkfan» încearcă să încarce configurația numai din FIȘIER. Dacă numele său se termină în „.yaml”, trebuie să fie în format YAML. În caz contrar, poate fi fie în format YAML, fie în sintaxa dinainte. Consultați thinkfan.conf(5) și thinkfan.conf.legacy(5) pentru detalii.

-n  Nu devine un demon și jurnalizează în terminal în loc de syslog

-q  Îi indică lui «thinkfan» să opereze silențios, adică să reducă nivelul de jurnalizare față de cel implicit. Poate fi specificată de mai multe ori până când sunt afișate/înregistrate doar erorile.

-v  Îi indică lui «thinkfan» să emită informații detaliate despre operațiile realizate. Poate fi specificată de mai multe ori până când fiecare mesaj este afișat/înregistrat.

-p [SECUNDE]
    Folosește soluția „pulsing-fan workaround” pentru rezolvarea problemelor ventilatorului de pulsații (pentru laptopurile Thinkpad mai vechi). Acceptă un argument opțional în virgulă mobilă (0-10s) ca durată a aplicării. Valoarea implicită este 0,5 s.

-d  Nu citește temperatura de la discurile care dorm. În schimb, se utilizează 0 °C ca temperatură a discului respectiv. Acest lucru este necesar în cazul în care citirea temperaturii face ca discul să se trezească inutil. NOTĂ: Această opțiune este disponibilă numai dacă «thinkfan» a fost construit cu opțiunea „-D USE_ATASMART”.

-D  Modul PERICULOS „DANGEROUS”: Dezactivează toate verificările de corectitudine a valorilor alese. Vă poate deteriora echipamentul!!!

SEMNALE
SIGINT și SIGTERM întrerup pur și simplu operațiile în curs și ar trebui să facă ca «thinkfan» să se încheie în mod curat.

SIGHUP face ca «thinkfan» să-și reîncarce configurația. Dacă există vreo problemă cu noua configurație, o păstrează pe cea veche.

SIGUSR1 determină «thinkfan» să descarce toate temperaturile cunoscute în prezent fie în «syslog», fie în consolă (dacă rulează cu opțiunea „-n”).

SIGPWR îi transmite lui «thinkfan» că sistemul este pe punctul de a trece în starea de repaus. «thinkfan» va permite apoi erori de citire a senzorilor pentru următoarele 4 bucle, deoarece mulți senzori vor avea nevoie de câteva secunde înainte de a fi din nou disponibili după trezirea dintr-o stare de repaus (suspendare sau hibernare). Dacă este instalat fișierul de serviciu systemd livrat thinkfan-sleep.service, acesta ar trebui să se ocupe de trimiterea acestui semnal la intrarea în starea de repaus. În distribuțiile non-systemd, este posibil să fie necesar să se utilizeze alte mecanisme.

SIGUSR2 îi transmite lui «thinkfan» să reinițializeze controlul ventilatorului. Acest lucru este necesar pentru majoritatea controlorilor de ventilatoare după revenirea din modul suspendat, deoarece aceștia tind să restabilească controlul ventilatorului la modul automat la revenire. Similar cu SIGPWR, fișierul de serviciu systemd thinkfan-wakeup.service ar trebui să se ocupe de trimiterea acestui semnal la reactivare pe sistemele systemd. În distribuțiile non-systemd, este posibil să fie necesar să se utilizeze alte mecanisme.

VALOAREA RETURNATĂ

0   Ieșire normală

1   Eroare în timpul execuției

2   Eroare neașteptată în timpul execuției

3   Opțiune în linia de comandă nevalidă

CONSULTAȚI ȘI
Pagina de manual de configurare a thinkfan:
thinkfan.conf(5)

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
Dacă thinkfan vă spune să o faceți, sau dacă aveți chef, raportați problemele la 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.