








				 UPS Howto

    Harvey J. Stein, abel@netvision.net.il, Berger Financial Research, Ltd.

			     v2.02, 31 March 1997



				   Abstract

     ܰ Linux ϵͳӵϵϵͳ (uninterruptable power sup
     ply, UPS)...  ˵Ļ ....  Ȩ: Copyright (c) 1994, 1995,
     1996, 1997 by Harvey J. Stein.  You may use this document as you see
     fit, as long as it remains intact.  In particular, this notice (along
     with the contributions below) must remain untouched.



1.  

 HOWTO ļ UPS ִ Linux ĵϡ
뷨ʵķʽӣʹ Linux ڵԴϵԼ UPS
ĵغĹǰȫعػ

лһЩɰߵ壬Լߵʽ
ҵһ趨ÿʹ UPS 壬
ߵ˵˵ͨǲҪġĻϸĶ

൱ĳ̶ϱļѱǰ׫дԭĶ˺ܶݡ
еĻ϶ SysVinit е powerd man page ҵ
ǰ˿޷һ Linux ׼ҵƪ man page 
ҲŽỹٷ

֮⣬ҵһ׫дƪ Howto  powerd.c ⲢûΪ
Linux/UPS ֮Ĺͨơ  Sunsite's UPS directory1
ҵһ UPS 塣

Ȼܵ RedHat ӡ Dr. Linux ļҲʼдƪ UPS Hotwo 
Ϊʲ?  ....

    룬һԸŹ۽˽ν Linux ϵͳ UPS 
     ʹֻһͬļ

    ƪ HOWTO Ǹ UPS ϵĴؿ ---
     δһ׼е UPS Ѷ

    ƪ HOWTO һЩļҲĶϸϡ



____________________

1. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups>

 UPS Howto								      1





 UPS Howto								      2



    һЩ Sunsite's UPS directory2  ҵõ UPS
     ƺ˵ļٵÿ ҲҪġ˽ʹǡ

    ƺԼˡһƪ HOWTO
     ļʱʵ͸ˡһȽϲԵʵǵϴ˯ʱ

     (ע: һЦҿ! ! ú ....)

1.1  й׵

ԶмЩҰҽ顢Լ UPS ϵǡ
а:

    Hennus Bergman (hennus@sky.owl.nl)

    Charli (mefistos@impsat1.com.ar)

    Ciro Cattuto (Ciro Cattuto)

    Nick Christenson (npc@minotaur.jpl.nasa.gov)

    Lam Dang (angit@netcom.com)

    Markus Eiden (Markus@eiden.de)

    Dan Fandrich (dan@fch.wimsey.bc.ca)

    Ben Galliart (bgallia@orion.it.luc.edu)

    Danny ter Haar (dth@cistron.nl)

    Christian G. Holtje (docwhat@uiuc.edu)

    Raymond A. Ingles (inglesra@frc.com)

    Peter Kammer (pkammer@ics.uci.edu)

    Marek Michalkiewicz (ind43@sun1000.ci.pwr.wroc.pl)

    Jim Ockers (ockers@umr.edu)


    Evgeny Stambulchik (fnevgeny@plasma-gate.weizmann.ac.il)

    Clive A. Stubbings (cas@vjet.demon.co.uk)

    Miquel van Smoorenburg (miquels@cistron.nl)

    Slavik Terletsky (ts@polynet.lviv.ua)



____________________

2. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups>







 UPS Howto								      3



    Tom Webster (webster@kaiwan.com)

ע· email ַԵżн¼ģҲڡ Ϸ
email ַҲڣЩǱ·Ҫµġ

֮⣬ҵϱ©κһλйߵĻĺܱǸ 
email ңһὫּȥ

1.2  رע

޷֤ЩЧ UPS һ൱мɵĹ
֮һ߶пܻյը𡢻ս
֮⣬ֻж Advice 1200 A UPSԼ 5kva Best Ferrups ֱӵľ飬
ҲҪԼһѶߡԣע! ܵռ UPS Ѷ
ȿҪκڱлطݡ

һ棬ܵռʹҵ UPS Թķ
кܶ಻̵ѶҲûյκζЩǿܵġ

1.3  ļ

Ĳûа UPS һҪ͵ѶԿ The
UPS FAQ3  ƪļͬʱҲ ftp://rtfm.mit.edu/pub/usenet-by-hierar
chy/comp/answers/UPS-faq ҵ Nick Christenson (npc@mino
taur.jpl.nasa.gov) άģԴ 1995
ûдˡҪ email  ϣż Subject
һз UPS  UPS FAQ صĴʾ䡣

 UPS ·ѿ
