Trying to connect to Tripplite Smart1500LCD UPS with NUT on Raspberry Pi 3 B+ via USB. The device keeps disconnecting and reconnecting

2

1

I have 2 Tripplite Smart1500LCD UPSes and 2 Raspberry Pi 3 B+ boards running Raspbian GNU/Linux 9 with kernel 4.14.79-v7+. I am experiencing the same problem with both Pis with both UPSes. I am using this tutorial as a guide to make this work. I first noticed something wasn't working when entering the upsc command:

pi@raspberrypi:~ $ upsc ups1
Error: Connection failure: Connection refused
pi@raspberrypi:~ $ sudo !!
sudo upsc ups1
Error: Connection failure: Connection refused

My /etc/nut/ups.conf has the following entry:

[ups1]
  driver = usbhid-ups -u root
  port = auto
  productid = 2012
  desc = "Tripplite"

I've tried it both with and without the "-u root" option. I'm not even sure if that does anything there.

Running sudo upsdrvctl start yields this result:

Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Using subdriver: TrippLite HID 0.82

the result of lsusb is as follows:

Bus 001 Device 071: ID 09ae:2012 Tripp Lite

The first thing I did was run dmesg and I noticed several unexpected entries. It should be noted that originally prior to every disconnect, there was an MTP message saying (IIRC):

USB is not a MTP device

so I removed mtp with sudo apt-get remove --auto-remove libmtp-common

Here's the dmesg output:

[13259.356134] hid-generic 0003:09AE:2012.007E: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
[13280.823749] usb 1-1.1.3: USB disconnect, device number 9
[13281.116286] usb 1-1.1.3: new low-speed USB device number 10 using dwc_otg
[13281.268973] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
[13281.268986] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13281.268995] usb 1-1.1.3: Product: Tripp Lite UPS
[13281.269003] usb 1-1.1.3: Manufacturer: Tripp Lite
[13281.375472] hid-generic 0003:09AE:2012.007F: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
[13302.071734] usb 1-1.1.3: USB disconnect, device number 10
[13302.366379] usb 1-1.1.3: new low-speed USB device number 11 using dwc_otg
[13302.521730] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
[13302.521743] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13302.521752] usb 1-1.1.3: Product: Tripp Lite UPS
[13302.521761] usb 1-1.1.3: Manufacturer: Tripp Lite
[13302.626988] hid-generic 0003:09AE:2012.0080: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
[13324.087744] usb 1-1.1.3: USB disconnect, device number 11
[13324.396454] usb 1-1.1.3: new low-speed USB device number 12 using dwc_otg
[13324.547230] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
[13324.547243] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13324.547252] usb 1-1.1.3: Product: Tripp Lite UPS
[13324.547261] usb 1-1.1.3: Manufacturer: Tripp Lite
[13324.653501] hid-generic 0003:09AE:2012.0081: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0

So, it's reconnecting somewhat frequently. I don't know if this has anything to do with the Connection Refused error, but it's all I got at the moment. So, I dig deeper.

I manually run the /lib/nut/usbhid-ups program, and get some interesting output. I have removed some of the output to save space.

 sudo /lib/nut/usbhid-ups -a ups1 -DD -u root
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
   0.000000     debug level is '2'
   0.002244     upsdrv_initups...
   0.003347     Checking device (09AE/2012) (001/019)
   0.014407     - VendorID: 09ae
   0.014457     - ProductID: 2012
   0.014498     - Manufacturer: Tripp Lite
   0.014533     - Product: Tripp Lite UPS
   0.014562     - Serial Number: unknown
   0.014590     - Bus: 001
   0.014619     - Device release number: 0009
   0.014642     Trying to match device
   0.014801     Device matches
   0.014874     failed to claim USB device: could not claim interface 0: Device or resource busy
   0.015422     detached kernel driver from USB device...
   0.016451     HID descriptor length 662
   0.106799     Report Descriptor size = 662
   0.108176     Using subdriver: TrippLite HID 0.82
   0.108217     74 HID objects found
   0.108945     Path: UPS.PowerSummary.iProduct, Type: Feature, ReportID: 0x28, Offset: 0, Size: 8, Value: 2
   0.109554     Path: UPS.PowerSummary.iSerialNumber, Type: Feature, ReportID: 0x29, Offset: 0, Size: 8, Value: 3
   0.111308     Path: UPS.PowerSummary.iManufacturer, Type: Feature, ReportID: 0x2b, Offset: 0, Size: 8, Value: 1
