Linux AT

Problem with ACPI for Acer Laptops 1680 series (1681WLCi) DEFINITIVELY RESOLVED

1) Download acpi_patch.tar.gz:
This kind of Laptops has another problem over the bugged DSDT, there is a missing ECDT. The ECDT is used to provide some minimal information about the Embedded Controller to the ACPI drivers before the Embedded Controller region has actually been parsed from the DSDT. This is frequently necessary before initializing the battery and ac adapter, so if you have errors in dmesg from the battery, adapter or EmbeddedControl, the ECDT is the likely culprit. The problem was that after booting, my /proc/acpi/ac_adapter and /proc/acpi/battery directories were empty.
To resolve this problem there is a patch at this address  . This patch restore the missing ECDT-related functionality. It may be applied to both the 2.4 and 2.6 kerenl source. If you are using Suse 9.3 it doesn't work, because the sources file name change, but the code is the same. In the file acpi_patch.tar.gz you can find all the corrected files you need, you have only to copy them into the appropriate directory of your system (after a back-up of existing files!! - Naturally! ;P ).

Files to modify:

1) PATH_TO_KERNEL/drivers/acpi/ec.c
2) PATH_TO_KERNEL/drivers/acpi/events/evregion.c
3) PATH_TO_KERNEL/drivers/acpi/executer/exregion.c
4) PATH_TO_KERNEL/drivers/acpi/utilities/utglobal.c
5) PATH_TO_KERNEL/include/acpi/acglobal.h
6) PATH_TO_KERNEL/include/acpi/acinterp.h

Probably you have to change the "PATH_TO_KERNEL" with "/usr/src/linux", but is better that you follow your system documentation.

2) Download dsdtAspire1680.tar.gz:
This file contain the correct DSDT file for the Acer laptops of series 1680 (as 1681, 1681Wlmi, 1681Wlci, 1682.. etc..). The other two files are the patch you need to use the Smart Battery that this kind of laptops use. At this address  you can find the SourceForge project dedicate to this. Here you can find the official patch, but it doesn't work on 1680 if you don't modify before the dsdt. In the file you find the work done, you have only to untar the archive and follow next steps.

3) Download iasl:
You have to install somewhere in your path the compiler iasl of Intel, you can find last version at this address  it is necessary to compile the correct DSDT for your system.

4) Recompile dsdt:
Go into the directory where you have extract the dsdtAspire1680.tar.gz file.
iasl -td dsdt.dsl
this will create two files dsdt.hex and DSDT.aml, they ae usefull for next steps

5) Fixing the dsdt:
If there are some errors during step 4 you need to correct them. But I think there aren't. Looks at Google for fixing the problem, as soon as possible I will put on-line a guide to correct some errors.

6) Incorporating fixed DSDT into the Kernel

    If you are using SuSe there are non problems
        6a) copy the compiled DSDT.aml file e.g. to /etc
        6b) add the path pointing to e.g. /etc/DSDT.aml to /etc/sysconfig/kernel

    If you are not using Suse visit  on thi forum you can find at chapter 9 some useful ways to do this.

7) Make sure you have done the step 1, 2, 3, 4, 5, 6

8) Recompile your kernel
    8a) cd /usr/src/linux
    8b) make
    8c) make modules_install
    8d) make install

9) Reboot





Statistiche web e counter web