[Bug 1980991] [NEW] /usr/sbin/on_ac_power incorrectly reporting ac power status
Launchpad Bug Tracker
1980991 at bugs.launchpad.net
Mon Aug 12 15:25:34 UTC 2024
You have been subscribed to a public bug by Ghadi Rahme (ghadi-rahme):
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
** Affects: powermgmt-base (Ubuntu)
Importance: High
Assignee: Ghadi Rahme (ghadi-rahme)
Status: Fix Released
** Affects: powermgmt-base (Ubuntu Focal)
Importance: Undecided
Assignee: Ghadi Rahme (ghadi-rahme)
Status: Confirmed
** Affects: powermgmt-base (Ubuntu Jammy)
Importance: Undecided
Assignee: Ghadi Rahme (ghadi-rahme)
Status: Confirmed
** Affects: powermgmt-base (Ubuntu Kinetic)
Importance: High
Status: Won't Fix
** Affects: powermgmt-base (Ubuntu Lunar)
Importance: High
Status: Won't Fix
** Affects: powermgmt-base (Ubuntu Mantic)
Importance: High
Assignee: Ghadi Rahme (ghadi-rahme)
Status: Won't Fix
** Affects: powermgmt-base (Ubuntu Noble)
Importance: High
Assignee: Ghadi Rahme (ghadi-rahme)
Status: Confirmed
** Affects: powermgmt-base (Ubuntu Oracular)
Importance: High
Assignee: Ghadi Rahme (ghadi-rahme)
Status: Fix Released
** Affects: powermgmt-base (Debian)
Importance: Unknown
Status: New
** Tags: foundations-todo fr-2548
--
/usr/sbin/on_ac_power incorrectly reporting ac power status
https://bugs.launchpad.net/bugs/1980991
You received this bug notification because you are a member of Ubuntu Sponsors, which is subscribed to the bug report.
More information about the Ubuntu-sponsors
mailing list