ot Nick Angelow(24-02-2005)

reiting (7)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

NABLYUDENIE NA SUSTOQNIETO NA DUNNI PLATKI V LINUX

http://www.linuxcenter.ru/lib/articles/hardware/i2c.phtml?style=print

Vitalii Kolesnik

31 ianuari 2005 || Biblioteka na Linuks TSentur


Efektivnata eksploatatsiia na razlichni slozhni tehnicheski kompleksi, v chastnost na kompyutri, e nevuzmozhna bez izcherpatelna i neprekusnato postupvashta informatsiia za osnovnite parametri na funktsionirane na sistemata. Tozi problem e osobeno aktualen pri sistemi, raboteshti po shemata 24h7h365, kakto i za sistemi, do koito personala ima ogranichen dostup.

Vuv vseki konkreten sluchai, spisukut na tezi parametri mozhe da sudurzha stotitsi pozitsii, no prakticheski za vsiaka rabotna stantsiia, survur ili klustur osobeno vazhna e informatsiiata za tehnicheskoto sustoianie na aparaturata. Osnovnite harakteristiki na dunnite platki, koito triabva da se slediat sa slednite:

  • naprezhenieto na zahranvaneto;

  • skorostta na vurtene na ventilatorite za ohlazhdane;

  • temperaturata na protsesora;

  • temperaturata vuv vutreshnostta na kompyutura.

Proizvoditelite na dunni platki i operatsionni sistemi predlagat sobstveni resheniia za nablyudenie. Sushto taka sushtestvuvat i programni sredstva ot treti proizvoditeli.

V distributsiite na Linux, koito v posledno vreme namirat shiroko razprostranenie pri survurnite sistemi, defakto v standart za programa za nablyudenie na dunnite platki se e prevurnal paketut lm_sensors (www.lm-sensors.nu). Toi vliza v sustava na niakoi distributsii na Linux i ima shiroki vuzmozhnosti. No kolkoto po-slozhna i universalna e programata, tolkova po-trudno e neinoto usvoiavane.

Nastoiashtata statiia ima za tsel da osvetli prakticheskite vuprosi pri nastroikata na paketa lm_sensors za kontrol na dunnite platki TYAN S2460 Tiger MP.

Za suzhalenie, v dokumentatsiiata kum paketa (failut quickstart) ne sa opisani niakoi tunki osobenosti pri negovata nastroika i nie shte se opitame da zapulnim tozi propusk.

STUPKA 1

Nai-napred shte proverim dali ima instalirani izhodniiat kod i/ili gotovi moduli za kontrol na kompyutura. Gotovite moduli se namirat v

    • /lib/modules/(nomer_na_versiiata_na_OS)/kernel/drivers/sensors

    • /lib/modules/(nomer_na_versiiata_na_OS)/kernel/drivers/i2c.

V purvata direktoriia tursim modul s ime w83781d, a vuv vtorata – modulite i2c-core, i2c-amd756, i2c-dev, i2c-proc.

Ako gi ima, znachi modulite za kontrol vuv vashata operatsionna sistema sa instalirani.

Sushto taka shte sa ni neobhodimi i izhodnite kodove.

STUPKA 2

Ne e izlishno da proverim dali spomenatite moduli sa zaredeni pri zarezhdaneto na operatsionnata sistema (vuzmozhno e pokrai vas, oshte niakoi da nablyudava dunoto). Neobhodimo e v konzola (po-natatuk vsichki deistviia se izpulniavat v konzola, a kudeto ima nuzhda – i s prava na root) da napishem komandata:

lsmod

V izhoda na komandata tursim imenata na modulite:

i2c-core, i2c-amd756, i2c-dev, i2c-proc, w83781d.

Ako te sa tam, tova oznachava che imame kusmet i niakoi veche se e pogrizhil za nablyudenieto.

No neka dopusnem, che ne vi e provurvialo i ne ste namerili nishto, toest zapochvame rabota na mashina, na koiato niama instalirani izhodni tekstove i gotovi moduli ot paketa lm_sensors. Tezi, pri koito paketa veche e instaliran, procheli sa i sa razbrali dokumentatsiiata, a sushto taka vnimatelno i tvorcheski sa izuchili tozi dokument, shte uspeiat bez problemi da postignat uspeh.

