On Jul 16, 2019, at 3:52 AM, Patrick M. Hausen wrote: > The OS is FreeBSD: > > FreeBSD freenas-pmh.local 11.2-STABLE FreeBSD 11.2-STABLE #0 > r325575+6aad246318c(HEAD): Mon Jun 24 17:25:47 UTC 2019 > root@nemesis:/freenas-releng/freenas/_BE/objs/freenas-releng/freenas/_BE/os/sys/FreeNAS.amd64 > amd64 > > This is the device: > > ugen0.6: <POWERCOM Co.,LTD HID UPS Battery> at usbus0 > uhid0 on uhub0 > uhid0: <POWERCOM Co.,LTD HID UPS Battery, class 0/0, rev 1.10/0.02, addr 5> > on usbus0
There may be an issue with the uhid driver binding to the device. I can't remember which versions of FreeBSD this affects, though. > This is the driver version: > > root@freenas-pmh[~]# /usr/local/libexec/nut/usbhid-ups -V > Network UPS Tools - Generic HID driver 0.41 (2.7.4) > USB communication driver 0.33 > > Came bundled with the FreeNAS installation. This driver is using the libusb-0.1 API through FreeBSD's emulation layer (since they implement a different API that is closer to libusb-1.0). We have another branch that uses the libusb-1.0 API: https://github.com/networkupstools/nut/issues/300 > ups.conf: > > root@freenas-pmh[~]# cat /usr/local/etc/nut/ups.conf > [roline] > driver = usbhid-ups > port = /dev/uhid0 > desc = “" As mentioned here: https://networkupstools.org/docs/man/usbhid-ups.html#_implementation "The driver ignores the "port" value in ups.conf." The problem is that libusb does not provide a way to open a specific device by pathname, and if it did, it would need a generic USB device node (like the /dev/ugen* names shown at the end of the "Checking device" log messages) rather than a USB HID device node. Instead, if you have multiple UPSes, see the previous section in the man page. We recommend putting something like "port = auto" in the configuration file. > Debug output: > > root@freenas-pmh[~]# /usr/local/libexec/nut/usbhid-ups -DD -a roline > Network UPS Tools - Generic HID driver 0.41 (2.7.4) > USB communication driver 0.33 > 0.000000 debug level is '2' > 0.000746 upsdrv_initups... > 0.001256 Checking device (0D9F/0004) (/dev/usb//dev/ugen0.6) > 0.193552 - VendorID: 0d9f > 0.193573 - ProductID: 0004 > 0.193579 - Manufacturer: unknown > 0.193582 - Product: unknown > 0.193586 - Serial Number: unknown > 0.193589 - Bus: /dev/usb > 0.193592 - Device release number: 0002 > 0.193598 Trying to match device > 0.193608 Device matches > 0.261466 Unable to get HID descriptor (Unknown error) > 0.261487 HID descriptor length 996 > 0.328756 Unable to get Report descriptor: Input/output error This is the case where the libusb-1.0 API might provide better error messages. These might be related to permissions - check to see if the /dev/ugen0.6 node is writable by the NUT user/group. (There should be a devd.conf file installed under /usr/local to make this work.) > _______________________________________________ > Nut-upsuser mailing list > [email protected] > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser _______________________________________________ Nut-upsuser mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
