[Nut-upsuser] FreeBSD backed with a PR1500LCDRT2U

Charles Lepple clepple at gmail.com
Fri Oct 9 12:42:22 UTC 2015


On Oct 9, 2015, at 8:19 AM, Louis G. <louis at frentzgzesh.info> wrote:
> 
> Charles,
> 
> That was the PR1500LCDRT2U on the FreeBSD. I have not tried the CP900VR on the FreeBSD box yet. I can tell you that the CP900VR does work as expected on the Nas4Free one though. I am thinking it is the way the driver parses the USB hex identifier. There might be a filter that is not configured correctly or existing at all. I have seen this with DD-WRT and Sierra Wireless Modems. Where the config file for the driver has a list of special settings based on the USB ID. Let me know what you think. Thank you. 
> 
> Joe Gzesh 
> Sent from Zimbra Open Source Mail Server. Hosted at my House. 
> Ask me how to set up your own Zimbra server.
> 
> ----- On Oct 8, 2015, at 10:22 PM, Charles Lepple clepple at gmail.com wrote:
> 
>> On Oct 8, 2015, at 9:55 PM, Louis G. <louis at frentzgzesh.info> wrote:
>>> 
>>> I finally got the FreeBSD box up and running. I can do testing now when you have
>>> time. I have ran through the tests that you asked me to do previously and
>>> attached them here. Let me know what you find. Thank you.
>> 
>> The CyberPower HID report descriptor looks fine, but I think I'm losing track of
>> the various test cases.
>> 
>> Please correct me if I'm wrong:
>> 
>> 1) NAS4Free + NUT 2.7.3 + PR1500LCDRT2U = bad HID report descriptor
>> 2) NAS4Free + usbconfig + PR1500LCDRT2U = good HID report descriptor
>> 3) CentOS 6.7 + NUT 2.7.3 + PR1500LCDRT2U = works
>> 4) FreeBSD + NUT 2.7.3 + CP900VR = works

So the updated list looks like this:

1) NAS4Free + NUT 2.7.3 + PR1500LCDRT2U = bad HID report descriptor
2) NAS4Free + usbconfig + PR1500LCDRT2U = good HID report descriptor
3) CentOS 6.7 + NUT 2.7.3 + PR1500LCDRT2U = works
4) FreeBSD (10.2?) + NUT 2.7.3 + PR1500LCDRT2U = works (good HID report descriptor)

When you say "I am thinking it is the way the driver parses the USB hex identifier", I don't think it is the NUT driver - the problem is most likely in the FreeBSD/NAS4Free USB libraries or in the kernel driver (ugen, maybe). The NUT drivers initially use the USB product ID to filter out non-UPS devices, but the logging of the HID report descriptor (shown below) happens before any other decisions are made based on the product ID.

With the information that the same UPS works fine with NUT and FreeBSD, but doesn't work on NAS4Free, I think you have enough information to file a bug with NAS4Free. This is the bad information that NUT is receiving:

> For instance, these lines: 
> 
> 0.157417 Report Descriptor: (656 bytes) => 05 00 84 00 09 00 04 00 a1 00 01 00 09 00 
> 0.157431 24 00 a1 00 00 00 85 00 01 00 09 00 fe 00 75 00 08 00 95 00 01 00 15 00 00 
> 
> would parse fairly normally if they read as follows: 
> 
> 0.157417 Report Descriptor: (656 bytes) => 05 84 09 04 a1 01 09 
> 0.157431 24 a1 00 85 01 09 fe 75 08 95 01 15 00 

It seems that the NAS4Free USB libraries are returning something different to NUT and usbconfig (possibly due to different code paths, but I do not know what settings would be involved here.)


More information about the Nut-upsuser mailing list