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
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