User's Manual UPS control system
Table Of Contents
- Apcupsd User's Manual
- Release Notes
- How To Use This Manual
- Basic User's Guide
- Planning Your Installation
- Building and Installing apcupsd
- After Installation
- Configuration Examples
- Testing Apcupsd
- Troubleshooting Your Installation
- Monitoring and Tuning your UPS
- Maintaining Your UPS
- Frequently-Asked Questions
- Apcupsd Bugs
- Advanced topics
- Customizing Event Handling
- Master/Slave Configurations
- Controlling Multiple UPSes on one Machine
- Support for SNMP UPSes
- Alternate Ways To Run The Network Information Server
- apcupsd System Logging
- Installation: Windows
- Windows Version of apcupsd
- Installation: Serial-Line UPSes
- Overview of Serial-Interface UPSes
- Connecting a Serial-Line UPS to a USB Port
- Connecting a APC USB UPS to either a PC USB or Serial Port
- Cables
- Smart-Custom Cable for SmartUPSes
- Smart Signalling Cable for BackUPS CS Models
- Voltage-Signalling Cable for "dumb" UPSes
- Other APC Cables that apcupsd Supports
- Voltage Signalling Features Supported by Apcupsd for Various Cables
- Voltage Signalling
- Back-UPS Office 500 signals
- Analyses of APC Cables
- Win32 Implementation Restrictions for Simple UPSes
- Internal Apcupsd Actions for Simple Cables
- RS232 Wiring and Signal Conventions
- Pin Assignment for the Serial Port (RS-232C), 25-pin and 9-pin, Female End
- Ioctl to RS232 Correspondence
- Testing Serial-Line UPSes
- Troubleshooting Serial Line communications
- Recalibrating the UPS Runtime
- DATA Logging
- Technical Reference
- Configuration Directive Reference
- apcupsd Status Logging
- Shutown Sequence and its Discontents
- APC smart protocol
- Apcupsd --- RPM Packaging FAQ
- Credits
- Kernel Config

Q: When using USB, I get the following log messages: usb-uhci.c: inter-
rupt, status 3, frame# 826. What does it mean?
A: It means one transfer worked (bit 0 in status) and another one (after
that) failed (bit 1) at time frame 826. This kind of soft error is common
on USB and if everything seems to be working, you can ignore it.
Q: apcnisd doesn’t work. It always gives: FATAL ERROR in apcipc.c at
line 497. attach shmarea: shared memory version mismatch (or UPS
not yet ready to report)
A: Unfortunately apcnisd does not work with pthreads enabled. You have
the following options:
1. If you build with pthreads enabled, apcnisd will not work no
matter what you do.
2. If you build with pthreads enabled, and you want to have net-
work information from apcupsd, you must set NETSERVER ON.
This is the configuration we recommend (i.e. using pthreads and
NETSERVER ON).
3. If you build with pthreads disabled, you have the choice of using
apcnisd or the NETSERVER code. If you wish to use apcnisd,
you must set NETSERVER OFF
4. If you build with pthreads disabled, and you do not use apcnisd,
you must set NETSERVER ON if you wish to have network in-
formation from apcupsd.
Concerning the names one sees with “ps”.
1. With pthreads enabled, on Linux machines, you will see multiple
copies of apcupsd running, but they will all be called apcupsd
rather than apcmain, apcser, ... They will still run as LWP, but
we are unable to set the names on threads (LWP). Note, though
ps shows “multiple copies” of apcupsd running, it is really one
memory image but with multiple threads.
2. With pthreads disabled, we are able to set the child process names
(at least on Linux) so you will see apcmain, apcser, apcnis, ... in
the ps output. In this case, they are really different processes
each with its own memory image (the code image is most likely
shared).
100










