[Nut-upsdev] Syslog flooding
Kelvin Ku
kelvin at telemetry-investments.com
Mon Apr 26 14:08:26 UTC 2010
On Thu, Apr 22, 2010 at 10:45:33AM -0400, Kelvin Ku wrote:
> On Tue, Apr 20, 2010 at 03:13:07PM +0200, Arjen de Korte wrote:
> > Citeren Kelvin Ku <kelvin at telemetry-investments.com>:
> >
> >> Note that the problematic unit, upsserv7, exhibits the USB disconnect
> >> behavior even when it's the only UPS connected to the host.
> >
> > If possible, run it in debug mode
> >
> > /path/to/usbhid-ups -DD -a upsserv7
> >
> > and watch the output when it (re)connects. Chances are that the device
> > is reporting different serial numbers (or none at all) depending whether
> > this is the first connection made or a later one. We've seen such erratic
> > behavior before on other devices. This will make it impossible for the
> > driver to reconnect. You'll be specifically interested in lines with
> > "Serial Number" in them (and a few lines of context before and after it).
>
> I swapped the USB cable on upsserv7 for a new one and the connection was stable
> for a day. It started flaking out again today, though, so I tried what you
> suggested. Here's the syslog before I stopped the NUT service:
Another UPS of the same model connected to a different host is generating the
same flooding. As it stands, I can't monitor any of these Tripp Lite UPSs (I
have four of them) because of these spontaneous disconnects. Note that I
hacked in support for this model as follows:
--- nut-2.4.3/drivers/tripplite-hid.c.0 2010-03-24 10:34:10.238494000 -0400
+++ nut-2.4.3/drivers/tripplite-hid.c 2010-03-24 10:39:26.166498000 -0400
@@ -81,6 +81,9 @@
{ USB_DEVICE(TRIPPLITE_VENDORID, 0x4002), battery_scale_1dot0 },
/* e.g. TrippLite SmartOnline SU1500RTXL2ua */
{ USB_DEVICE(TRIPPLITE_VENDORID, 0x4003), battery_scale_1dot0 },
+ /* e.g. TrippLite SmartOnline SU2200XLA */
+ { USB_DEVICE(TRIPPLITE_VENDORID, 0x4004), battery_scale_1dot0 },
+
/* HP R/T 2200 INTL (like SMART2200RMXL2U) */
{ USB_DEVICE(HP_VENDORID, 0x1f0a), battery_scale_1dot0 },
[kelvin at ti94 nut-2.4.3-1.fc12.src]$ cat nut-2.4.3-tripplite.patch
--- nut-2.4.3/scripts/udev/nut-usbups.rules.in.0 2010-03-24 10:32:35.773119000 -0400
+++ nut-2.4.3/scripts/udev/nut-usbups.rules.in 2010-03-24 10:33:21.767269000 -0400
@@ -102,6 +102,8 @@
ATTR{idVendor}=="09ae", ATTR{idProduct}=="4002", MODE="664", GROUP="@RUN_AS_GROUP@"
# e.g. TrippLite SmartOnline SU1500RTXL2ua - usbhid-ups
ATTR{idVendor}=="09ae", ATTR{idProduct}=="4003", MODE="664", GROUP="@RUN_AS_GROUP@"
+# e.g. TrippLite SmartOnline SU2200XLA - usbhid-ups
+ATTR{idVendor}=="09ae", ATTR{idProduct}=="4004", RUN+="/bin/sh -c '/bin/chmod 664 /dev/bus/usb/*/*; /bin/chown root:dialout /dev/bus/usb/*/*'"
# PowerCOM
# PowerCOM IMP - IMPERIAL Series - usbhid-ups
--- nut-2.4.3/drivers/tripplite-hid.c.0 2010-03-24 10:34:10.238494000 -0400
+++ nut-2.4.3/drivers/tripplite-hid.c 2010-03-24 10:39:26.166498000 -0400
@@ -81,6 +81,9 @@
{ USB_DEVICE(TRIPPLITE_VENDORID, 0x4002), battery_scale_1dot0 },
/* e.g. TrippLite SmartOnline SU1500RTXL2ua */
{ USB_DEVICE(TRIPPLITE_VENDORID, 0x4003), battery_scale_1dot0 },
+ /* e.g. TrippLite SmartOnline SU2200XLA */
+ { USB_DEVICE(TRIPPLITE_VENDORID, 0x4004), battery_scale_1dot0 },
+
/* HP R/T 2200 INTL (like SMART2200RMXL2U) */
{ USB_DEVICE(HP_VENDORID, 0x1f0a), battery_scale_1dot0 },
Is it possible that tripplite_usb.c needs to be updated to work with this
model's particular quirks, or is the hardware simply too flakey to be used with
NUT?
Syslog and related output is below:
Apr 26 02:59:51 kernel: hub 2-0:1.0: port 3 disabled by hub (EMI?), re-enabling...
Apr 26 02:59:51 kernel: usb 2-3: USB disconnect, address 3
Apr 26 02:59:51 kernel: usb 2-3: new low speed USB device using ohci_hcd and address 5
Apr 26 02:59:51 kernel: usb 2-3: configuration #1 chosen from 1 choice
Apr 26 02:59:51 kernel: hiddev96: USB HID v1.11 Device [Tripp Lite TRIPP LITE UPS ] on usb-0000:00:02.0-3
Apr 26 02:59:53 usbhid-ups[15075]: Got disconnected by another driver: Device or resource busy
Apr 26 02:59:55 usbhid-ups[15075]: Got disconnected by another driver: Device or resource busy
Apr 26 02:59:57 usbhid-ups[15075]: Got disconnected by another driver: Device or resource busy
...
Apr 26 03:33:39 usbhid-ups[15075]: Got disconnected by another driver: Device or resource busy
Apr 26 03:33:41 usbhid-ups[15075]: Got disconnected by another driver: Device or resource busy
Apr 26 03:33:43 usbhid-ups[15075]: Got disconnected by another driver: Device or resource busy
Apr 26 03:33:45 upsd[15088]: Data for UPS [upsserv6] is stale - check driver
Apr 26 03:33:47 upsmon[15093]: Poll UPS [upsserv6 at localhost] failed - Data stale
Apr 26 03:33:47 upsmon[15093]: INFO UPS upsserv6 at localhost communications lost
Apr 26 03:33:52 upsmon[15093]: Poll UPS [upsserv6 at localhost] failed - Data stale
Apr 26 03:33:57 upsmon[15093]: Poll UPS [upsserv6 at localhost] failed - Data stale
Apr 26 03:34:02 upsmon[15093]: Poll UPS [upsserv6 at localhost] failed - Data stale
...
Apr 26 08:14:47 upsmon[15093]: Poll UPS [upsserv6 at localhost] failed - Data stale
Apr 26 08:14:52 upsmon[15093]: Poll UPS [upsserv6 at localhost] failed - Data stale
Apr 26 08:14:57 upsmon[15093]: Poll UPS [upsserv6 at localhost] failed - Data stale
Apr 26 08:14:59 upsmon[15093]: Signal 15: exiting
Apr 26 08:14:59 upsd[15088]: User upsmon at 127.0.0.1 logged out from UPS [upsserv6]
Apr 26 08:14:59 upsd[15088]: User upsmon at 127.0.0.1 logged out from UPS [upsserv5]
Apr 26 08:14:59 upsd[15088]: mainloop: Interrupted system call
Apr 26 08:14:59 upsd[15088]: Signal 15: exiting
$ sudo cat /etc/ups/ups.conf
maxstartdelay = 120
[upsserv6]
driver = usbhid-ups
port = auto
serial = 9824ALCPS720000081
[upsserv5]
driver = usbhid-ups
port = auto
serial = 9833DLCPS720000101
$ sudo usbhid-ups -DD -a upsserv6
Network UPS Tools - Generic HID driver 0.34 (2.4.3)
USB communication driver 0.31
0.000000 debug level is '2'
0.000682 upsdrv_initups...
0.001085 Checking device (09AE/4004) (002/005)
0.021881 - VendorID: 09ae
0.021984 - ProductID: 4004
0.022121 - Manufacturer: Tripp Lite
0.022259 - Product: TRIPP LITE UPS
0.022399 - Serial Number: 9824ALCPS720000081
0.022528 - Bus: 002
0.022599 Trying to match device
0.022944 Device matches
0.030887 HID descriptor length 1082
0.067878 Report Descriptor size = 1082
0.068412 Using subdriver: TrippLite HID 0.4
0.070877 libusb_get_report: No error
0.070967 Can't retrieve Report 28: Inappropriate ioctl for device
0.071123 Path: UPS.PowerSummary.iProduct, Type: Feature, ReportID: 0x28, Offset: 0, Size: 8
0.073874 libusb_get_report: No error
0.073901 Can't retrieve Report 29: Inappropriate ioctl for device
0.074034 Path: UPS.PowerSummary.iSerialNumber, Type: Feature, ReportID: 0x29, Offset: 0, Size: 8
0.076875 libusb_get_report: No error
0.076958 Can't retrieve Report 2b: Inappropriate ioctl for device
0.077099 Path: UPS.PowerSummary.iManufacturer, Type: Feature, ReportID: 0x2b, Offset: 0, Size: 8
0.079875 libusb_get_report: No error
0.079902 Can't retrieve Report 30: Inappropriate ioctl for device
0.080104 Path: UPS.PowerSummary.Input.ConfigVoltage, Type: Feature, ReportID: 0x30, Offset: 0, Size: 8
0.082875 libusb_get_report: No error
0.082901 Can't retrieve Report 31: Inappropriate ioctl for device
0.083036 Path: UPS.PowerSummary.Input.Voltage, Type: Feature, ReportID: 0x31, Offset: 0, Size: 16
0.085875 libusb_get_report: No error
0.085969 Can't retrieve Report 11: Inappropriate ioctl for device
0.086110 Path: UPS.PowerSummary.AudibleAlarmControl, Type: Feature, ReportID: 0x11, Offset: 0, Size: 8
0.088874 libusb_get_report: No error
0.088900 Can't retrieve Report 2a: Inappropriate ioctl for device
0.089033 Path: UPS.PowerSummary.iDeviceChemistry, Type: Feature, ReportID: 0x2a, Offset: 0, Size: 8
0.091874 libusb_get_report: No error
0.091900 Can't retrieve Report 62: Inappropriate ioctl for device
0.092031 Path: UPS.PowerSummary.iOEMInformation, Type: Feature, ReportID: 0x62, Offset: 0, Size: 8
0.094874 libusb_get_report: No error
0.094958 Can't retrieve Report 33: Inappropriate ioctl for device
0.095099 Path: UPS.PowerSummary.CapacityMode, Type: Feature, ReportID: 0x33, Offset: 0, Size: 8
0.097874 libusb_get_report: No error
0.097901 Can't retrieve Report 34: Inappropriate ioctl for device
0.098034 Path: UPS.PowerSummary.RemainingCapacity, Type: Input, ReportID: 0x34, Offset: 0, Size: 8
0.100874 libusb_get_report: No error
0.100955 Can't retrieve Report 34: Inappropriate ioctl for device
0.101098 Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, ReportID: 0x34, Offset: 0, Size: 8
0.103874 libusb_get_report: No error
0.103900 Can't retrieve Report 3a: Inappropriate ioctl for device
0.104032 Path: UPS.PowerSummary.RemainingCapacityLimit, Type: Feature, ReportID: 0x3a, Offset: 0, Size: 8
0.106874 libusb_get_report: No error
0.106900 Can't retrieve Report 37: Inappropriate ioctl for device
0.107034 Path: UPS.PowerSummary.FullChargeCapacity, Type: Feature, ReportID: 0x37, Offset: 0, Size: 8
0.109873 libusb_get_report: No error
0.109899 Can't retrieve Report 36: Inappropriate ioctl for device
0.110032 Path: UPS.PowerSummary.DesignCapacity, Type: Feature, ReportID: 0x36, Offset: 0, Size: 8
0.112874 libusb_get_report: No error
0.112954 Can't retrieve Report 38: Inappropriate ioctl for device
0.113096 Path: UPS.PowerSummary.WarningCapacityLimit, Type: Feature, ReportID: 0x38, Offset: 0, Size: 8
0.115873 libusb_get_report: No error
0.115899 Can't retrieve Report 3b: Inappropriate ioctl for device
0.116031 Path: UPS.PowerSummary.CapacityGranularity1, Type: Feature, ReportID: 0x3b, Offset: 0, Size: 8
0.118873 libusb_get_report: No error
0.118899 Can't retrieve Report 39: Inappropriate ioctl for device
0.119031 Path: UPS.PowerSummary.CapacityGranularity2, Type: Feature, ReportID: 0x39, Offset: 0, Size: 8
0.121874 libusb_get_report: No error
0.121900 Can't retrieve Report 2c: Inappropriate ioctl for device
0.122032 Path: UPS.PowerSummary.Rechargeable, Type: Feature, ReportID: 0x2c, Offset: 0, Size: 8
0.124874 libusb_get_report: No error
0.124957 Can't retrieve Report 35: Inappropriate ioctl for device
0.125098 Path: UPS.PowerSummary.RunTimeToEmpty, Type: Input, ReportID: 0x35, Offset: 0, Size: 16
0.127873 libusb_get_report: No error
0.127899 Can't retrieve Report 35: Inappropriate ioctl for device
0.128031 Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x35, Offset: 0, Size: 16
0.130873 libusb_get_report: No error
0.130954 Can't retrieve Report 32: Inappropriate ioctl for device
0.131095 Path: UPS.PowerSummary.PresentStatus.InternalFailure, Type: Input, ReportID: 0x32, Offset: 7, Size: 1
0.133874 libusb_get_report: No error
0.133900 Can't retrieve Report 32: Inappropriate ioctl for device
0.134035 Path: UPS.PowerSummary.PresentStatus.ShutdownImminent, Type: Input, ReportID: 0x32, Offset: 9, Size: 1
0.136874 libusb_get_report: No error
0.136974 Can't retrieve Report 32: Inappropriate ioctl for device
0.137126 Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Input, ReportID: 0x32, Offset: 16, Size: 1
0.139874 libusb_get_report: No error
0.139900 Can't retrieve Report 32: Inappropriate ioctl for device
0.140033 Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Input, ReportID: 0x32, Offset: 18, Size: 1
0.142873 libusb_get_report: No error
0.142899 Can't retrieve Report 32: Inappropriate ioctl for device
0.143032 Path: UPS.PowerSummary.PresentStatus.FullyCharged, Type: Input, ReportID: 0x32, Offset: 19, Size: 1
0.145873 libusb_get_report: No error
0.145955 Can't retrieve Report 32: Inappropriate ioctl for device
0.146097 Path: UPS.PowerSummary.PresentStatus.Charging, Type: Input, ReportID: 0x32, Offset: 20, Size: 1
0.148873 libusb_get_report: No error
0.148899 Can't retrieve Report 32: Inappropriate ioctl for device
0.149032 Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Input, ReportID: 0x32, Offset: 21, Size: 1
0.151874 libusb_get_report: No error
0.151900 Can't retrieve Report 32: Inappropriate ioctl for device
0.152034 Path: UPS.PowerSummary.PresentStatus.FullyDischarged, Type: Input, ReportID: 0x32, Offset: 22, Size: 1
0.154874 libusb_get_report: No error
0.154900 Can't retrieve Report 32: Inappropriate ioctl for device
0.155035 Path: UPS.PowerSummary.PresentStatus.NeedReplacement, Type: Input, ReportID: 0x32, Offset: 23, Size: 1
0.157873 libusb_get_report: No error
0.157955 Can't retrieve Report 32: Inappropriate ioctl for device
0.158098 Path: UPS.PowerSummary.PresentStatus.InternalFailure, Type: Feature, ReportID: 0x32, Offset: 7, Size: 1
0.160874 libusb_get_report: No error
0.160956 Can't retrieve Report 32: Inappropriate ioctl for device
0.161098 Path: UPS.PowerSummary.PresentStatus.ShutdownImminent, Type: Feature, ReportID: 0x32, Offset: 9, Size: 1
0.163873 libusb_get_report: No error
0.163900 Can't retrieve Report 32: Inappropriate ioctl for device
0.164036 Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x32, Offset: 16, Size: 1
0.166874 libusb_get_report: No error
0.166899 Can't retrieve Report 32: Inappropriate ioctl for device
0.167032 Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Feature, ReportID: 0x32, Offset: 18, Size: 1
0.169874 libusb_get_report: No error
0.169956 Can't retrieve Report 32: Inappropriate ioctl for device
0.170099 Path: UPS.PowerSummary.PresentStatus.FullyCharged, Type: Feature, ReportID: 0x32, Offset: 19, Size: 1
0.172873 libusb_get_report: No error
0.172899 Can't retrieve Report 32: Inappropriate ioctl for device
0.173065 Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x32, Offset: 20, Size: 1
0.175874 libusb_get_report: No error
0.175900 Can't retrieve Report 32: Inappropriate ioctl for device
0.176035 Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x32, Offset: 21, Size: 1
0.178874 libusb_get_report: No error
0.178956 Can't retrieve Report 32: Inappropriate ioctl for device
0.179098 Path: UPS.PowerSummary.PresentStatus.FullyDischarged, Type: Feature, ReportID: 0x32, Offset: 22, Size: 1
0.181874 libusb_get_report: No error
0.181900 Can't retrieve Report 32: Inappropriate ioctl for device
0.182036 Path: UPS.PowerSummary.PresentStatus.NeedReplacement, Type: Feature, ReportID: 0x32, Offset: 23, Size: 1
0.184873 libusb_get_report: No error
0.184899 Can't retrieve Report 04: Inappropriate ioctl for device
0.185033 Path: UPS.BatterySystem.Battery.ConfigVoltage, Type: Feature, ReportID: 0x04, Offset: 0, Size: 16
0.187873 libusb_get_report: No error
0.187898 Can't retrieve Report 20: Inappropriate ioctl for device
0.188031 Path: UPS.BatterySystem.Battery.Voltage, Type: Feature, ReportID: 0x20, Offset: 0, Size: 16
0.190872 libusb_get_report: No error
0.190898 Can't retrieve Report 23: Inappropriate ioctl for device
0.191031 Path: UPS.BatterySystem.Battery.PresentStatus.BelowRemainingCapacityLimit, Type: Feature, ReportID: 0x23, Offset: 2, Size: 1
0.193872 libusb_get_report: No error
0.193898 Can't retrieve Report 23: Inappropriate ioctl for device
0.194032 Path: UPS.BatterySystem.Battery.PresentStatus.FullyCharged, Type: Feature, ReportID: 0x23, Offset: 3, Size: 1
0.196873 libusb_get_report: No error
0.196898 Can't retrieve Report 23: Inappropriate ioctl for device
0.197032 Path: UPS.BatterySystem.Battery.PresentStatus.Charging, Type: Feature, ReportID: 0x23, Offset: 4, Size: 1
0.199873 libusb_get_report: No error
0.199955 Can't retrieve Report 23: Inappropriate ioctl for device
0.200098 Path: UPS.BatterySystem.Battery.PresentStatus.Discharging, Type: Feature, ReportID: 0x23, Offset: 5, Size: 1
0.202873 libusb_get_report: No error
0.202899 Can't retrieve Report 23: Inappropriate ioctl for device
0.203033 Path: UPS.BatterySystem.Battery.PresentStatus.FullyDischarged, Type: Feature, ReportID: 0x23, Offset: 6, Size: 1
0.205882 libusb_get_report: No error
0.205908 Can't retrieve Report 23: Inappropriate ioctl for device
0.206065 Path: UPS.BatterySystem.Battery.PresentStatus.NeedReplacement, Type: Feature, ReportID: 0x23, Offset: 7, Size: 1
0.208872 libusb_get_report: No error
0.208897 Can't retrieve Report 21: Inappropriate ioctl for device
0.209031 Path: UPS.BatterySystem.Battery.RemainingCapacity, Type: Feature, ReportID: 0x21, Offset: 0, Size: 8
0.211872 libusb_get_report: No error
0.211898 Can't retrieve Report 10: Inappropriate ioctl for device
0.212031 Path: UPS.BatterySystem.Test, Type: Feature, ReportID: 0x10, Offset: 0, Size: 8
0.214872 libusb_get_report: No error
0.214898 Can't retrieve Report 1a: Inappropriate ioctl for device
0.215030 Path: UPS.BatterySystem.Temperature, Type: Feature, ReportID: 0x1a, Offset: 0, Size: 16
0.217873 libusb_get_report: No error
0.217955 Can't retrieve Report 01: Inappropriate ioctl for device
0.218095 Path: UPS.Flow.ConfigVoltage, Type: Feature, ReportID: 0x01, Offset: 0, Size: 8
0.220873 libusb_get_report: No error
0.220900 Can't retrieve Report 02: Inappropriate ioctl for device
0.221049 Path: UPS.Flow.ConfigFrequency, Type: Feature, ReportID: 0x02, Offset: 0, Size: 8
0.223881 Can't retrieve Report 55: Broken pipe
0.223967 Path: UPS.Flow.ffff0097, Type: Feature, ReportID: 0x55, Offset: 0, Size: 8
0.226873 libusb_get_report: error sending control message: Broken pipe
0.226955 Can't retrieve Report 03: Broken pipe
...
- Kelvin
More information about the Nut-upsdev
mailing list