this post was submitted on 08 Mar 2024
56 points (95.2% liked)

Linux

48656 readers
549 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

more questions about the MacBook Pro, Core i5, 2.8 GHz (I5-4308U), model A1502 (EMC 2875), a model where I cannot disconnect the battery, because the whole case is closed, a model Im going to use to experiment with mac and create a partition to install a linux distro alongside the mac os.

My favorite notebook is a one that lets me take the battery off if I don't need it. This way I've been able to need just one battery in the last 8 years. Regarding the mac, I'm going to need a new battery (it lasts 5 hours the most) and don't want to waste charging cycles.

My question is twofold:

  • Is there any linux program that lets me manage the battery so I can choose to rely solely on outlet power, even if I cannot physically remove the battery?

  • the same question for mac.

all 41 comments
sorted by: hot top controversial new old
[–] [email protected] 17 points 9 months ago (2 children)

For under Linux I found this, and for under macOS I found this.

[–] [email protected] 8 points 9 months ago

I’m a MacBook user and I’ve been very happy with AlDente. It took some reading to understand all the features but I really believe it’s made a difference in the health of my battery.

[–] [email protected] 3 points 9 months ago

Thanks for sharing. Now I know why my battery never charges over 80% unless I force it

[–] [email protected] 9 points 9 months ago* (last edited 9 months ago)

For devices where the kernel directly supports controlling the charging limits, you may be able to do that with the controls in /sys/class/power_supply/{probably BAT0}/. Specifically you should be looking for the charge_start_threshold and charge_stop_threshold files, but I remember as if sometimes there would be some variance in the names.
If you have kernel support, you should be able to use TLP to make better use of this functionality, and in theory KDE's xbattery and brightness" widget should also show controls related to it, but I couldn't see it in action myself.

For devices that use the EC (Embedded Controller) of chromebooks (I think such are the Framework laptops too) you can use the ectool command utility made for those. Framework makes available a precompiled version, that should work for chromebooks too when running Linux.
Possibly it still depends on your specific device whether it will work, but the ectool chargecontrol idle command should make it stop using the battery while it is plugged in to a sufficiently powerful charger, and ectool chargecontrol normal should be able to restore it.
I recommend checking out the other commands of both the ectool command and the chargecontrol subcommand if you see anything interesting (though do be cautios!), for instance with chargecontrol you can also set an interval of a charging boundaries, or read the current state.
It's worth to note though that I remember reading somewhere (maybe in the chrome ec docs?) that this does not work with all chargers, but it should be ok with the original one you got with the device.

[–] [email protected] 8 points 9 months ago* (last edited 9 months ago) (3 children)

When connected to the outlet it will be running solely on outlet power just by default, you don't need to do anything specific.

Edit: Now that I re-read this OP, it sounds more like you want to stop the battery from charging when connected to AC.

[–] [email protected] 12 points 9 months ago (1 children)

That’s… not true.

It will still run through the converters and boards inside the laptop since it runs on DC and the power from the outlet is AC. Depending on how it’s setup, the current very well could go through the battery instead of bypassing it before it reaches the laptop from the converters.

Basically you don’t know unless you try. Some laptops work when you remove the battery and some don’t. Just like phones or any other electronic.

[–] [email protected] 0 points 9 months ago (2 children)

Current can't go through a battery, only in or out.

When connected to AC it will be running off AC, and also charging the battery.

[–] [email protected] 3 points 9 months ago (1 children)

That's not entirely true. A battery can definitely be part of a running circuit and current definitely goes through it, otherwise it wouldn't be usable.

[–] [email protected] -1 points 9 months ago (1 children)

It can be part of a circuit, but charge either goes in or comes out, it can't do both at the same time.

[–] [email protected] 2 points 9 months ago

I'm sorry but you're mixing concepts. Electrical charge: measured in Coulombs, physicaly either electrons or gaps. Current: movement of electrical charge. Battery charge: chemical capacity to generate a voltage differential. Voltage differential: the potential energy difference that pushes charges through a circuit.

Electrical charges need to move through a battery for it to do useful work. If the battery is causing the movement (current), it is depleting its chemical charge. If the battery is not pushing the electrons, it's likely being chemically charged (the complexities of which are beyond a lemmy comment). In both cases, the battery is part of the circuit that is conducting electrical charge. If there are no parallel paths and you remove the battery, the circuit ceases to exist and so does the current.

