How to talk to a local IPMI under FreeBSD 14
Much like Linux and OpenBSD, FreeBSD is able to talk to a local
IPMI using the ipmi
kernel driver (or device, if you
prefer). This is imprecise although widely understood terminology;
in more precise terms, FreeBSD
can talk to a machine's BMC (Baseboard Management Controller) that
implements the IPMI specification in various ways which you seem
to normally not need to care about (for information on 'KCS' and
'SMIC', see the "System Interfaces" section of OpenBSD's ipmi(4)
).
Unlike in OpenBSD (covered earlier), the stock
FreeBSD 14 kernel appears to report no messages if your machine has
an IPMI interface but the driver hasn't been enabled in the kernel.
To see if your machine has an IPMI interface that FreeBSD can talk
to, you can temporarily load the ipmi module with 'kldload ipmi
'. If this
succeeds, you will see kernel messages that might look like this:
ipmi0: <IPMI System Interface> port 0xca8,0xcac irq 10 on acpi0 ipmi0: KCS mode found at io 0xca8 on acpi ipmi0: IPMI device rev. 1, firmware rev. 7.10, version 2.0, device support mask 0xdf ipmi0: Number of channels 2 ipmi0: Attached watchdog ipmi0: Establishing power cycle handler
(On the one Dell server I've tried this on so far, the ipmi(4)
driver found the IPMI
without any special parameters.)
At this point you should have a /dev/ipmi0 device and you can 'pkg
install ipmitool
' and talk to your IPMI. To make this permanent, you
edit /boot/loader.conf
to load the driver on boot, by adding:
ipmi_load="YES"
While you're there, you may also want to load the coretemp(4)
module or perhaps
amdtemp(4)
.
After updating loader.conf, you need to reboot to make it take full
effect, although since you can kldload everything before then I
don't think there's a rush.
In FreeBSD, IPMI sensor information isn't visible in sysctl (although
information from coretemp or amdtemp is). You'll need ipmitool
or another suitable program to query it. You can also use ipmitool
to configure the basics of the IPMI's networking and set the IPMI
administrator's password to something you know, as opposed to
whatever unique value the machine's vendor set it to, which you may
or may not have convenient access to.
(As far as I can tell, ipmitool works the same on FreeBSD as it does on Linux, so if you have existing scripts and so on that use it for collecting data on your Linux hosts (as we do), they will probably be easy to make work on any FreeBSD machines you add.)
|
|