NOTE: This kext was made with my specific use-case and setup in mind. It might work for you, it might not, but the code is provided so that you have the ability to review and debug as needed. No support on my end is provided.
This is a forked version of the Lilu plugin RestrictEvents that has been modified to only prevent /usr/libexec/ioupsd
from running. This removes the "UPS battery backup" warning at the cost of disabling macOS's UPS support.
There exists a USB UPS that is called the Commander Pro. When plugged into an internal USB header the Corsair Commander Pro also appears with the name "Commander Pro". macOS (lazily) checks the USB name instead of the vendor/product IDs and believes there is a UPS plugged in when it detects the Corsair Commander Pro.
When you have a Corsair Commander Pro plugged in without any mapping/disabling, you're greeted with this wonderful message every time you boot into macOS:
I got the idea for this after seeing this thread on tonymacx86, which showed how the fix shown (which basically overwrote ioupsd
to sleep forever) did not work on Big Sur.
In my case, I have a custom water cooled PC, with my fans and a temperature probe running thru the Commander Pro. I wanted to be able to monitor the fan RPM and my coolant temperature, to verify the fan curves stayed applied in macOS but also because I like having those temps readily accessible so I can see what the computer is "doing". CommanderProFix does work on Big Sur, and as of yet nobody has yelled at me telling me this is a horrible idea or horrible way to fix this ¯\_(ツ)_/¯
- No need to disable the Commander Pro in your USB map, which means:
- You can still fully access USB headers connected to the Commander Pro
- liquidctl remains usable for pulling fan and temperature sensor info / RGB control
- OpenRGB might work (will need to test - my ASUS Aura device showed on the same USB port as the Commander Pro)
- macOS no longer harrasses you about your "UPS" battery being dead
- If you have a USB UPS, you probably can't poll it for data and have it integrate into macOS anymore.
-revoff
(or-liluoff
) to disable-revdbg
(or-liludbgall
) to enable verbose logging (in DEBUG builds)-revbeta
(or-lilubetaall
) to enable on macOS older than 10.8 or newer than 11-revproc
to enable verbose process logging (in DEBUG builds)
- Acidanthera for RestrictEvents
- Apple for macOS
- vit9696 for Lilu.kext and great help in implementing some features