Mike
2017-May-12 14:06 UTC
[Nut-upsuser] TrippLite HID 0.82: libusb_get_interrupt: Function not implemented
OpenBSD 6.1/amd64 nut-2.7.4p0 (from OpenBSD package) UPS: Tripp-Lite OMNI1500LCDT I cannot get the driver for the UPS to load without error. Here are the commands, with the output, and the config files: ======================================================# upsdrvctl start Network UPS Tools - UPS driver controller 2.7.4 Network UPS Tools - Generic HID driver 0.41 (2.7.4) USB communication driver 0.33 No matching HID UPS found - check permissions on /dev/ugen* and /dev/usb* Driver failed to start (exit status=1) # ls -al /dev/usb* crw-rw---- 1 root wheel 61, 0 May 11 15:45 /dev/usb0 crw-rw---- 1 root wheel 61, 1 May 11 15:45 /dev/usb1 crw-rw---- 1 root wheel 61, 2 May 11 15:45 /dev/usb2 crw-rw---- 1 root wheel 61, 3 May 11 15:45 /dev/usb3 crw-rw---- 1 root wheel 61, 4 May 11 15:45 /dev/usb4 crw-rw---- 1 root wheel 61, 5 May 11 15:45 /dev/usb5 crw-rw---- 1 root wheel 61, 6 May 11 15:45 /dev/usb6 crw-rw---- 1 root wheel 61, 7 May 11 15:45 /dev/usb7 [/dev/ugen* has the same permissions as above] # grep _ups /etc/group wheel:*:0:root,_ups # upsdrvctl -D start Network UPS Tools - UPS driver controller 2.7.4 0.000000 Starting UPS: usb Network UPS Tools - Generic HID driver 0.41 (2.7.4) USB communication driver 0.33 Using subdriver: TrippLite HID 0.82 libusb_get_interrupt: Function not implemented # upsdrvctl -DD start Network UPS Tools - UPS driver controller 2.7.4 0.000000 If you're not a NUT core developer, chances are that you're told to enable debugging to see why a driver isn't working for you. We're sorry for the confusion, but this is the 'upsdrvctl' wrapper, not the driver you're interested in. Below you'll find one or more lines starting with 'exec:' followed by an absolute path to the driver binary and some command line option. This is what the driver starts and you need to copy and paste that line and append the debug flags to that line (less the 'exec:' prefix). 0.000323 Starting UPS: usb 0.000360 1 remaining attempts 0.000378 exec: /usr/local/bin/usbhid-ups -a usb Network UPS Tools - Generic HID driver 0.41 (2.7.4) USB communication driver 0.33 Duplicate driver instance detected! Terminating other driver! [about a 20 second delay] Using subdriver: TrippLite HID 0.82 libusb_get_interrupt: Function not implemented # /usr/local/bin/usbhid-ups -a usb Network UPS Tools - Generic HID driver 0.41 (2.7.4) USB communication driver 0.33 Using subdriver: TrippLite HID 0.82 libusb_get_interrupt: Function not implemented # cat ups.conf # Network UPS Tools: example ups.conf [usb] driver = usbhid-ups port = auto desc = "Example USB UPS" # cat upsd.conf # Network UPS Tools: example upsd configuration file # cat upsd.users # Network UPS Tools: Example upsd.users [admin] password = mypass actions = SET instcmds = ALL ====================================================== If I run upsdrvctl with -D flags, it appears to loop. I can make available that extensive output, if needed. What should I try next? thanks.
Charles Lepple
2017-May-13 14:20 UTC
[Nut-upsuser] TrippLite HID 0.82: libusb_get_interrupt: Function not implemented [3016]
On May 12, 2017, at 10:06 AM, Mike <the.lists at mgm51.com> wrote:> > > OpenBSD 6.1/amd64 > nut-2.7.4p0 (from OpenBSD package) > UPS: Tripp-Lite OMNI1500LCDT > > I cannot get the driver for the UPS to load without error. > > Here are the commands, with the output, and the config files: > > ======================================================> # upsdrvctl start > Network UPS Tools - UPS driver controller 2.7.4 > Network UPS Tools - Generic HID driver 0.41 (2.7.4) > USB communication driver 0.33 > No matching HID UPS found - check permissions on /dev/ugen* and /dev/usb* > Driver failed to start (exit status=1) >This seems to be different behavior than below. Did anything else change?> > # ls -al /dev/usb* > crw-rw---- 1 root wheel 61, 0 May 11 15:45 /dev/usb0 > crw-rw---- 1 root wheel 61, 1 May 11 15:45 /dev/usb1 > crw-rw---- 1 root wheel 61, 2 May 11 15:45 /dev/usb2 > crw-rw---- 1 root wheel 61, 3 May 11 15:45 /dev/usb3 > crw-rw---- 1 root wheel 61, 4 May 11 15:45 /dev/usb4 > crw-rw---- 1 root wheel 61, 5 May 11 15:45 /dev/usb5 > crw-rw---- 1 root wheel 61, 6 May 11 15:45 /dev/usb6 > crw-rw---- 1 root wheel 61, 7 May 11 15:45 /dev/usb7 > > > [/dev/ugen* has the same permissions as above] > > # grep _ups /etc/group > wheel:*:0:root,_ups > > > > # upsdrvctl -D start > Network UPS Tools - UPS driver controller 2.7.4 > 0.000000 Starting UPS: usb > Network UPS Tools - Generic HID driver 0.41 (2.7.4) > USB communication driver 0.33 > Using subdriver: TrippLite HID 0.82 > libusb_get_interrupt: Function not implementedThe last line is just a warning - usbhid-ups can use both interrupt requests and EP0 control requests. The driver was probably running in the background, per the "Duplicate driver instance" message below.> > > # upsdrvctl -DD start > Network UPS Tools - UPS driver controller 2.7.4 > 0.000000 > If you're not a NUT core developer, chances are that you're told to > enable debugging > to see why a driver isn't working for you. We're sorry for the > confusion, but this is > the 'upsdrvctl' wrapper, not the driver you're interested in. > > Below you'll find one or more lines starting with 'exec:' followed by an > absolute > path to the driver binary and some command line option. This is what the > driver > starts and you need to copy and paste that line and append the debug > flags to that > line (less the 'exec:' prefix). > > 0.000323 Starting UPS: usb > 0.000360 1 remaining attempts > 0.000378 exec: /usr/local/bin/usbhid-ups -a usb > Network UPS Tools - Generic HID driver 0.41 (2.7.4) > USB communication driver 0.33 > Duplicate driver instance detected! Terminating other driver! > [about a 20 second delay] > Using subdriver: TrippLite HID 0.82 > libusb_get_interrupt: Function not implemented > > > > # /usr/local/bin/usbhid-ups -a usb > Network UPS Tools - Generic HID driver 0.41 (2.7.4) > USB communication driver 0.33 > Using subdriver: TrippLite HID 0.82 > libusb_get_interrupt: Function not implementedThe usbhid-ups command line is where you could add '-D' to increase debug output.> If I run upsdrvctl with -D flags, it appears to loop. I can make > available that extensive output, if needed.Per the message from upsdrvctl, the debug flags need to be passed directly to the driver, not to upsdrvctl. What happens when you start "upsd" and run "upsc ups"? That said, we have had no end of trouble with Tripp-Lite 3016 protocol devices. For instance: https://github.com/networkupstools/nut/pull/122 (SMART1500LCDT in this case, but seems similar in many regards) I don't have a physical OpenBSD box to test with, but extrapolating from the Linux devices I have tested against, you might see USB disconnect messages in dmesg. While it could be argued that the NUT driver is doing something to trigger these disconnections, I have seen them on Linux systems when NUT is not loaded. We have been in contact with Tripp-Lite about this over the past few years, and this issue is complicated by the fact that it seems to be motherboard-dependent: older USB host controllers do not trigger the disconnections. ARM boards such as the Raspberry Pi sometimes fare better, but their USB controllers seem to be more flaky in the long term than x86-based systems. Fortunately, the USB interface on these UPS models seems to be somewhat isolated from the power control circuitry. The SMART1500LCDT powering my primary desktop seems to handle brief power outages just fine, but I got tired of dealing with the disconnect/reconnect messages, and stopped trying to debug the NUT driver. My personal recommendation (and I do not speak for my employer, or Tripp-Lite) is that if you need shutdown notifications to the OS, choose a different UPS. (This UPS should be okay for filtering power to non-core network infrastructure.)
Mike
2017-May-13 17:12 UTC
[Nut-upsuser] TrippLite HID 0.82: libusb_get_interrupt: Function not implemented [3016]
On 5/13/2017 10:20 AM, Charles Lepple wrote:> On May 12, 2017, at 10:06 AM, Mike <the.lists at mgm51.com> wrote: >> >> >> OpenBSD 6.1/amd64 >> nut-2.7.4p0 (from OpenBSD package) >> UPS: Tripp-Lite OMNI1500LCDT >> >> I cannot get the driver for the UPS to load without error. >> >> Here are the commands, with the output, and the config files: >> >> ======================================================>> # upsdrvctl start >> Network UPS Tools - UPS driver controller 2.7.4 >> Network UPS Tools - Generic HID driver 0.41 (2.7.4) >> USB communication driver 0.33 >> No matching HID UPS found - check permissions on /dev/ugen* and /dev/usb* >> Driver failed to start (exit status=1) >> > This seems to be different behavior than below. Did anything else change? > >> >> # ls -al /dev/usb* >> crw-rw---- 1 root wheel 61, 0 May 11 15:45 /dev/usb0 >> crw-rw---- 1 root wheel 61, 1 May 11 15:45 /dev/usb1 >> crw-rw---- 1 root wheel 61, 2 May 11 15:45 /dev/usb2 >> crw-rw---- 1 root wheel 61, 3 May 11 15:45 /dev/usb3 >> crw-rw---- 1 root wheel 61, 4 May 11 15:45 /dev/usb4 >> crw-rw---- 1 root wheel 61, 5 May 11 15:45 /dev/usb5 >> crw-rw---- 1 root wheel 61, 6 May 11 15:45 /dev/usb6 >> crw-rw---- 1 root wheel 61, 7 May 11 15:45 /dev/usb7 >> >> >> [/dev/ugen* has the same permissions as above] >> >> # grep _ups /etc/group >> wheel:*:0:root,_ups >> >> >> >> # upsdrvctl -D start >> Network UPS Tools - UPS driver controller 2.7.4 >> 0.000000 Starting UPS: usb >> Network UPS Tools - Generic HID driver 0.41 (2.7.4) >> USB communication driver 0.33 >> Using subdriver: TrippLite HID 0.82 >> libusb_get_interrupt: Function not implemented > > The last line is just a warning - usbhid-ups can use both interrupt requests and EP0 control requests. The driver was probably running in the background, per the "Duplicate driver instance" message below. >> >> >> # upsdrvctl -DD start >> Network UPS Tools - UPS driver controller 2.7.4 >> 0.000000 >> If you're not a NUT core developer, chances are that you're told to >> enable debugging >> to see why a driver isn't working for you. We're sorry for the >> confusion, but this is >> the 'upsdrvctl' wrapper, not the driver you're interested in. >> >> Below you'll find one or more lines starting with 'exec:' followed by an >> absolute >> path to the driver binary and some command line option. This is what the >> driver >> starts and you need to copy and paste that line and append the debug >> flags to that >> line (less the 'exec:' prefix). >> >> 0.000323 Starting UPS: usb >> 0.000360 1 remaining attempts >> 0.000378 exec: /usr/local/bin/usbhid-ups -a usb >> Network UPS Tools - Generic HID driver 0.41 (2.7.4) >> USB communication driver 0.33 >> Duplicate driver instance detected! Terminating other driver! >> [about a 20 second delay] >> Using subdriver: TrippLite HID 0.82 >> libusb_get_interrupt: Function not implemented >> >> >> >> # /usr/local/bin/usbhid-ups -a usb >> Network UPS Tools - Generic HID driver 0.41 (2.7.4) >> USB communication driver 0.33 >> Using subdriver: TrippLite HID 0.82 >> libusb_get_interrupt: Function not implemented > > The usbhid-ups command line is where you could add '-D' to increase debug output. > >> If I run upsdrvctl with -D flags, it appears to loop. I can make >> available that extensive output, if needed. > > Per the message from upsdrvctl, the debug flags need to be passed directly to the driver, not to upsdrvctl. > > What happens when you start "upsd" and run "upsc ups"? > > That said, we have had no end of trouble with Tripp-Lite 3016 protocol devices. For instance: > > https://github.com/networkupstools/nut/pull/122 (SMART1500LCDT in this case, but seems similar in many regards) > > I don't have a physical OpenBSD box to test with, but extrapolating from the Linux devices I have tested against, you might see USB disconnect messages in dmesg. While it could be argued that the NUT driver is doing something to trigger these disconnections, I have seen them on Linux systems when NUT is not loaded. > > We have been in contact with Tripp-Lite about this over the past few years, and this issue is complicated by the fact that it seems to be motherboard-dependent: older USB host controllers do not trigger the disconnections. ARM boards such as the Raspberry Pi sometimes fare better, but their USB controllers seem to be more flaky in the long term than x86-based systems. > > Fortunately, the USB interface on these UPS models seems to be somewhat isolated from the power control circuitry. The SMART1500LCDT powering my primary desktop seems to handle brief power outages just fine, but I got tired of dealing with the disconnect/reconnect messages, and stopped trying to debug the NUT driver. > > My personal recommendation (and I do not speak for my employer, or Tripp-Lite) is that if you need shutdown notifications to the OS, choose a different UPS. (This UPS should be okay for filtering power to non-core network infrastructure.) >Thanks for the reply. I need to investigate this further. I found that the USB port on the PC I was using seemed to be a bit flaky. When I plugged the Tripp-Lite into another USB port on the same box, it worked a lot better. I'll have another PC to use sometime next week, and I'll get into it again. Until I get to the bottom of all this, I've put into use a CyberPower UPS. I should get around to posting the various data on it this weekend. Thanks again for the reply.
Seemingly Similar Threads
- TrippLite HID 0.82: libusb_get_interrupt: Function not implemented [3016]
- TrippLite HID 0.82: libusb_get_interrupt: Function not implemented
- Tripplite Smart1500
- Tripplite SMART2200VS with tripplite_usb: UPS doesn't shut down
- Tripplite SMART2200VS with tripplite_usb: UPS doesn't shut down