# ACPI Support? [SOLVED]

## fartgeyser

I've got ACPI support implemented in the kernel, I've got the acpid running, but it seems as though my system has very minimal ACPI support. Since I'm using a laptop, I was hoping I could get some battery information to output through conky. However, conky reports no batteries found. I read online when people are talking about Linux and batteries to check some /proc/acpi/batteries folder or something, but I have nothing of the sort. However, I do have ACPI battery support in the kernel. When I run acpi -V, it tells me:

```
No support for device type: battery

No support for device type: thermal

No support for device type: ac_adapter
```

Here is what my /proc/acpi folder looks like:

```
dsdt  embedded_controller  event  fadt  info  power_resource
```

And the power_resource folder is empty.

Does this just mean that my BIOS doesn't support it? Could I use APM instead?

Usually I'm on ac power, so battery monitoring isn't an issue. But this time I'm going on a trip soon where I'll have to run off the battery. What's the worst that could happen if my brother is watching Lost on mplayer and the battery suddenly dies?Last edited by fartgeyser on Fri Jul 13, 2007 5:12 am; edited 1 time in total

----------

## crazycat

You have to enable this devices in your kernel config. Just browse to /usr/src/linux and run "make xconfig" or "make menuconfig". Go to "Power Managememt->ACPI Support" and enable there what you need (battery, etc). Also if you need help compiling your kernel, read  here: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=7

----------

## fartgeyser

 *crazycat wrote:*   

> You have to enable this devices in your kernel config. Just browse to /usr/src/linux and run "make xconfig" or "make menuconfig". Go to "Power Managememt->ACPI Support" and enable there what you need (battery, etc). Also if you need help compiling your kernel, read  here: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=7

 

Everything is already enabled in the kernel, as I stated before. ACPI is in there, as well as batteries, thermal, etc.

----------

## Genone

How old is that laptop?

----------

## fartgeyser

 *Genone wrote:*   

> How old is that laptop?

 

Almost 3 years.

----------

## crazycat

You might have a broken acpi bios, which is often on older hardware. Have you checked for error messages with "dmesg"?

----------

## Genone

Then it really should work with ACPI, not APM (the latter has been outdated for over 5 years)

----------

## fartgeyser

 *crazycat wrote:*   

> You might have a broken acpi bios, which is often on older hardware. Have you checked for error messages with "dmesg"?

 

Nope, no errors.

----------

## fartgeyser

(bump) So, am I out of luck?

----------

## GatoVolador

Are you sure that the ACPI modules (ac, button, processor, etc.) are being loaded? I'm using acpid with powersaved and I noted that the ACPI modules are not loaded by default. The following is in the /etc/powersave/common config file:

```
## Type:                string(ac,battery,button,fan,processor,thermal,asus_acpi

,toshiba_acpi)

## Default:             "ac battery button fan processor thermal"

## ServiceRestart:      powersaved

#

# The acpid startscript will load all necessary modules for acpi. If some of

# these modules cause trouble, you may remove it from this variable.  You may

# add the modules asus_acpi or toshiba_acpi if your computer is an Asus or a

# Toshiba. Seperate several modules by space.

# If this variable is empty, the default is used. If you want to disable

# module loading, enter "NONE".

#

ACPI_MODULES="ac battery button fan processor thermal video"
```

However, the acpid init script does nothing except start acpid. I took a look at the openSUSE scripts and they are much more complicated - acpid sources a bunch of other configs (powersave and other related software) and then loads modules based on what is needed by the other services, including the ACPI modules. 

Anyway, if module loading is your problem, I guess this means you have two options. Either modify /etc/init.d/acpid to modprobe all of the appropriate modules or add the needed modules to /etc/modules.autoload.d/kernel-2.*. I'm using the second approach and it works fine.

My question is why is the Gentoo acpid script so basic?

Regards.

----------

## fartgeyser

Thanks, GatoVolador. Interestingly enough, I was searching the forums here and someone said something about "modprobe thermal." I had been getting overheating issues and fan speed issues, so I tried it, and instantly my fan speed dropped and my computer is running cooler. I tried a "modprobe battery," and suddenly I had a battery folder in /proc/acpi. I was about to add thermal, battery, etc. to modules.autoload.d before I came back to this thread to see if anyone had replied. With your reply, I can be sure that it is the correct way to go about this, and not some "afro-engineering." I just assumed that since all that stuff was enabled as modules in my kernel anyway, they would have automatically been loaded. I guess I was wrong  :Smile: . Thanks again.

----------

## GatoVolador

Actually, I found out the same way you did. I was setting up a new laptop with powersave and found that things didn't work. My first response was to check if the ACPI modules were loading and they weren't. I modprobed everything and yay! it works. It wasn't until later when I checked out my laptop with openSUSE that I found the config file and compared the acpid init script. Like you, I had assumed that either the modules would be loaded automatically or that at least the acpid script would try to load any needed modules. 

Anyway, I'm glad you got your problem resolved.

Regards.

----------