...
   0.160189     Path: UPS.ffff0015.[1].ffff00c0, Type: Feature, ReportID: 0x96, Offset: 0, Size: 8, Value: 255
   0.160919     refresh_report_buffer: expected 5 bytes, but got 2 instead
   0.161186     Path: UPS.ffff0015.[1].ffff00d2, Type: Feature, ReportID: 0xb4, Offset: 0, Size: 32, Value: 255
   0.161904     refresh_report_buffer: expected 5 bytes, but got 2 instead
   0.162170     Path: UPS.ffff0015.[1].ffff00d3, Type: Feature, ReportID: 0xb5, Offset: 0, Size: 32, Value: 255
   0.162938     Path: UPS.ffff0015.[1].ffff00c1, Type: Feature, ReportID: 0x97, Offset: 0, Size: 16, Value: 255
   0.164938     Path: UPS.ffff0015.[1].ffff00c2, Type: Feature, ReportID: 0x98, Offset: 0, Size: 8, Value: 255
   0.166940     Path: UPS.ffff0015.[1].ffff00c3, Type: Feature, ReportID: 0x99, Offset: 0, Size: 16, Value: 255
   0.168938     Path: UPS.ffff0015.[1].ffff00c5, Type: Feature, ReportID: 0x9b, Offset: 0, Size: 16, Value: 3
   0.170944     Path: UPS.ffff0015.[1].ffff00d6, Type: Feature, ReportID: 0xc2, Offset: 0, Size: 32, Value: 11
   0.172904     libusb_get_report: could not claim interface 0: Device or resource busy
   0.173031     Can't retrieve Report c1: Device or resource busy
   0.173361     Path: UPS.ffff0015.[1].ffff00d8, Type: Feature, ReportID: 0xc1, Offset: 0, Size: 32
   0.175316     Path: UPS.ffff0015.[1].ffff00d7, Type: Feature, ReportID: 0xc3, Offset: 0, Size: 32, Value: 1
   0.177152     libusb_get_report: could not claim interface 0: Device or resource busy
   0.177273     Can't retrieve Report 9a: Device or resource busy
   0.177525     Path: UPS.ffff0015.[1].ffff00c4, Type: Feature, ReportID: 0x9a, Offset: 0, Size: 32
   0.179440     Path: UPS.ffff0015.[1].CommunicationVersion, Type: Feature, ReportID: 0x59, Offset: 0, Size: 32, Value: 1
   0.181337     Path: UPS.BatterySystem.Battery.Voltage, Type: Feature, ReportID: 0x20, Offset: 0, Size: 16, Value: 263
...
   0.193486     Path: UPS.OutletSystem.Outlet.DelayBeforeReboot, Type: Feature, ReportID: 0x17, Offset: 0, Size: 16, Value: 65535
   0.195332     Path: UPS.OutletSystem.Outlet.PercentLoad, Type: Feature, ReportID: 0x1e, Offset: 0, Size: 8, Value: 0
   0.195627     Report descriptor retrieved (Reportlen = 662)
   0.195759     Found HID device
   0.195840     Detected a UPS: Tripp Lite /Tripp Lite UPS
   0.196303     Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x34, Offset: 0, Size: 8, Value: 100
   0.196717     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x35, Offset: 0, Size: 16, Value: 3840
