Tiny Core Linux

Tiny Core Base => TCB Talk => Topic started by: avalon on April 22, 2012, 11:31:53 PM

Title: APM legacy support TC 4.x current
Post by: avalon on April 22, 2012, 11:31:53 PM
Hello. Using an OLD pentium 100 MHz as a print server for a similarly old Laserjet 4 parallel printer that I couldn't make working with the broken USB->parallel cables found in stores. It works fine for tha last couple of hours. Now the only thing that bugs me is that I can't shutdown the machine just by the power button. The machine is HP Vectra (unknown model) but it can shutdown and power-on by software. I had slackware on it a loong time ago and it was working.

But there is no apm module in tinycore. I am wondering if tinycore could have the the apm module compiled? Perhaps disable it by default to not cause troubles on newer machines but be available for those who need it? Perhaps in a separate extension? I see an old thread about APM that shows some opinions about it: http://forum.tinycorelinux.net/index.php/topic,1495.0.html (http://forum.tinycorelinux.net/index.php/topic,1495.0.html)

Or is there some other way I can capture the power button events, initiate a shutdown and perform a power off with a script or something?

UPDATE: hmm, or maybe only apmd is missing... I see this line in dmesg:
apm: BIOS version 1.1 Flags 0x03 (Driver version 1.16ac)
Title: Re: APM legacy support TC 4.x current
Post by: xyz-worx on April 23, 2012, 01:10:18 AM
Hi avalon,

I had a similar problem with my old PC using TCL 3.8.4 some month ago. There, it was not possible
to shutdown the machine via  software - I always had to press the power-button to switch it off.
Maybe you  can take a look at the end of my thread (http://forum.tinycorelinux.net/index.php/topic,10731.0.html).
Especially the link to the boot-code description might be interesting.
Playing around with these codes did solve my problem - may be yours too.

Title: Re: APM legacy support TC 4.x current
Post by: coreplayer2 on April 23, 2012, 05:09:47 AM
I think You'll need ACPI functionality for that,  will have to check what I did to enable this on my old test pc.
Title: Re: APM legacy support TC 4.x current
Post by: curaga on April 23, 2012, 06:20:44 AM
APM is built-in, perhaps apmd is indeed what you need.
Title: Re: APM legacy support TC 4.x current
Post by: avalon on April 23, 2012, 08:34:48 AM
Thanks, but no joy for now.

I compiled apmd for pentium and put it in an extension but it does not detect the power button. PC just halts without giving any chance to OS to shutdown. I also tried all combination of apm= without luck (apm=on apm=power-off apm=smp apm=realmode-power-off). The machine does not have an ACPI BIOS so APM is the only option. It is strange because I'm almost sure the old slackware installation was able to shut it down.

wrt detecting power button hit:
Reading on the internet, people suggest that it depends on BIOS how the power button behaves. I obviously need to play with the bios options to see if anything can be changed. Unfortunately I see only one suspicious option - running windows 95 which is already enabled. If there is no way to cahnge power button behavior from BIOS I guess I'm out of luck because BIOS is not sending an APM event but just shuts down :( I can't remember how the previous slackware installation handled that... and not doing to reinstall :)

Attaching apm.tcz 3.2.2 built for pentium arch if anybody needs it. Should work  with any version of TC because binaries are static.
Here's how to build:

You still need an apmd_proxy script though, you may take one from some distro like debian but it expects scripts in /etc/ instead of /usr/local/etc but sed does just fine :)

The attached package does not contain a proxy script. I crafted a simple script manually just to check how apmd calls it but before I have the power button event propagated as an APM event, apmd is useless to me.

P.S. it's incredibly easy to create a TC package, very nice!

     [EDIT]: Removed attachment due to forum policy violation.  Rich
Title: Re: APM legacy support TC 4.x current
Post by: Rich on April 23, 2012, 10:07:22 AM
Hi avalon
I had to remove the file you posted. It is against forum policy to post binaries or extensions. If you feel your extension
may be useful to others, please submit it to the repository.
Title: Re: APM legacy support TC 4.x current
Post by: tinypoodle on August 18, 2012, 04:32:45 AM
On a box with a dead power button, when linux fails to power off I have come to learn to just reboot into FreeDOS and then "fdapm poweroff".
Not very elegant but most reliable and efficient :P