Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Počítač běžící, větrající, spící (1)

K průzkumu na tomto poli mne přivedl vadný (hlučný) větrák ve zdroji. Jelikož reklamace by vyřadila můj počítač na měsíc z provozu, koupil jsem nový větrák s tachometrem a regulátorem a připojil ho na konektor na základní desce… Dnes se tedy podíváme na kouzla, která umí mnoho novějších počítačů – měření uvnitř kejsu, zvukovou kontrolu teploty, řízení větráků a možnosti ztišení počítače.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious
Krok první – i2c a lm_sensors

Již brzy po koupi počítače jsem nainstaloval i2c a lm_sensors, jak doporučuje tento článek na Rootu. Ale sledování víceméně stálé teploty uvnitř počítače mne brzy omrzelo.

Zjistil jsem, že senzorový obvod na mé základní desce umí ovládat i rychlost větráků. Není v tom žádnou výjimkou – zhruba polovina základních desek umí ovládat rychlost 1–4 větráků, jiné umí větráky alespoň vypnout (u některých obvodů je ovšem tento vypínač na stejném drátě jako vstup tachometru a u některých desek končí vývod kdesi ve vzduchu).

Protože kontrola teploty a regulace větráků nepatří mezi životně důležité funkce počítače a Linux zrovna není hlavním podporovaným systémem, zjistit skutečnou funkci senzorového systému vyžaduje trochu experimentování.

Po instalaci lm_sensors se pustíme do editace souboru /etc/sensors.conf. Vybereme si sekci pro náš obvod (ostatní můžeme vymazat) a jako první správně nastavíme popisky. Pro popisky teplot a otáček větráků si můžeme vzít na pomoc BIOS. Pokud máme otevřený počítač, můžeme opatrně přidržet větrák za středovou část a pak zjistit, co ukazují měřidla (pozor, i malý větrák dokáže svými lopatkami nepříjemně poranit prsty). Pokud daný větrák nemá tachometr (ty s tachometrem mají tři dráty) nebo senzor není zapojen, použijeme položku ignore. Pro správné měření teploty musíme odvodit použitý typ měřidla. Pro měření napětí musíme zjistit správné hodnoty jednotlivých napětí (v mém případě např. referenční napětí VID ukazovalo hodnotu nepoužitelnou pro další výpočty, a tak bylo nutné místo ní dosadit hodnotu správnou).

Dělitel větráků

První, na co téměř jistě narazíte, je skutečnost, že velké větráky hlásí nulové otáčky (často i v BIOSu), přestože mají tachometr (a tedy tři dráty). Je to proto, že senzorové obvody měří jen v určitém rozsahu, daném dělitelem měřené hodnoty. Správné nastavení dělitele je takové, aby minimum měřitelného rozsahu bylo zhruba v polovině otáček větráku. Klíčové slovo pro jeho nastavení je fančíslo_div a jeho nastavení popisuje dokument fan-divisors z dokumentace lm_sensors. Pokud se chystáte větráky regulovat, pamatujte na větší rezervu u nižších otáček.

Zvukové a jiné alarmy

Senzorové obvody toho umí mnohem více. Zajímavou funkcí je zvukový alarm. Klíčová slova pro jeho nastavení jsou set beep_enable 1 a set beeps číslo. Poněkud nepraktické mi přišlo, že program sensors sice umí zobrazit, které alarmy jsou zapnuté, ale pro vlastní nastavení je nutné používat číslo, zadávající šestnáctibitovou masku. K jejímu výpočtu můžeme nahlednout do dokumentace, a nebo experimentovat s hodnotami v řadě 1, 2, 4, 8, 16… a poté sečíst hodnoty, které zapnuly některý z žádaných alarmů. Výsledek experimentu můžeme použít i pro nastavení textového alarmu pomocí set alarms číslo

(ten se projeví pouze řetězcem ALARM na výstupu, případně aktivací jakéhosi obskurního přerušení). Aby vše správně fungovalo, je třeba nastavit vhodné minimální otáčky všech větráků, maximální teploty a hystereze a vhodnou toleranci všech napětí (v mém případě ji bylo nutné zvětšit, protože jinak na mne počítač občas povrkával). Aby se konfigurace kompletně aktivovala, je třeba při každém spuštění počítače provést příkaz sensors -s. Já ovšem používám složitější sekvenci, která, na rozdíl od té jednoduché, na mém počítači při spuštění nezahouká:

(
  /usr/bin/fgrep -v "beeps" /etc/sensors.conf | \
    /usr/bin/sensors -s -c -
  sleep 3
  /usr/bin/sensors >/dev/null
  sleep 3
  exec /usr/bin/sensors -s
) &

Na rozdíl od softwarových alarmů je tento alarm hardwarový, a proto hlídá teplotu a větráky i tehdy, je-li počítač zrovna uspaný a CPU neběží.

Funkce PWM pro řízení větráků

Pokud v adresáři /proc/sys/dev­/sensors/* najdeme soubory s názvem začínajícím pwm, máme skoro vyhráno. Jedná se o pulse width modulation fan control a na základní desce je čip, který umí větráky ovládat. Teď ještě zbývá zjistit, kam tyto dráty vedou (doufejme, že ne do vzduchu). Nejjednodušší metodou je zapsání hodnoty 0 (příkazem echo) postupně do všech těchto souborů. Pokaždé sledujeme, který větrák počítače se zastaví.

Při této příležitosti ještě můžeme experimentálně zjistit minimální bezpečnou hodnotu PWM. Je to hodnota, která, pošleme-li ji po hodnotě 0 a úplném zastavení větráku, větrák bezpečně roztočí. U mých větráků se pohybovala kolem 20 Pozor – u velmi malých hodnot se větrák někdy netočí, ale pouze chvěje. Takový větrák nevětrá, ale na tachometr dává vysoké hodnoty otáček!

Ihned po těchto experimentech větrák opět spustíme hodnotou 255 nebo menší, jinak bychom mohli „upéci“ procesor.

V mém případě byl výsledek takový, že jeden regulátor reguluje větráky na CPU a ve zdroji, zatímco systémový větrák má samostatný regulátor.

Za počítač tišší

Větráky dokáží nadělat velký hluk. Ten lze výrazně omezit snížením otáček a někdy paradoxně i přidáním dalšího velkého větráku (tzv. systémový větrák, nasávající vzduch spodním otvorem v čelním nebo zadním panelu nebo 5,25" slotem). Velké pomaloběžné větráky větrající do prostoru jsou poměrně tiché a zajišťují lepší cirkulaci vzduchu, zatímco malé vnitřní větráky s vysokými otáčkami foukající přímo na nějaký čip jsou z hlediska hlučnosti opravdovou pohromou, navíc teplý vzduch pouze rozfukují po kejsu a zahřívají tak okolí. Větráky s kvalitními kuličkovými ložisky („ball“) bývají tišší než ty s kluznými.

Větráky lze odhlučňovat čistě mechanickými postupy. Někdy pomůže postavit větrák na distanční sloupky a usměrnit tok vzduchu trubicí – pro velké větráky se osvědčila seříznutá PET láhev (trubice ukončená nad chazeným objektem převede část turbulentního proudění na tišší laminární, neboť v chlazeném místě se pohybuje pomaleji větší masa vzduchu). Přenosu vyšších kmitočtů z (hlavně malých) větráků zabrání přilepení větráků na podstavce z pěnové pryže namísto šroubů; je však třeba zajistit, aby taková podložka nezpůsobila rezonance na nízkých kmitočtech a aby se z ní větrák neodlepil.

Nyní můžeme přistoupit k regulaci otáček. Nejjednodušší metodou je prosté snížení otáček. Nastavení doporučuji ověřit programem cpuburn (zaseklý file-roller dokázal procesor zahřát velmi podobně).

Inteligentnější metodou je dynamická regulace. Na síti jsem k tomuto účelu nenašel žádný program (kromě několika jednoúčelových), a proto jsem se pustil do experimentování. První verze napsaná v AWKu chodí celkem obstojně (najdete ji na mých stránkách na Penguinu). Chceme-li tišší počítač, je vhodnější nastavit vyšší relativní otáčky pro velké větráky (systém, zdroj) a menší pro malé (CPU) – efekt větrání je stejný, ale hluk menší. Softwarovou regulaci je vhodné zabezpečit nějakou hardwarovou pojistkou proti zhroucení systému, při kterém by mohlo dojít k výpadku regulace a zároveň vysokému zatížení procesoru. Takovou možností je nastavení kritické teploty v BIOSu, takže počítač se v případě takové havárie vypne nebo bude uspán.

Další metodou je hardwarová regulace. Nejjednodušší, ale také nejméně účinná je regulace pomocí termistoru na některých typech větráku. Druhou, podstatně dražší možností je použití speciálních regulačních desek (u nás je vyrábí např. Mironet, ovšem zatím bez podpory Linuxu). Někteří výrobci uvažují o přidání regulačních obvodů přímo do svých čipových sad.

Pokud chceme se ztišením postoupit dále, musíme se poohlédnout po vyložení kejsu zvukově izolační hmotou, zvukové izolaci pevného disku, případně CD/DVD. Větráku na CPU se lze zbavit i vodním chlazením (zaměníme-li vodu za kapalný dusík, můžeme procesor taktovat až na 4 GHz, jak předváděl na veletrhu Intel). Počítač lze též odstěhovat do vedlejší místnosti (obzvlášť vhodné, máme-li na stole X-Server) nebo zazdít do odděleného prostoru (vhodné pro server).

Ukázka odladěné konfigurace

# OSBuilder: /etc/sensors.conf
# Customized for: MSI K7T266 Pro (MS-6380)
# (ISA-style access, audible alarm, standard case and fans,
# 3 monitored fans, case intrusion not monitored)
#
# Configuration of sensors to be used by sensors(1) and libsensors(3).
# For more see sensors.conf(5) and /etc/sensors.conf.eg.
# Written by Stanislav Brabec <utx@penguin.cz>.
#
# @(#) $Id$
#

chip "w83627hf-*"

    label in0 "VCore"
    label in1 "VTT"
    label in2 "VIO"
    label in3 "+5.0V"
    label in4 "+12.0V"
    label in5 "-12.0V"
    label in6 "-5.0V"
    label in7 "+5V SB"
    label in8 "Battery"

    label temp1 "System"
    label temp2 "CPU"

    label fan1 "System"
    label fan2 "Power"
    label fan3 "CPU"

    label alarms "Alarm"
    label beep_enable "Beep"

    ignore temp3

# HSB:  7: global, 6: 0,     5: temp3, 4: case
#       3: fan3,   2: -5V,   1: -12V,  0: +12V
# LSB:  7: fan2,   6: fan1,  5: temp2, 4: temp1
#       3: +5V,    2: +3.3V, 1: VCoreB,0: VCoreA
    set beep_enable 1
    set beeps 8191

    ignore vid
    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)
    compute in4 ((28/10)+1)*@  ,  @/((28/10)+1)
    compute in5 (5.14 * @) - 14.91  ,  (@ + 14.91) / 5.14
    compute in6 (3.14 * @) -  7.71  ,  (@ +  7.71) / 3.14
    compute in7 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)

    set fan1_div 8
    set fan2_div 8
    set fan3_div 4
    set fan1_min 300
    set fan2_min 750
    set fan3_min 1500

# limits are set with respect to short voltage peeks
# to prevent short audible alarms
    set in0_min 1.775*0.95
    set in0_max 1.775*1.05
    set in1_min 1.26*0.85
    set in1_max 1.26*1.15
    set in2_min 3.3 * 0.95
    set in2_max 3.3 * 1.05
    set in3_min 5.0 * 0.92
    set in3_max 5.0 * 1.08
    set in4_min 12 * 0.85
    set in4_max 12 * 1.15
    set in5_max -12 * 0.85
    set in5_min -12 * 1.15
    set in6_min -5 * 1.15
    set in6_max -5 * 0.85
    set in7_min 5 * 0.9
    set in7_max 5 * 1.1
    set in8_min 3.0 * 0.80
    set in8_max 3.0 * 1.20

# examples for temperature limits
    set temp1_over 52
    set temp1_hyst 50
    set temp2_over 67
    set temp2_hyst 64

Školení: Pokročilejší kurz jazyka Java

Java je multiplatformní programovací jazyk, který vytvořila a vyvíjí společnost Sun. Java je silný, objektově orientovaný jazyk se širokou komunitou, nabízející především vysokou produktivitu vývoje.

  • Práce s řetězci
  • Regulární výrazy
  • Kolekce
  • Generiky
  • Smyčka typu "for" ve verzi Java 1.5
  • Výčty
  • Vlákna, synchronizace
  • Polymorfismus, RTTI
  • Java Beany
  • JDBC (práce s databázemi)
  • GUI (knihovny AWT a Swing)
  • Java na serveru (servlety, JSP)

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 3,18

Přehled názorů

To se mi libi...
ytom 27. 5. 2002 08:20
Nový
Castecne OT: - zdroj a jeho chlazeni
Jiri Lenert 27. 5. 2002 08:51
Nový
├ 
Re: Castecne OT: - zdroj a jeho chlazeni
Vojta 27. 5. 2002 11:33
Nový
│
├ 
Re: Castecne OT: - zdroj a jeho chlazeni
Tom L. 27. 5. 2002 12:13
Nový
│
├ 
Re: Castecne OT: - zdroj a jeho chlazeni
washeck 27. 5. 2002 12:31
Nový
│
│
├ 
Re: Castecne OT: - zdroj a jeho chlazeni
Vojta 27. 5. 2002 12:50
Nový
│
│
│
├ 
Re: Castecne OT: - zdroj a jeho chlazeni
muted 27. 5. 2002 15:05
Nový
│
│
│
└ 
Re: Castecne OT: - zdroj a jeho chlazeni
washeck 27. 5. 2002 20:23
Nový
│
│
└ 
Re: Castecne OT: - zdroj a jeho chlazeni
zz 30. 5. 2002 12:06
Nový
│
└ 
Re: Castecne OT: - zdroj a jeho chlazeni
Vaclav Dvorak 27. 5. 2002 13:41
Nový
├ 
Re: Castecne OT: - zdroj a jeho chlazeni
Tomas Tichy 27. 5. 2002 14:10
Nový
├ 
Re: Castecne OT: - zdroj a jeho chlazeni
alf1024 27. 5. 2002 19:00
Nový
└ 
Re: Castecne OT: - zdroj a jeho chlazeni
remet 31. 5. 2002 10:09
Nový
Fajn tema
Fish 27. 5. 2002 10:25
Nový
Stara deska
Tom Cerny 27. 5. 2002 12:54
Nový
Fajn clanok ....
Dodo 27. 5. 2002 13:11
Nový
└ 
Re: Fajn clanok ....
Bwian 27. 5. 2002 15:48
Nový
vetrak ve zdroji - info
Yokotashi 27. 5. 2002 13:11
Nový
├ 
Re: vetrak ve zdroji - info
mato 27. 5. 2002 16:26
Nový
├ 
Re: vetrak ve zdroji - info
hkmaly 27. 5. 2002 17:42
Nový
│
├ 
Re: vetrak ve zdroji - info
huhu 27. 5. 2002 19:57
Nový
│
├ 
Re: vetrak ve zdroji - info
Mican 30. 5. 2002 14:31
Nový
│
└ 
Re: vetrak ve zdroji - info
DFox 2. 6. 2002 20:52
Nový
│
 
└ 
Re: vetrak ve zdroji - info
Stanislav Brabec 5. 6. 2002 21:29
Nový
└ 
Re: vetrak ve zdroji - info
Pavel Ruzicka 28. 5. 2002 11:43
Nový
 
└ 
7 V
Tomas Klas 28. 5. 2002 16:16
Nový
CHlazeni
ondra 27. 5. 2002 19:48
Nový
Regulátor chlazení
pinus 27. 5. 2002 20:37
Nový
Funguje to
Fish 28. 5. 2002 10:47
Nový
Kde to koupit?
Honza 28. 5. 2002 15:24
Nový
└ 
Re: Kde to koupit?
Stanislav Brabec 28. 5. 2002 19:46
Nový
izolacni hmota?
Vena 29. 5. 2002 00:09
Nový
├ 
Re: izolacni hmota?
Stanislav Brabec 29. 5. 2002 18:29
Nový
└ 
Re: izolacni hmota?
Wasik 29. 5. 2002 19:20
Nový
 
└ 
Re: izolacni hmota?
libor Klepac 3. 6. 2002 22:44
Nový
help me with K7S5A
Davy 29. 5. 2002 21:41
Nový
└ 
Re: help me with K7S5A
Stanislav Brabec 31. 5. 2002 16:49
Nový
Nefunkční PWM
Michal Čihař 3. 6. 2002 20:57
Nový
└ 
Re: Nefunkční PWM
Stanislav Brabec 5. 6. 2002 21:30
Nový
 
└ 
Re: Nefunkční PWM
Michal Cihar 6. 6. 2002 09:24
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem