APC Smart Signaling cable

|                                                                 |
|  Black APC 940-0024C Smart Signalling UPS Cable Wiring Diagram  |
|  This information is verified and tested to be 100% correct.    |
|                                                                 |
|                                                                 |
|       DB9M(UPS)            2m Cable          DB9F(Computer)     |
|       ---------            --------          --------------     |
|                                                                 |
|         (SHELL)<---------+----//----+----------------<(SHELL)   |
|                          |          |                           |
|                          -          -                           |
|                         | |        | |                          |
|       CHASSIS 9<--------------//---------------------<5 SG      |
|                         | |        | |                          |
|           TXD 2<--------------//---------------------<2 RXD     |
|                         | |        | |                          |
|           RXD 1<--------------//---------------------<3 TXD     |
|                         | |        | |                          |
|                          -          -             +--<1 DCD     |
|                                                   |             |
|                                                   +--<4 DTR     |
|    NOTES:                                                       |
|    Cable type is shielded 28AWG.                  +--<7 RTS     |
|    The DB shells are connected                    |             |
|    to each other via the shield.                  +--<8 CTS     |
|                                                                 |
|                                                                 |
|    Operation:     The UPS communicates with the Computer via    |
|    ordinary RS-232 serial protocol at 2400-8N1 with software    |
|    flow control. Jumpered pins in the DB9F connector are for    |
|    automatic or PNP cable identification by UPS software.       |
|                                                                 |
|                                                                 |
|                           Male (pins)        Female (holes)     |
|   DB9 RS-232  PC                                                |
|   type connector          1         5         5         1       |
|  ----------------       _______________     _______________     |
|  Pinout numbering       \  . . . . .  /     \  o o o o o  /     |
|  looking into the        \  . . . .  /       \  o o o o  /      |
|  end of the cable         -----------         -----------       |
|                             6     9             9     6         |
|                                                                 |
|  NOTE: Solder a wire to the metal shell for use as a FRAME-GND  |
|                                                                 |


Had to order some connectors to get the pinouts correct for my USB-serial adapter.

APC UPS Smart-UPS 1400VA (SU1400RMNET)


An old unit but getting 12-month warranty for the battery and for the price of 130 € including an SNMP communications card.

These are also simple and easy to fix if they go wrong.

It is the same model as one that I have had on my eBay watchlist for a year, but haven’t bought it because of 200€+ price. This is locally available so no postage. Pure sinewave, which is the only one to really consider.

Expecting the new infrastructure take perhaps 420 watts, which would give maybe 20 minutes. More than enough to save everything and even wait for the power to come back.


I have a halogen lamp hooked to the device and the light level is clearly oscillating. So either it isn’t pure sinewave, or it is doing poor job regulating. Could be old caps. But I don’t have tools to diagnose the problem so for now I just have to trust that the power is good. That’s a poor predicament but what can I do.

Charges at 75W so definitely not happy with that. At that rate it will take 10 hours, or so, to recharge. Perhaps this is the way all UPS work but that feels like poor performance. Perhaps it has something to do with battery design or longevity of the batteries, or the battery technology.

Installation succeeded

First of all I must say that whenever you can: get a dual PSU machines; there were no distractions to my main server when the UPS was plugged between the machine and the wall outlet, while another server with single power supply suffered from me not being even close fast enough in switching the power.

But this UPS isn’t for keeping the machines up and running for a long time, that is for sure. The batteries were completely drained after only maybe three minutes. So either the batteries aren’t the best or time went by really fast. But I will be doing complete test down to 1 bar of capacity once the batteries have recharged. Also seriously considering to get another one since the man said he has plenty of these. And the price is on the spot.

More about the current setup

So the way I have set things up is like this, looking from the wall outlet onwards:

  1. Ground fault circuit interrupter
  2. Power meter
  3. Overcurrent protector
  4. UPS
  5. Sensitive devices

So the idea is that if there is current leaking to wrong places, then the ground fault circuit interrupter will save lives and hopefully prevent fires, and when everything works correctly, the power meter will measure the power usage, the overcurrent protector will protect the UPS, and the UPS will protect the devices (secondary function) and provide them power if utility power fails.

The location of power meter is probably wrong because it is now receptive to overcurrent, and could in such situation cause fire. So it will be moved between the overcurrent protector and the rest of the system.

The power usage of this model, by the way, is about 40W idle. AFAIK it is line-interactive and not online so not sure where it puts all that power. 40W is quite a bit.

The noise is practically non-existent. Maybe if you have 100% silent setup, then the noise might be overpowering, but for anyone buying devices like these then no, not really a concern.