[–] [email protected] 7 points 9 months ago (2 children)

It's also going to charge the battery.

[–] [email protected] 7 points 9 months ago* (last edited 9 months ago) (1 children)

Some laptops allow for controlling level kf charge. For example I keep my battery at 65% to prolong its life. If its supported, you should be able to set it through /sys/class/power_supply/bat0/charge_level

~~i dont rember file name and path exactly but shouldnlook like this~~

Edit: Correct filename is /sys/class/power_supply/BAT0/charge_control_end_threshold

[–] [email protected] 3 points 9 months ago (1 children)

I do the same. My laptop had a weird bug where it would reset that value to 100 every reboot, so I made a systemd service to write it at every boot.

[–] [email protected] 2 points 9 months ago (1 children)

my laptop does reset it every reboot.

If you are using KDE, you can just use KDE's battery manager to set it there.

otherwise, your solution is good too.

[–] [email protected] 1 points 9 months ago

Even in KDEs battery manager, I was having the same issue.

[–] [email protected] -1 points 9 months ago (3 children)

Correct, but the laptop will be running off AC.

[–] [email protected] 5 points 9 months ago

But the concern is about the battery, so that's kinda moot.

[–] [email protected] 6 points 9 months ago* (last edited 9 months ago)

For anyone else commenting about taking our the battery, that is not really the solution. The goal here is not to do this temporarily once in a blue moon, but to do this regularly, at home, at work, everywhere we charge, to try to save the battery condition.

Fortunately this is an existing thing.. just not on all laptops.

[–] [email protected] 4 points 9 months ago (1 children)

You are not wasting charge cycles by leaving the battery plugged in. it is not being held at optimal charge for storage but it will last a lot longer plugged in.

It would be the worlds stupidest engineer that would design a power circuit attached to a potential class d fire hazard that had access from anything other that possibly contact pads on the controller itself. If i were a bad actor and the os has a way to access the charging circuit i would firebomb your house by telling the controller the battery is empty and have it over charge. This would be bad.

Note: I see that apple may have done the dumb and i am facepalming

[–] [email protected] 1 points 9 months ago

There are a number of commands an operating system can safely give to the charge controller. Examples include:

  • Run the device from external power; do not charge the battery
  • Limit/taper charge to X percent/voltage (assuming X is under the maximum)
  • Limit the charge rate to (something under the maximum)

Lower-level control could potentially allow extremely dangerous operations like unbalancing the cells or overcharging the battery, which would be bad.

[–] [email protected] 3 points 9 months ago

The bottom is quite easy to take off, just some screws around the perimeter and you’re in. You can unplug the battery pretty easily but it’s harder to remove as it’s glued down. Also I’m pretty sure MacBooks severely underclock the processor if there’s no battery so your performance may suffer. Been through the same thing with my 2013 MacBook Pro. It’s a Linux mint server now.

I’m not 100% sure but which power source you are using, and whether or not the battery seems more like a BIOS or SMC thing, so I’m not sure if even Linux would be able to access it. I could also be totally wrong

[–] [email protected] 3 points 9 months ago

If you use Gnome, this is what I use: https://maniacx.github.io/Battery-Health-Charging/ You find it also in the extensions. It is really great.

[–] [email protected] 3 points 9 months ago
[–] [email protected] 2 points 9 months ago* (last edited 9 months ago)

The case may be closed but you could open it and disconnect the battery. That model is a pain to replace the battery but easy to open and disconnect. Not sure if this would cause any issues if plugged in or if the machine would boot.

[–] [email protected] 2 points 9 months ago

The usual way is to disconnect the battery, hold the power button down and plug the adapter in before you release it. On the older ones the fans spin up really loud.

That battery isn’t going to get you a bunch of charging cycles, but especially for something made in the last decade, lithium ion batteries will do fine when you leave em plugged in. The computers charge controller is pretty decent and won’t let you overcharge or otherwise damage the battery.

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

I would assume that's something in the bios settings if it exists. But I could be wrong.

Maybe this: https://forums.linuxmint.com/viewtopic.php?t=371122

[–] [email protected] 1 points 9 months ago

I think tlp-ui can do this, but only on specific devices. IIRC, you set the charging thresholds in such a way that the battery will not charge. For example, configure to prevent charging until below 40% and as long as the battery is above that threshold, no charging should take place.

However, this likely means that as soon as your device goes to sleep or powers off, the battery begins charging again.