Hi,

On Sat, 06 Dec 2025 12:10:15 -0800
Ian Eure <[email protected]> wrote:

> Hey there, I recently was given a broken T480, which I was able to 
> get working again, and put Guix on.  I know that these fairly 
> recently got Libreboot support, and I’m interested in running that 
> on it.
[...]
> Does anyone know if LibreBooted for the T480/T480s has [OEM support
> for setting battery charging thresholds]?

Do you use tpacpi-bat / tp-smapi-module? In both cases "Only the
original vendor firmware is supported.".

For tp-smapi-module this is mentioned in the package description.

For the tp-smapi-module kernel module, it calls the nonfree BIOS at
runtime to configure the battery charging. "Only the original vendor
firmware is supported." needs to be added to the package description.

And while Coreboot reuses a lot of nonfree code for supporting this
computer (Intel FSP), the code that tp-smapi depends on is
probably separate from all that and probably from Lenovo.

That code runs inside SMM (system management mode, a CPU mode more
powerful than the kernel mode).

Since ultimately, this code is talking to the embedded controller, and
that it is relatively easy to talk to that somewhat directly with free
software, including under GNU/Linux with simple shell utilities, what
remains to be done is to understand what commands the nonfree SMM code
sends to the embedded controller.

To do that, it might be possible to sniff the bus the embedded
controller is connected to on the mainboard, or to somehow try to
capture the commands sent to the embedded controller in some other ways
(run the code in QEMU, and relay the commands to the hardware somehow,
while sniffing them in software, similar to what SerialICe does).

Once this is done, the same commands can easily be implemented in
shell scripts. And maybe some people may want to pick that work up, to
add that in Linux to enable any program (power management utilities,
Gnome, KDE, etc) to use that feature.

Denis.

Attachment: pgpsA3iQfSGMA.pgp
Description: OpenPGP digital signature

Reply via email to