BCMXCP_USB(8)

πŸ’– BCMXCP_USB πŸ’–

okay bestie, buckle up, this is the bcmxcp_usb page from the NUT Manual, and it's giving ✨experimental UPS driver✨ energy. it's the USB glow-up of the serial bcmxcp(8) situation, and yes it is literally in section 8 of the manual, iykyk.


🌸 NAME 🌸

bcmxcp_usb β€” the experimental driver for UPSes that speak the BCM/XCP protocol over USB πŸ¦‹


✨ SYNOPSIS ✨

bcmxcp_usb -h

bcmxcp_usb -a UPS_NAME [OPTIONS]
πŸ“Œ Note β€” this man page is only about the hardware-specific stuff for the bcmxcp_usb driver, no cap. for the core driver tea, go read nutupsdrv(8).
πŸ“Œ Note β€” this driver is a whole variant of the serial driver bcmxcp(8) and it uses the exact same core code. twins fr fr πŸ‘―

πŸ”Œ SUPPORTED HARDWARE πŸ”Œ

this driver should recognize all BCM/XCP-compatible UPSes that are connected via USB. periodt.

it was developed and tested on Powerware PW3501 hardware πŸ’… it has also been tested on PW5110 hardware.


πŸŽ€ EXTRA ARGUMENTS πŸŽ€

this driver supports these optional settings in the ups.conf(5):

  • shutdown_delay = delay β€” the number of seconds the UPS should wait between receiving the shutdown command and actually shutting off. like, it takes a lil pause bestie ⏳
πŸ™ˆ Note β€” this driver does not currently support USB-matching settings that are common to other drivers, such as vendor, vendorid, product, productid, serial, device or bus. not yet, anyway 😭

πŸ’œ DEFAULT VALUES FOR THE EXTRA ARGUMENTS πŸ’œ

shutdown_delay =120

that's the default, iconic, no notes ✨


⚑ INSTANT COMMANDS ⚑

this driver supports the following Instant Commands:

  • shutdown.return β€” turn off the load and return when power is back. she leaves but she comes back 🫢
  • shutdown.stayoff β€” turn off the load and remain off. she's gone gone πŸ’€
  • test.battery.start β€” start a battery test. vibe check on the battery πŸ”‹

πŸ“ TODO LIST πŸ“

  • Report UPS alarm status β€” BCM/XCP supports reporting a wide range of UPS alarm conditions.
  • Report UPS statistics information β€” BCM/XCP supports reporting of UPS statistics data.

(someone pls do these, the potential is right there 😭)


πŸ§ͺ EXPERIMENTAL DRIVER πŸ§ͺ

so this driver has been tagged experimental, even though it has been reported to be stable. that means it is not suitable for production systems and it may be not built by default. the main reason? it's a new driver. baby driver energy 🍼 but like, be careful with your actual servers okay??


πŸ› οΈ INSTALLATION πŸ› οΈ

this driver may be not built by default. you can require building it by using:

./configure --with-usb=yes

(note that it will also install other USB drivers ✨) or:

./configure --with-drivers=bcmxcp_usb

either way, you would need libusb-dev (the libraries and headers package) or the equivalent for other platforms.

you also need to install manually the hotplug files (libhidups and libhid.usermap), generally in etc/hotplug/usb/, to address the permission settings problem. lastly, note that the libhidups file must have the execution flag set (ie using chmod +x ...). don't skip that part bestie, it's important πŸ’…


🧚 IMPLEMENTATION 🧚

bcmxcp_usb only supports 1 UPS at this time. one. single. UPS. she's monogamous πŸ’–

you can put the "auto" value for port in ups.conf, i.e.:

[pw3105]
        driver = bcmxcp_usb
        port = auto

😭 KNOWN ISSUES AND BUGS 😭

Got EPERM: Operation not permitted upon driver startup""

you have forgotten to install the hotplug files, as explained in the INSTALLATION section above. don't forget to restart hotplug so that it applies these changes. classic πŸ˜­πŸ™ˆ


πŸ‘‘ AUTHORS πŸ‘‘

  • Tore Ørpetveit <tore@orpetveit.net>
  • Wolfgang Ocker <weo@weo1.de>

legends, honestly 🫢


🌈 SEE ALSO 🌈

The core driver:

Internet resources:


okay that's the whole page bestie, you ate that πŸŽ€ this was Network UPS Tools 2.8.5, dated 10/07/2026, and that's the vibe check complete β€” go forth and UPS responsibly πŸ’–βœ¨πŸ‘‘

πŸ“¦ where this page comes from