Bug 2093
Summary: | acpi says battery absent on laptop, even when running on battery | ||
---|---|---|---|
Product: | ACPI | Reporter: | Michael PS (ps) |
Component: | Power-Battery | Assignee: | Shaohua (shaohua.li) |
Status: | CLOSED PATCH_ALREADY_AVAILABLE | ||
Severity: | normal | ||
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.1, 2.6.2, 2.6.3, 2.6.4 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
output of dmesg
output of acpidmp my dsdt.dsl with 19 errors left to fix |
Description
Michael PS
2004-02-13 17:29:26 UTC
please attach the acpidmp and dmesg. thanks Created attachment 2267 [details]
output of dmesg
Created attachment 2268 [details]
output of acpidmp
Your box lacks ECDT. You can provide a fake ECDT or try the workaround patch in Bug 1744. Hi! Thank you very much for replying so fast, i've mailed compaq and asked them about what they have changed in the bios firmware and why ECDT is missing. i've applyed this patch http://bugzilla.kernel.org/attachment.cgi?id=1690&action=view with one error during patching but it did not solve the problem. all other patches found in bug #1744 can't be applyed on 2.6 kernel. I've tried finding some info on google howto make a fake ecdt table but all info i can find is to older kernel versions 2.4.x. I guess that windows shows battery ok is because it is providing a fake ecdt correct? please give me a hint or point me to the right direction, i don't know what to do, i am realy lost here in this acpi jungle =) thanks again regards Michael This is the respons from compaq/hp support: This is in response to your e-mail regarding the Evo N800c notebook. >From your e-mail, I understand that the got ACPI function disabled after the BIOS upgrade in the notebook with Linux installed. The installed BIOS can not be re-flashed to the previous version. We do not have any technical information on the firmware of the lasted installed BIOS and the ECDT involving it in Linux Operating System. I recommend you to search the internet and forums dedicated to the resolve the issue caused on Linux. Also please visit the link below. <http://developer.intel.com/technology/iapc/acpi/downloads.htm> I apologize that I am unable to assist you further on this issue. Please e-mail us in case of any further questions and we will be glad to assist you. Thank you. I've also spend lot of time reading about acpi on the net, and i wonder if i could get battery status to work if i provide a fake DSDT table ? I've tried to do so as explained on http://acpi.sourceforge.net/wiki/index.php/HowToOverrideTable but the patch on osd.c failes on a clean 2.6.3 tree with error: Hunk #1 FAILED at 215. here is drivers/acpi/osl.c.rej: *************** *** 215,227 **** return AE_OK; } acpi_status acpi_os_table_override (acpi_table_header *existing_table, acpi_table_header **new_table) { if (!existing_table || !new_table) return AE_BAD_PARAMETER; *new_table = NULL; return AE_OK; --- 215,232 ---- return AE_OK; } + /**/static const + #include "/tmp/dsdt.hex" + acpi_status acpi_os_table_override (acpi_table_header *existing_table, 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; thanks again. regards Michael hmm, bug 1690 has a patch to address this problem. could you please try it? Hi! If you mean this patch: http://bugzilla.kernel.org/attachment.cgi?id=1690&action=view I've tried it before without result, i just tried it again with no result, absolutely nothing changes as far as i can tell, battery still absent, both c132 and c133. And it does not patch cleanly it gives patch errors on a virgin 2.6.4 and 2.6.3 tree. However i found a patch for 2.6 kernels that lets me load a custom dsdt table with initrd on this page: http://gaugusch.at/kernel.shtml and i found a custom dsdt table at: http://acpi.sourceforge.net/dsdt/tables/Compaq/Evo_N800v/Compaq-Evo_N800v-F.18A-custom.asl.gz that makes battery working but thermal stops working =( i'm working on getting my own dsdt.dsl that i got from acpidmp to compile without errors so i can load that as a custom dsdt table, but i don't know shit about asl so i can't make all errors go away. i have 19 errors left to go. =) Thanks again for helping... regards Michael Created attachment 2357 [details]
my dsdt.dsl with 19 errors left to fix
this i got from:
acpidmp DSDT > acpidmp.out
iasl -d acpidmp.out (creates dsdt.dsl)
i've managed to remove some * in dsdt.dsl so i got it down to 19 errors from 36
i think it was.
i'm using iasl -tc dsdt.dsl when trying to compile it.
the patch in Bug 1690 can only address EC._INI error, though your problem is similar with bug 1690(all are caused by lack of ECDT). i suggest you follow Bug 1690 since bob(Robert Moore) will provide a final solution for such kind of issue. Problem solved in 2.6.5 kernel, everything works ok when using 2.6.5 Thank you very much, well done =) regards Michael |