From owner-freebsd-acpi@FreeBSD.ORG Thu Sep 2 23:27:02 2010 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id 0F2211065670; Thu, 2 Sep 2010 23:27:02 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: freebsd-acpi@FreeBSD.org Date: Thu, 2 Sep 2010 19:26:51 -0400 User-Agent: KMail/1.6.2 References: <20100901042852.P29840@sola.nimnet.asn.au> <4C801EE0.50505@gmail.com> In-Reply-To: <4C801EE0.50505@gmail.com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201009021926.53690.jkim@FreeBSD.org> Cc: Ian Smith , Andriy Gapon Subject: Re: acpi shows wrong battery state (fwd) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2010 23:27:02 -0000 On Thursday 02 September 2010 06:02 pm, kuba wrote: > > Take a look at these tunables: > > debug.acpi.ec.timeout: 750 > > debug.acpi.ec.polled: 0 > > debug.acpi.ec.burst: 0 > > > > Perhaps increasing timeout would help? > > Increasing timeout didn't help at all :( > Is there a chance that in the future release 8.2 this problem will > be fixed? I don't have any idea left how to force acpi to show > proper battery state, and I need this information to work with my > laptop, so I think that the best option is to remove or leave > unused freebsd for some time :/ and use only linux. As few people already have said, your EC is not responding and that's the root cause. However, 8.0 also didn't work according to your dmesg output. You said "battery indicator" is not working from 8.1 in another e-mail. If I understand it correctly, that's some sort of LED on the laptop, right? Did "acpiconf -i batt" ever work with 8.0? I doubt it, though. Another problem is acpi_wmi(4) is not attaching because it cannot match the device, which is defined wrong in the AML: Name (_HID, "pnp0c14") It should never be lower cases although it seems we have a workaround for *some* models in sys/dev/acpi_support/acpi_wmi.c: 201: static char *wmi_ids[] = {"PNP0C14", "PNP0c14", NULL}; Also, your acpidump output shows typical BIOS stupidity, i.e., it tries to detect installed MS Windows version and responds differently. We have updated ACPICA in 8.1 and it matches Vista's OSI now. That's probably the reason why the battery indicator stopped working. To recap: 1. Add "pnp0c14" in sys/dev/acpi_support/acpi_wmi.c like this: static char *wmi_ids[] = {"PNP0C14", "PNP0c14", "pnp0c14", NULL}; Recompile, install, and reboot. 2. If #1 does not help, remove the following three lines from sys/contrib/dev/acpica/utilities/uteval.c, which were added in 8.1: 149: {"Windows 2006.1", ACPI_OSI_WINSRV_2008}, ... 150: {"Windows 2006 SP1", ACPI_OSI_WIN_VISTA_SP1}, ... 151: {"Windows 2009", ACPI_OSI_WIN_7}, ... Recompile, install, and reboot. 3. If #2 still does not help, you should complain to HP. Good luck. Jung-uk Kim