This is exactly the sort of trouble I’ve been having.

Host machine is a physical, they’re in independent USB ports but appear to be 
different port on the same USB bus

udev helps identify them, why can't this be used in my case ?
# ls -lrt /dev/ups-*
lrwxrwxrwx 1 root root 15 May  2 17:19 /dev/ups-1050g2 -> bus/usb/001/002
lrwxrwxrwx 1 root root 15 May  2 17:19 /dev/ups-850g2 -> bus/usb/001/003
# lsusb -d 051d:
Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible 
Power Supply
Bus 001 Device 003: ID 051d:0002 American Power Conversion Uninterruptible 
Power Supply


It appears to be periodically making a new device file - shortly after boot 
dmesg emits:

[  146.954100] usb 1-3: USB disconnect, device number 2
[  148.045850] usb 1-3: new full-speed USB device number 4 using xhci_hcd
[  148.191327] usb 1-3: New USB device found, idVendor=051d, idProduct=0002, 
bcdDevice= 1.06
[  148.215953] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  148.237495] usb 1-3: Product: Back-UPS BE1050G2 FW:497200G -497300G
[  148.256632] usb 1-3: Manufacturer: American Power Conversion
[  148.273739] usb 1-3: SerialNumber: 9B2545A15277
[  148.292906] hid-generic 0003:051D:0002.0003: hiddev96,hidraw0: USB HID v1.10 
Device [American Power Conversion Back-UPS BE1050G2 FW:497200G -497300G ] on 
usb-0000:00:14.0-3/input0


and the device files change to

# ls -lrt /dev/ups-*
lrwxrwxrwx 1 root root 15 May  2 17:19 /dev/ups-850g2 -> bus/usb/001/003
lrwxrwxrwx 1 root root 15 May  2 17:21 /dev/ups-1050g2 -> bus/usb/001/004
# lsusb -d 051d:
Bus 001 Device 003: ID 051d:0002 American Power Conversion Uninterruptible 
Power Supply
Bus 001 Device 004: ID 051d:0002 American Power Conversion Uninterruptible 
Power Supply


and then 2 minutes later
# ls -lrt /dev/ups-*
lrwxrwxrwx 1 root root 15 May  2 17:19 /dev/ups-850g2 -> bus/usb/001/003
lrwxrwxrwx 1 root root 15 May  2 17:23 /dev/ups-1050g2 -> bus/usb/001/005
# lsusb -d 051d:
Bus 001 Device 003: ID 051d:0002 American Power Conversion Uninterruptible 
Power Supply
Bus 001 Device 005: ID 051d:0002 American Power Conversion Uninterruptible 
Power Supply


I don't understand why udev is no help here. Is there any reference information 
i can look at to understand why (I can’t use udev rules to help) ?

From: Charles Lepple <[email protected]>
Sent: 30 April 2026 12:25
To: Gavin Davenport <[email protected]>
Cc: Nut-upsuser <[email protected]>
Subject: Re: [Nut-upsuser] Two APC UPS deivces, Fedora, slightly lost

I haven't used NUT on Fedora, but your ups.conf seems to be on the right track 
(symlinks will not help for devices supported by usbhid-ups).

There are not many USB product IDs for APC UPSes, but do you get different IDs 
from "lsusb -d 051d:? Matching product IDs uses simpler logic than matching 
strings.

A while back, we had issues with Linux guests not getting all of the USB 
information when on an ESXi hypervisor. That may not be the case if your host 
machine is physical, but there is still a possibility that the driver is having 
trouble during the stage when it iterates through all of the USB devices to 
retrieve strings like serial numbers. Check the logs for any messages saying 
that the driver couldn't read the serial number - probably from something like 
"journalctl -t usbhid-ups". Specifics of increasing the driver debug level may 
depend on your version of NUT (and whether/how the packager changed the systemd 
service definitions).

If that doesn't work, you can try plugging the UPSes into different USB ports 
(i.e. not into a hub) and using the "bus" parameter in ups.conf, which may need 
to be adjusted after a major kernel upgrade if the USB stack enumerates the 
buses in a different order.

--
Charles Lepple
clepple@gmail


On Apr 29, 2026, at 6:55 PM, Gavin Davenport 
<[email protected]<mailto:[email protected]>> wrote:

I have 2 APC UpS devices – I have a group of 4 machines connected to various 
outputs on them and they are connected by USB to the same fedora host.

I’m having issues with nut reliabl discovering both devices

Here’s my ups.conf

  [850g2]
      driver = usbhid-ups
      port = auto
      desc = "APC Back-UPS ES 850G2"
      serial = 5B1932T42066

  [1050g2]
      driver = usbhid-ups
      port = auto
      desc = "APC Back-UPS BE1050G2"
      serial = 9B2545A15277

I’m hoping nut will match on the serial number of the device.

I’ve been rather led astray by chatgpt making stuff up and then forgetting 
where it is – so I’m a bit confused about whether I try to have udev prepare 
the appropriate symlinks for nut

I’ve had this working (2 Ups devices being monitored, but all a bit 
hand-cranked). I can’t get it to survive a reboot.

Are there any known issues with using 2 APC Ups devices which announce 
themselves very similarly ?
_______________________________________________
Nut-upsuser mailing list
[email protected]<mailto:[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

Reply via email to