...
   0.209140     Path: UPS.PowerSummary.AudibleAlarmControl, Type: Feature, ReportID: 0x11, Offset: 0, Size: 8, Value: 1
   0.209276     find_nut_info: unknown info type: load.on.delay
   0.209390     find_nut_info: unknown info type: load.on.delay
   0.209523     upsdrv_initinfo...
   0.209646     upsdrv_updateinfo...
   0.210117     Got 1 HID objects...
   0.210259     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Input, ReportID: 0x35, Offset: 0, Size: 16, Value: 3840
   0.210360     Quick update...
   0.210479     Path: UPS.OutletSystem.Outlet.DelayBeforeShutdown, Type: Feature, ReportID: 0x15, Offset: 0, Size: 16, Value: 65535
...
   0.211619     Path: UPS.PowerSummary.PresentStatus.FullyDischarged, Type: Feature, ReportID: 0x32, Offset: 7, Size: 1, Value: 0
   0.212207     dstate_init: sock /var/run/nut/usbhid-ups-ups1 open on fd 5
   0.212551     upsdrv_updateinfo...
   0.370823     Got 8 HID objects...
...
   2.458116     Path: UPS.PowerSummary.PresentStatus.FullyDischarged, Type: Feature, ReportID: 0x32, Offset: 7, Size: 1, Value: 0
   4.216251     upsdrv_updateinfo...
   4.216475     libusb_get_interrupt: error submitting URB: Device or resource busy
   4.216625     Got disconnected by another driver: Device or resource busy
   6.218315     upsdrv_updateinfo...
   6.218472     Got to reconnect!

   6.219637     Checking device (09AE/2012) (001/019)
   6.234260     - VendorID: 09ae
   6.234380     - ProductID: 2012
   6.234475     - Manufacturer: Tripp Lite
   6.234590     - Product: Tripp Lite UPS
   6.234697     - Serial Number: unknown
   6.234879     - Bus: 001
   6.235128     - Device release number: 0009
   6.235306     Trying to match device
   6.235432     Device matches
   6.235489     failed to claim USB device: could not claim interface 0: Device or resource busy
   6.235655     detached kernel driver from USB device...
   6.237796     Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x34, Offset: 0, Size: 8, Value: 100
   6.239783     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x35, Offset: 0, Size: 16, Value: 3840
   6.241525     Path: UPS.BatterySystem.Battery.ConfigVoltage, Type: Feature, ReportID: 0x04, Offset: 0, Size: 16, Value: 24
...
   8.338275     Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x32, Offset: 2, Size: 1, Value: 1
   8.338391     Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x32, Offset: 3, Size: 1, Value: 0
   8.338508     Path: UPS.PowerSummary.PresentStatus.FullyDischarged, Type: Feature, ReportID: 0x32, Offset: 7, Size: 1, Value: 0
  10.222255     upsdrv_updateinfo...
  10.222469     libusb_get_interrupt: error submitting URB: Device or resource busy
  10.222595     Got disconnected by another driver: Device or resource busy
  12.224313     upsdrv_updateinfo...
  12.224463     Got to reconnect!

  12.225545     Checking device (09AE/2012) (001/019)
  12.237738     - VendorID: 09ae
  12.237857     - ProductID: 2012
  12.237940     - Manufacturer: Tripp Lite
  12.238140     - Product: Tripp Lite UPS
  12.238273     - Serial Number: unknown
  12.238463     - Bus: 001
  12.238579     - Device release number: 0009
  12.238706     Trying to match device
  12.238975     Device matches
  12.239104     failed to claim USB device: could not claim interface 0: Device or resource busy
  12.239333     detached kernel driver from USB device...
  12.241395     Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x34, Offset: 0, Size: 8, Value: 100
  12.243384     Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x35, Offset: 0, Size: 16, Value: 3840
...

And now running sudo sudo upsdrvctl start yields

Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
kill: Operation not permitted
writepid: fopen /var/run/nut/usbhid-ups-ups1.pid: Permission denied
Using subdriver: TrippLite HID 0.82

