ACPI / HP Omnibook 500

Oliver Brandmueller ob at e-Gitt.NET
Tue Jul 15 05:08:10 PDT 2003


Hi all.

After a a long time I tried ACPI again with -CURRENT as of yesterday. On 
my HP Omnibook 500 I still have problems using ACPI. The machine works 
fine, but I have the annoying problem, that I cannot see the battery 
level (well, mostly).I think this is mainly a problem with the DSDT,it's 
borken as so often. I have no real clue about ASL and so I was able to 
change my DSDT in the way that a) I could compile it using iasl and b) I 
can see the battery level at least when switching from acline to battery 
or vice versa - but I'm not really able to fix it in terms of "I 
understand what I'm doing here".

Sorry for the mail being very long, but I try to provide as much
information as possible here. I'd even be willing to give people
interested in debugging this an account on the machine and then have a
phone session (to plug/unplug power and change DSDTs or whatever is
needed).

You'll find the asl files here:

original:	http://the.addict.de/~ob/hp500.asl
changed:	http://the.addict.de/~ob/hp500-ob.asl

The dmesg output for booting both cases can be found here:

original:	http://the.addict.de/~ob/dmesg-orig.out
changed DSDT:	http://the.addict.de/~ob/dmesg-ob.out


I have hw.acpi.verbose=1


The details in the behaviour of the machine when booting with the 
original DSDT:

The machine says to have acline, although it's running on battery. I 
have one battery. The battery is charged somewhat about 50% (I can see 
this when booting with APM). The battery display gives no values. 

sysctl hw.acpi says the folloing:

hw.acpi.supported_sleep_state: S1 S3 S4 S5 
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 0
hw.acpi.s4bios: 1
hw.acpi.verbose: 1
hw.acpi.disable_on_poweroff: 1
hw.acpi.cpu.max_speed: 8
hw.acpi.cpu.current_speed: 8
hw.acpi.cpu.performance_speed: 8
hw.acpi.cpu.economy_speed: 4
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 30
hw.acpi.thermal.tz0.temperature: 3162
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 3582
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 3782
hw.acpi.thermal.tz0._ACx: 3432 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.acline: 1
hw.acpi.battery.life: -1
hw.acpi.battery.time: -1
hw.acpi.battery.state: 7
hw.acpi.battery.units: 3
hw.acpi.battery.info_expire: 5

After 5 Minutes of uptime I see no change. I have the following ACPI 
errors in the console:

acpi_cpu0: set speed to 100.0%
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
acpi_acad0: acline initialization start
acpi_acad0: On Line
acpi_acad0: acline initialization done, tried 1 times
acpi_cmbat0: battery initialization start
acpi_cmbat1: battery initialization start
acpi_cmbat2: battery initialization start
acpi_cmbat0: battery initialization failed, giving up
acpi_ec0: EcCommand: no response to 0x81
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMRD] (Node 0xc25dd520), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMSL] (Node 0xc25dd4c0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q09] (Node 0xc25dd420), AE_NO_HARDWARE_RESPONSE
acpi_cmbat1: battery initialization failed, giving up
acpi_cmbat2: battery initialization failed, giving up


When plugging power in the following error messages appear:

acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMRD] (Node 0xc25dd520), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.BAT1.UPBI] (Node 0xc25e0ec0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.BAT1.CHBP] (Node 0xc25e0e40), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMSL] (Node 0xc25dd4c0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q09] (Node 0xc25dd420), AE_NO_HARDWARE_RESPONSE
acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q20] (Node 0xc25dd400), AE_AML_NO_RETURN_VALUE

nothing changes in sysctl hw.acpi

when unplugging power again, there are notable changes:

acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMRD] (Node 0xc25dd520), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.BAT1.UPBI] (Node 0xc25e0ec0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.BAT1.CHBP] (Node 0xc25e0e40), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMSL] (Node 0xc25dd4c0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q09] (Node 0xc25dd420), AE_NO_HARDWARE_RESPONSE
system power profile changed to 'economy'
acpi_cpu0: set speed to 50.0%
acpi_acad0: Off Line

in ssysctl hw.acpi we can now se the following:

hw.acpi.acline: 0
hw.acpi.battery.life: 35
hw.acpi.battery.time: 33
hw.acpi.battery.state: 1

The life and time values do not change over time.plugging the power back
in again, gives the known console messages again, an update of the
battery life to the new value (33%), an update of acline to 1. time
drops to -1 (which is probably OK when connected to the power). Still
nothing changes automatically over time as the battery gets charged. 
I can see updated values if I unplug power again, but this time the 
hw.acpi.battery.time value stays at -1 (charging percentage has changed 
to 36 meanwhile).

