*BSD News Article 34856


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!constellation!convex!hermes.oc.com!news.unt.edu!cs.utexas.edu!howland.reston.ans.net!xlink.net!news.ppp.de!hcshh.hcs.de!hcswork!hm
From: hm@hcswork.hcs.de (Hellmuth Michaelis)
Newsgroups: comp.os.386bsd.development
Subject: UPS driver/daemon/utils
Date: 22 Aug 94 19:41:09 GMT
Organization: HCS Hanseatischer Computerservice GmbH
Lines: 311
Message-ID: <hm.777584469@hcswork>
NNTP-Posting-Host: hcswork.hcs.de
Summary: A simple UPS package
Keywords: UPS
X-Newsreader: NN version 6.5.0 #3

What follows is a package to handle a uninterruptible power supply
built into a PC running FreeBSD 1.1R.

It consists of 
 - a very simple device driver used to get the status of the powersupply
   out of hardware dependent registers in the 386 i/o space. The bits are
   converted into a "generic" format to make the rest of the players 
   (daemon & utilities) more universal.
 - a very simple daemon monitoring the powersupply status
 - some utilities
 - no manpages :-(

I've never seen a *BSD machine with a UPS so i have no idea how this
situation is normally handled on a BSD system.

Since i did not want to modify init, the drawback (?) with this solution
is, that in case of a longer lasting wall power failure, the machine is
rebooted and then loops at the very beginning of /etc/rc until the wall
power comes back or the battery gets empty or the user hits a key.

[Another solution would be to send /etc/init a powerfail signal, shut the
 system down to single user mode and then waiting in init for the above 
 mentioned three conditions - but there seems to be no SIGPWR in *BSD ;-)]

If someone has a better idea, i'd like to hear about it!

begin 666 freebsd11ups.tar.gz
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
$`/```&EJ
`
end
--
Hellmuth Michaelis    HCS Hanseatischer Computerservice GmbH    Hamburg, Europe
 Experience is directly proportional to the amount of equipment ruined (Murphy)