Date: Sat, 17 May 2008 19:43:26 +0800 From: Ariff Abdullah <ariff@FreeBSD.org> To: Peter Jeremy <peterjeremy@optushome.com.au> Cc: freebsd-acpi@freebsd.org Subject: Re: BIOS Regression on HP/Compaq [d]v6000 series notebooks Message-ID: <20080517194326.420ceb81.ariff@FreeBSD.org> In-Reply-To: <20080517073716.GF80125@server.vk2pj.dyndns.org> References: <20080428112623.GA99757@server.vk2pj.dyndns.org> <20080516202242.3992b284.ariff@FreeBSD.org> <20080517073716.GF80125@server.vk2pj.dyndns.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Signature=_Sat__17_May_2008_19_43_26_+0800_jxQlIzGxU0yTYhFP Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, 17 May 2008 17:37:17 +1000 Peter Jeremy <peterjeremy@optushome.com.au> wrote: > On 2008-May-16 20:22:42 +0800, Ariff Abdullah <ariff@freebsd.org> > wrote: > >After the recent update, the BIOS decided to force/enable C1E > >whenever it losing main power: >=20 > That explains the behaviour I see. >=20 > > not their (HP) fault though. >=20 > I don't follow this. HP released a BIOS that is broken. Either > they did it deliberately, they didn't bother testing it or they > don't care. >=20 It is not their fault, really. It is expected to lower down everything, either forcefully or not whenever you loose main power connection to conserve power usages. The problem is with FreeBSD own timer which relies on local APIC timer that went dead whenever it enter lowest power state (and lapic timer is _mandatory_ for APIC/SMP as in FreeBSD case). If you manage to boot without apic (thus using old/legacy i8254 timer, SMP disabled), you'll find that everything runs normally. Booting without apic is quite tricky especially on modern hardwares. > >Try this patch (against -current, should be OK for other branches > >too). With this patch, whenever AC line state change it will > >disable C1E, hopefully. >=20 > Thanks for that. I've tried it against the latest 6-STABLE and it > applies OK. The results are mixed though. If I run top(1) and > remove power, top's clock stops. When I plug power back in, the > clock jumps to the current time - ntpq shows no time jump so the > kernel time- keeping is still OK. I've tried this in both > single-user and multi- user within X. I get the same behaviour with > xclock(1) within X. >=20 > If I move the mouse, window focus changes appropriately and if I > wave the mouse enough, the clocks will jump to the correct time. >=20 > The above is all with kern.timecounter.hardware=3DACPI-fast. I tried > using HPET but the behaviour is the same. >=20 > Having the system recover when power is re-applied is a big > improvement over the previous behaviour but I don't understand > the current behaviour - it's far more responsive than it was without > the C1E patch but is still not behaving correctly. >=20 > >Hack or no hack, there must be a better / appropriate solution for > >this issue. >=20 > Agreed. > Install sysutils/devcpu from ports, load cpu.ko, and grab / compile http://people.freebsd.org/~ariff/misc/k8c1e/ . Try playing with it (enable, disable, status) -- Ariff Abdullah FreeBSD ... Recording in stereo is obviously too advanced and confusing for us idiot ***** users :P ........ --Signature=_Sat__17_May_2008_19_43_26_+0800_jxQlIzGxU0yTYhFP Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkguxN4ACgkQlr+deMUwTNo5CwCfU+HdE1zwar5zTke0kAjTITTV 4sUAn3Gr8KdrTR51LHxKJF4udMUVrExZ =wLtN -----END PGP SIGNATURE----- --Signature=_Sat__17_May_2008_19_43_26_+0800_jxQlIzGxU0yTYhFP--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080517194326.420ceb81.ariff>