Drivers Microdowell



These programs are part of a developing project to monitor the assortment
of UPSes that are found out there in the field. Many models have serial
ports of some kind that allow some form of state checking. This
capability has been harnessed where possible to allow for safe shutdowns,
live status tracking on web pages, and more.

  1. Drivers Microdowell License Test
  2. Drivers Microdowell Lbp
  3. Drivers Microdowell Taylormade
  4. Drivers Microdowell 64

Ups drivers microdowell, Driver for Microdowell Enterprise UPS series ups drivers netxml-ups. No information from the state checking. It listens on network ports and delivers the data from the state files or shared memory used by the drivers. Ups, Laptop Calculator, pagina 6. Upsdriversmicrodowell: Driver for Microdowell Enterprise UPS series upsdriversnetxml-ups: Driver for Eaton / MGE Network Management Card / Proxy (XML/HTTP Protocol) equipment upsdriversnut-ipmipsu: Driver for IPMI Power Supply Units (PSU) upsdriversnutdrvqx: Driver for Q. protocol serial and USB based UPS equipment.

Version: 2.7.4

See also: nut-cgi, nut-client, nut-devel, nut-xml.

File Formats

nut.confUPS definitions for Network UPS Tools
ups.confUPS definitions for Network UPS Tools
upsd.confConfiguration for Network UPS Tools upsd
upsd.usersAdministrative user definitions for NUT upsd

System Administration

al175Driver for Eltek UPS models with AL175 alarm module
apcsmartDriver for American Power Conversion Smart Protocol UPS equipment
apcsmart-oldDriver for American Power Conversion Smart Protocol UPS equipment
apcupsd-upsDriver for apcupsd client access
bcmxcpDriver for UPSes supporting the serial BCM/XCP protocol
bcmxcp_usbExperimental driver for UPSes supporting the BCM/XCP protocol over USB
belkinDriver for Belkin serial UPS equipment
belkinunvDriver for Belkin 'Universal UPS' and compatible
bestfcomDriver for Best Power Fortress/Ferrups
bestfortressDriver for old Best Fortress UPS equipment
bestuferrupsDriver for Best Power Micro-Ferrups
bestupsDriver for Best Power / SOLA (Phoenixtec protocol) UPS equipment
blazer_serDriver for Megatec/Q1 protocol serial based UPS equipment
blazer_usbDriver for Megatec/Q1 protocol USB based UPS equipment
cloneUPS driver clone
dummy-upsDriver for multi-purpose UPS emulation
etaproDriver for ETA UPS equipment
everupsDriver for Ever UPS models
gamatronicDriver for Gamatronic UPS equipment
genericupsDriver for contact-closure UPS equipment
isbmexDriver for ISBMEX UPS equipment
ivtscddriver for the IVT Solar Controller Device
liebertDriver for Liebert contact-closure UPS equipment
liebert-esp2Driver for Liebert UPS, using the ESP-II serial protocol
masterguardDriver for Masterguard UPS equipment
metasysDriver for Meta System UPS equipment
mge-shutDriver for SHUT Protocol UPS equipment
mge-utalkDriver for MGE UPS SYSTEMS UTalk protocol equipment
microdowellDriver for Microdowell Enterprise UPS series
nut-ipmipsuDriver for IPMI Power Supply Units (PSU)
nut-recorderutility to record device status and values changes
nut-scannerscan communication buses for NUT devices
nutdrv_atcl_usbDriver for 'ATCL FOR UPS' equipment
nutdrv_qxDriver for Q* protocol serial and USB based UPS equipment
nutupsdrvgeneric manual for unified NUT drivers
oneacDriver for Oneac UPS equipment
optiupsDriver for Opti-UPS (Viewsonic) UPS and Zinto D (ONLINE-USV) equipment
powercomUPS driver for serial Powercom/Trust/Advice UPS equipment
powerpanelDriver for PowerPanel Plus compatible UPS equipment
rhinoDriver for Brazilian Microsol RHINO UPS equipment
richcomm_usbDriver UPS equipment using Richcomm dry-contact to USB solution
riello_serDriver for Riello UPS Protocol UPS equipment
riello_usbDriver for Riello UPS Protocol UPS equipment via USB
safenetDriver for SafeNet compatible UPS equipment
snmp-upsMulti-MIB Driver for SNMP UPS equipment
solisDriver for Brazilian Microsol SOLIS UPS equipment
trippliteDriver for Tripp-Lite SmartPro UPS equipment
tripplite_usbDriver for older Tripp Lite USB UPSes (not PDC HID)
tripplitesuDriver for Tripp-Lite SmartOnline (SU) UPS equipment
upscode2Driver for UPScode II compatible UPS equipment
upsdUPS information server
upsdrvctlUPS driver controller
upslogUPS status logger
usbhid-upsDriver for USB/HID UPS equipment
victronupsDriver for IMV/Victron UPS unit Match, Match Lite, NetUps

A few years back, I bought a Network Management Card (AP9630) for my APC Smart UPS 1000. I figured it would simplify managing the multiple computers I was running on the UPS. I was wrong. The APC software was horrible. The linux version required Java and a graphical interface, and that wasn't going to cut it on my headless Linux server. NUT looked like a possibility, and after running across this post, I decided to give a shot at installing NUT on OpenWRT. After some effort, I now have NUT running on OpenWRT managing my UPS and serving my local network, and it does everything I had hoped that the expensive Network Management Card should have done.

By installing it on an OpenWRT router, you gain a few things over installing it on a linux server. The router boots up quickly, is on every hour of every day, and is a low power device. Power can be cut at any time without concern for corruption of the filesystem, and upon return of power, it will always boot back up to a running condition.

I found this so useful, that I thought I'd share it with the OpenWRT community. I wouldn't be opposed to writing a wiki on it, I just don't have any experience in that. I don't know if people would find that useful or not.

Here's what I did:

Taylormade

Building the NUT Package

The first thing I did was to build the NUT package. I am running Backfire 10.03.1 with the 2.4 kernel, on a WRT54GS. Prior to this, I had never built a package for OpenWRT. This is the part I have the least confidence in, so I won't go into detail. I started with the Makefile I found following the link in the post by OpenSys above. After some trouble compiling it, I eventually pared down the file to only include the apcsmart driver and a few other files. Here is the Makefile I used, including the commented out lines:

I installed the package, and to my surprise, it worked. I'm sure someone more experienced in building packages could figure out how to include all of the drivers. There was talk in the link above that suggested that somebody would package NUT for a future release of OpenWRT. I really hope this happens.

Installing a Serial Port

The WRT54GS has two serial ports at TTL levels. In order to use these, a RS-232 transceiver is required. I used a 3.3V version so it could be powered by the WRT54GS directly. The transceiver and capacitors I used can be found here:

MAX3232ECPE+
.47uF caps

I put the circuit together based on the 'typical operating circuits' figure on page 18 of the data sheet. I recommend using header pins / receptacles to connect your custom circuit to the router board. My initial circuit was missing a trace, and it wasn't possible to troubleshoot or fix it without being able to remove it. I cut holes in the side of the router and mounted two DB-9 connectors. It works great. The first serial port is configured as the console for the router. I used the second port to connect my UPS.

Since I bought my UPS refurbished, it did not come with the serial cable, so I made one myself using the diagram found here.

Drivers microdowell lbp

Configuring the NUT Master

For the examples to follow, I use the static IP address of 10.1.1.1 for my OpenWRT router.

By default, NUT runs as the user 'nobody', so the permissions on the serial port need to be changed accordingly. NUT also requires a directory to hold PID and other files. Create the directory and set the ownership to user 'nobody':

This is just for initial testing. I initially put these commands in /etc/rc.local so I didn't have to keep typing them in after rebooting. Eventually, I put these commands into a script in /etc/init.d to be run when the router starts up. (I'll get to that later)

Set the permissions of all configuration files:

Configuring the Driver

Add the following into /etc/nut/ups.conf

This configures NUT to use the apcsmart driver and serial port 1. Test the configuration to see if the driver runs properly as user 'nobody'. The process will have the name apcsmart (the name of the driver).

Configure the NUT Server

Add the following into /etc/nut/upsd.conf

This configures upsd to monitor the localhost and on 10.1.1.1 for clients.

Add the following into /etc/nut/upsd.users

Set passwords for each of the accounts. I used the 'admin' user to later configure the UPS settings. The user 'upsmon' is used by the NUT master (OpenWRT router), and two clients are listed. In my case, I have a headless linux server, and a Windows machine. Afterwards, test for the proper operation of the NUT server:

Drivers Microdowell License Test

Download d.e.p driver. Check to see that the process is owned by user 'nobody'. You can also check the status of the UPS using the command:

Configure the UPS

Run the following commands to configure the UPS. Replace '12345' with the password of your 'admin' account.

These are the settings I used. Your settings may vary. I chose the maximum value for battery.runtime.low for testing purposes. I haven't chosen a final value yet, but make sure it is greater than the sleep delay value to be defined later. The ups.delay.shutdown value is set to zero. Because we don't have to worry about cutting power to the router, there is no need for this delay. The real benefit of running NUT on a router is that you eliminate most of the power race conditions you might encounter on a regular linux machine.

Configure the NUT Client on the OpenWRT Router

Add the following line to /etc/nut/nut.conf

This configures the OpenWRT to be the NUT master.

Add the following to /etc/nut/upsmon.conf

This configures the OpenWRT system to monitor the NUT server on the local host. Upon receiving a low battery condition, the NUT master will send the forced shutdown signal (FSD) to the clients to turn them off. It then immediately executes the SHUTDOWNCMD defined in /etc/nut/upsmon.conf. The shutdown command will sleep for 120 seconds, then turn off the UPS, giving the clients a little more than 2 minutes to shut down (the shutdown command to the UPS takes a little while to go through). With this setup, after the FSD is commanded, a shutdown is guaranteed to occur. Even if power comes on after the FSD is sent, the UPS will shut down for about a second and then power back on. This will result in a hard reset of the router, and will restart any computers that are configured to turn back on when power is restored.

