diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 16:08:12 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 16:08:12 -0400 |
| commit | b9cde963555b6519c5dbd34a39dee3418f593437 (patch) | |
| tree | 453accad3c3286e3416d4160de4a87223aff684c /static/freebsd/man4/asmc.4 | |
| parent | 5cb84ec742fd33f78c8022863fadaa8d0d93e176 (diff) | |
feat: Added FreeBSD man pages
Diffstat (limited to 'static/freebsd/man4/asmc.4')
| -rw-r--r-- | static/freebsd/man4/asmc.4 | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/static/freebsd/man4/asmc.4 b/static/freebsd/man4/asmc.4 new file mode 100644 index 00000000..9b42d021 --- /dev/null +++ b/static/freebsd/man4/asmc.4 @@ -0,0 +1,198 @@ +.\"- +.\" Copyright (c) 2007, 2008, 2009 Rui Paulo <rpaulo@FreeBSD.org> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd March 29, 2026 +.Dt ASMC 4 +.Os +.Sh NAME +.Nm asmc +.Nd device driver for the Apple System Management Controller (SMC) +.Sh SYNOPSIS +To compile this driver into the kernel, place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device asmc" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +asmc_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver controls the Apple System Management Controller (SMC for short) +found on Intel Apple systems. +.Pp +The SMC is known to be found on the following systems: +.Pp +.Bl -bullet -offset indent -compact +.It +MacBook +.It +MacBook Pro +.It +Intel MacMini +.It +Mac Pro +.It +MacBook Air +.It +Intel iMac +.El +.Pp +With this driver, you can configure your keyboard backlight +brightness, check temperatures of several sensors, check the speed of +the internal fans and check the status of the Sudden Motion Sensor. +.Pp +Variables related to the SMC control and inspection are exported via +.Xr sysctl 3 +under the device tree +.Va dev.asmc . +.Sh KEYBOARD BACKLIGHT +On +.Tn MacBook Pro +systems, you can control the keyboard brightness by writing a value to +the +.Va dev.asmc.%d.light.control +sysctl MIB or with +.Xr backlight 8 +utility. +.Pp +The following sysctl MIBs contains the raw value returned by the left +and right light sensors: +.Va dev.asmc.%d.light.left +or +.Va dev.asmc.%d.light.right . +.Sh TEMPERATURES +The number of temperature sensors and their description varies among +systems. +You can inspect the temperature sensors on your system by traversing +the +.Va dev.asmc.temp +sysctl MIB. +.Pp +All values are in degrees celsius. +.Sh SYSTEM FANS +The +.Va dev.asmc.fan.%d +sysctl tree contains the leaf nodes +.Va speed , +.Va safespeed , +.Va minspeed , +.Va maxspeed +and +.Va targetspeed . +Each of these leaf nodes represent the current fan speed, the safest +minimum fan speed, the minimum speed and the maximum speed +respectively. +.Pp +All values are in RPM. +.Sh RAW SMC KEY ACCESS +When the kernel is compiled with the +.Dv ASMC_DEBUG +option, a set of sysctl nodes is provided under +.Va dev.asmc.%d.raw +for reading and writing arbitrary SMC keys by name. +.Pp +.Bl -tag -width "dev.asmc.%d.raw.value" -compact +.It Va dev.asmc.%d.raw.key +Set the 4-character SMC key name to access (e.g.,\& +.Dq AUPO ) . +Setting this automatically queries the key's length and type. +.It Va dev.asmc.%d.raw.value +Read or write the key's value as a hex string. +.It Va dev.asmc.%d.raw.len +The auto-detected value length in bytes (read-only). +.It Va dev.asmc.%d.raw.type +The 4-character SMC type string (e.g.,\& +.Dq ui8 , +.Dq flt ) +(read-only). +.El +.Pp +Example usage: +.Bd -literal -offset indent +sysctl dev.asmc.0.raw.key=AUPO +sysctl dev.asmc.0.raw.value +sysctl dev.asmc.0.raw.value=01 +.Ed +.Sh SUDDEN MOTION SENSOR +The Sudden Motion Sensor (SMS for short) is a device that detects +laptop movement and notifies the operating system via an interrupt. +The sysctl MIBs present under +.Va dev.asmc.sms +all relate to the SMS. +.Pp +The most interesting usage of this device is to park the disk heads +when the laptop is moved harshly. +First, you need to install +.Xr ataidle 8 Pq Pa ports/sysutils/ataidle +and then configure +.Xr devd 8 +the following way: +.Bd -literal -offset indent +notify 0 { + match "system" "ACPI"; + match "subsystem" "asmc"; + action "/usr/local/sbin/ataidle -s X Y"; +}; +.Ed +.Pp +Do not forget to change the +.Ar X +and +.Ar Y +values in the command above. +.Pp +Also, please note that parking the disk heads too many times can +dramatically reduce your hard drive's life span. +Do not rely solely on +the SMS to protect your hard drive: good care and common sense can +increase your hard drive's life. +.Sh FILES +.Bl -tag -width ".Pa /dev/backlight/asmc0" -compact +.It Pa /dev/backlight/asmc0 +Keyboard +.Xr backlight 8 +device node. +.Sh SEE ALSO +.Xr ataidle 8 Pq Pa ports/sysutils/ataidle , +.Xr backlight 8 , +.Xr devd 8 , +.Xr sysctl 8 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 8.0 . +.Sh AUTHORS +.An Rui Paulo Aq Mt rpaulo@FreeBSD.org +(Google Summer of Code project) +.Sh BUGS +Support for the latest models was never tested and is most likely not +fully working. |
