Error starting network UPS tools (NUT) driver for TrippLite USB-passthrough
-
Hello. I am working to migrate off of ESXi and onto XCP-ng and Xen Orchestra. I have a Tripp Lite SMART1000RM2U UPS that communicates with USB.
With VMware ESXi I had a dedicated VM appliance running Ubuntu. I installed nut and passed through the USB device to the VM. Through testing I found that the standard usbhid driver did not work (the driver will even tell you that you cannot use it). I had success with the tripplite_usb driver (my UPS is old).
I have created a new VM on XCP-ng. I moved the USB connection to the physical host running XCP-ng. With XO I configured a VUSB, stopped and then started the VM, and it comes through as connected. If I run
lsusb
I can see it listed in the guest VM.
I have configured all of the files in/etc/nut
on the new VM to match the old one, such as:maxretry = 3 pollinterval = 1 [tripplite] driver = tripplite_usb port = auto desc = "Tripp Lite SMART1000RM2U" vendorid = 09ae productid = 0001
The issue I'm running into is that when I go to start the driver with
sudo upsdrvctl start
I start getting these errors:Network UPS Tools - UPS driver controller 2.7.4 Network UPS Tools - Tripp Lite OMNIVS / SMARTPRO driver 0.29 (2.7.4) Warning: This is an experimental driver. Some features may not function correctly. Detected a UPS: TRIPP LITE/TRIPP LITE SMART1000RM2U libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........'
I also on one occasion got:
Detected a UPS: TRIPP LITE/TRIPP LITE SMART1000RM2U libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt: could not claim interface 0: Device or resource busy libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt: error submitting URB: Device or resource busy libusb_get_interrupt() returned -16 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt: error submitting URB: Device or resource busy libusb_get_interrupt() returned -16 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt: error submitting URB: Device or resource busy libusb_get_interrupt() returned -16 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_get_interrupt: error submitting URB: Device or resource busy libusb_get_interrupt() returned -16 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' libusb_set_report: error sending control message: Device or resource busy libusb_set_report() returned -16 instead of 8 Error reading protocol Driver failed to start (exit status=1)
Is there a possible issue with how XCP-ng passes the USB device through that could be causing a problem with the guest talking to the device?
Edit: I also tried running the driver manually with the -DD attribute and got this:
Network UPS Tools - Tripp Lite OMNIVS / SMARTPRO driver 0.29 (2.7.4) Warning: This is an experimental driver. Some features may not function correctly. 0.000000 debug level is '2' 0.075151 Checking device (09AE/0001) (001/004) 0.205967 - VendorID: 09ae 0.206565 - ProductID: 0001 0.207453 - Manufacturer: TRIPP LITE 0.207903 - Product: TRIPP LITE SMART1000RM2U 0.208367 - Serial Number: unknown 0.208860 - Bus: 001 0.209339 - Device release number: 0001 0.209795 Trying to match device 0.210313 Device matches 0.210678 failed to claim USB device: could not claim interface 0: Device or resource busy 0.218990 detached kernel driver from USB device... 0.219334 failed to claim USB device: could not claim interface 0: Device or resource busy 0.226079 detached kernel driver from USB device... 0.227211 failed to claim USB device: could not claim interface 0: Device or resource busy 0.228368 detached kernel driver from USB device... 0.228779 Detected a UPS: TRIPP LITE/TRIPP LITE SMART1000RM2U 1.353715 libusb_get_interrupt: Connection timed out 1.354123 libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' 2.362060 libusb_get_interrupt: Connection timed out 2.362487 libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........' 3.366976 libusb_get_interrupt: Connection timed out
-
@waveguide
I used the PCI passthrough for my zigbee USB Dongle and it has been working perfectly since I installed it 2½ month ago -
@ph7 said in Error starting network UPS tools (NUT) driver for TrippLite USB-passthrough:
@waveguide
I used the PCI passthrough for my zigbee USB Dongle and it has been working perfectly since I installed it 2½ month agoInteresting idea. I am running on a Dell R710 and the USB controller is not listed as an available PCI device that I can passthrough to the guest VM. It does come up on the host as a PUSB device. The ESXi server was also an R710.