2003-01-12 19:34:47

by Jules Kongslie

[permalink] [raw]
Subject: PROBLEM: ACPI failes to use ECDT, and disables itself.

I apologize if you aren't the person this should be sent to, but I
haven't recieved a reply to my last message, so I'm resending with a bit
more information.

I've also CC'd this message to the linux-kernel mailing list.

On linux kernel version 2.5.50+ (I haven't checked below that, 2.4 and
2.4-ac work fine) I am unable to use ACPI features to check battery
level, etc. on my laptop. ACPI is enabled in the kernel, and I enter
ACPI mode at boot, but it fails to use the ECDT table, and disables ACPI
mode before init starts.

APM works fine.

Output of "dmesg | grep ACPI" for kernel version 2.5.56:
ACPI: Wakeup code way too big, will crash on attempt to suspend
ACPI: have wakeup address 0xc0001000
ACPI: RSDP (v002 IBM ) @ 0x000f7440
ACPI: XSDT (v001 IBM TP-1E 00000.04416) @ 0x27f6f070
ACPI: FADT (v001 IBM TP-1E 00000.04416) @ 0x27f6f0b4
ACPI: SSDT (v001 IBM TP-1E 00000.04416) @ 0x27f6f168
ACPI: ECDT (v001 IBM TP-1E 00000.04416) @ 0x27f79f87
ACPI: BOOT (v001 IBM TP-1E 00000.04416) @ 0x27f79fd8
ACPI: DSDT (v001 IBM TP-1E 00000.04416) @ 0x00000000
ACPI: BIOS passes blacklist
ACPI: MADT not present
ACPI: Subsystem revision 20030109
tbxface-0098 [03] acpi_load_tables : ACPI Tables successfully
acquired
ACPI Namespace successfully loaded at root c05f81fc
evxfevnt-0073 [04] acpi_enable : Transition to ACPI mode
successful
ACPI: Found ECDT
ACPI: Could not use ECDT
evxfevnt-0118 [06] acpi_disable : ACPI mode disabled
ACPI: ACPI tables contain no PCI IRQ routing entries
PCI: Invalid ACPI-PCI IRQ routing table
utmisc-0720 [02] ut_acquire_mutex : Thread 1 could not acquire
Mutex [ACPI_MTX_Memory] AE_BAD_PARAMETER

There might be more above this, unfortunately, the dmesg gets cut off
before the system finishes booting. If you want, I can compile a
lightweight kernel to try to capture any missed messages.

By inserting a heapload of printks, I narrowed down the failure in using
the ECDT table to the acpi_ns_lookup call made by
acpi_ns_get_node_by_path, which is called by acpi_get_handle, which in
turn is called by acpi_ec_ecdt_probe in drivers/acpi/ec.c.

I can try to narrow it down further, this was all I had the patience
for.

On a somewhat related note, the prediction of "crashing on suspend" is
completely accurate. Fortunately, I never need to suspend this laptop,
so I don't really care. Being able to check the battery level would be
nice, however.

This is an IBM Thinkpad a30p Laptop (that's a single Pentium 3, 684 megs
of RAM, one battery, one thermal sensor, one ac adaptor, two case
buttons, one internal fan).

Attached is a standard BUG_REPORTING set of information, as well as my
entime dmesg and .config.

--

-Jules Kongslie
<[email protected]>


Attachments:
problem-details (13.15 kB)
.config (28.36 kB)
dmesg (14.81 kB)
Download all attachments