Archive Info

You are currently browsing the PolyMicro Systems weblog archives for March, 2007.

Setting acwakeonchange in PMU from Open Firmware

Poking around I finally figure out how to set the PMU power fail settings from Open Firmware on my G5 XServe’s. The code should work on any Mac which has a PMU capable of this function.

Here is the sequence needed:

First clear out any previous settings

dev via-pmu
pad 2 ff fill pad 2 " "(00 FF FF)" 8f pmu-op pad swap dump

Now set the acwakeoninsert byte.

dev via-pmu
pad 2 ff fill pad 2 " "(01 00 02)" 8f pmu-op pad swap dump

In both cases you should see the result codes returned from the PMU.

Power IP 9258 installed to power up servers.

Received the IP power switch I bought on EBay yesterday. Even though the docs are not very well translated I was able to get it running in fairly short order. It came setup to issue a DHCP request so I was able to connect to it right away. I turned off the DHCP request and assigned a static IP on my LAN as I was anticipating being able to shut down the server at night.

Thats when I discovered 2 problems.

Problem 1
Seems that if you set the ‘restart on power fail’ setting in the energy control panel it will be ignored if you issue a shutdown command. Evidently, the idea is if you are shutting down via command you do not want the system to be powering up again by itself. While I can see the point of this there should be a way to leave the PMU setting alone if you want the power up to restart the machine.

And indeed, it seems Leopard shutdown has added a -u option to do just that but since I am running Tiger I ill have to see if I can do this another way. Maybe I will grab the Darwin sources for shutdown and see if it can leave the PMU alone.

Problem 2
Since I am using the other XServe’s basically as storage devices I had anticipated being able to just set the boot-command in Open Firmware to target-mode and I could then use the IP power switch to turn units on and off as I pleased and they would fire up in target disk mode. But, it turns out the PMU is not set properly and I either have to figure out how to set the PMU from Open Firmware or install OSX on a hard drive and bring each unit up just to set the PMU bit then yank the power so it stays set.