# ACPI on a Compaq Presario

## DmpLt

Hi 

I have tried everything, patched my acpi drivers in both gentoo and vanilla kernel and nothing seems to work.. can any1 help me with this problem??

and yes i've enabled acpi in kernel and installed acpid..  :Smile: 

Thanx!

----------

## snkmoorthy

what is your presario model...I have a 2700T which works so so with ACPI, and 1500T and 1500US which don't do well at all with ACPI, but limited functiionality with APM(blank screen, battery)

with 2700T ACPI recognizes the battery only when the machine is poweron in battery mode, you can plugin in the A/C adapter later though.

I can change the display brightness in the 1500 only with ACPI enabled, or reboot and change brightness before system comes up.

I have used the pmtools from intel website and patched the kenrel with my own AmlCode table, still work in progress, so many methods are being reported as unreachable or wrong type...

swsusp doesn't work for me either

----------

## DmpLt

hey somebody actually replied! hehe

It's a Compaq Presario 716EA

After i posted the problem i tried the kernel 2.4.30-acpi-rc1 but that didn't work either.

I made th acpi work on RH, Mandrake, Slackware and debian, but in gentoo.. ohh noo..  :Sad: 

If you could tell me what u did and what u used maybe that would solve my problem  :Smile: 

thanx again  :Smile: 

----------

## snkmoorthy

well if you can make it work with RH then you can emerge redhat-sources and see what happens. Any way ACPI support for Linux is touch and go.

may be you will be the next genius to figure it all out and release a patch  :Laughing: 

----------

## slugman

well first you could check under

```
/PATH/TO/KERNEL/SOURCE/drivers/acpi/blacklist.c
```

starting arround line 57 are "Blacklisted" systems. My Presario 1700 being one of them.   :Crying or Very sad:  The header says these are systems with known bad BIOSes. here is how i solved it

then head first to this place...

http://poli.cs.vsb.cz/linux/somrak-presario-1700/

som useful information, only useful file on the page is

 dsdt-new-20030308.dsl

here is if you have presario 2701EA or similar

http://dude.noc.clara.net/~faye/compaq2701ea/

back over to 

http://acpi.sourceforge.net/wiki/index.php/HowToOverrideTable

to find out what to do with that .dsl file you downloaded from above. or just complie it

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

you can pick up the compiler for the dsl file

http://www.intel.com/technology/iapc/acpi/downloads.htm

or directly

http://www.intel.com/technology/iapc/acpi/downloads/iasl-linux-20030228.tar.gz

patch the kernel

```
patch -p1 -i /PATH/TO/osl.diff
```

```

   --

  / /  (_)__  __ ____  __ Philipp Hahn

 / /__/ / _ \/ // /\ \/ /

/____/_/_//_/\_,_/ /_/\_\ pmhahn@ti...

--- linux/drivers/acpi/osl.c.orig

+++ linux/drivers/acpi/osl.c

@@ -215,13 +215,18 @@

       return AE_OK;

 }

+/**/static const

+#include "/tmp/dsdt.hex"

+

 acpi_status

 acpi_os_table_override (struct acpi_table_header *existing_table,

       struct acpi_table_header **new_table)

 {

       if (!existing_table || !new_table)

               return AE_BAD_PARAMETER;

+/**/if (strncmp(existing_table->signature,"DSDT",4))

       *new_table = NULL;

+/**/else *new_table = (struct acpi_table_header *)AmlCode;

       return AE_OK;

}
```

**!!!**NOTE:  remove "struct" from the patch above if it dosen't work for you, but this is what worked for me

make sure that the .dsl file you complied into .hex file is located at

```
/tmp/dsdt.hex
```

or you could edit the "#include..." line

make sure that you have commented out your laptop model ("//" on the line below your model number) from 

KERNELSOURCE/drivers/acpi/blacklist.c

complile the kernel and hope it works... it seems to work for me

here is anothre great page for info on this subject http://www.cpqlinux.com/acpi-howto.html

----------

## tdb

 *DmpLt wrote:*   

> Hi 
> 
> I have tried everything, patched my acpi drivers in both gentoo and vanilla kernel and nothing seems to work.. can any1 help me with this problem??
> 
> and yes i've enabled acpi in kernel and installed acpid.. 
> ...

 

What is your exact problem? Does the kernel freeze on boot? Does it boot ok without the acpi enabled? I have the 715us, and acpi works flawlessly.

Some prelim stuff:

The recent gentoo sources (2.4.20) have the proper acpi patch in them. It will work without needing to repatch. you do, however, need to have a few settings for it to work:

1. absolutely NO APM AT ALL. I was told this on another website (linuxonthego.com, look for the 715us entry) Turn off any and all APM in your kernel config. Only use ACPI.

2. Turn off all the apic stuff. Mine will hang on boot at the "pci: using configuration type 1" message if this is turned on, so turn it off. 

Both 1 and 2 can be found in the "Processor General Settings" submenu.

----------

## roaming