I don't really know the ins and outs of how NUT works, but it seems to me that the driver is retrieving all the relevant data. So here are my questions:

  1. Why are the UPSes disconnecting/reconnecting?
  2. Is this an actual problem?
  3. Why am I getting the Connection Refused error?
  4. How do I solve it?

edit:

So, I continued on with the tutorial and then started nut-server and nut-monitor. After that, upsc returned the desired results:

upsc ups1
Init SSL without certificate database
battery.charge: 100
battery.runtime: 3156
battery.type: PbAC
battery.voltage: 26.3
battery.voltage.nominal: 24.0
device.mfr: Tripp Lite
device.model: Tripp Lite UPS
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.productid: 2012
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.data: TrippLite HID 0.82
driver.version.internal: 0.41
input.frequency: 59.8
input.voltage: 119.0
input.voltage.nominal: 120
output.frequency.nominal: 60
output.voltage: 119.0
output.voltage.nominal: 120
ups.beeper.status: disabled
ups.delay.shutdown: 20
ups.load: 7
ups.mfr: Tripp Lite
ups.model: Tripp Lite UPS
ups.power: 0.0
ups.power.nominal: 1500
ups.productid: 2012
ups.status: OL
ups.timer.reboot: 65535
ups.timer.shutdown: 65535
ups.vendorid: 09ae
ups.watchdog.status: 0

However, I'm getting these messages appearing in the terminal:

Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:35:41 2018):

Communications with UPS ups1@localhost lost


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:35:46 2018):

Communications with UPS ups1@localhost established


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:39:21 2018):

Communications with UPS ups1@localhost lost


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:39:26 2018):

Communications with UPS ups1@localhost established


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:41:31 2018):

Communications with UPS ups1@localhost lost


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:41:36 2018):

Communications with UPS ups1@localhost established


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:50:31 2018):

Communications with UPS ups1@localhost lost


Broadcast message from nut@raspberrypi (somewhere) (Tue Dec  4 03:50:41 2018):

Communications with UPS ups1@localhost established

in roughly 10 minute intervals and /var/log/messages shows a constant disconnect/reconnect of the ups

Dec  4 03:57:30 raspberrypi kernel: [23649.381511] hid-generic 0003:09AE:2012.01C5: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:57:52 raspberrypi kernel: [23671.095782] usb 1-1.1.3: USB disconnect, device number 92
Dec  4 03:57:52 raspberrypi kernel: [23671.403545] usb 1-1.1.3: new low-speed USB device number 93 using dwc_otg
Dec  4 03:57:52 raspberrypi kernel: [23671.552761] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:57:52 raspberrypi kernel: [23671.552775] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:57:52 raspberrypi kernel: [23671.552784] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:57:52 raspberrypi kernel: [23671.552793] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:57:52 raspberrypi kernel: [23671.664997] hid-generic 0003:09AE:2012.01C6: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:58:14 raspberrypi kernel: [23693.111777] usb 1-1.1.3: USB disconnect, device number 93
Dec  4 03:58:14 raspberrypi kernel: [23693.403562] usb 1-1.1.3: new low-speed USB device number 94 using dwc_otg
Dec  4 03:58:14 raspberrypi kernel: [23693.554021] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:58:14 raspberrypi kernel: [23693.554034] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:58:14 raspberrypi kernel: [23693.554043] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:58:14 raspberrypi kernel: [23693.554051] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:58:14 raspberrypi kernel: [23693.660502] hid-generic 0003:09AE:2012.01C7: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:58:36 raspberrypi kernel: [23715.127777] usb 1-1.1.3: USB disconnect, device number 94
Dec  4 03:58:36 raspberrypi kernel: [23715.523586] usb 1-1.1.3: new low-speed USB device number 95 using dwc_otg
Dec  4 03:58:36 raspberrypi kernel: [23715.675392] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:58:36 raspberrypi kernel: [23715.675407] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:58:36 raspberrypi kernel: [23715.675417] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:58:36 raspberrypi kernel: [23715.675425] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:58:36 raspberrypi kernel: [23715.780499] hid-generic 0003:09AE:2012.01C8: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:58:58 raspberrypi kernel: [23737.399806] usb 1-1.1.3: USB disconnect, device number 95
Dec  4 03:58:58 raspberrypi kernel: [23737.693619] usb 1-1.1.3: new low-speed USB device number 96 using dwc_otg
Dec  4 03:58:58 raspberrypi kernel: [23737.846764] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:58:58 raspberrypi kernel: [23737.846778] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:58:58 raspberrypi kernel: [23737.846787] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:58:58 raspberrypi kernel: [23737.846796] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:58:58 raspberrypi kernel: [23737.953125] hid-generic 0003:09AE:2012.01C9: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:59:20 raspberrypi kernel: [23759.415788] usb 1-1.1.3: USB disconnect, device number 96
Dec  4 03:59:20 raspberrypi kernel: [23759.763663] usb 1-1.1.3: new low-speed USB device number 97 using dwc_otg
Dec  4 03:59:20 raspberrypi kernel: [23759.914391] usb 1-1.1.3: New USB device found, idVendor=09ae, idProduct=2012
Dec  4 03:59:20 raspberrypi kernel: [23759.914405] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec  4 03:59:20 raspberrypi kernel: [23759.914414] usb 1-1.1.3: Product: Tripp Lite UPS
Dec  4 03:59:20 raspberrypi kernel: [23759.914422] usb 1-1.1.3: Manufacturer: Tripp Lite
Dec  4 03:59:21 raspberrypi kernel: [23760.019543] hid-generic 0003:09AE:2012.01CA: hiddev96,hidraw0: USB HID v1.10 Device [Tripp Lite  Tripp Lite UPS ] on usb-3f980000.usb-1.1.3/input0
Dec  4 03:59:41 raspberrypi kernel: [23780.663784] usb 1-1.1.3: USB disconnect, device number 97

