Re: Re: what is the worst laptop atm?

Bernard Blackham
2005-01-03T13:44:45Z

On Mon, Jan 03, 2005 at 02:31:38PM +0100, Bruno Ducrot wrote:
> > > Actually, I've been told that ACER is payed by Microsoft for not
> > > helping Linux support. Yes, it's hearsay but it sounded reliable to me
> > > at the time.
> >
> > I do not think above is true. Acer wants to have their batteries
> > working in linux, they just do not want to hack their BIOSen.

Not wanting to add FUD, but mere fact here - I have an Acer
TravelMate 4052. Here is an excerpt from my original DSDT. Pay
careful attention to ECDY.

--snip--
Name(ECDY, 0x3)

[...]

Scope(\_SB_) {
Device(PCI0) {
Method(_INI) {
If(LEqual(SCMP(\_OS_, "Microsoft Windows"), Zero)) {
[...]
Store(0x0, ECDY)
}

[... snip ...]

Method(_BST) {
Store("==Main Battery Status _BST==", Debug)
If(LGreater(ECDY, 0x0)) {
Decrement(ECDY)
Notify(\_SB_.PCI0.LPC0.BAT1, 0x81)
}
If(LAnd(ECOK(), LEqual(ECDY, 0x0))) {
[ ... main battery info function ... ]
--snip--

In non-ASL terms, ECDY is a counter that is initialised to 3. If the
OS starts with "Microsoft Windows", it is set to 0 instead. And the
DSDT will refuse to return the battery state the first n times,
where n is the value of ECDY.

This was quite an issue for me, as the daemon which hibernates my
laptop when the battery is low would hibernate the machine
immediately upon booting.

Is there a good reason why a DSDT should not return a battery status
the first 3 times to OS's other than Microsoft Windows? Maybe there
is, but fixing that "feature" hasn't broken anything yet for me. I'd
be interested to know if there might be a good reason though.

Full DSDT at http://dagobah.ucc.asn.au/things/tm4052.html if anybody
is interested.

Bernard.

--
Bernard Blackham <bernard at blackham dot com dot au>