where do you disable local apic on the kernel  :Question: 

I looked everywhere and I could't find the option to disable the local apic

I know local apic has to be disabled in the kernel before I can use acpi on my compaq presario 732us but when I look in general setup in make xconfig I don't have the option to disable it.

please help  :Crying or Very sad: 

----------

## tdb

 *roaming wrote:*   

> where do you disable local apic on the kernel 
> 
> I looked everywhere and I could't find the option to disable the local apic
> 
> I know local apic has to be disabled in the kernel before I can use acpi on my compaq presario 732us but when I look in general setup in make xconfig I don't have the option to disable it.
> ...

 

Sorry, just realized I mislabled the sub-menu. Here it is, I just verified it.

"Processor Type and Features" => "Local APIC support on uniprocessors"

Select no for that one.

Once that is disabled, the other APIC option directly under it will disappear.

HTH.

----------

## roaming

what version of the gentoo kernel are you using the 2.4.20-gentoo-r5 doesn't   give me the option to say no to apic

I try to disable that option by commenting out the lines in .config this is what I got when I recompile the kernel

```

: undefined reference to `APIC_init_uniprocessor'

arch/i386/kernel/kernel.o(__ksymtab+0x208): undefined reference to `IO_APIC_get_PCI_irq_vector'

kernel/kernel.o(.text+0x2b87): In function `show_state':

: undefined reference to `touch_nmi_watchdog'

fs/fs.o(.text+0x2e03d): In function `write_profile':

: undefined reference to `setup_profiling_timer'

drivers/pci/driver.o(.text.init+0x5a5): In function `quirk_via_ioapic':

: undefined reference to `nr_ioapics'

drivers/acpi/acpi.o(.text.init+0xa9e): In function `acpi_bus_init':

: undefined reference to `mp_config_ioapic_for_sci'

drivers/acpi/acpi.o(.text.init+0x1687): In function `acpi_pci_irq_init':

: undefined reference to `mp_parse_prt'

make: *** [vmlinux] Error 1

```

Last edited by roaming on Thu Jul 17, 2003 4:42 am; edited 2 times in total

----------

## tdb

 *roaming wrote:*   

> what version of the gentoo kernel are you using the 2.4.20-gentoo-r5 doesn't   give me the option to say no to apic
> 
> 

 

2.4.20-gentoo-r5 straight from portage. Select "Processor Type and Features", third selection from the top. "Local APIC support on uniprocessors" is the fourth one from the bottom. Make sure it is turned off. The feature is in both menuconfig and xconfig.

As for the compile error, I don't know.  We essentially have the same laptop. Try re-emerging the kernel again, just to make sure you're starting from fresh sources. Remember to back up your .config or you'll have to start from scratch.

Beyond that, I don't know what to stay.

----------

## roaming

 :Very Happy:   :Laughing:   :Laughing: 

everything is fine now...  the kernel had the multiprocessing selected by default causing  apic be available as default

thanks for the push

----------

## sleek

 *slugman wrote:*   

> well first you could check under
> 
> ```
> /PATH/TO/KERNEL/SOURCE/drivers/acpi/blacklist.c
> ```
> ...

 

I also have this Presario 1700 laptop and was able to overcome the "Blacklist" problem by using this ACPI HOWTO by jetblack.

I can give you specific details upon request as to what I did to make all of my ACPI stuff work beautifully. Good luck!

----------

## roaming

although I did get my laptop to work with acpi it still get very hot under normal usage I gave up on using gentoo on my laptop. Is your ACPI efficient I know it works but does it work well? when I lower the throttle it last a little longer but not as long as ?indows   :Rolling Eyes: 

----------

## seb64

acpi alone doesn't reduce your cpu speed (at least on Athlon/Duron processors), you need to have cpufreq enabled in the kernel (available in 2.6 or as a patch for 2.4) and use a cpufreq daemon (like cpudyn).

By the way, Windows (including XP and maybe SP1 and/or SP2) has the same problem if you use a clean version (and not the one which is pre-installed)

----------

## dizzey

i have an presario 900 and i had truble with almost everything until i tried the love sources.

im using the linux-2.6.2_rc2-love1 kernel. and now almost evrything works the only thing left is supend to ram it goes to sllep but dosent wake.

so if yor tierd of patching the kernel the love sources migth be worth a shot

----------

## sleek

 *roaming wrote:*   

> although I did get my laptop to work with acpi it still get very hot under normal usage I gave up on using gentoo on my laptop. Is your ACPI efficient I know it works but does it work well? when I lower the throttle it last a little longer but not as long as ?indows  

 

Well I dual-boot with Gentoo and Windows XP. ACPI seems to work great in Gentoo after all the patches that I applied and hacks that I made.

As far as the heat-factory, my laptop seems to get just as hot in Gentoo as well as in Windows XP. So to solve this problem, I purchased a Nexus TDD-3000 Laptop Cooler. I have yet to receive it, but when I do, I'll update you on how well it works.

----------

