<div dir="auto">On top of what Greg said, see if your udev.rules file provided by the NUT package includes the vendorid:productid for your device. The `ups.status:OB` (unless you're testing and it is really on battery) seems like a short read of USB reports. Boosted driver debug may confirm it, like `expected 900-something bytes but only got 33` or similar. Thos tends to happen when the driver (or libusb on its behalf) can't exclusively access the device - e.g. ifthe kernel holds it or has some other program attached. The udev rules are one of mechanisms to manage these delegations.<div dir="auto"><br></div><div dir="auto">Hope this helps,</div><div dir="auto">Jim Klimov</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 9, 2023, 02:29 Greg Troxel <<a href="mailto:gdt@lexort.com">gdt@lexort.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Bruce Pleat via Nut-upsuser <<a href="mailto:nut-upsuser@alioth-lists.debian.net" target="_blank" rel="noreferrer">nut-upsuser@alioth-lists.debian.net</a>><br>
writes:<br>
<br>
> Here's the (far less lengthy) output for the Vertiv Liebert:<br>
><br>
> device.mfr: Vertiv Co<br>
> device.model: Liebert PSA5<br>
> device.serial: 22223106602D04C<br>
> device.type: ups<br>
> <a href="http://driver.name" rel="noreferrer noreferrer" target="_blank">driver.name</a>: usbhid-ups<br>
> driver.parameter.pollfreq: 30<br>
> driver.parameter.pollinterval: 2<br>
> driver.parameter.port: auto<br>
> driver.parameter.productid: 0002<br>
> driver.parameter.synchronous: no<br>
> driver.parameter.vendorid: 10AF<br>
> driver.version: 2.7.4<br>
> driver.version.data: Belkin/Liebert HID 0.17<br>
> driver.version.internal: 0.41<br>
> ups.mfr: Vertiv Co<br>
> ups.model: Liebert PSA5<br>
> ups.productid: 0002<br>
> ups.serial: 22223106602D04C<br>
> ups.status: OB<br>
> ups.vendorid: 10af<br>
><br>
> As you can see, useful information is missing from the Liebert/Vertiv:<br>
> I'm running it connected to a Raspberry Pi 4B (latest patches applied<br>
> nightly), so I'd prefer to do it from there.<br>
><br>
> Is there debugging I can do?<br>
> (I'm a NUT rookie and admit to finding the docs overwhelming.)<br>
<br>
I'm still sort of new, but:<br>
<br>
  Build nut from source and use that (the tip of master from it), rather<br>
  than whatever old code your OS provides.  2.7.4 is ancient and there<br>
  have been a ton of improvements since then.  I am not sure there is<br>
  anybody interested in helping you work on 2.7.4.<br>
<br>
  Run the driver with debugging flags to get verbose logging.   upsc<br>
  shows that variables you expect aren't there, and verbose logging will<br>
  give you some insight into what's happening.<br>
<br>
  See if other code, perhaps proprietary and even Windows, if you can<br>
  hold  your nose and suspend your free software ethics :-), will report<br>
  anything more.<br>
<br>
  Find the docs that show what is available via HID and read the driver<br>
  code to see if anything is missing.<br>
<br>
My guess is that your problem is one of:<br>
<br>
  something is going wrong and the device just isn't getting read.<br>
<br>
  The HID data structures do not line up between what nut expects and<br>
  the device provides<br>
<br>
and that upgrading to current nut is reasonably likely to avoid a lot of<br>
issues, even if it doesn't immediately work.  But it might.<br>
<br>
_______________________________________________<br>
Nut-upsuser mailing list<br>
<a href="mailto:Nut-upsuser@alioth-lists.debian.net" target="_blank" rel="noreferrer">Nut-upsuser@alioth-lists.debian.net</a><br>
<a href="https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser" rel="noreferrer noreferrer" target="_blank">https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser</a><br>
</blockquote></div>