nut client for netware

This is a simple nut client for NetWare (NLM). I use it to shutdown my NetWare server in case of power failure. I have my UPS connected to a linux machine where Network UPS Tools are running. The UPS is connected to the linux machine.
Upsd (and upsmon) is running on the linux machine. The NetWare client will connect to upsd and polls the ups status.

In case upsd signals low Battery (or force shutdown), the NetWare server will shutdown. It can also be configured to shutdown the NetWare server if % battery goes below a certain vailue.

The client (nutmon.nlm) will run on NetWare 4.11 to 6.50, i have it currently running on 5.1. In case you want to use NetWare 4.11, winsock has to be installed. A description on how to install winsock on NetWare 4.11 can be found on the latest support pack in \TOOLS\COREDUMP.


Copy nutmon.nlm and nutmon.ini to sys:system. Edit sys:system/nutmon.ini and change at least host, user, password and upsname. (User and Password needs to be in /etc/ups/upsd.users on linux) This example
[nw] password = netware allowfrom = acl_netware upsmon slave will define a user nw with password netware and allow connections from acl_netware (as defined in /etc/ups/upsd.conf on linux)

An example nutmon.ini:
[nutmon] ; host-ip where upsd is running host= ; username and password for upsd user=nw password=netware ; poll frequency in seconds pollfreq=5 ; poll frequency in seconds (state on_batt) pollfrqalert=5 ; reconnect every x seconds in case of connection failures reconnectFreq=30 ; name of the ups (as in ups.conf) upsname=ups ; debug=1 will show all communication between nutmon and upsd debug=0 ; command to execute after DownFileServer was executed, for ; netware 6.5 this has to be down, for netware 4 exit ; should force netware to return to dos commandAfterDown=down ; this file can be created before the server goes down and will ; be deleted on numon startup. Can be used in autoexec.bat to ; power off the server after netware returns to dos ; if you use APMPWOFF.EXE, specify -f c:\poweroff createPoweroffFile=c:\poweroff ; ; if not 0, down server if on battery and % battery capacity is lower than downIfCapacityBelow=40 After that, load nutmon.nlm, you should see something like (for nw6 on the logger screen):
DAGOBERT:load nutmon Loading module NUTMON.NLM nut ups monitor - clib Version 1.00 21 December 2004 Copyright 2004 Armin Diehl <> nutmon console commands available: ups status - show ups status ups testshutdown - shutdown as if a low power condition is reached nutmon: will shutdown if battery < 40% nutmon: connected to ups@ nutmon: ups status change from disconnected to online 22.12.2004 21.17.14 : NUTMON-1.0-0 Power/communication Restored, UPS is online
NetWare 6.5 con be configured to power off after a shutdown. For other versions, this can be done with APMPWOFF.EXE (inlcuded in zip-file). APMPWOFF can be added to autoexec.bat after executing SERVER.EXE. To power off only if the shutdown was initiated by a power failure, APMPWOFF has the -f file parameter. If specified, power will only swiched off if the specified file exists. To create that file, edit nutmon.ini and specify i.e. createPoweroffFile=c:\poweroff
The autoexec can be: CD \NWSERVER server -nl cd \ apmpwoff -f \poweroff
To shutdown the server, nutmon uses the DownFileServer api. That api will do the shutdown but will not return to dos and allow APMPWOFF to power off the system. To do that, an additional command that is executed after DownFileServer is finished has to be specified in nutmon.ini. (commandAfterDown=) On netware 6.5 and 5.1 this command should be DOWN, on NetWare 4.11 EXIT.

nutmon will not work if loaded into protected address space because (at least on NetWare 6.5):
1) The DownFileServer api will create an Abend in protected space
2) The ups command will not work in protected space
However, for testing communications with upsd, you can load nutmon into protected space.


The download contains the pre compiled nlm, apmpwoff as well as the nutmon sources for FreePascal and the apmpwoff sources for turbo pascal 7.
Before you ask, the nlm is so big because debug symbols are included. Most of the symbols will not be loaded into memory, they will be used to show a nice call trace in case of a failure.



nutmon is free software distributed under the GNU General Public License.
However, i would appreciate if you drop me a note in case you use this software (or not because it fails or is otherwise ususable for you ;-).

last Update Dec 22, 2004 Armin. Impressum