The purpose of this posting is to summarize the FreeBSD installation procedure from the beginning till the very end. 1. Follow the instructions provided in the How-To prepared by Thierry Thomas (http://people.freebsd.org/~thierry/nut_FreeBSD_HowTo.txt). Please note the following: a) if you are using an USB device, as of NUT 2.2 usbhid-ups completely replaces the legacy hidups driver and provides support for various manufacturers. At that time, it will be renamed to usbhid-ups; b) if your USB device is claimed by the uhid and not by ugen driver, this should be fixed, since libusb-based packages such as NUT can't work with uhid* device nodes. Therefore, you need to either de-configure the uhid driver (in FreeBSD a separate driver handles USB/HID keyboard and mouse) or blacklist that specific USB VID/PID combination. Please refer to the following thread for more details on the issue: http://lists.alioth.debian.org/pipermail/nut-upsuser/2009-May/005058.html c) 'allowfrom' in upsd.users is obsolete and is no longer used; d) you may need to insert additional instructions into ups.conf - e.g. if you need a decent grace delay on the UPS for the shutdown procedure. See below for more details on the issue. 2. After you have followed the above How-To instructions and have tested your configuration, you will need to configure the automatic UPS shutdown (http://www.networkupstools.org/doc/2.2.0/shutdown.html). Put the following sentence either into /etc/rc.shutdown script, or into /usr/local/etc/rc.d/nut (inside the 'nut_poststop' section, straight after the '${nut_prefix}/libexec/nut/upsdrvctl stop' instruction): # uncomment for rc.shutdown script # # nut_prefix=${nut_prefix-"/usr/local"} if [ -r /etc/killpower ]; then rm -f /etc/killpower echo "Killing the power, bye!" ${nut_prefix}/libexec/nut/upsdrvctl -v shutdown if [ $? -ne 0 ]; then ${nut_prefix}/libexec/nut/UPS_DRIVER -k -D -a UPS_NAME fi # increase this timeout (to, say, 120 sec) if your configuration is vulnerable to a power race # *** see the section on power races below *** sleep 5 # uh oh... the UPS poweroff failed! # you probably should reboot here to avoid getting stuck # *** see the section on power races below *** # # /sbin/reboot fi Arguably rc.shutdown is a better place for this but it's not very ports friendly. If you you decide to put this into /usr/local/etc/rc.d/nut, you need a decent grace delay on the UPS so the rest of the system will shut down properly. This can be done by adding two variables into ups.conf: [UPS_NAME] driver = UPS_DRIVER port = UPS_PORT # Give the system enough time to shutdown when the power fails offdelay = 120 # ondelay must be greater than offdelay so change it ondelay = 130 3. Test whether your configuration is able to handle a power race successfully as described in http://www.networkupstools.org/doc/2.2.0/shutdown.html and add the "reboot after timeout" hack, if required. 4. That's it. At this stage you may wish to add some post-installation procedures, like cgi-scripts for web-access or any other.