ЩȷʵǵҳṩõѶ The UPS Directory4
ҵЩ UPS ̵ҳվҲ UPS FAQ5  ƪļ


2.  עѹʱѶ

ҸոշֵһЩѾʱˡ the latest sysvinit package6  
init daemon ĻҪª
ܿĿǰİ汾óʽʱİ汾ݣȻһЩ UPS ൱Ҫ
֧Ԯûļ˵

Ŀƻֻ powerd ͸ init powerfail  powerok
ѶϢ֮һѡinit ӵ powerfail ѶϢʱִһӵ powerok
ʱִһ ⽫ powerd
ڴ͵Ѷż״ʱ߼ϵĸԡ


____________________

3. <URL:ftp://navigator.jpl.nasa.gov/pub/doc/faq/UPS.faq>

4. <URL:http://www.upssystems.uk.com/upsdir.html>

5. <URL:http://www.upssystems.uk.com/upsfaqs.html>

6. <URL:http://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-2.64.tar.gz>







 UPS Howto								      4



°汾 init ( 2.58 ) ͱȽϾˡ ڽӵѶʱѡ 
script ֮һִСһ init ڽӵԴϵѶʱִ powerfail
script ִһ powerfailnow script Ĺػ Լһ powerok
script ֹͣκڽеĹػҪдЩҪ򵥶ˡ

󲿷ֵԼʹþɵ init ͨѶʽ
Ѽµ½µ߷½ Trust Energy Protector
400/650 (section , page )  APC Smart-UPS 700 (section , page
)ǰرϸ߶һ powerd.c 
յ͵ѶʱѶŸ init Խнػ  /etc/inittab
Ǽдһŵģ ܸľֻ init ԭʼˡ

֪ģе UPS ׼Ҳʽ߷ʽ


3.  뵥 UPS

UPS Ϊ࣬ҷֱ `` (Smart)'' `` (Dumb)''
֮Ĳ UPS öٵѶϢԼܹ UPS ´

       UPS

	        и (serial port) 

	        ʹ modem ͨѶ

	        ڵǷʧʱѶš

	        Ҳ UPS ĵǷƫʱ֪ͨԡ

	        ͨѶŸ UPS Լرա

       UPS

	        и (serial port) 

	        һϴ߾иԹͨ

	        һԿõ UPS ǵ֪ʽѶ
		 趨 UPSͬʱҲ UPS (ǽص)

ͨ UPS ڵģʽ²ǺõģΪ֪
Ĵ UPS ( APC) ֻԸ͸¶ǵ UPS
ͨѶЭЩǩ˾¶ͬǡ

ֻ֪ BEST ˾ UPS Ժ׵ Linux  ֮⣬
BEST ˾ļ˵ǵ UPS Ĵģʽ (Լģʽ) BEST
˾Ҳṩ˿ǵ UPS ͨĳʽԭʼ롣

  (section 4., page 5) ½ڵԿڵģʽ UPS
ͨЩҪġЩ˵ڴģʽ² ARC UPS
Ҳ֪λ׼ġ
һĳʽһӴͷȤĶ ʽ UPS
ͳϣǸس̶ȡڲ¶ȡϵ¼ѹ ѹ ......








 UPS Howto								      5



ȵȡƺ smupsd-0.7-1.i386.rpm ʽ (  (section 4., page 5)һ)
Щ 򲻸ȷ

µҽεϵͳʹ뵥ģʽµ UPS һ
Դģʽ UPS ԣ뷨һģҪʲ powerd
빤ԼҪʲѶ UPS вͬġ


4.  

ϣľһԹ powerd ʽͨ /sbin/powerd
ҵͨ SysVinit ϵͳһ֡ ֪нڰ汾 Linux
ϵͳһ° SysVinit  ڷǳɵİ汾򲻰 powerd

ΨһѶ߿ܲ powerd 趨ϣ
һѶߣһ powerd.c
޸ʹѶ߹ǣ
ʹе壬󲿷ֵʵ趨Ѷߡ

ոᵽģʹ SysVinit  powerd ֮Ҳеκһ UPS
áĿǰ԰ UPS ֮ߡҵһдƪ
HOWTO ʱûЩ壬 ҲΪʲҪдƪ HOWTO
ʵϣҲԴѡһã ȫƪ HOWTO ݡ

 1997  3  15 ң Sunsite  UPS Ŀ¼7
