Dear nut team I just bought a new Eaton 5P650IR UPS and for testing purposes I had set it up by using the nut software successfully directly on a Raspberry Pi OS bare metal installation an a physical Raspberry Pi 4B (8GB). Additionally, for further testing, I have set up the UPS by using the nut software successfully on a virtual x86 x64 Debian VM which was running on a VMware ESXi 7.0U1c (Build 17325551) host. Finally, for my target system, I wanted to install the UPS by using the nut software on a virtual ARM aarch64 Ubuntu 20.04.1 LTS Server VM which is running on a VMware ESXi on ARM Fling (Build 17230755) Raspberry Pi 4B host. Unfortunately this did not work so I tried to jump to a virtual ARM aarch64 CentOS Stream system but the behavior was exactly the same on both systems. For the according VM the UPS its USB connection was passed through from the ESXi host directly to the VM. To make you understand how I configured both systems I have listed all configuration steps for both systems, the Ubuntu server system and the CentOS Stream system, step-by-step. *** *CentOS Stream* (server without GUI installation) *** Logged in with root user and did the following steps, step-by-step: /$ nano /etc/selinux/config/ ( --> Here I have set the variable /SELINUX/ to /disabled/ ) /$ yum update// ///$/ reboot now/ //$ /uname -a/ (Which gives the following oputput: /Linux centos 4.18.0-259.el8.aarch64 #1 SMP Mon Dec 21 21:11:57 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux /) //$ /yum install epel-release// ///$ /yum install nut nut-client// ///$ /cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/// ///$ /udevadm control --reload-rules && udevadm trigger// ///$ /mkdir /var/run/nut// ///$ /chown root:nut /var/run/nut// ///$ /chmod 770 /var/run/nut/ Now I have configured the nut config files like this (left all settings on default and only added content): /etc/ups/nut.conf: /MODE=standalone/ /etc/ups/ups.conf: /pollinterval = 10// //[ups]// // driver = usbhid-ups// // port = auto// // desc = "Eaton 5P650IR"// // serial = G114L21147// // vendorid = 0463// // productid = ffff/ /etc/ups/upsd.conf: /LISTEN localhost 3493/ /etc/ups/upsd.users: /[upsmon]// // password = 1234// // upsmon master/ /etc/ups/upsmon.conf: /MONITOR ups at localhost 1 monuser 1234 master/ Finally I executed the following commands: //$ /systemctl enable nut-monitor.service// ///$ /systemctl enable nut-server.service// ////$ //systemctl start nut-monitor.service// ////$ //systemctl start nut-server.service// ////$ //reboot now/ Now when executing the following command: ///$ //lsusb/ It gives back the following output: /Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub// //Bus 002 Device 005: ID 0463:ffff MGE UPS Systems UPS// //Bus 002 Device 004: ID 0e0f:0006 VMware, Inc. Virtual Keyboard// //Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub// //Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse// //Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub/ When executing the following command: ///$ //nut-scanner/ It gives back the following output: /Neon library not found. XML search disabled.// //Scanning USB bus.// //No start IP, skipping SNMP// //No start IP, skipping NUT bus (old connect method)// //Scanning NUT bus (avahi method).// //Scanning IPMI bus.// //Failed to create client: Daemon not running// //[nutdev1]// // driver = "usbhid-ups"// // port = "auto"// // vendorid = "0463"// // productid = "FFFF"// // bus = "002"/ So this indicates the UPS is definitely being recognized. Now whenever the following command is being executed: ///$ //systemctl status nut-server/ It gives back the following error(s): /● nut-server.service - Network UPS Tools - power devices information server// // Loaded: loaded (/usr/lib/systemd/system/nut-server.service; enabled; vendor preset: disabled)// // Active: active (running) since Tue 2021-01-12 17:04:44 CET; 29s ago// // Main PID: 1285 (upsd)// // Tasks: 1 (limit: 2428)// // Memory: 6.5M// // CGroup: /system.slice/nut-server.service// // └─1285 /usr/sbin/upsd -F// // //Jan 12 17:04:44 centos systemd[1]: Started Network UPS Tools - power devices information server.// //Jan 12 17:04:44 centos upsd[1285]: fopen /var/run/nut/upsd.pid: No such file or directory// //Jan 12 17:04:45 centos upsd[1285]: listening on localhost port 3493// //Jan 12 17:04:45 centos upsd[1285]: listening on localhost port 3493/ So the nut service is stuck somewhere and somehow but I was not able to figure out why. When executing the following command: ///$ ///usr/sbin/usbhid-ups -DDD -a ups/ It gives back the following output:/ //Network UPS Tools - Generic HID driver 0.41 (2.7.4)// //USB communication driver 0.33// // 0.000000 debug level is '3'// // 0.003838 upsdrv_initups...// // 0.012539 Checking device (1D6B/0002) (001/001)// // 0.012625 Failed to open device, skipping. (Permission denied)// // 0.012644 Checking device (0463/FFFF) (002/005)// // 0.413580 - VendorID: 0463// // 0.413631 - ProductID: ffff// // 0.413641 - Manufacturer: EATON// // 0.413656 - Product: Eaton 5P// // 0.413669 - Serial Number: G114L21147// // 0.413678 - Bus: 002// // 0.413687 - Device release number: 0202// // 0.413695 Trying to match device// // 0.413778 Device matches// // 0.413808 failed to claim USB device: Device or resource busy// // 0.414396 detached kernel driver from USB device...// // 0.414475 nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)// // 0.464720 HID descriptor, method 1: (9 bytes) => 09 21 10 01 21 01 22 55 08// // 0.464771 HID descriptor length (method 1) 2133// // 0.464786 HID descriptor, method 2: (9 bytes) => 09 21 10 01 21 01 22 25 04// // 0.464806 HID descriptor length (method 2) 1061// // 0.464816 Eaton device v2.02. Using full report descriptor// // 0.464825 Warning: two different HID descriptors retrieved (Reportlen = 2133 vs. 1061)// // 0.464834 HID descriptor length 2133// // 2.511296 Unable to get Report descriptor: Input/output error// // 2.511464 Checking device (0E0F/0006) (002/004)// // 2.511524 Failed to open device, skipping. (Permission denied)// // 2.511538 Checking device (0E0F/0002) (002/003)// // 2.511560 Failed to open device, skipping. (Permission denied)// // 2.511573 Checking device (0E0F/0003) (002/002)// // 2.511594 Failed to open device, skipping. (Permission denied)// // 2.511662 Checking device (1D6B/0001) (002/001)// // 2.511687 Failed to open device, skipping. (Permission denied)// // 2.511698 No appropriate HID device found// // 2.511709 No matching HID UPS found/ For virtual machine settings in VMware ESXi I have also tried between virtual USB2.0 and virtual USB3.1 controller and for both controllers I have tried to switch the UPS USB-connection from the Raspberry Pi's physical USB2.0 and USB3.1 ports but all combinations ended with the same behavior. What I have also tried is to add the following line: /ExecStartPre=/bin/sleep 15/ on top of the the /[Service]/ section inside the following file: //etc/systemd/system/multi-user.target.wants/nut-server.service/ and did a system reboot but that also did not help. *** Ubuntu Server (minimal installation with just OpenSSH server installed) *** Logged in with default user and did the following steps, step-by-step: ///$ //sudo apt-get update && sudo apt-get dist-upgrade/ ///$ //sudo reboot now/ ///$ //uname -a/ (Which gives the following oputput: /Linux ubuntuserver 5.4.0-60-generic #67-Ubuntu SMP Tue Jan 5 18:24:57 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux /) ///$ //sudo apt-get install nut/ ///$ //sudo cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d// Now I have configured the nut config files like this (left all settings on default but only added content): /etc/nut/nut.conf: /MODE=standalone/ /etc/nut/ups.conf: /pollinterval = 10// //[ups]// // driver = usbhid-ups// // port = auto// // desc = "Eaton 5P650IR"// // serial = G114L21147// // vendorid = 0463// // productid = ffff/ /etc/nut/upsd.conf: /LISTEN localhost 3493/ /etc/nut/upsd.users: /[upsmon]// // password = 1234// // upsmon master/ /etc/nut/upsmon.conf: /MONITOR ups at localhost 1 monuser 1234 master/ Finally I executed the following commands: ///$ //sudo systemctl enable nut-monitor.service// ////$ //sudo systemctl enable nut-server.service// ////$ //sudo systemctl start nut-monitor.service// ////$ //sudo systemctl start nut-server.service// ////$ //reboot now/ Now when executing the following command: ///$ //lsusb/ It gives back the following output: /Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub// //Bus 002 Device 005: ID 0463:ffff MGE UPS Systems UPS// //Bus 002 Device 004: ID 0e0f:0006 VMware, Inc. Virtual Keyboard// //Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub// //Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse// //Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub/ When executing the following command: ///$ //nut-scanner/ It gives back the following output: /SNMP library not found. SNMP search disabled.// //Neon library not found. XML search disabled.// //IPMI library not found. IPMI search disabled.// //Scanning USB bus.// //No start IP, skipping NUT bus (old connect method)// //[nutdev1]// // driver = "usbhid-ups"// // port = "auto"// // vendorid = "0463"// // productid = "FFFF"// // bus = "002"/ So this indicates the UPS is definitely being recognized. Now whenever the following command is being executed: ///$ //sudo systemctl status nut-server/ It gives back the following error(s): /[sudo] password for supervisor:// //● nut-server.service - Network UPS Tools - power devices information server// // Loaded: loaded (/lib/systemd/system/nut-server.service; enabled; vendor preset: enabled)// // Active: active (running) since Tue 2021-01-12 15:55:01 UTC; 2min 17s ago// // Process: 930 ExecStartPre=/bin/sleep 15 (code=exited, status=0/SUCCESS)// // Process: 943 ExecStart=/sbin/upsd (code=exited, status=0/SUCCESS)// // Main PID: 946 (upsd)// // Tasks: 1 (limit: 2233)// // Memory: 2.0M// // CGroup: /system.slice/nut-server.service// // └─946 /lib/nut/upsd// // //Jan 12 15:54:47 ubuntuserver systemd[1]: Starting Network UPS Tools - power devices information server...// //Jan 12 15:55:01 ubuntuserver upsd[943]: fopen /run/nut/upsd.pid: No such file or directory// //Jan 12 15:55:01 ubuntuserver upsd[943]: listening on localhost port 3493// //Jan 12 15:55:01 ubuntuserver upsd[943]: listening on localhost port 3493// //Jan 12 15:55:01 ubuntuserver upsd[943]: Can't connect to UPS [ups] (usbhid-ups-ups): No such file or directory// //Jan 12 15:55:01 ubuntuserver upsd[943]: Can't connect to UPS [ups] (usbhid-ups-ups): No such file or directory// //Jan 12 15:55:01 ubuntuserver upsd[946]: Startup successful// //Jan 12 15:55:01 ubuntuserver systemd[1]: Started Network UPS Tools - power devices information server./ So the nut service is stuck somewhere and somehow but I was not able to figure out why. When executing the following command as root user: ///$ ///lib/nut/usbhid-ups -DDD -a ups/ It gives back the following output: /Network UPS Tools - Generic HID driver 0.41 (2.7.4)// //USB communication driver 0.33// // 0.000000 debug level is '3'// // 0.002398 upsdrv_initups...// // 0.049019 Checking device (0463/FFFF) (002/005)// // 0.236934 - VendorID: 0463// // 0.236994 - ProductID: ffff// // 0.237005 - Manufacturer: unknown// // 0.237035 - Product: Eaton 5P// // 0.237045 - Serial Number: G114L21147// // 0.237054 - Bus: 002// // 0.237063 - Device release number: 0202// // 0.237072 Trying to match device// // 0.237351 Device matches// // 0.237500 nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)// // 0.286503 HID descriptor, method 1: (9 bytes) => 09 21 10 01 21 01 22 55 08// // 0.286557 HID descriptor length (method 1) 2133// // 0.286574 HID descriptor, method 2: (9 bytes) => 09 21 10 01 21 01 22 25 04// // 0.286602 HID descriptor length (method 2) 1061// // 0.286612 Eaton device v2.02. Using full report descriptor// // 0.286622 Warning: two different HID descriptors retrieved (Reportlen = 2133 vs. 1061)// // 0.286632 HID descriptor length 2133// // 2.335596 Unable to get Report descriptor: Invalid or incomplete multibyte or wide character// // 2.335701 Checking device (0E0F/0006) (002/004)// // 2.335783 - VendorID: 0e0f// // 2.335827 - ProductID: 0006// // 2.335837 - Manufacturer: unknown// // 2.335846 - Product: unknown// // 2.335855 - Serial Number: unknown// // 2.335864 - Bus: 002// // 2.335873 - Device release number: 0100// // 2.335882 Trying to match device// // 2.335905 Device does not match - skipping// // 2.335929 Checking device (0E0F/0002) (002/003)// // 2.335995 - VendorID: 0e0f// // 2.336011 - ProductID: 0002// // 2.336020 - Manufacturer: unknown// // 2.336030 - Product: unknown// // 2.336039 - Serial Number: unknown// // 2.336048 - Bus: 002// // 2.336057 - Device release number: 0100// // 2.336066 Trying to match device// // 2.336082 Device does not match - skipping// // 2.336110 Checking device (0E0F/0003) (002/002)// // 2.336171 - VendorID: 0e0f// // 2.336190 - ProductID: 0003// // 2.336199 - Manufacturer: unknown// // 2.336209 - Product: unknown// // 2.336218 - Serial Number: unknown// // 2.336226 - Bus: 002// // 2.336235 - Device release number: 0102// // 2.336244 Trying to match device// // 2.336258 Device does not match - skipping// // 2.336283 Checking device (1D6B/0001) (002/001)// // 2.336461 - VendorID: 1d6b// // 2.336500 - ProductID: 0001// // 2.336510 - Manufacturer: unknown// // 2.336519 - Product: unknown// // 2.336528 - Serial Number: unknown// // 2.336537 - Bus: 002// // 2.336546 - Device release number: 0504// // 2.336555 Trying to match device// // 2.336570 Device does not match - skipping// // 2.336599 Checking device (1D6B/0002) (001/001)// // 2.337068 - VendorID: 1d6b// // 2.337108 - ProductID: 0002// // 2.337117 - Manufacturer: unknown// // 2.337126 - Product: unknown// // 2.337135 - Serial Number: unknown// // 2.337143 - Bus: 001// // 2.337152 - Device release number: 0504// // 2.337161 Trying to match device// // 2.337176 Device does not match - skipping// // 2.337198 No appropriate HID device found// // 2.337211 No matching HID UPS found/ For virtual machine settings in VMware ESXi I have also tried between virtual USB2.0 and virtual USB3.1 controller and for both controllers I have tried to switch the UPS USB-connection from the Raspberry Pi's physical USB2.0 and USB3.1 ports but all combinations ended with the same behavior. What I have also tried is to add the following line: /ExecStartPre=/bin/sleep 15/ on top of the the/[Service]/ section inside the following file: //etc/systemd/system/multi-user.target.wants/nut-server.service/ and did a system reboot but that also did not help. I hope you can understand everything in this e-mail as you should and everything is being formatted well. If not please let me know so I can maybe send you the informations by using an other method. Of yourse -if you need more informations- I can send you all the log files you will ask for. Thank you many times for oyur help in advance. Tecbill -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://alioth-lists.debian.net/pipermail/nut-upsdev/attachments/20210112/33b65f53/attachment-0001.html>