From owner-freebsd-current@FreeBSD.ORG Thu Dec 23 15:01:58 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7671216A4CE for ; Thu, 23 Dec 2004 15:01:58 +0000 (GMT) Received: from sanne.nlnetlabs.nl (sanne.nlnetlabs.nl [213.154.224.39]) by mx1.FreeBSD.org (Postfix) with ESMTP id D78CE43D5C for ; Thu, 23 Dec 2004 15:01:57 +0000 (GMT) (envelope-from ted@sanne.nlnetlabs.nl) Received: from sanne.nlnetlabs.nl (localhost [127.0.0.1]) by sanne.nlnetlabs.nl (8.13.1/8.13.1) with ESMTP id iBNF1s97003219; Thu, 23 Dec 2004 16:01:54 +0100 (CET) (envelope-from ted@sanne.nlnetlabs.nl) Received: (from ted@localhost) by sanne.nlnetlabs.nl (8.13.1/8.13.1/Submit) id iBNF1sSM003218; Thu, 23 Dec 2004 16:01:54 +0100 (CET) (envelope-from ted) Message-Id: <200412231501.iBNF1sSM003218@sanne.nlnetlabs.nl> From: ted@sanne.nlnetlabs.nl (Ted Lindgreen) Date: Thu, 23 Dec 2004 16:01:54 +0100 In-Reply-To: "Ted Lindgreen's message as of Dec 14, 17:02" X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: freebsd-current@freebsd.org X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED autolearn=failed version=3.0.1 X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on sanne.nlnetlabs.nl X-Mailman-Approved-At: Fri, 24 Dec 2004 16:09:59 +0000 cc: Ted Lindgreen Subject: Re: acpi is broken since about 2004/12/01 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Dec 2004 15:01:58 -0000 Following up on my previous posting: [Quoting Ted Lindgreen, on Dec 14, 17:02, in "acpi is broken since ..."] > Maksim Yevmenkin reported the problem already on Mon Dec 6 15:15:28 in > "help! acpi kills my laptop", and also Andrey Chernovache reported > it on Thu Dec 9 09:13:58 in "Lots of ACPI warnings with recent -current". This ACPI problem is caused by an update on 2004/12/01 called: "Vendor import of Intel ACPI-CA 20041119" The wlan_wep problem, which I encountered at the same time, appeared to be unrelated and fixed shortly after my previous posting. The new ACPI version no longer works around broken DSDT info, in which "implicit returns" are used. If the vendor of your hardware does not provide a new bios with fixed DSDT info (like Toshiba for instance) you have this problem. The workaround I found was to dump the DSDT (using an older kernel) into a file with acpidump(8). Then edit the .asl file to fix all the implicit returns. This means for instance: --- foo.asl Thu Dec 23 10:20:00 2004 +++ new.asl Thu Dec 23 15:15:23 2004 @@ -102,17 +102,17 @@ Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { - STAL (0x60) + Return (STAL (0x60)) } Method (_PRS, 0, NotSerialized) { - PRSL (0x60) + Return (PRSL (0x60)) } Method (_CRS, 0, NotSerialized) { - CRSL (0x60) + Return (CRSL (0x60)) } Etcetera, etcetera... You can easily find these errors by compiling the .asl file with: iasl foo.asl iasl(8) flags the problems with warnings (in contrast to the new ACPI code in the kernel, which now stumbles on them, causing the bootprocess to hang). When the new.asl file is warning-free, move the result of iasl to /boot: mv DSDT.aml /boot/acpi_dsdt.aml and tell the loader to use this instead of the bios: echo 'acpi_dsdt_load="YES"' >> /boot/loader.conf I sure hope that the workaround as present in the previous Intel ACPI-CA versions will return again, Regards, -- ted