¿ҵһѵáվƺҲ UPS ҵ
Ŀǰҵ (⣬ sunsite ҵ):

      Enhanced_APC_BackUPS.tar.gz8
	    " һԿ APC ģʽ UPS  BUPS
	    Howto (һƪ) ҲһЩ͵֧Ԯ

      Enhanced_APC_UPSD-v1.4.tar.gz9
	     "  .lsm ᵽǰһᵽ壬
	    ʵǽһ .tar.gz װ tar.gz
	    ֮ڡƪļ˵⣬ƺͬʱ֧Ԯ APC UPS
	    Ĵ뵥ģʽҲȷ

      apcd-0.5.tar.gz10
	     " һԿ APC UPS 춴ģʽ塣
	    ƺ֧Ԯ/ģʽ
	    (Ҳ˵ͣʱһ̨ѶŸһ̨ػ) 
	    ƺʹ UPS ĴģʽǾ modem
	    Ѷơ

____________________

7. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups>

8. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups/Enhanced_APC_BackUPS.tar.gz>

9. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups/Enhanced_APC_UPSD-
   v1.4.tar.gz>

10.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/apcd-0.5.tar.gz>







 UPS Howto								      6



      smupsd directory11
	     " һ APC UPS 塣ڷǳ (tm)
	    ģʽ² UPS ˵һ Java ͼν UPS
	    ع߳ʽ Ŀ¼°ѱõ RPM ʽ
	    (ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.i386.rpm) 
	    һԭʼ RPM ʽ
	    (ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.src.rpm) 
	    Լһҵ
	    (ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.README) 

      genpower-1.0.1.tgz12
	     " һһ㻯 UPS 塣˺ܶ UPS 趨 --- 
	    TrippLite 趨Լ APC
	    趨ͬʱҲ˺ܺõ˵ļﳬֵ

      powerd-2.0.tar.gz13
	     " һ SysVinit  powerd ʽƷ
	    ˵ļᵽ෴ƺûϵ SysVinit 2.62
	    СŵΪִе powerd ŷ
	    (Ļ·ֻһ UPS Ļ)
	    趨趨 ---- ԭʼ벻޸ļ±롣

      upsd-1.0.tgz14
	     " һ powerd Ʒƺ powerd-2.0.tar.gz
	    Ƶɫ

      checkups.tar15
	     "  Best UPS ġֱ Best ˾ҳġ
	    ˶ unix ĿִеҪǣԭʼ룬
	     Linux ²Ҽ޷Ҳ޸
	    ԭʼͬʱڵģʽ¿ UPS  "" ָ
	    ԼһЩɵ "Ƚ" ָ ---  UPS ر˵ֻʣ X
	    ӵĵʱػѶţǵȵ X
	    ù˲ſʼػ ȽʽҲ UPS
	    Χ¶ȹߡӽ͵
	    ͽʹ߲ԵȾʱرջ

      bestups-0.9.tar.gz16
	     " ƪʱ sunsite
	    ҵõѷչúܺˡ
	    һԿ໥ͨѶģ飬Կ Best Ferrups

____________________

11.<URL:ftp://cms180.cmsnet.com/pub/smupsd/>

12.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/genpower-1.0.1.tgz>

13.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/powerd-2.0.tar.gz>

14.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/upsd-1.0.tgz>

15.<URL:http://www.bestpower.com/section/software/checkups.tar>

16.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/bestups-0.9.tar.gz>







 UPS Howto								      7



	    UPSڴģʽ  UPS  powerd-2.0 ٿ ---
	    һڵһ͵ Best Ferrups UPS
	    ֧Ԯ·ϻĵʱá

עֻǿٵЩ塣ҲûǣǸǲſʼʹõ
bestups-0.9.tar.gz17  Լ powerd-2.0.tar.gz18	  ``ſʼ''
˼˵ǲϸĿʹԡ


5.  Լָ

Եģʽ UPS ƶд͵ġȻ 󲿷ֵĹ̶Ե UPS
 UPS һġĲͬ UPS سʽ ( powerd) 
UPS ͨ

ڿʼ֮ǰҽµĹ:

    Զƪļ

    زпرʺ UPS 塣

    زиһ㻯塣עЩһ㻯ʵϸΪǿ
     иõ˵ļұЩʹá

    Ȼ޷ UPS ķɲ
     ϸĶģ hack Ĺ ....

5.1  Ĺ (ܽ)

    ĵԽ UPS 

    Ѷ߽ĵԵĵĴи UPS һ

    ĵ powerd (Ƶ) 

    趨 init ʽʹ powerfail  powerok ¼ʱʵĴ
     (ֱ shutdown ִֹͣе shutdown )

