Re: Was: APM-Bios: No poweroff on Gigabyte m/b w/ Suspend to disk in BIOS

Pancho Horrillo (pancho@jet.es)
Wed, 3 Mar 1999 08:18:10 +0100 (CET)


On Sun, 21 Feb 1999 Stephen.Rothwell@canb.auug.org.au wrote:

> Hi Pancho,
>
> Pancho Horrillo <pancho@jet.es> writes:
> >
> > Yes, Gigabyte provides an utility to set-up the part in the hard
> > disk, but this is not the point, since the problem is _halting_ the
> > system, not _suspending_ it. The question is that Windoze APM driver can
> > cope with this BIOS and power-off the computer, but Linux fails to do it.
> > I guess that the BIOS sets the things up a bit 'out of standard'.
>
> See my other posting (in linux-kernel and linux-laptop) about adding
> -p to the halt command in your shutdown scripts.
>
> Cheers,
> Stephen
> --
> Stephen Rothwell Stephen.Rothwell@canb.auug.org.au
> http://www.canb.auug.org.au/~sfr/
>
Hi, Stephen!

Thanks, but the problem is not there. The scripts are right. The
machine REALLY POWERS-OFF when HALTing the system with older BIOS version.
Anyway , 'halt -p' is achieved also by invoking 'halt' as 'poweroff',
which is what I do (please correct my if I'm wrong).

So we are dealing with a broken BIOS, that is what I was trying to
explain. I'll do a résumé:

ˇ ATX Power Supply
ˇ ATX motherboard: GA-586ATX

When I do a 'halt -p' on the system with a BIOS version previous
to 1.4, the machine is powered-off with no problem. Of course, apm-bios
support is compiled inside the kernel (it works with both 2.0.x and 2.2.x)

When (down)grading to BIOS versions more recent than 1.4, (which
include a new feature in APM management, supposedly dis-engageable:
Suspend to Disk) it fails powering the system of when 'halt -p' is
executed. It shuts down well, unmounts the filesystems, kill the
processes, etc, but at last, instead of powering off, it begins to dump
sequences of numbers this way:

[<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>]
[<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>]
[<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>]
[<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>]
[<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] [<00xyzwuv>] ...

(x, y, z, w, u, v in 0~F range)

and so on, in an endless loop and at very high speed. This happens with
both 2.0.x and 2.2.x kernel series (with APM support compiled in kernel,
and 'do poweroff on shutdown' enabled). I think the output is produced by
the kernel, not by BIOS routines, since it is extremely fast.

_BUT_ Windoze can cope with it and powers off the system on
shutdown. So it _CAN_ be done, after all. I've been poking around with
#defines inside the apm-bios.c source code, trying to make it work, but
with no possitive result so far.

NOTE: Although the obvious solution would be using an elder BIOS,
I can't do that, because elder BIOS causes unstability in this system,
related with SDRAM timings (sometimes it fails the POST and locks at that
very point).

I've downloaded the Intel specs for APM hoping I will learn a bit
more about the workings of the BIOS.

I must also say that I have tried changing options in BIOS setup
menu, also with no effect.

So, after all of this verbosity, the conclusion is that the new
feature: Suspend to disk, makes the APM BIOS to behave differently from
previous when trying to power-off the system (with this very motherboard),
and that I need your help to modify the apm-driver to work on my system.

Any more ideas?

Thank you very much for your support.

P.D.: Can anybody tell me what does 'IMHO' mean? and 'aka'? Don't know who
should I ask these questions, so I forward it to you. Thanks again.

--
Pancho Horrillo
pancho@atdot.org

a grateful GNU/Linux user. Computer Science student at the University of Salamanca GULUS home page at: http://web.jet.es/~pancho

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/