Tealk
1
Here’s a concise how-to guide for activating “Preserve Battery Health” in Gnome 48 on Framework 16 with Fedora 42 Silverblue; inspired by GNOME 48: Preserve Battery Health - #4 by Guldoman
-
BIOS Preparation
- Set battery limit to 100%
- Disable battery extender
-
Kernel Module Configuration
sudo tee /etc/modprobe.d/fw_use_cros_charging.conf <<< "options cros_charge_control probe_with_fwk_charge_control=Y"
-
System Reboot
sudo systemctl reboot
-
Verify Driver Activation
journalctl -b0 | grep "Framework charge control detected, preventing load"
- No output indicates successful configuration
-
Locate Battery Health Option
- Navigate to Settings → Energy
- Find “Preserve Battery Health” entry
3 Likes
Used to work like a charm on Laptop 16, but when upgrading to latest BIOS 3.0.7, the battery goes on to charging to 100%, ignoring gnome setting.
Has anybody found the solution ?
Tealk
4
have the same Problem, maybe a bug in Bios?
I reverted to BIOS 3.0.5 and problem dissapeared. It looks like a bios Bug.
For the record i use Debian 13 as OS.
Leonard
6
Is there currently no workaround for this apart from using framework_tool or downgrading BIOS?
Tealk
7
My Setup:
Framework Charge Limit Service - Setup Guide
1. Download and install framework_tool
sudo wget https://github.com/FrameworkComputer/framework-system/releases/latest/download/framework_tool -O /usr/local/bin/framework_tool
sudo chmod +x /usr/local/bin/framework_tool
2. Create systemd service file
Create /etc/systemd/system/framework-charge-limit.service:
sudo nano /etc/systemd/system/framework-charge-limit.service
Add the following content:
[Unit]
Description=Framework Charge Limit Service
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/framework_tool --charge-limit 60
ExecStop=/usr/local/bin/framework_tool --charge-limit 100
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
3. Set SELinux context
sudo semanage fcontext -a -t bin_t '/usr/local/bin/framework_tool'
sudo restorecon -v /usr/local/bin/framework_tool
4. Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable framework-charge-limit.service
sudo systemctl start framework-charge-limit.service
5. Verify status
sudo systemctl status framework-charge-limit.service
Management commands
# Stop (sets limit to 100)
sudo systemctl stop framework-charge-limit.service
# View logs
sudo journalctl -u framework-charge-limit.service -e
Done! The service will now run at boot and set the charge limit to 60.
Tealk
8
But the tool doesn’t seem to be working properly:
Interested in getting this to work as well
system
Closed
10
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.