2018-06-08 08:13:52

by Pali Rohár

[permalink] [raw]
Subject: ThinkPad T480s & thinkpad_acpi.ko

Hi! I just found out that thinkpad_acpi.ko is not automatically loaded
on new ThinkPad T480s. Is there any reason for it? Manually calling
modprobe thinkpad_acpi is working fine, but I would expect that it
should be loaded automatically.

Here is dmesg output after loading it manually:

thinkpad_acpi: ThinkPad ACPI Extras v0.25
thinkpad_acpi: http://ibm-acpi.sf.net/
thinkpad_acpi: ThinkPad BIOS N22ET34W (1.11 ), EC unknown
thinkpad_acpi: Lenovo ThinkPad T480s, model 20L7S03000
thinkpad_acpi: radio switch found; radios are enabled
thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
thinkpad_acpi: Standard ACPI backlight interface available, not loading native one

--
Pali Rohár
[email protected]


2018-06-08 09:41:20

by Andy Shevchenko

[permalink] [raw]
Subject: Re: ThinkPad T480s & thinkpad_acpi.ko

On Fri, Jun 8, 2018 at 11:12 AM, Pali Rohár <[email protected]> wrote:
> Hi! I just found out that thinkpad_acpi.ko is not automatically loaded
> on new ThinkPad T480s. Is there any reason for it? Manually calling
> modprobe thinkpad_acpi is working fine, but I would expect that it
> should be loaded automatically.
>
> Here is dmesg output after loading it manually:
>
> thinkpad_acpi: ThinkPad ACPI Extras v0.25
> thinkpad_acpi: http://ibm-acpi.sf.net/
> thinkpad_acpi: ThinkPad BIOS N22ET34W (1.11 ), EC unknown
> thinkpad_acpi: Lenovo ThinkPad T480s, model 20L7S03000
> thinkpad_acpi: radio switch found; radios are enabled
> thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
> thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
> thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
> thinkpad_acpi: Standard ACPI backlight interface available, not loading native one

Did you run depmod -a?
Is it present in the output?

There are three ways of enumeration as far as I can see from the driver's code:
- by short driver name "tpacpi" (not likely our case)
- by DMI matching (only for old BIOS'es)
- by ACPI ID

So, does the ACPI contain one of the listed IDs?

#define TPACPI_ACPI_IBM_HKEY_HID "IBM0068"
#define TPACPI_ACPI_LENOVO_HKEY_HID "LEN0068"
#define TPACPI_ACPI_LENOVO_HKEY_V2_HID "LEN0268"
?

--
With Best Regards,
Andy Shevchenko

2018-06-08 10:30:17

by Pali Rohár

[permalink] [raw]
Subject: Re: ThinkPad T480s & thinkpad_acpi.ko

On Friday 08 June 2018 12:40:32 Andy Shevchenko wrote:
> On Fri, Jun 8, 2018 at 11:12 AM, Pali Rohár <[email protected]> wrote:
> > Hi! I just found out that thinkpad_acpi.ko is not automatically loaded
> > on new ThinkPad T480s. Is there any reason for it? Manually calling
> > modprobe thinkpad_acpi is working fine, but I would expect that it
> > should be loaded automatically.
> >
> > Here is dmesg output after loading it manually:
> >
> > thinkpad_acpi: ThinkPad ACPI Extras v0.25
> > thinkpad_acpi: http://ibm-acpi.sf.net/
> > thinkpad_acpi: ThinkPad BIOS N22ET34W (1.11 ), EC unknown
> > thinkpad_acpi: Lenovo ThinkPad T480s, model 20L7S03000
> > thinkpad_acpi: radio switch found; radios are enabled
> > thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
> > thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
> > thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
> > thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
>
> Did you run depmod -a?
> Is it present in the output?
>
> There are three ways of enumeration as far as I can see from the driver's code:
> - by short driver name "tpacpi" (not likely our case)
> - by DMI matching (only for old BIOS'es)
> - by ACPI ID
>
> So, does the ACPI contain one of the listed IDs?
>
> #define TPACPI_ACPI_IBM_HKEY_HID "IBM0068"
> #define TPACPI_ACPI_LENOVO_HKEY_HID "LEN0068"
> #define TPACPI_ACPI_LENOVO_HKEY_V2_HID "LEN0268"
> ?

DSDT contains only LEN0268. And so I found reason. I'm using Debian
which has only 4.9 kernel and LEN0268 identifier was added in git commit
a3c42a467a254a17236ab817d5c7c6bc054e4f84 for 4.10.

--
Pali Rohár
[email protected]

Subject: Re: ThinkPad T480s & thinkpad_acpi.ko

On Fri, 08 Jun 2018, Pali Roh?r wrote:
> which has only 4.9 kernel and LEN0268 identifier was added in git commit
> a3c42a467a254a17236ab817d5c7c6bc054e4f84 for 4.10.

You could always request it to be backported to -stable *if* you
manually apply it to a 4.9 kernel and test the heck out of it...

Debian would pick it up from -stable after a while.

--
Henrique Holschuh