[Nut-upsuser] The dreaded Tripp Lite SMART500RT1U and NUT

Steve Ballantyne steve.ballantyne at gmail.com
Fri Jun 27 02:20:47 UTC 2014


Hello Charles,

Thanks for the feedback.  I will try to answer some of these questions:

> 09AE/0001 is essentially a USB-to-serial converter, and is not
> compatible with usbhid-ups. (Theoretically, we could have a companion
> driver that talks the same protocols over a real RS-232 port, but the
> hardware I used to develop the tripplite_usb driver only has a USB
> port.)

Ah, that makes sense.  I can see why this would simplify the
engineering and production of the unit.

> However, we don't have all of the 09AE/0001 protocols decoded in the
> tripplite_usb driver.

I can try to help out on this front?  :-)

SNIP!
> >    8.154643     libusb_get_interrupt: Connection timed out
> >    8.156024     libusb_get_interrupt() returned 0 instead of 8 while sending
> > 3a 00 ff 0d 00 00 00 00 '........'
> >    9.158554     libusb_get_interrupt: Connection timed out
> >    9.159965     libusb_get_interrupt() returned 0 instead of 8 while sending
> > 3a 00 ff 0d 00 00 00 00 '........'
SNIP!

> Hmm, this shouldn't take that long. Does it do that every time you
> start the tripplite_usb driver, or only the first time?

Only when I first start the driver.  It tries about once a second, and
then after a few failures, it connects and takes off.

> >    9.262678     send_cmd: received 00 30 05 58 58 58 58 0d '.0.XXXX.' (OK)
> >    9.264042     send_to_all: SETINFO ups.debug.0 "30 05 58 58 58 58 0d
> > '0.XXXX.'"
> >    9.265665     send_to_all: SETINFO ups.firmware.aux "protocol 3005"
>
> Here's that 3005 protocol ID.
>
> >    9.267228     send_cmd(msg_len=3, type='W')
> >    9.267744     send_cmd: sending  3a 57 00 a8 0d 00 00 00 '.W......'
> >    9.370082     send_cmd: received 57 00 0d 00 00 00 00 00 'W.......' (OK)
>
> Your unit might support a watchdog timer.
>
> >    9.370367     send_cmd(msg_len=2, type='S')
> >    9.370565     send_cmd: sending  3a 53 ac 0d 00 00 00 00 '.S......'
> >    9.472418     send_cmd: received 53 01 04 00 00 64 00 0d 'S....d..' (OK)

That would make sense to what I am seeing.  If I leave this to run, it
will keep looping, stopping for a split second on "DATAOK".

> Ah, what we should be seeing here is that "01 04" status in ASCII. I
> think the 3004 protocol also encodes it in binary.
>
> >    9.472712     send_to_all: SETINFO ups.mfr "Tripp Lite"
> >    9.472899     send_cmd(msg_len=2, type='P')
> >    9.473087     send_cmd: sending  3a 50 af 0d 00 00 00 00 '.P......'
> >    9.575667     send_cmd: received 50 30 30 35 30 30 58 0d 'P00500X.' (OK)
> >    9.576026     send_to_all: SETINFO ups.model "SMART500RT1U"
> >    9.576848     send_to_all: SETINFO ups.power.nominal "500"
>
> 500W sounds right based on the name.

Yes!  It is a 500W, for sure.

> >    9.577346     send_cmd(msg_len=2, type='F')
> >    9.578194     send_cmd: sending  3a 46 b9 0d 00 00 00 00 '.F......'
> >    9.679786     send_cmd: received 46 33 33 34 34 30 31 0d 'F334401.' (OK)
> >    9.680087     send_to_all: SETINFO ups.firmware "F334401"
> >    9.680278     send_cmd(msg_len=2, type='V')
> >    9.680463     send_cmd: sending  3a 56 a9 0d 00 00 00 00 '.V......'
> >    9.782790     send_cmd: received 56 02 00 0c 01 58 58 0d 'V....XX.' (OK)
> >    9.783126     Unknown input voltage range: 0x02
> >    9.783308     Unknown number of switchable load banks: 0x01
>
> Is this a 230V unit? Again, it's looking for the ASCII version of 0x02
> (which would be 0x32)

Nope, this is a standard 120V, for a standard grounded outlet.
Although I suppose perhaps they could have shared some of the guts of
this from larger units that are 220/230v?

> >    9.783476     send_cmd(msg_len=2, type='V')
> >    9.783664     send_cmd: sending  3a 56 a9 0d 00 00 00 00 '.V......'
> >    9.885906     send_cmd: received 56 02 00 0c 01 58 58 0d 'V....XX.' (OK)
> >    9.886240     send_to_all: SETINFO ups.debug.V "02 00 0c 01 58 58 0d
> > '....XX.'"
> >    9.886425     send_cmd(msg_len=2, type='U')
> >    9.886618     send_cmd: sending  3a 55 aa 0d 00 00 00 00 '.U......'
> >    9.988651     send_cmd: received 55 00 00 0d 00 00 00 00 'U.......' (OK)
> >    9.989595     send_to_all: SETINFO ups.id "0"
> >    9.990206     send_to_all: SETFLAGS ups.id RW STRING
> >    9.990984     send_to_all: SETAUX ups.id 5
> >    9.991202     Unit ID: 0
> >    9.991406     send_to_all: SETINFO input.voltage.nominal "120"
>
> ^ 120V might just be the default.
>
> > That last little bit between DATASTALE and DATAOK seems to loop on through
> > infinity.  Has anyone actually made this model work with nut?  I have dug up
> > some other very old threads that all seem to dead end without a solution.
>
> Don't think so, but I think we can make this work with some code
> changes. Do you have access to a Windows box to verify some of the
> readings, or does it have a readout on the front?
>
> I can also get access to a Raspberry Pi if needed to rebuild the NUT package.

I can most definitely connect this to a Windows PC.  Just let me know
what I can provide you.  For that matter, I could grant you a remote
shell to this Raspberry Pi and let you take a look.  Let me know if
that would be beneficial and I will send the connection info and
credentials directly to your gmail address.

Thanks,
Steve Ballantyne
Network Engineer
MCSE/MCDST; Novell CLA; LPIC-1; CTT+; A+; Network+; Linux+; Server+;
I-Net+; Security+; SonicWALL CSSA



More information about the Nut-upsuser mailing list