5.2  ӦʲṤ?

      UPS Ĺ
	    ʧʱ UPS Ӧĵ
	    ͳѶŻĿƸϴѶ֪ͨԵʧˡ

      ѶߵĹ
	    ѶΪ UPS ͳѶʱʹиƽӽ
	    ( DCD) ָߵλ



____________________

17.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/bestups-0.9.tar.gz>

18.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/powerd-2.0.tar.gz>







 UPS Howto								      8



      Powerd Ĺ
	    powerd ʽи UPS  /
	    иƽӽŵĸ / ͵λ (ϣ DTR
	    ӽű뱣ڸߵλҹر UPS Ľӽű뱣ڵ͵λ)  powerd
	    ƽӽűɸߵλ /etc/powerfail д FAIL
	    ֲ SIGPWR ѶŸ init г̡
	    ƽӽٴαص͵λʱ /etc/powerfail д OK
	    ֲ SIGPWR ѶŸ init 

      Init Ĺ (֮еĹ)
	    ӵ SIGPWR Ѷţ /etc/powerfail  ͷ
	    FAIL ִ /etc/inittab  powerfail
	    һеָͷ OK ִ inittab  powerokwait
	    һеָ

5.3  趨еĹ

ǼһԺ powerd Ѷߡ
ȷѶǷԹ (ι)ο
Ѷ߷޸ power.c (section 6.2, page 13)
һڣǶйټѶߴ趨 powerd.c Ѷ иӽŵָ
(section , page )  йضд RS232 (section , page ) Ҳа

ҪһѶߣ Ѷ (section 6.1, page 10)
ϸ˵Լ UPS Ͻѡ (section , page ) һй UPS Сڡ
߿ҲṩѶߵѶ Ӧٽ UPS Ͻѡ
(section , page )
еСһ飬ΪÿһСڶһЩһܶа

    ޸ /etc/inittab дµ:


	  # What to do when power fails (Halt system & drain battery :):
	  pf::powerfail:/etc/powerfailscript +5

	  # If power is back before shutdown, cancel the running shutdown.
	  pg:0123456:powerokwait:/etc/powerokscript




    д /etc/powerfailscript  /etc/powerokscript  script ֱ
     (ϲʱ) ֮ڽйػֹͣκδڵ shutdown 
     õ shutdown ʽ汾Ĳͬ ܻ൱ʹ
     script һ bash  script һ:


	      kill `ps -aux | grep "shutdown" | grep -v grep | awk '{print $2}'`



     (Ϊ˱ŪһеһǷţڶǵţ
     һΪš)









 UPS Howto								      9



    µ init ¶ȡ inittab е趨:



	      telinit q




     rc.local ڿʱִ powerd ﷨:


	      powerd <line>




     Ун <line> 滻 modem ӵи
     /dev/cua1

    Եи UPS ѶȲҪԵĵԴֱӽӵ UPS ϡ


    һԴ () ӵ UPS ϡ

    ִ powerd

    µĲв:

	 ε UPS Ĳͷ

	      õǷȻ

	       /etc/powerfailscript ǷѿʼִС

	       shutdown ǷִС

	 ӻ UPS Ĳͷ

	      õǷȻ

	       /etc/powerokscript ǷѿʼִС

	       /etc/powerfailscript ǷִֹͣС

	       shutdown ǷִֹͣС

	 ٴΰε UPS Ĳͷȥȷһʱ
	  ػ

	 Σղ衣 еĲ迴֮ᣬ
	  ԵԴرղԵĵԴӵ UPS ϡִһ script
	  Լÿһ sync ӲϻشĶͬʱҲһ script
	   find ָѰӲеһ script








 UPS Howto								     10



	  Ϊȷȫڶġڣ UPS
	  Ĳͷγٴμ shutdown Ƿȴһʱ䡣
	  ȷ UPS ĵǰȫعػһǺΣյģ Ϊ
	  UPS ĵڵɹػ֮ǰˣ
	  ĵϵͳܶʧһЩ
	  ڽ֮ǰҪеĵ
	  ʼػʱһԿʼԡ

ϲ!  Linux ϵͳ UPS ı£
ڵľ֮ǰȫعػˡ

5.4  һĸ

    ޸ powerd.c ʹڼ UPS Ѷʱ֪ܵص
     ΢ʱϽнػ

    ޸Ĺػʹ powerfail ¹ػʱ ܹй֮Ὣ UPS
     ص


6.  Ӳע

6.1  Ѷ

