How can I determine a server's power supply type remotely?
May 30, 2007 1:56 PM   Subscribe

For UNIX-like systems (Linux, BSD, Solaris) is there a way to determine power supply type remotely, preferably with a simple command-line tool?

I occasionally need to know whether servers in remote offices are AC-powered or DC-powered, and I haven't figured out a way to get that information without visual inspection, which isn't convenient for me or for central office technicians.

I'm familiar with dmidecode and lshw, but they don't seem to provide power or chassis information (when I run `lshw -C power` I get no output, so I assume power is going undetected). I thought maybe acpid or /proc/acpi/* would have useful information, but no luck there, either.

I assume this information is available to the operating system, since OS-specific tools like OpenManage seem to be able to provide it, but maybe there's something fancy happening behind the scenes (service tag --> some database --> power supply part number --> some database --> extended hardware information).

Thanks for your help!
posted by littlegreenlights to Computers & Internet (5 answers total)
 
It's not likely. Every (?) computer gets DC power, all the time.

Sometimes the AC -> DC converter is a few inches away (inside the case), and some times it's (a building rectifier) hundreds of feet. The conversion point is outside what any computer I've ever seen cares about.
posted by cmiller at 2:16 PM on May 30, 2007


I think acpi is the best chance. Are you sure you have all the different acpi modules available (speaking in linux terms)? Perhaps there are some special acpi modules for the hardware. I'm using ibm_acpi on my laptop for the thinkpad features.
posted by donut at 2:49 PM on May 30, 2007


Most enterprise level systems have iLo (integrated lights-out management).

Typically these iLo boards will have this data available to them. iLo's are access generally speaking via IP over ethernet, seperate ethernet interface or via a serial connection.
posted by iamabot at 5:01 PM on May 30, 2007


Humm -- interesting question. I can't think of a way to do it that only relies on generic Linux tools, at least that's simple and foolproof. In some situations, if you can make a guess at what the hardware is, you can use the info provided by 'hwinfo' or various /proc/ files to get the machine type, and then do some Googling to find the machine's specs. But if it's a machine that could be configured in various ways ... I don't think there's a guaranteed way of figuring it out.

I suspect your theory is right about the vendor "lights out management" tools like OpenManage (IBM has a similar thing that I can't think of off the top of my head); they're probably either doing some sort of lookup based on serial numbers and other configuration data, against tables provided by the manufacturer, or they have ways of talking to the hardware that's not standard.

But on bog-standard x86 ATX, the communication between the motherboard and the power supply is pretty limited. As long as the mobo is receiving power, I don't think there's any way that it could know exactly where it's coming from.
posted by Kadin2048 at 8:13 PM on May 30, 2007


Once you figure each one out, (by whatever pains-taking means) how about setting up an environment variable on startup so that all you have to do is ask the env.
posted by philomathoholic at 9:25 PM on May 30, 2007


« Older My dog won't heal.   |   How can I get my batteries to charge? Newer »
This thread is closed to new comments.