Skip to content

koitsu/bsdhwmon

Repository files navigation

bsdhwmon

bsdhwmon is a program for FreeBSD for monitoring hardware sensors (fans, temperatures, voltages, chassis intrusion, and more) on commerical-grade server hardware.

bsdhwmon is developed with a very different mentality compared to other hardware monitoring software:

  • Written with stability and production environments in mind
  • Intended for use with server products (currently Supermicro, but can be extended to others that have proper SMBIOS identification data)
  • Uses SMBus (smb(4) driver) exclusively, significantly decreasing risks and CPU usage compared to classic LPC I/O
  • Based primarily on documentation provided by motherboard/server vendors, combined with documentation from chipset manufacturers
  • Identifies hardware via strict SMBIOS data matching; device "probing" is avoided to minimise false positives and thus risks
  • Full tested on both i386 and amd64 systems across multiple versions of FreeBSD (legacy and present-day)
  • Written entirely in C
  • No reliance on third-party libraries or tools (e.g. autotools, libtool, etc.)
  • Very simple and clean code -- heavily commented, well-documented, built with -Werror -Wall and similar flags
  • Occasionally tested under valgrind

Supported Hardware

At this time, only a small set of Supermicro hardware is supported. For an official list of supported hardware and models, please see doc/supported.md.

Supported Operating Systems

  • FreeBSD 15.0 amd64
    • 15.0-CURRENT Build Status
  • FreeBSD 14.x amd64
    • 14.0-RELEASE Build Status
  • FreeBSD 13.x amd64
    • 13.1-RELEASE Build Status

Unsupported Operating Systems

  • FreeBSD 13.1, 13.0 — officially EoL'd but probably still works
  • FreeBSD 12.3, 12.2, 12.1, 12.0 — officially EoL'd but probably still works
  • FreeBSD 11.4, 11.3, 11.2, 11.1, 11.0 — officially EoL'd but probably still works
  • FreeBSD 10.x — officially EoL'd but probably still works
  • FreeBSD 9.x, 8.x, 7.x, 6.x — deprecated as of commit 79f7d2c

Usage

Please see the bsdhwmon man page for all command-line flags and usage details.

Support Requests

For bug reports, enhancements, or general support, please use the GitHub Issues interface.

Author

Repositories