** Description changed: + Thank you @kevintate for the original bug report. + + [Impact] + + Currently there is an issue with the ac_on_power script where it thinks that USB-c ports with devices plugged in to them are plugged in to power. This is because the script does not check first if these usb-c ports are in sink or source mode first. + The solution is to check /sys/class/typec/* for the mode these usb ports are in, and ignore them if none of them are running in source mode. + + [Test Plan] + + On a device with a USB-c port (it does not matter if the port can be + used for powering the device or not) run the following test: + + 1. Install the patched version of on_ac_power + + 2. run: $ on_ac_power + + 3. check the return value: $ echo $? + + compare the return value with the actual state of the machine. If the + machine is not plugged in to power, you should expect 0 as the return + code. + + If the machine is plugged in then the return code should be 1. + + If you receive 255 as an return code then the script was unable to + determine the power profile of the machine and is related to the kernel + not exposing enough information to user space. Consumers of on_ac_power + generally consider such a return code as the machine being plugged in to + power. + + [Where problems could occur] + + * the script could still incorrectly return the state of power of the + machine, specially if the kernel incorrectly advertises a usbc port to + be in a different mode then it is in. + + + [Original Description] Good afternoon, folks. I believe I discovered a bug in the /usr/sbin/on_ac_power script. I have a Dell OptiPlex 5090 host that has an entry in /sys/class/power_supply for "ucsi-source-psy-USBC000:001". I believe this is the USB-C power delivery port on the front of the chassis. The issue I'm encountering is that /usr/sbin/on_ac_power is exiting with code 1 which states: (1 (false) if not on AC power) when that isn't the case. This looks to be because of the ucsi-source-psy-USBC000:001 entry reporting the "online" status as 0, presumably because nothing is currently connected to that USB-C port. This causes /usr/sbin/on_ac_power to incorrectly report that the machine isn't connected to AC power and causes other utilities like unattended- upgrades to quit when using the default configuration since it believes the machine isn't connected to AC power. There is a workaround with unattended-upgrades where you can specify it to run regardless of if AC power is connected, but as more and more chassis implement power-delivery USB-C ports I foresee this becoming more of an issue. I'm not sure if it's anything to look into, but I figured I would share my findings. Please let me know if you have any questions or if I can provide any additional information, troubleshooting, or testing. Thanks! -Kevin
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1980991 Title: /usr/sbin/on_ac_power incorrectly reporting ac power status To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/powermgmt-base/+bug/1980991/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
