Page MenuHomeSolus

Closed, WontfixPublic


description: A linux kernel module that enables calls to ACPI methods through /proc/acpi/call. Now with support for Integer, String and Buffer parameters. (Needed for setting battery charge thresholds and recalibration in tlp on recent thinkpad models (Sandy Bridge and newer) )
open source: yes, GPL3

Related Objects

Duplicates Merged Here
T1402: acpi_call

Event Timeline

DataDrake claimed this task.
DataDrake added a subscriber: DataDrake.

No new releases or commits in 3 years. This is clearly abandoned and not eligible for inclusion.

I should have checked that better, I'm sorry.

paule added a subscriber: paule.

abandoned or not, on my Thinkpad T440s tlp asks me to install it, otherwise the extended battery functions are not available, and I'd love to manage this with tlp.

+++ Suggestions

  • Install acpi-call kernel module for ThinkPad advanced battery functions

Error: ThinkPad extended battery functions not available.

could you please include it?

JoshStrobl changed the edit policy from "All Users" to "Triage Team (Project)".

for those having the same issue,

i installed it from source and now the extended battery functions are working perfectly.
need to edit "acpi_call.c" and change
#include <acpi/acpi.h> to
#include <linux/acpi.h> before compiling.




I'm also in need of this module for my thinkpad, but am having some trouble compiling from source. would you be willing to write up a short tutorial on the Solus Forum about how you got this working?

thanks in advance!

@hexive - here's a draft of what I think you'd need to do. edits from others welcome.

  1. sudo eopkg install linux-lts-headers or linux-current-headers depending on your kernel (if you don't know, uname -r will tell you)
  2. sudo eopkg install -c system.devel
  3. git clone
  4. cd acpi_call
  5. use nano/vim/atom/whatever to edit acpi_call.c and make the change @paule noted above, save and exit.
  6. make
  7. sudo make install

You'll probably need to do this for each new kernel, since the module is installed into the headers for the specific kernel.

@mcritchlow Here are instructions for successfully building the kernel module on current Solus:

  1. git clone
  2. cd acpi_call
  3. sudo eopkg it -c system.devel
  4. sudo eopkg it libelf-devel linux-current-headers (linux-lts-headers if running LTS kernel)
  5. Edit acpi_call.c:
    • Replace #include <asm/uaccess.h> with #include <linux/uaccess.h>
    • Replace #include <acpi/acpi.h> with #include <linux/acpi.h>
  6. make
  7. sudo make install

The module needs to be built again with every kernel update. Unfortunately is not eligible for 2-Distro Waiver due to only Debian/Ubuntu including it, openSUSE and Fedora do not.

Sorry to bump this thread, but could you please describe the way to set up a hook so that my script that compiles and installs the module will be run on every kernel update?

PS. On 4.19.12-106 make advised me to use raw_copy_from_user instead of copy_from_user, I assume this is ok?

Acpi_call seems to be forked and adopted by NixOS community. Would that be eligible for inclusion?

@stalebrim Nope. They don't tag releases.

For no reason in particular I just took a peek at this repo today, and it looks like just shortly after this comment they started doing tagging. Nothing new since Aug 2020, but at least they are tagging.

Also, with the mods in this fork, it compiles and installs without patching.