Search Everything in One Place

Explore the web, images, videos, news, and more – all in one place.

News

I blamed a firmware update for bricking my laptop, but I couldn't have been more wrong

I blamed a firmware update for bricking my laptop, but I couldn't have been more wrong
I blamed a firmware update for bricking my laptop, but I couldn't have been more wrong

It wasn't what I expected.

I respect Framework as a company and appreciate the routes it takes to ensure serviceability, upgradability, and supporting a healthier environment with less e-waste. What should be a platform that could evolve as time passes by, unlocking additional performance and other features with new parts, can be held back by software if things don't go according to plan. At least, that's what I thought happened to the Framework Laptop 13 I have with the AMD Ryzen 7 7840U CPU. I believed I managed to brick the thing by updating the firmware through fwupd. Turns out it was the USB-C cable I was using.

The Framework Laptop 13 wouldn't charge

After updating parts of the firmware to later versions

Framework Laptop 13
Framework Laptop 13

I begrudgingly switched from the Framework 13 after some months' worth of testing to the Snapdragon-powered Yoga Slim 7x Gen 9 for a good while. This wasn't because the Framework 13 was a bad laptop. Actually, it's fantastic, and I'm sure the Framework 16 is that little bit more awesome, but the AMD chip inside just isn't the most energy-efficient. It gets hot, the fans spin up, and it's just not that great on the go. It's perfectly serviceable, and I had no problems using the Framework 13, but the Snapdragon X Elite is just that much better, even if it meant I had to use Windows.

What I didn't expect to find was the battery continuously cycling between charging and discharging.

I extracted the Framework 13 from storage the other day and decided to fire it up, having missed Hyprland and Arch a little too much on my mobile PC. Windows on Arm is solid, but it's still Windows. I just can't get along with it for too long, which seems to be a little like having family stay longer than originally planned. Things start to get frustrating and irritable, which led me to wanting to get Linux back on my laptop. Attempting to get the Yoga Slim 7x Gen 9 to run Linux is a mission doomed for failure, so I plugged the Framework in and let it charge back up. It was great to be back on the platform.

All was well; everything worked as it did and was expected. I then updated the entire system through pacman. After rebooting, I wanted to get all the hardware up to speed with the most recent firmware. Knowing just how weird and wonderful this particular AMD chip is, I wanted to see what the later software releases would do for the laptop. Everything was provided by Framework through fwupd. I didn't note precisely what was updated after running fwupdmgr refresh, fwupdmgr get-updates, and fwupdmgr update, I expected to reboot with an updated machine. What I didn't expect to find was the battery continuously cycling between charging and discharging.

I thought it was the firmware updates

I've gotten far too comfortable with updates

Framework Laptop 13
Framework Laptop 13

UEFI update? No problem. More than 2GB of Linux OS and package updates? Go for it. I have gotten far too comfortable running updates, especially on live systems, which is precisely what my Framework Laptop 13 is. Sure, I have the Yoga as a backup, but it may not have been the case. I could have simply run through these hoops blind with the Framework as the only laptop at hand. That would have made this a whole different situation, but I still should have made notes of precisely what was being updated, just in case something went wrong and this could happen. I experienced just that last week with Immich, requiring a rollback.

Granted, a community-built app that specifically states it's not quite ready for production isn't really comparable to a hardware company providing updates for one of its products, but it still boils down to not being prepared enough. Because the updates came from Framework, I simply trusted them blindly. What I didn't expect to see was the battery status indicator in the top bar cycling between the various modes, indicating a problem with what I believed to be the power delivery (PD) controller. You may question why I stated the laptop is fully bricked when it can run Linux fine, and it is possible to charge the laptop to full by resetting the PD and battery connection within the BIOS and not turning it on.

That's because it really isn't a usable laptop in its current state. The Framework had effectively become a desktop with a built-in UPS—and a rapidly shrinking runtime. I wasn't able to charge the laptop at all. It would simply drain to empty even as it cycled between charge and discharge. The only way to top it up would be to reset it enough that the PD would establish a stable connection with the official charger. That's what was particularly annoying with this problem, as the board, CPU, RAM, SSD, Wi-Fi, and everything else were all working perfectly fine.

Even the battery was healthy and held a charge to 100%.

But it was actually the cable

And yes, I felt like such a plonker

Framework Laptop 13
Framework Laptop 13

I wanted to document this as I've never experienced this with all the laptops I've bought, used, and tested. I've focused on the battery and controller so far, but this has been limited to what Framework exposes within the BIOS. Since I believe this to be caused by the PD controller, resetting through the BIOS seemed like the right idea. I then tried various USB combinations of all the removable ports. The Laptop 13 has four interchangeable USB-C ports with adapters. I tried both USB-C adapters I have on all four ports. Still no joy. The only thing that works is to directly bypass the adapters and connect the charger to one of the internal USB-C ports.

But that then fails if the laptop powers on. So, I can only charge with the laptop completely off, the PD controller reset, and one of the internal adapter USB-C ports used. Whatever the most recent firmware updates did, they did seem to have left the controller in a somewhat broken state where a stable connection between the battery and charger simply cannot be established. I should have noted precisely what was being updated on the system as well as all the necessary version information, but hindsight is a wonderful thing. Thankfully, fwupdmgr get-history did provide some assistance.

I had spent hours troubleshooting the wrong component.

The update failed with EFI error code 21. Reports from other Framework owners, along with Framework’s own troubleshooting questions, pointed me toward the laptop’s AC and battery status. So that's when I turned to the power brick. This is the official Framework power brick, though I'm using an aftermarket cable rated for 60W. This worked fine for charging my phone and powering the Yoga Slim 7x Gen 9, but this was naive of me since both of these devices either pull less power or handle communication with cables and power supplies differently. Just because it works with another device doesn't mean it's flawless.

I connected a known-good 65W charger using its own USB-C cable. The Framework immediately began charging normally. To isolate the fault, I connected the original Framework power brick using a different USB-C cable. That worked too. The common factor was no longer the charger, laptop, firmware, or expansion cards. It was the aftermarket cable. Despite being advertised for 60W power delivery, the cable was evidently defective, marginal, or incompatible with this particular charger and laptop combination.

Choosing the right USB-C cable is no joke

Part of me refuses to believe I was caught by picking up a bad cable. I thought I had done enough research to see that this cable would do the job. That and it wasn't bought for handling the charging of a laptop. The blue USB-C cable I switched to was bought for our mini PC console in the living room to attach wired controllers. I only used it with the Framework brick and Yoga PC because my puppy decided it would be fun to chew through the cable Framework packaged with the Laptop 13. We've written about the importance of choosing the right USB-C cable here at XDA, and it's absolutely no joke.

Read full story on XDA Developers

Related News

More stories you might be interested in.

Top