about every minute.

So, my questions remain except for number 3.

rogue780

Posted 2018-12-04T01:19:26.407

Reputation: 21

Answers

0

I had the exact same problem, and after a couple hours of digging I figured out a way to make it work. Turns out by reducing the poll interval rate my problem is fixed.

First, make sure there's not 2 instance of the driver running and fighting each other. Then, stop the nut server and driver and edit the ups.conf file:

Add this variable to the section of your UPS:

pollinterval = 10

Machinegon

Posted 2018-12-04T01:19:26.407

Reputation: 101

FWIW this just reduces the problem, it doesn't eliminate it, and the kernel still needs to cycle through devices every 15 seconds or so. – tedder42 – 2019-07-04T20:35:02.910

0

Just some things I did to manage to get two UPSes to work on mine and looking at what you’re doing. I’m running it on an orange pi+2e. I thought it was a cabling issue but it was actually a configuration issue.

Firstly... I don’t think you run nut as root. From what I understand it runs as a nut user and there is a udev rule that should be there for it to be able to access the UPS via USB. I don’t think the -u root is necessary in *bian.

I don’t think it is necessary for a one UPS configuration but you may want to try adding the bus that the UPS is on. In your case your ups.conf would have:

bus = 001

You may want to double check your upsmon.conf as well and ensure the MONITOR line is correct... should read something like

MONITOR upsname 1 username password master

Your upsd.conf should also have the IPs and ports it is supposed to listen to. I THINK locahost is by default but just in case probably better to just add it.

LISTEN 127.0.0.1 LISTEN 192.168.1.## (or whatever your lan is)

One last thing to check would probably be the nut.conf and decide how you want nut to run.

I use netserver because I use the orangepi to send the UPS info to multiple servers in my rack. In your case I believe it would be standalone?

Not sure if that helps but I was racking my brain on that one too. It has to be config problem. If it isn’t properly configured then upshid will keep doing that if it can’t speak to the UPS properly.

JRG

Posted 2018-12-04T01:19:26.407

Reputation: 1

Sorry. The LISTEN parts are on separate lines. – JRG – 2019-08-09T01:23:36.930