ڵֻЩ·ϿѶҲûԹ
޷ҵľдо飬鷳Ϊдһ :)
ͬʱҲο ACCODATA  GPS1000 (section , page ) й GPS1000
ϣ˵UPS Ͻѡ (section , page ) һ UPS
Ҳֵòοġ

































 UPS Howto								     11



	>From miquels@caution.cistron.nl.mugnet.org Wed Jul 21 14:26:33 1993
	Newsgroups: comp.os.linux
	Subject: Re: UPS interface for Linux?
	From: miquels@caution.cistron.nl.mugnet.org (Miquel van Smoorenburg)
	Date: Sat, 17 Jul 93 18:03:37
	Distribution: world
	Organization: Cistron Electronics.

	In article <1993Jul15.184450.5193@excaliber.uucp>
	joel@rac1.wam.umd.edu (Joel M. Hoffman) writes:
	> Ҫ UPS (ϵϵͳ)ע⵽Щ LAN Ľ棬
	> ͣʱ LAN Ѷš
	>
	>  Linux ûĽ?
	>
	> ллĻش
	>
	>-Joel
	>(joel@wam.umd.edu)
	>

	޸һ SysVinit ʱ (ڵİ汾 2.4)
	ʱҵĵһ UPS Ҽ˶֧Ԯ
	Ҳһ <signal.h> ͷп #define SIGPWR 30
	һ :-)֮ҲûǸĽ棬 UPS
	ǿжһԴжѶġ
	뵽һ򵥵ķʽԽѶӵѶи DCD
	ӽš SysVinit ׼һ 'powerd'
	ĳפʽ׷ٲӸѶߣѶŵ״̬ıʱһ SIGPWR
	ѶŸ init ʽ init Բȡʵж ( 5
	֮ϵͳػ) νѶ UPS  "powerd.c"
	˵һͼʾΪ:


			     +------------------------o  DTR
			     |
			   +---+
			   |   | resistor
			   |   | 10 kilo-Ohm
			   |   |
			   +---+				To serial port.
			     |
	       +-----o-------+------------------------o  DCD
	       |	     |
	       o  UPS	     |
	     \	  relais     |
	      \ 	     |
	       |	     |
	       +-----o-------+------------------------o  GND

	û?

	ϣа









 UPS Howto								     12



	SysVinit  sunsite ( tsx-11) ҵ
	SysVinit2.4.tar.z 

	Mike.

	--

	Miquel van Smoorenburg, <miquels@cistron.nl.mugnet.org>
	Ibmio.com: cannot open CONFIG.SYS: file handle broke off.


	>From danny@caution.cistron.nl.mugnet.org Wed Jul 21 14:27:04 1993
	Newsgroups: comp.os.linux
	Subject: Re: UPS interface for Linux?
	From: danny@caution.cistron.nl.mugnet.org (Danny ter Haar)
	Date: Mon, 19 Jul 93 11:02:14
	Distribution: world
	Organization: Cistron Electronics.

	In article <9307174330@caution.cistron.nl.mugnet.org>
	miquels@caution.cistron.nl.mugnet.org (Miquel van Smoorenburg) writes:
	> νѶ UPS  "powerd.c" ˵
	> һͼʾΪ:

	ͼʾʮµͼʾ!
	>
	>		      +------------------------o  DTR
	>		      |
	>		    +---+
	>		    |	| resistor
	>		    |	| 10 kilo-Ohm
	>		    |	|
	>		    +---+				 To serial port.
	>		      |
	>	+-----o-------+------------------------o  DCD
	>	|
	>	o  UPS
	>     \    relais
	>      \
	>	|
	>	+-----o--------------------------------o  GND
	>

	 DTR ӽǱڸߵλ UPS Դʧʱ
	Ǹ (relais) رաԱǼ DCD ӽţɵ͵λ
	鷢ʱػ ...

	_____
	Danny

	--
	<=====================================================================>
	Danny ter Haar	<dannyth@hacktic.nl> or <danny@cistron.nl.mugnet.org>
	Robins law #103: 'a couple of lightyears can't part good friends'








 UPS Howto								     13



6.2  Ѷ߷޸ power.c





























































 UPS Howto								     14





































































				   CONTENTS



1.  ..................................................................... 1
   1.1 й׵ ......................................................... 2
   1.2 رע ........................................................... 3
   1.3 ļ ........................................................... 3

2. עѹʱѶ ....................................................... 3

3. 뵥 UPS ....................................................... 4

4.  ..................................................................... 5

5. Լָ ............................................................. 7
   5.1 Ĺ (ܽ) .................................................. 7
   5.2 ӦʲṤ? ................................................ 7
   5.3 趨еĹ ................................................. 8
   5.4 һĸ ........................................................ 10

6. Ӳע .......................................................... 10
   6.1 Ѷ .................................................... 10
   6.2 Ѷ߷޸ power.c ...................................... 13
































				       i


