acpica issues

Alexander Boettcher alexander.boettcher at ...1...
Wed Apr 25 20:46:43 CEST 2018


Hello,

On 24.04.2018 15:18, Boris Mulder wrote:
> 
> Some observations:
> 
>   * The charge/discharge events do not work on the x250.
>   * On the hp840 connecting and deconnecting share the same data value.
>   * On both laptops, disconnecting and reconnecting the AC outlet only
>     triggers the ec report once, and doing it again does not produce a
>     report. Reconnecting AC a second time also seems to cause the charge
>     events to stop being reported on the hp840.
>   * The lid report only works on the hp840.
>   * The power button works on the hp840 and only works on the x250 if
>     you press it for a longer time (but not so long as to turn off the
>     device).
>   * Ideally, for some device, such as one of the above, we would like
>     all of these reports to be updated correctly.
> 
> 
> I have some questions about this:
> 
>   * You mentioned in your issue about sculpt EA that the reports not
>     getting updated are a known issue. Do you have any plans of fixing
>     this in the future?

We have not scheduled any work to address this. It may of course happen,
either due to contract work or much spare time and willingness by whomever.

>   * Do you think solutions to this issue are going to be device
>     specific? Which parts are generally the same for different laptops?

I don't know for sure, but I think yes. I suspect there will be vendor
specific driver necessary if you have an embedded controller providing
some of your requested features. Every notebook vendor seems like to
have an own specific one, for which you will have to have some driver.
To get and idea, look into the Thinkpad specific driver in the Linux kernel.

>   * Is the difference in handling of the events on these machines caused
>     by the acpica C code not supporting these machines, or by the Genode
>     code not supporting them? or both?

We did not invested much time in getting it fully running on any
Thinkpad at all - so we have no answer. Neither we can tell something
about HP notebooks. The best experience we had with a FUJI notebook
model for a customer.

>   * A workaround could be installing a timer and generating the initial
>     reports periodically. Do you think this would be worth implementing
>     or would fixing the problem be easier?

Ideally, understanding the root cause and fixing it is the sane way. But
if there is no time nor money for it, such quirk may help you of course.

>   * For device specific parts: suppose it works on your test setup, how
>     should we proceed to make it work on other hardware?

I would try to re-read the ACPI specification and compare it against the
implementation in the kernel. (How to react/interact on ACPI events
called GPEs).
Check that the events you expect are actually happening and visible to
the kernel. If it does not look good, compare it to good traces, e.g. in
the Linux kernel. (create traces, compare traces)
Check the interplay between kernel and acpica library respectively our
self-written acpica application. Are all events visible in the kernel
also recognized by the acpica application ?
Another step is to get hands on vendor specific documentation or
implementation. Some vendors follow more closely the "ACPI-Defined
Devices" (see ACPI spec) way, which our self-written acpica application
effectively tries to support. Other vendor like to implement more
functionality into their own embedded controller (EC) instead, as you
have seen already. For such EC you will have to have an EC driver.

We are happy about any contributions and volunteers it that direction.

Cheers,

-- 
Alexander Boettcher
Genode Labs

http://www.genode-labs.com - http://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list