# ACPI problems, centrino notebook

## Eodun

Hi there, almost got my linux box working, but there are still some things left. One of them, ACPI, is giving me lots of headaches. Let's see if someone can help here!

Samsung X05

Intel Pentium M 1400, 2.6 kernel, 

My dmesg |grep ACPI

 *Quote:*   

>  BIOS-e820: 000000001f6e0000 - 000000001f6ec000 (ACPI data)
> 
>  BIOS-e820: 000000001f6ec000 - 000000001f700000 (ACPI NVS)
> 
> ACPI: RSDP (v000 PTLTD                                     ) @ 0x000f7e80
> ...

 

Relevant (and not-so) kernel config:

 *Quote:*   

> #
> 
> ONFIG_X86=y
> 
> CONIG_MMU=y
> ...

 

I've installed speedfreq and cpufreq, that work perfectly, but Kacpi lacks almost all sensors. Ask for other info if needed. Thanks in advance.

P.D. I know my kernel isn't still perfectly debugged, but it works (almost) fine by now.

----------

## brodo

There are problems in the BIOS-provided ACPI DSDT table which cause the error messages you can see in the log. A patched DSDT should become available on http://acpi.sf.net soon -- Samsung recently allowed me to post it.

----------

## brodo

I decided to post a description of what to do instead. It is provided "as is", without any warranty. The entiere risk of doing the following steps is with you. USE WITH CAUTION!

 Go to http://developer.intel.com/technology/iapc/acpi/downloads.htm and obtain a copy of the Intel ACPI ASL compiler/disassembler

disassemble your notebook's DSDT by issueing

```
iasl -d /proc/acpi/dsdt
```

Open dsdt.dsl in your favourite editor

Search for _WAK

A few lines below, you should find something which reads like 

```

}

}

Scope (\_GPE)
```

Modify it to read 

```

}

Return(Package(0x02){0x00, 0x00})

}

Scope (\_GPE)
```

Now search for EmbeddedControl. Below, you should find a line which lists 

```
Field (ECR, DWordAcc, Lock, Preserve)
```

. Modify it to read 

```
Field (ECR, ByteAcc, Lock, Preserve)
```

Now search for _GLK. Modify the code from

```
Method (_GLK, 1, NotSerialized)

{

Return (One)

}

```

 to 

```

Method (_GLK, 0, NotSerialized)

{

Return (0x01)

}

```

compile this update DSDT table by 

```
iasl -tc dsdt.dsl
```

copy the freshly created dsdt.hex to the directory drivers/acpi/ inside your linux kernel source tree

apply this external patch to your linux kernel source tree: http://lists.debian.org/debian-laptop/2004/03/msg00065.html

re-compile your kernel and boot it

Hope it helps.[/url]

----------

