AC adapter not detected after USB-C reconnect on Lenovo Yoga 7 (83JQ)

Hi,

I’m a noob in Fedora and Linux.
I’m pretty happy with my Fedora laptop setup.
After updating some packages through discover I noticed that my notebook doesn’t charge.
So I began investigating with the help of ChatGPT :smiley:.

My findings:

  • Worked before an update - I can’t find a list of updated packages as dnf history doesn’t show anything
  • I’m using the original charger which worked previously.
  • Also testing other known good chargers.
  • there are no ACPI events

Workaround

  • Enable a feature in BIOS that will display the battery information when turned off. Plug it in. Left port doesn’t do anything but the right one now starts charging.
  • After booting back up and logging in it works but after reconnecting it stops charging

##usb-c state (after reconnect):

  • /sys/class/typec/port0/power_role = sink
  • /sys/class/typec/port0/power_operation_mode = usb_power_delivery
  • waiting_for_supplier = 0

System:

  • Fedora Linux 43 (KDE Plasma)
  • Kernel: 6.19.11-200.fc43.x86_64
  • Laptop: Lenovo Yoga 7 2-in-1 14ILL10 (83JQ)
  • CPU: Intel Core Ultra 7 256V
Device: /org/freedesktop/UPower/devices/battery_BAT0
  native-path:          BAT0
  vendor:               SMP
  model:                L23M4PF3
  serial:               6322
  power supply:         yes
  updated:              pá 10. dubna 2026, 15:50:10 (28 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               discharging
    warning-level:       none
    energy:              15,99 Wh
    energy-empty:        0 Wh
    energy-full:         70 Wh
    energy-full-design:  70 Wh
    voltage-min-design:  7,74 V
    capacity-level:      Normal
    energy-rate:         6,869 W
    voltage:             7,435 V
    charge-cycles:       33
    time to empty:       2,3 hours
    percentage:          23%
    capacity:            100%
    technology:          lithium-ion
    charge-threshold-supported:    yes
    icon-name:          'battery-low-symbolic'
  History (rate):
    1775829010	6,869	discharging
    1775828980	16,112	discharging
    1775828950	6,692	discharging
  History (voltage):
    1775829010	7,435	discharging
    1775828980	7,381	discharging

Device: /org/freedesktop/UPower/devices/line_power_ADP1
  native-path:          ADP1
  power supply:         yes
  updated:              pá 10. dubna 2026, 15:02:30 (2888 seconds ago)
  has history:          no
  has statistics:       no
  line-power
    warning-level:       none
    online:              no
    icon-name:          'ac-adapter-symbolic'

Device: /org/freedesktop/UPower/devices/DisplayDevice
  power supply:         yes
  updated:              pá 10. dubna 2026, 15:50:10 (28 seconds ago)
  has history:          no
  has statistics:       no
  battery
    present:             yes
    state:               discharging
    warning-level:       none
    energy:              15,99 Wh
    energy-full:         70 Wh
    energy-rate:         6,869 W
    charge-cycles:       N/A
    time to empty:       2,3 hours
    percentage:          23%
    icon-name:          'battery-low-symbolic'

Daemon:
  daemon-version:  1.91.2
  on-battery:      yes
  lid-is-closed:   no
  lid-is-present:  yes
  critical-action: Sleep

dnf on the command line uses dnf5 for its functions.
If the updates were done using the package manager for the OS (gnome software or discover depending upon which variation of fedora is installed) that package manager uses dnf4 in the background so its database and cache is in a different location.
To see what the history is for using the gui package manager you would need to use dnf4 history list on the command line to see all the entries.

You haven’t mentioned your Fedora version or how you updated (command-line, Gnome Software, etc.). Try dnf4 history.

https://unix.stackexchange.com/questions/766953/usb-c-power-delivery-charging-not-working-on-linux has a workaround:

Have exactly the same issue (asus laptop, ryzen), in my case I fixed it by echoing "source" and then "sink" to /sys/class/typec/port0/power_role (depends on port you plugged), and voila it starts to charge.

It’s now working. I have updated and reset the EC and it came back to working condition. Weird thing is that /sys/class/typec/port0/power_role was showing "sink" and "source" correctly.