[TRACKING] Fedora 37 12th gen laptop suddenly no longer charging battery

I upgraded my Framework laptop from Fedora 36 to 37 two days ago. All went well and the laptop was working fine after the upgrade. As of this morning though the laptop no longer charges when plugged into various chargers with a range of USB C cables that work fine for other devices. The light in the USB C expansion cards comes on when the cable is plugged in, and other aspects of the USB connection (e.g. data transfer) work fine. It’s only charging which has stopped working.

I tried removing the expansion cards and plugging the charging cable directly into the USB sockets. Nothing. I’m a bit stuck now. I have raised a support ticket with Framework but I wondered if anyone had any ideas in the meantime.

Let’s see if we can determine what is happening here.

Please open a terminal and paste in the following:

upower -i /org/freedesktop/UPower/devices/battery_BAT0

If that gives a native path of null, try again with:

upower -i /org/freedesktop/UPower/devices/battery_BAT1

Then reply back with the results copied and pasted here please.

@Matt_Hartley

Thanks for replying. Here’s what I got:

native-path:          BAT1

vendor: NVT
model: Framewo
serial: 00C5
power supply: yes
updated: Fri 18 Nov 2022 00:08:54 GMT (4 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: discharging
warning-level: low
energy: 8.2544 Wh
energy-empty: 0 Wh
energy-full: 53.823 Wh
energy-full-design: 55.0088 Wh
energy-rate: 17.941 W
voltage: 14.401 V
charge-cycles: 9
time to empty: 27.6 minutes
percentage: 15%
capacity: 97.8443%
technology: lithium-ion
icon-name: ‘battery-caution-symbolic’
History (charge):
1668730131 15.000 discharging
1668730101 0.000 unknown
History (rate):
1668730134 17.941 discharging
1668730131 18.865 discharging

BAT0 native path was null.

Developments!

When I tried to power up the laptop this morning the battery was completely drained, from about 15% the night before. So I plugged in the charging cable just to see what would happen, and the laptop started charging immediately. I have had it charging for the past few hours to get it back to 100%, then unplugged the charger and let it run down a bit before trying to charge again. It appears to be working fine now but I will keep testing it throughout today.

It seems to me that for some reason the laptop got into a state where the battery needed to completely discharge before charging would be possible again. That’s quite weird I think.

I had the same issue with Fedora 36 after connecting both my regular charger AND an external thunderbolt 3 eGPU (which also tries to supply power). It refused to charge (across many reboots, trying all ports, and connecting straight to the chassis). After it went entirely to zero, it started charging again.

1 Like

Interesting. I wonder if it’s a Fedora issue, a Framework issue, an Intel issue, or… something else? I have no skills to figure that out at all. I remember reading about dodgy USB-C charging cables sometimes causing laptop batteries to completely die so I was dreading that possible outcome yesterday. At least this situation doesn’t result in a bricked machine.

It isn’t exclusively a Fedora issue, as rebooting into windows didn’t fix it (although it’s still possible the error only triggers in the first place on Linux).

@Caleb_Davis If the issue is happening in two completely unrelated operating systems, I’d do the following:

  • I’d first remove from power, then remove the laptop battery. Press and hold the power button for a few seconds. Wait 10 to 15 minutes (overkill, but being thorough), re-attach the laptop battery, plug in power to the wall.

If this does not charge the battery given a decent amount of time (at least a few hours to allow a charge to happen):

2 Likes

Thanks Matt,

As I said in my first reply, once the battery went entirely to zero, the machine started charging again.

When the problem started for me last week, I actually did open a support request, and sent a few mails back and forth with troubleshooting suggestions/results.

I was hoping that publicly recounting both of our experiences might shed more light on the root cause of this problem. Fingers crossed I never have to deal with it again!

2 Likes

Delighted to hear that the battery memory reset itself and “righted.”

I’ve seen this on other laptops before and it is maddening to be sure.

@Matt_Hartley Well I just had the same behavior got down to 2% charge before I noticed it. When plugged into the TBT3 dock (in this instance a Lenovo Thunderbolt 3 Dock 40AC0135US) it will cease to charge. This occured while I had a 100w charger plugged in as well. I find it extremely doubtful this is a Fedora issue. My suspicion is this is a firmware issue, with how it is negotiating power delivery. The charger alone does not have this problem.

There are multiple similar threads throughout the forum describing similar issues. I am beginning to doubt they are caused by defective gear.

I am seeing this:

[   17.441276] cros-usbpd-charger cros-usbpd-charger.2.auto: No USB PD charging ports found
[   17.442069] cros-usbpd-charger cros-usbpd-charger.2.auto: Unexpected number of charge port count
[   17.442071] cros-usbpd-charger cros-usbpd-charger.2.auto: Failing probe (err:0xffffffb9)
[   17.442073] cros-usbpd-charger: probe of cros-usbpd-charger.2.auto failed with error -71

So this last bit occurred while the charger was plugged in along with the docks pd/thunderbolt port. Thunderbolt should be able to negotiate to one, but it fails to do.

While connected to the charger and a regular thunderbolt port on the dock i.e. not the one designated to attach to the laptop/pc this does not appear to occur.

Thanks for the update. Bear with me as I ask stupid questions here that may feel super obvious.

  • You plugged power into the dock and the dock into the Framework? This would match up if the power delivery as you indicated is not cooperating at a lower level. Nice dock, btw.
  • I see one of them and yes, it appears a dock is in play there as well. Your log was very helpful as it allowed me to match things up to other threads nicely.

I agree, this is likely firmware.

I’d love to see this tested on another distro, just to rule out any usbpd weirdness with this installation and to validate the likelihood of this being firmware.

1 Like

@Matt_Hartley Charger to laptop, also power supply to dock, designated laptop thunderbolt port on dock to laptop. Eventually charging breaks. It should default to the strongest power delivery.

You can see similar output on Archlinux Talk:Framework Laptop - ArchWiki

Currently waiting for powerdelivery to fail when the only source is the dock. Will post the relevant event when it happens.

Charger only offers stable power delivery.

Update: Unfortunately outside of:
Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7

Getting spammed, which is a known issue, there are no other events that would suggest why power delivery stops when receving power only from the dock.

Just a quick update, on Fedora 37 I’ve been able to replicate these errors merely rebooting, on battery.

[ 17.441276] cros-usbpd-charger cros-usbpd-charger.2.auto: No USB PD charging ports found
[ 17.442069] cros-usbpd-charger cros-usbpd-charger.2.auto: Unexpected number of charge port count
[ 17.442071] cros-usbpd-charger cros-usbpd-charger.2.auto: Failing probe (err:0xffffffb9)
[ 17.442073] cros-usbpd-charger: probe of cros-usbpd-charger.2.auto failed with error -71

These errors appeared on 3 separate 6.x kernels. Yet on the affected system I have had no issues with power, battery or otherwise.

On the note of the dock itself, is this a known compatible charger that came with the dock? Silly question, but I have to ask.

@Matt_Hartley yes it is the standard lenovo 135w power adapter sold with the dock.

Interesting about the errors on reboot with a battery. Digging into it I am seeing those likewise. Well false positive…I hate troubleshooting thunderbolt issues.

Pretty sure it is not Fedora related as the dock works fine with a Lenovo T480s running Fedora 37. Also pretty sure it is not the dock or cable. Leaves only the fimrware really…and just got confirmation from support recommending BIOS 3.06 as soon as it becomes available.

And now I had a stop charging event with direct power from a 100w charger, and the thunderbolt port from the dock. The dock is completely unusable at this time if it is going to create a no charge event, and now the laptop won’t register the charger being plugged in solo. Going to run through the troubleshooting steps, to get this charging again. Really hope that new BIOS comes through soon.

Disconnecting the battery in the BIOS and plugging the charger in gets it charging again. Anyone out there on a 12th gen on Fedora 37 using a dock that does not have these issues please chime in. I am definitely in the market for a dock that does not have these issues with this laptop.

And now it looks like I solved my original charging issue, i.e. the dock would just stop charging the laptop. PEBKAC, did not read the the change log for TLP and got slapped in the face. Apparently a large number of configuration options were changed with the new version. Docks in general do not like autosuspend. Previously one would add them to USB_BLACKLIST, which I did…now it is USB_DENYLIST. So while I got lucky and it did not affect the ethernet connection which is a usual symptom, it did not like power delivery negotiation once at a full charge, and looks like autosuspend was creating a conflict it won. Charging woudl just stop. After I caught this mistake, I configured it with the new option, and it has now been charging for 8+ hours without interruption. Still interesting that this would interfere with a directly plugged in charger. So dock charging over thunderbolt appears to be solved, and hopefully the new BIOS will take care of the other scenario.

2 Likes

TLP has been interesting lately, Most recently, the normal tweaks to the TLP conf and blacklisting for the Ethernet card no longer works. Now you must make these changes via grubby (into grub). So at this point, I feel like something has changed with TLP interactions.

For example for our Ethernet expansion card:

sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="usbcore.quirks=0bda:8156:k"2

Delighted to hear this!

1 Like