This is the third delay / shutdown approach I tried. The first two approaches didn't work properly: The first approach was to set SHUTDOWNCMD='upsdrvctl shutdown', FINALDELAY=000, and ups.delay.shutdown=090. Drivers cisco consumer products. NUT would command a UPS shutdown immediately after sending the FSD, and the UPS would delay 90 seconds before shutting down, giving the clients time to turn off. The problem was that if the power came on between the FSD and the expiration of ups.delay.shutdown, the UPS wouldn't always shut itself down. It seemed that the UPS would notice it was no longer on battery, then declare everything to be ok, so there's no need to turn off. That's my guess, at least.

The second approach was to set SHUTDOWNCMD=upsdrvctl shutdown, FINALDELAY=120, and ups.delay.shutdown=000. After issuing the FSD, NUT would delay 120 seconds before commanding the UPS to shut down. Again, if the power came back on during this delay period, NUT would think everything is ok and wouldn't shut down the UPS.

Both of these cases work just fine to shut things down, but I wanted something that would guarantee that my server would turn back on when power was restored. Chances are that this particular situation (power coming on between FSD and UPS turning off) wasn't very likely, but I found something that works.

Test the client:

Confirm that there are two upsmon processes running, one by the user 'nobody' and one by 'root'.

Configure NUT to Start at Boot Time

Create the file /etc/init.d/nut:

Set the permissions of the script, and create a symbolic link in /etc/rc.d

At this point, you can remove the temporary commands in /etc/rc.local and reboot the router. Verify that apcsmart, upsd, and the two upsmon processes are running.

Configure the NUT Clients

Configuring a linux client is fairly simple. On Debian, you just need to install the nut package. Then add the following to /etc/nut/nut.conf

Add the following line to /etc/nut/upsmon.conf

where 'client1name' and '12345' are the user name and password for the linux client, as defined in /etc/nut/upsd.users on the NUT master.

Test the System

At this point, you can pull the plug and test out the complete system. I can't speak for other brands, but i the case of the APC Smart UPS, this is what I found: When AC power is lost, the UPS goes into 'on battery' mode. If you have notifications enabled (see below), NUT will send a notification. If power comes back on, the UPS returns to 'On-Line' mode. If AC power does not come back on, the UPS runs on battery until the battery.runtime parameter drops below battery.runtime.low at which point a Forced Shutdown (FSD) occurs. The NUT master sends the FSD command to all of the clients, then executes the SHUTDOWNCMD, which waits for 120 seconds then sends the command to turn off the UPS. If the line power were to come back on at this point, the command would still go through and the UPS will shut off for a second or so before coming back online. If line power never came back on, the UPS would shut off and remain off until line power returns. Once the UPS charge is greater than battery.charge.restart, the UPS turns back on and the router starts up, along with any computers that are configured to restart on restoration of power.

Drivers Microdowell Lbp

Setting up Email Notification

One of the cool features of the APC Network Management Card was that you could configure it to email you when certain power conditions occur. I really didn't want to lose this capability, and I was pleasantly surprised to find that NUT could be configured to do this as well.

Add the following to /etc/nut/upsmon.conf:

Drivers Microdowell Taylormade

NUT will execute the script /etc/nut/notifyme if any of the above conditions occur, passing the text of the condition to the script. From this point, you can write your own custom script to notify you however you prefer. In my case, I wrote a script to send an email to my gmail account (from the same account). Install the msmtp package. Then add the following to /etc/msmtprc

where useraccount@gmail.com is your gmail account and 12345 is your password. (replace '12345' in the config file with your password, don't change your gmail password to '12345'! That's the kind of thing an idiot would have on his luggage!) Change the owner of /etc/msmtprc

Create the script /etc/nut/notifyme

Drivers Microdowell 64

Ok, so it might not be the most elegant script, but it works. If somebody has a better suggestion, I wouldn't mind hearing about it.

Change the permissions and ownership of the script:

Test it out by unplugging the UPS, and you'll get a cool little email notification. You can modify /etc/nut/notifyme to suit your preference. I think this is the coolest feature!

Data Logging

An optional feature of NUT is to log UPS data. If you had some sort of practical storage on your router, you could do this on the router itself. Since my router only has the limited flash RAM, I chose to implement it on my linux server, acting as a NUT client. I created a directory and set permissions to user nut.

I then added the command to /etc/rc.local

Drivers

Web Status Interface

The last feature that the APC Network Management Card had, that I still wanted, was a web-based status page. I implemented this on my Debian linux NUT client. I installed the nut-cgi package. Then I added the line to /etc/nut/hosts.conf:

That's it. You can view your UPS status by going to http://yourservername/cgi-bin/nut/upsstats.cgi, where 'yourservername' is the name of your web server.