STUPKA 3

SHTe zapochnem s namiraneto na paketa lm_sensors. Nai-dobre e da go izteglite ot saita na negovite suzdateli – http://secure.netroedge.com/~lm78/download.html, kudeto e ostaven za svobodno teglene. Po tozi nachin shte poluchim poslednata versiia na paketa. Ako po niakakva prichina niamate dostup do Internet, to paketa pod formata na rpm fail mozhe da bude nameren i vuv vashata distributsiia. No zabelezhete – neobhodim vi e imenno izhodniiat kod.

STUPKA 4

Polucheniiat izhoden kod razopakovame v niakakva proizvolna direktoriia, naprimer
/usr/src/linux.

STUPKA 5

Sega idva red na nai-interesnoto – kompilatsiiata i instalatsiiata na paketa lm_sensors. Neka izpulnim v direktoriiata usr/src/linux/lm_sensors-nomer_versiia slednite komandi:

make
 make install
 depmod -a
STUPKA 6

Neka proverim dali v direktoriiata /usr/src/linux/lm_sensors-nomer_versiia/kernel/busses se e poiavil modulut i2c-amd756.o, datata na suzdavane na koito triabva da suvpada s tekushtata data.

STUPKA 7

Po sushtiiat nachin triabva da proverim za nalichieto na „svezh“ modul w83781d.o v direktoriiata /usr/src/linux/lm_sensors-nomer_versiia/chips. Neka poglednem vuv faila /etc/ld.so.conf i da namerim v nego reda, sudurzhasht /usr/local/lib. Ako ne namerim takuv red, triabva da go dobavim tam ruchno, sled koeto da izpulnim komandata:

ldconfig

A sega vnimavaite – do tozi moment nie samo kompilirahme i instalirahme neobhodimite za izvurshvane na nablyudenieto programni komponenti. CHast ot komponentite, suglasno kontseptsiiata na Linux, koito shte se nablyudavat sa failove na ustroistva. Na elementite ot dunnata platka – takiva kato temperaturni datchitsi, datchitsi za sledene oborotite na ventilatora i datchitsite za naprezhenieto na zahranvaneto – v paketa lm-sensors otgovariat failovete na virtualnite ustroistva, namirashti se v direktoriiata /proc/sys/dev/sensors. I veche e kraino vreme da poglednem v spomenatata direktoriia.

Pri tozi pogled v /proc/sys/dev nie niama da namerim poddirektoriia sensors, koeto e razbiraemo – tia oshte ne e suzdadena, poradi koeto datchitsite na dunoto sa nedostupni. Sledvashtata komanda e prednaznachena imenno za suzdavane na failovete na datchitsite na dunoto. Izpulnete

/usr/src/linux/lm_sensors-nomer_versiia/prog/mkdev/mkdev.sh

Izhodut na komandata shte vi pokazhe imenata na suzdadenite ustroistva.

STUPKA 8

Nai-posle neobhodimite programni failove sa kompilirani i failovete na ustroistvata sa suzdadeni. Sega e neobhodimo da izvurshim nastroikata na sistemata. S neia shte osigurim zarezhdaneto na neobhodimite moduli, shte korigirame failovete za initsializatsiia, za da mozhe vsichko neobhodimo da se startira sus starta na operatsionnata sistema; shte suzdadem shablon za izvezhdane na konzolata na informatsiia s kontroliranite parametri. Po-natatuk kratko i prakticheski bez komentari se opisva posledovatelnostta na izvurshvane na neobhodimite deistviia za nastroivane na lm_sensor za rabota s dunna platka TYAN S2460 Tiger MP.

STUPKA 9

V direktoriiata /usr/src/linux/lm_sensors-nomer_na_versiia/lib namirame faila libsensors.so.x.x.x (naprimer, libsensors.so.1.2.1), koito kopirame v /lib. Zaedno s tozi fail se suhraniavat i dve vruzki kum nego – libsensors.so i libsensors.so.1, koito sushto kopirame v /lib (ako tezi vruzki ne sushtestvuvat, togava triabva da gi suzdadem v /lib).

STUPKA 10

V direktoriiata /usr/src/linux/lm_sensors-nomer_versiia/prog/init namirame faila lm_sensors.init i go kopirame v direktoriiata /etc/rc.d/init.d pod imeto lm_sensors.

STUPKA 11

V direktoriiata /usr/src/linux/lm_sensors-nomer_versiia/prog/init redaktirame ruchno faila lm_sensors.sysconfig – v negoviia krai ostaviame nezakomentirani samo slednite redove:

MODULE_1=i2c-amd756
 MODULE_2=i2c-dev
 MODULE_3=w83781d

Sled tova kopirame tozi fail v direktoriiata /etc/sysconfig pod imeto lm_sensors.

STUPKA 12

Ot direktoriiata /usr/src/linux/lm_sensors-nomer_versiia/prog/sensors kopirame v direktoriiata /usr/bin faila sensors. Toi triabva da ima prava za izpulnenie.

STUPKA 13

V kraia na faila /etc/modules.conf dobaviame sledniia red:

alias char-major-89 i2c-dev
STUPKA 14

V kraia na faila /etc/rc.d/rc shte dobavim pokazanite po-dolu redove (za zarezhdane na neobhodimite moduli po vreme na startirane na operatsionnata sistema):

modprobe i2c-amd756
 modprobe i2c-dev
 modprobe w83781d init=0
STUPKA 15

V direktoriiata /usr/src/linux/lm_sensors-nomer_versiia/kernel/busses namerete faila i2c-amd756.o i go arhiviraite s komandata:

gzip i2c-amd756.o.

Sled neinoto izpulnenie bi triabvalo da ste poluchili faila i2c-amd756.o.gz, koito kopirate v direktoriiata /lib/modules/(nomer_versiia_Linuks)kernel/drivers/i2c.

STUPKA 16

V direktoriiata /usr/src/linux/lm_sensors-nomer_versiia/kernel/chips namerete faila w83781d.o i go arhiviraite s pomoshtta na komandata:

gzip w83781d.o

Sled neinoto izpulnenie, triabva da ste poluchili faila w83781d.o.gz, koito kopirate v direktoriiata /lib/modules/(nomer_versiia_Linuks)kernel/drivers/sensors.

STUPKA 17

Sled vsichko tova, mozhe posledovatelno da izpulnim v konzola komandite, opisani v predishnata tochka:

modprobe i2c-amd756
 modprobe i2c-dev
 modprobe w83781d init=0

VNIMANIE – poslednata komanda, izpulnena bez parametura init=0 shte dovede do „uvisvane“ na mashinata, poradi koeto ne ia izpulniavaite, ako v momenta izpulniavate kritichni prilozheniia, tui kato shte se nalozhi restartirane na mashinata. Za da se izbegne „uvisvaneto“ na mashinata, pri planirano restartirane ne zabraviaite tozi parametur nito pri ruchnoto izpulnenie na programata, nito da go opishete vuv faila /etc/rc.d/rc.

Sled izpulnenieto na trite posocheni komandi neka proverim kakvo se e promenilo v sistemata. Purvo da izpulnim komandata

lsmod

Triabva da poluchim informatsiia za tova, che sa zaredeni modulite:

i2c-core, i2c-amd756, i2c-dev, i2c-proc, w83781d

Veche doide momenta da poglednem v /proc/sys/dev. Tam triabva da se e poiavila direktoriia sensors, a v neia – direktoriia w83782d-i2c-0-2d i fail chips. Vuv faila chips niama nishto interesno, no si struva da poglednem v w83782d-i2c-0-2d. Tam shte vidim dostatuchno mnogo failove, mezhdu koito po imenata mozhe da poznaem datchitsite za kontrol na dunnata platka. Naprimer fan1, fan2, fan3 – datchitsi za ventilatorite, temp1, temp2 – datchitsi za temperaturata i t. n. Tova sa failovete na virtualnite ustroistva, koito suzdadohme po-rano. Te stavat dostupni, kakto vidiahme, pri zarezhdane na suotvetnite moduli. Pod sushtite tezi imena te se izpolzvat i vuv faila za konfigurirane shablona za izvezhdane na informatsiia na konzolata.

STUPKA 18

Tozi fail za konfigurirane na shablona za izvezhdane na informatsiia na konzolata triabva da se namira v direktoriiata /etc/sysconfig i da se kazva sensors.conf. Kopirame go (s preimenuvane) tam ot direktoriiata /usr/src/linux/lm_sensors-nomer_versiia/etc, kudeto toi nosi imeto sensors.conf.eg.

