Skip site navigation (1)Skip section navigation (2)
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>