At about 420W load the runtime with full batteries is only 6 minutes and 45 seconds; to complete power-off undervoltage shutdown. So the batteries have only about 50% of their capacity left. It should have lasted at least twice as long, as it is 950W device and the runtimes for those are usually about 5 minutes at full load. But I am not going to bitch about it to the man who sold it because the price is fair even with less than ideal batteries, and new batteries will only cost about 100 € anyways.

The condition

I opened up the device to check the batteries out and glad I did because one battery had leaked something and one connector was so oxidized that it is a wonder that any current passed through that connection. So the poor testing results could partly be explained by the connector, because it certainly dropped some voltage, and the UPS may have had trouble pulling the current out of the batteries.

But the leaking battery is a bigger problem because it is likely that it won’t stop leaking just because I hope so. So new batteries are in order sometime near.

After testing it again, the oxidized connector wasn’t the problem because I got practically identical runtime with new connector in place. So the batteries are poor. One is marked as 2012 so I expect the rest to be that same era.

Minor PHP 7 problems

Not real problems but pear and apc are not ready for PHP 7 so no APC caching and no quick and easy alternative from Memcached either.

These issues probably prevent the use in production until they are resolved.

The following packages are currently available from webtatic-testing repository:

php70w.i386 : PHP scripting language for creating dynamic web sites
php70w-bcmath.i386 : A module for PHP applications for using the bcmath library
php70w-cli.i386 : Command-line interface for PHP
php70w-common.i386 : Common files for PHP
php70w-dba.i386 : A database abstraction layer module for PHP applications
php70w-devel.i386 : Files needed for building PHP extensions
php70w-embedded.i386 : PHP library for embedding in applications
php70w-enchant.i386 : Enchant spelling extension for PHP applications
php70w-fpm.i386 : PHP FastCGI Process Manager
php70w-gd.i386 : A module for PHP applications for using the gd graphics library
php70w-imap.i386 : A module for PHP applications that use IMAP
php70w-interbase.i386 : A module for PHP applications that use Interbase/Firebird databases
php70w-intl.i386 : Internationalization extension for PHP applications
php70w-ldap.i386 : A module for PHP applications that use LDAP
php70w-mbstring.i386 : A module for PHP applications which need multi-byte string handling
php70w-mcrypt.i386 : Standard PHP module provides mcrypt library support
php70w-mysql.i386 : A module for PHP applications that use MySQL databases
php70w-mysqlnd.i386 : A module for PHP applications that use MySQL databases
php70w-odbc.i386 : A module for PHP applications that use ODBC databases
php70w-opcache.i386 : An opcode cache Zend extension
php70w-pdo.i386 : A database access abstraction module for PHP applications
php70w-pdo_dblib.i386 : MSSQL database module for PHP
php70w-pgsql.i386 : A PostgreSQL database module for PHP
php70w-phpdbg.i386 : Interactive PHP debugger
php70w-process.i386 : Modules for PHP script using system process interfaces
php70w-pspell.i386 : A module for PHP applications for using pspell interfaces
php70w-recode.i386 : A module for PHP applications for using the recode library
php70w-snmp.i386 : A module for PHP applications that query SNMP-managed devices
php70w-soap.i386 : A module for PHP applications that use the SOAP protocol
php70w-tidy.i386 : Standard PHP module provides tidy library support
php70w-xml.i386 : A module for PHP applications which use XML
php70w-xmlrpc.i386 : A module for PHP applications which use the XML-RPC protocol

So the best way to go is probably use database to cache data. That works for me but not an universal solution obviously. Or if you want to be clever then formulate PHP file and use OPcache to compile and store it in memory.

I might use that but since I have WordPress I can use WP_Object_Cache (https://codex.wordpress.org/Class_Reference/WP_Object_Cache).

WP_Object_Cache by default is non-persistent and the cached data is destroyed at the end of page execution but with W3 Total Cache it can be leveraged to support all the caching mechanisms provided by that plugin. The default caching time is only 180 seconds so that should be changed too.

But all of this might be unnecessary because

Retrieves an external feed and parses it. Uses the SimplePie and FeedCache functionality for retrieval and parsing and automatic caching.

And the code verifies it:

$feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url ) );

$50 pure sine wave inverter?

Amazing how these old UPS can be reconditioned and reconfigured to do the work of 1000 € devices:

Check the whole series. Real hardware hacking.

Also the guy knows a lot about inverters and a lot of that seems to apply to UPS as well, and just like cheap inverters; cheap UPS too provide modified sine wave which can even be damaging to sensitive electronics and motors.

So if I ever want to get an UPS I will make sure to get one of these rack/professional units which are of higher quality.