Re: Nut can't open Mini-Box OPEN-UPS2 (SOLVED)

From: Graham Menhennitt <graham_at_menhennitt.com.au>
Date: Fri, 19 Jul 2024 04:53:07 UTC
Thanks to Michael Gmelin for pointing me to 
https://forums.freebsd.org/threads/nut-2-8-0-generic-ups-blazer_usb-cant-claim-usb-device.90744/ 
and from there to https://forum.opnsense.org/index.php?topic=28695.0.

As the first link says, the problem is that the device is claimed by the 
HID driver. Running the "detach" command fixes the problem (until the 
next reboot).

As described in the second link, I added a line to /boot/loader.conf:

     hw.usb.quirk.0="0x04D8 0xD005 0 0xffff UQ_HID_IGNORE"

and it's fixed permanently.

Thanks again, Michael.

Graham



On 1/06/2024 2:57 pm, Graham Menhennitt wrote:
> Hi FreeBSDers,
>
> Trying to get nut to talk to my Mini-Box OPEN-UPS2 (FreeBSD 13.3 with 
> nut-2.8.2 built from ports). I've fixed devfs.rules correctly so that 
> the /dev entry is owned by user nut.
>
> When I start nut, I get a message "Can't claim USB device 
> [04d8:d005]@0/0/0: Other error". See below for details including 
> usbconfig output for the device.
>
> Does anybody have a clue, please.
>
> Thanks in advance for any hints,
>
>     Graham
>
>
> root@larabee# ll -L /dev/ugen0.2 /dev/usb/0.2.0
> crw-rw----  1 nut  nut  0x59  1 Jun 14:12 /dev/ugen0.2
> crw-rw----  1 nut  nut  0x59  1 Jun 14:12 /dev/usb/0.2.0
>
>
> root@larabee# service nut restart
> nut not running? (check /var/db/nut/upsd.pid).
> Network UPS Tools - UPS driver controller 2.8.2
> Network UPS Tools - Generic HID driver 0.53 (2.8.2)
> USB communication driver (libusb 1.0) 0.47
> Can't claim USB device [04d8:d005]@0/0/0: Other error
> upsnotify: failed to notify about state 4: no notification tech 
> defined, will not spam more about it
> Driver failed to start (exit status=1)
> /usr/local/etc/rc.d/nut: WARNING: failed precmd routine for nut
>
>
> root@larabee# usbconfig -v -d ugen0.2
> ugen0.2: <Mini-Box.Com OPEN-UPS2> at usbus0, cfg=0 md=HOST spd=FULL 
> (12Mbps) pwr=ON (100mA)
> ugen0.2.0: uhid0: <Mini-Box.Com OPEN-UPS2, class 0/0, rev 2.00/0.03, 
> addr 2>
>
>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0200
>   bDeviceClass = 0x0000  <Probed by interface class>
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0000
>   bMaxPacketSize0 = 0x0020
>   idVendor = 0x04d8
>   idProduct = 0xd005
>   bcdDevice = 0x0003
>   iManufacturer = 0x0001  <Mini-Box.Com>
>   iProduct = 0x0002  <OPEN-UPS2>
>   iSerialNumber = 0x0004  <LI-ION>
>   bNumConfigurations = 0x0001
>
>
>  Configuration index 0
>
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x0029
>     bNumInterfaces = 0x0001
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0000  <no string>
>     bmAttributes = 0x00c0
>     bMaxPower = 0x0032
>
>     Interface 0
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0000
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0002
>       bInterfaceClass = 0x0003  <HID device>
>       bInterfaceSubClass = 0x0000
>       bInterfaceProtocol = 0x0000
>       iInterface = 0x0000  <no string>
>
>       Additional Descriptor
>
>       bLength = 0x09
>       bDescriptorType = 0x21
>       bDescriptorSubType = 0x11
>        RAW dump:
>        0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0xf7,
>        0x08 | 0x02
>
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0081  <IN>
>         bmAttributes = 0x0003  <INTERRUPT>
>         wMaxPacketSize = 0x0020
>         bInterval = 0x000a
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
>
>      Endpoint 1
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0001  <OUT>
>         bmAttributes = 0x0003  <INTERRUPT>
>         wMaxPacketSize = 0x0020
>         bInterval = 0x000a
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
>
>
>
> root@larabee#
>
>