Failut e napisan s otchitane na vsichki poddurzhani mikroshemi za kontrol. No na nas ne ni e nuzhno chak tolkova mnogo. Dostatuchna ni e samo sektsiiata, zapochvashta sus sledniia red:

chip "w83782d-*" "w83783s-*" "w83627hf-*"

Vsichko, koeto se namira nad tozi red chak do komentarite mozhe da bude premahnato. Komentarite e dobre da ostavite – shte sa vi polezni. Otstranete i ostanalite sektsii, zapochvashti s red (zaedno sus samiiat red):

chip "w83697hf-*"

CHestno kazano, premahvaneto na izlishnite neshta vuobshte ne e zadulzhitelno – to izobshto niama da se otrazi na rabotata na sistemata. Prosto v po-malkiiat fail, kudeto niama nishto izlishno shte e po-lesno da se orientirame pri nastroikata na izhoda kum konzolata. Komentarite, koito sa v nachaloto na tozi fail sa tolkova izcherpatelni, che prosto niama kakvo da se dobavi kum tiah.

Samo shte otbelezhim, che za pravilno izobraziavane na temperaturata na protsesorite e neobhodimo na suotvetnite redove v sensors.conf da posochim vtori tip na datchika, toest redovete s opisanie na tipa na temperaturnite datchitsi triabva da izglezhdat taka:

set sensor1 2
 set sensor2 2
 set sensor3 2
STUPKA 19

Za udobstvo pri poluchavane na informatsiia za sustoianieto na sistemata shte suzdadem skript i shte go slozhim v direktoriiata /usr/bin. Skriptut prochita faila sensors.conf za pravilno izobraziavane na informatsiiata i izpulniava komandata sensors za neinoto izvezhdane na konzolata. Neka narechem skripta sensors, kato negovoto sudurzhanie e mnogo prosto:

#! /bin/bash
 cd /etc/sysconfig
 bash /usr/bin/sensors -s -c /etc/sysconfig/sensors.conf
 /usr/bin/sensors

Ne zabraviame da dadem na skripta prava za izpulnenie. Sega, ako modulite sa zaredeni, komandata sensor ot konzolata shte izvede informatsiia za sustoianieto na datchitsite vurhu dunnata platka. Kak da se postupi sled tova s tazi informatsiia – da ia izpratim po poshtata, v SMS do sistemniia administrator ili da ia zapishem v dnevnik, vseki reshava sam.

DOPULNENIE

Ako e neobhodimo da organizirame kontrol na niakolko dunni platki S2460 Tiger MP (naprimer v klustur), to ne e zadulzhitelno da provezhdame vsichki posocheni operatsii, vklyuchitelno i kompilatsiia na vsichki kompyutri. Dostatuchno e da go napravim vednuzh i sled tova da izpolzvame poluchenite failove na ostanalite kompyutri. Za tova e nuzhno samo da gi postavim v suotvetnite direktorii.

Izlozheniiat podhod mozhe da s uspeh da se izpolzva za organizirane na nablyudenie na drugi dunni platki (v tova chislo i ot drugi proizvoditeli). Za tselta e nuzhno da otchetem razlikite v izpulnenieto na konkretnata dunna platka, naprimer kakuv shemen nabor se izpolzva, kakva e vutreshnata shina, ot koiato paketa lm_sensors chete dannite, kakuv e vunshniiat chip (v razgledaniia sluchai tova biaha suotvetno AMD 760MP, I2C i W83781d). Poddurzhanite shemni nabori i vunshni chipove sa posocheni vuv faila / lm_sensors/etc/sensors.conf.eg na paketa lm_sensors.

Avtorut izkazva osobena blagodarnost na razrabotchitsite na paketa lm_sensors, na vsichki uchastvali v negovoto shlifovane i koito spodeliha informatsiia za upotrebata mu, a sushto i na proizvoditelite na dunnata platka TYAN S2460 Tiger MP, suzdali otlichen harduer.


Vitalii Kolesnik

Statiiata e vzeta ot saita na izdatelska kushta Komizdat.


Prevod: Nikolai Angelov



<< Linux + FreeBSD mini rukovodstvo | Kak da izpolzvame dmix v alsa >>