SMU(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

okay so bestie, you've pulled up SMU(4) from the powerpc Kernel Interfaces Manual, aka the Apple System Management Unit Driver, and we are gonna read it together πŸ’–βœ¨

πŸŽ€ NAME πŸŽ€

sm u β€” Apple System Management Unit Driver. That's the name, that's the vibe, periodt. πŸ’…

πŸ› οΈ SYNOPSIS πŸ› οΈ

bestie, if you want this driver compiled into your kernel, drop these lines into your kernel configuration file:

device smu

🌸 DESCRIPTION 🌸

the smu driver provides support for the System Management Unit (SMU) that shows up in many Apple G5 systems β€” and yes, that includes most Power Macintosh G5 systems and all iMac G5 systems. πŸ¦‹

the Apple SMU controller provides software power management and thermal control functionality, and it's responsible for managing system cooling devices. so it's lowkey the cooling-and-power main character for these machines. πŸ‘‘

πŸ”₯ HARDWARE πŸ”₯

Chips supported by the smu driver include:

  • Apple System Management Unit

🌑️ THERMAL MANAGEMENT 🌑️

the smu driver provides basic automatic thermal management. if there's no userspace daemon providing more advanced control, the driver will attempt to maintain system temperatures in a conservative range through coarse-grained control of system cooling devices (see below). ✨

automatic kernel-level thermal control will take over if more than 3 seconds elapses between userspace cooling setting adjustments. so yeah, don't leave it hanging for over 3 seconds or the kernel steps in. 🫢

πŸŽ›οΈ SYSCTL VARIABLES πŸŽ›οΈ

the smu driver provides power management services and thermal readout through a sysctl interface. the following sysctls can be used to control the power management behavior and to examine current system power and thermal conditions. πŸ‘€

  • dev.smu.%d.server_mode β€” restart after power failure behavior: 1 causes the system to reboot after a power cut, and 0 causes the system to remain off. πŸ’€
  • dev.smu.%d.target_temp β€” target system temperature, in degrees Celsius. the smu driver will attempt to adjust fans to maintain the temperature of the warmest component in the system at or below this level. 🌑️
  • dev.smu.%d.critical_temp β€” system critical temperature, in degrees Celsius. if any component in the system exceeds this temperature, the machine will be shut down within 500 ms. 😭
  • dev.smu.%d.fans.%s.minrpm β€” minimum allowed speed for this fan. πŸ“
  • dev.smu.%d.fans.%s.maxrpm β€” maximum allowed speed for this fan. πŸ“
  • dev.smu.%d.fans.%s.rpm β€” current speed for this fan. the fan speed can be adjusted by changing this sysctl. if more than 3 seconds elapses between fan speed adjustments, the kernel will resume automatic control of the fan. ⏱️
  • dev.smu.%d.sensors.%s β€” current reading from this sensor. Four sensor types are supported. temperature sensors are in units of degrees Celsius, current sensors in milliamps, voltage sensors in millivolts, and power sensors in milliwatts. 🌈

πŸ’‘ LED INTERFACE πŸ’‘

the smu driver provides an led(4) annunciator interface at /dev/led/sleepled. so if you need the sleep LED vibe check, that's the spot. πŸŽ€

πŸ‘€ SEE ALSO πŸ‘€

go peek at acpi(4), led(4), and pmu(4). iykyk. πŸ¦‹

πŸ“œ HISTORY πŸ“œ

the smu device driver appeared in FreeBSD 8.0. iconic. ⭐

πŸ’œ AUTHORS πŸ’œ

the smu driver was written by Nathan Whitehorn <nwhitehorn@FreeBSD.org>. 🫢

that's the tea: this page is from Debian, dated February 22, 2010, and it's for SMU(4). stay cool, bestie β€” literally, the SMU is handling it πŸ’…πŸŽ€

πŸ“¦ where this page comes from