-
-
Notifications
You must be signed in to change notification settings - Fork 366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Liebert PST5 shows "OB" while receiving mains voltage #2816
Comments
For posterity, re-posting first ideas from initial IRC discussion: Anyhow, USB connections that show essentially only the driver info and a couple of device data points including an "OB" state ring a bell about some bad access to the USB layer, so the NUT driver does not get everything there is. One common case is on Windows, where the UPS is also intercepted by OS and seen as a HID Battery device; installing lower-level libusb helpers with Zadig helps there. On other systems this may be linked to virtualization pass-through, where either your NUT system is a guest and the host also sees the USB link and picks some bytes off the stream, or your NUT system is the host and some guest is allowed to the device too. Finally, there are probably cases where NUT drivers look at a wrong interface number (0) of multi-interface devices, so sees a stub descriptor or one not relevant to Power HID... Those began showing up in the past couple of years. |
Can you please run the driver with higher debug verbosity, to see how it initializes and what data it sees or discards? First
...and copy the results here. This might help figure out more about what's going on. |
Here's the output attached. Thanks! |
This one looks really small, these are usually 600-900 bytes or more, so probably reading the wrong interface for this device:
The result matches, that no values are interpreted around Currently the driver is Try to check if
For example, on my UPS with one interface I see the NUT-default interface 0 (
Note that also |
lsusbvvv.txt |
…g_to_path() or FindObject_with_Path() [#2816] Signed-off-by: Jim Klimov <[email protected]>
Aha, so it says there is another:
So that's interface number 1 with endpoint no. 2 (address 0x82) and a decent size of 777 bytes. These are the only numeric differences I see in the interface descriptors; the other difference being that It reports having a language setting of Spanish, I wonder if there are any assumptions about text stuff being English (there certainly are when a locale is not reported IIRC, we have trouble getting strings and retry by telling the device "talk to us in English!" with the assumption they all can... better than nothing). Alas, I don't have personal experience with these alternate settings, but as of #2271 (comment) the following settings helped with a similar device:
There If these alone do not help with yours, I'd also try adding |
That appears to have solved the problem. I've attached the output for your reference. Notably, I'm seeing ups.status reporting OL CHRG and input.voltage reading 121.3. I'm going to update ups.conf. |
OS: Ubuntu 22.04
NUT Version: 2.8.2 and on latest git pull
UPS: Liebert PST5
DRIVER: usb-hid
Since this Liebert PST5 does not appear to be supported on any releases before 2.8.2, I have locally built this version on my Ubuntu 22.04 box. Even though I can confirm that the mains power is on and delivering 122V (on a US 120V supply),
upsdrvctl status
still reports that the UPS is "OB." I know that the driver is communicating with the UPS since it correctly reports the UPS model and serial number. However, the incorrect battery status is problematic for monitoring.This seems like a bug, but if there's some sort of granular permission that would allow model and serial number to be revealed, but not status, please let me know what I should modify.
Thanks,
-hotsaucegrocer
The text was updated successfully, but these errors were encountered: