diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:43 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:43 -0400 |
| commit | ac5e55f5f2af5b92794c2aded46c6bae85b5f5ed (patch) | |
| tree | 9367490586c84cba28652e443e3166d66c33b0d9 /static/freebsd/man4/asmc.4 3.html | |
| parent | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (diff) | |
docs: Added All FreeBSD Manuals
Diffstat (limited to 'static/freebsd/man4/asmc.4 3.html')
| -rw-r--r-- | static/freebsd/man4/asmc.4 3.html | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/static/freebsd/man4/asmc.4 3.html b/static/freebsd/man4/asmc.4 3.html new file mode 100644 index 00000000..94a058c9 --- /dev/null +++ b/static/freebsd/man4/asmc.4 3.html @@ -0,0 +1,164 @@ +<table class="head"> + <tr> + <td class="head-ltitle">ASMC(4)</td> + <td class="head-vol">Device Drivers Manual</td> + <td class="head-rtitle">ASMC(4)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><code class="Nm">asmc</code> — <span class="Nd">device + driver for the Apple System Management Controller (SMC)</span></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> +<p class="Pp">To compile this driver into the kernel, place the following line + in your kernel configuration file:</p> +<div class="Bd Pp Bd-indent"><code class="Cd">device asmc</code></div> +<p class="Pp">Alternatively, to load the driver as a module at boot time, place + the following line in <a class="Xr">loader.conf(5)</a>:</p> +<div class="Bd Pp Bd-indent Li"> +<pre>asmc_load="YES"</pre> +</div> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">The <code class="Nm">asmc</code> driver controls the Apple System + Management Controller (SMC for short) found on Intel Apple systems.</p> +<p class="Pp">The SMC is known to be found on the following systems:</p> +<p class="Pp"></p> +<ul class="Bl-bullet Bd-indent Bl-compact"> + <li>MacBook</li> + <li>MacBook Pro</li> + <li>Intel MacMini</li> + <li>Mac Pro</li> + <li>MacBook Air</li> + <li>Intel iMac</li> +</ul> +<p class="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.</p> +<p class="Pp">Variables related to the SMC control and inspection are exported + via <a class="Xr">sysctl(3)</a> under the device tree + <var class="Va">dev.asmc</var>.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="KEYBOARD_BACKLIGHT"><a class="permalink" href="#KEYBOARD_BACKLIGHT">KEYBOARD + BACKLIGHT</a></h1> +<p class="Pp">On MacBook Pro systems, you can control the keyboard brightness by + writing a value to the <var class="Va">dev.asmc.%d.light.control</var> + sysctl MIB or with <a class="Xr">backlight(8)</a> utility.</p> +<p class="Pp">The following sysctl MIBs contains the raw value returned by the + left and right light sensors: <var class="Va">dev.asmc.%d.light.left</var> + or <var class="Va">dev.asmc.%d.light.right</var>.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="TEMPERATURES"><a class="permalink" href="#TEMPERATURES">TEMPERATURES</a></h1> +<p class="Pp">The number of temperature sensors and their description varies + among systems. You can inspect the temperature sensors on your system by + traversing the <var class="Va">dev.asmc.temp</var> sysctl MIB.</p> +<p class="Pp">All values are in degrees celsius.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYSTEM_FANS"><a class="permalink" href="#SYSTEM_FANS">SYSTEM + FANS</a></h1> +<p class="Pp">The <var class="Va">dev.asmc.fan.%d</var> sysctl tree contains the + leaf nodes <var class="Va">speed</var>, <var class="Va">safespeed</var>, + <var class="Va">minspeed</var>, <var class="Va">maxspeed</var> and + <var class="Va">targetspeed</var>. Each of these leaf nodes represent the + current fan speed, the safest minimum fan speed, the minimum speed and the + maximum speed respectively.</p> +<p class="Pp">All values are in RPM.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="RAW_SMC_KEY_ACCESS"><a class="permalink" href="#RAW_SMC_KEY_ACCESS">RAW + SMC KEY ACCESS</a></h1> +<p class="Pp">When the kernel is compiled with the + <code class="Dv">ASMC_DEBUG</code> option, a set of sysctl nodes is provided + under <var class="Va">dev.asmc.%d.raw</var> for reading and writing + arbitrary SMC keys by name.</p> +<p class="Pp"></p> +<dl class="Bl-tag Bl-compact"> + <dt id="dev.asmc._d.raw.key"><var class="Va">dev.asmc.%d.raw.key</var></dt> + <dd>Set the 4-character SMC key name to access (e.g., “AUPO”). + Setting this automatically queries the key's length and type.</dd> + <dt id="dev.asmc._d.raw.value"><var class="Va">dev.asmc.%d.raw.value</var></dt> + <dd>Read or write the key's value as a hex string.</dd> + <dt id="dev.asmc._d.raw.len"><var class="Va">dev.asmc.%d.raw.len</var></dt> + <dd>The auto-detected value length in bytes (read-only).</dd> + <dt id="dev.asmc._d.raw.type"><var class="Va">dev.asmc.%d.raw.type</var></dt> + <dd>The 4-character SMC type string (e.g., “ui8”, + “flt”) (read-only).</dd> +</dl> +<p class="Pp">Example usage:</p> +<div class="Bd Pp Bd-indent Li"> +<pre>sysctl dev.asmc.0.raw.key=AUPO +sysctl dev.asmc.0.raw.value +sysctl dev.asmc.0.raw.value=01</pre> +</div> +</section> +<section class="Sh"> +<h1 class="Sh" id="SUDDEN_MOTION_SENSOR"><a class="permalink" href="#SUDDEN_MOTION_SENSOR">SUDDEN + MOTION SENSOR</a></h1> +<p class="Pp">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 <var class="Va">dev.asmc.sms</var> all relate to + the SMS.</p> +<p class="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 + <a class="Xr">ataidle(8)</a> + (<span class="Pa">ports/sysutils/ataidle</span>) and then configure + <a class="Xr">devd(8)</a> the following way:</p> +<div class="Bd Pp Bd-indent Li"> +<pre>notify 0 { + match "system" "ACPI"; + match "subsystem" "asmc"; + action "/usr/local/sbin/ataidle -s X Y"; +};</pre> +</div> +<p class="Pp">Do not forget to change the <var class="Ar">X</var> and + <var class="Ar">Y</var> values in the command above.</p> +<p class="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.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1> +<dl class="Bl-tag Bl-compact"> + <dt><span class="Pa">/dev/backlight/asmc0</span></dt> + <dd>Keyboard <a class="Xr">backlight(8)</a> device node.</dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +<p class="Pp"><a class="Xr">ataidle(8)</a> + (<span class="Pa">ports/sysutils/ataidle</span>), + <a class="Xr">backlight(8)</a>, <a class="Xr">devd(8)</a>, + <a class="Xr">sysctl(8)</a></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> +<p class="Pp">The <code class="Nm">asmc</code> driver first appeared in + <span class="Ux">FreeBSD 8.0</span>.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> +<p class="Pp"><span class="An">Rui Paulo</span> + <<a class="Mt" href="mailto:rpaulo@FreeBSD.org">rpaulo@FreeBSD.org</a>> + (Google Summer of Code project)</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1> +<p class="Pp">Support for the latest models was never tested and is most likely + not fully working.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">March 29, 2026</td> + <td class="foot-os">FreeBSD 15.0</td> + </tr> +</table> |