-----------------------------------------------------------------------------


The same thing with the changed DSDT:

(13:55) ob at gruftie:ttyp0 [~] sysctl hw.acpi
hw.acpi.supported_sleep_state: S1 S3 S4 S5 
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 0
hw.acpi.s4bios: 1
hw.acpi.verbose: 1
hw.acpi.disable_on_poweroff: 1
hw.acpi.cpu.max_speed: 8
hw.acpi.cpu.current_speed: 4
hw.acpi.cpu.performance_speed: 8
hw.acpi.cpu.economy_speed: 4
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 30
hw.acpi.thermal.tz0.temperature: 3102
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 3320
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 3590
hw.acpi.thermal.tz0._ACx: 3260 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.acline: 0
hw.acpi.battery.life: -1
hw.acpi.battery.time: -1
hw.acpi.battery.state: 7
hw.acpi.battery.units: 3
hw.acpi.battery.info_expire: 5

The machine knows it's on battery. Sometimes it says it's on acline, but 
after about a minute the status changes to battery then.

After loading (you see it in the dmesg) there ist the following message:

ACPI: DSDT was overridden.
    ACPI-0375: *** Info: Table [DSDT] replaced by host OS
    ACPI-0507: *** Error: ACPI path has too many parent prefixes (^) - reached beyond root node
    ACPI-0507: *** Error: ACPI path has too many parent prefixes (^) - reached beyond root node

Later there is the folowing:

acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMRD] (Node 0xc25dd540), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.BAT1.UPBI] (Node 0xc25e0ea0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.BAT1.CHBP] (Node 0xc25e0e20), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMSL] (Node 0xc25dd4e0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q09] (Node 0xc25dd440), AE_NO_HARDWARE_RESPONSE
acpi_cpu0: set speed to 100.0%
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
acpi_cmbat0: battery initialization start
acpi_acad0: acline initialization start
system power profile changed to 'economy'
acpi_cpu0: set speed to 50.0%
acpi_acad0: Off Line
acpi_cmbat1: battery initialization start
acpi_cmbat0: battery initialization failed, giving up
acpi_cmbat2: battery initialization start
acpi_acad0: acline initialization done, tried 7 times
acpi_cmbat1: battery initialization failed, giving up

plugging in power gives the following errors:

acpi_acad0: Notify 128
system power profile changed to 'performance'
acpi_cpu0: set speed to 100.0%
acpi_acad0: On Line
acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q20] (Node 0xc25dd420), AE_AML_NO_RETURN_VALUE
acpi_ec0: EcCommand: no response to 0x81
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMWR] (Node 0xc25dd520), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMSL] (Node 0xc25dd4e0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q09] (Node 0xc25dd440), AE_NO_HARDWARE_RESPONSE

sycctl hw.acpi now shows the correct values, but this does not change 
over time during charging:

hw.acpi.acline: 1
hw.acpi.battery.life: 35
hw.acpi.battery.time: -1
hw.acpi.battery.state: 0

As soon, as I unplug the acline, I get another bunch of messages and 
updated values:

acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
acpi_ec0: EcCommand: no response to 0x80
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
acpi_ec0: EcCommand: no response to 0x81
    ACPI-0438: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMRD] (Node 0xc25dd540), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_.SMSL] (Node 0xc25dd4e0), AE_NO_HARDWARE_RESPONSE
    ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q09] (Node 0xc25dd440), AE_NO_HARDWARE_RESPONSE
acpi_acad0: Notify 128
system power profile changed to 'economy'
acpi_cpu0: set speed to 50.0%
acpi_acad0: Off Line

hw.acpi.acline: 0
hw.acpi.battery.life: 37
hw.acpi.battery.time: 37
hw.acpi.battery.state: 1


Sometimes in very rare cases I see an update of the battery value once 
after changing the acline status, sometimes it keeps going. I cabnot 
figure out when this works.

With APM battery display works fine. In APM mode als also see the 
messages "system power profile changed to 'economy'", when changing from 
acline to battery.


If you need more information (Kernel Config, file revisions), please 
let me know.


Thanx, Oliver


-- 
| Oliver Brandmueller | Offenbacher Str. 1  | Germany       D-14197 Berlin |
| Fon +49-172-3130856 | Fax +49-172-3145027 | WWW:   http://the.addict.de/ |
|               Ich bin das Internet. Sowahr ich Gott helfe.               |
| Eine gewerbliche Nutzung aller enthaltenen Adressen ist nicht gestattet! |


More information about the freebsd-current mailing list