xref: /dflybsd-src/share/man/man4/acpi_hp.4 (revision c9c6988b3417c76f002af80950e0b3264917d3b1)
12f5aa587SSascha Wildner.\" Copyright (c) 2009 Michael Gmelin
22f5aa587SSascha Wildner.\" All rights reserved.
32f5aa587SSascha Wildner.\"
42f5aa587SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
52f5aa587SSascha Wildner.\" modification, are permitted provided that the following conditions
62f5aa587SSascha Wildner.\" are met:
72f5aa587SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
82f5aa587SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
92f5aa587SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
102f5aa587SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
112f5aa587SSascha Wildner.\"    documentation and/or other materials provided with the distribution.
122f5aa587SSascha Wildner.\"
132f5aa587SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
142f5aa587SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
152f5aa587SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
162f5aa587SSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
172f5aa587SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
182f5aa587SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
192f5aa587SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
202f5aa587SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
212f5aa587SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
222f5aa587SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
232f5aa587SSascha Wildner.\" SUCH DAMAGE.
242f5aa587SSascha Wildner.\"
25554257bcSSascha Wildner.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.7 2010/10/08 12:40:16 uqs Exp $
262f5aa587SSascha Wildner.\"
27d8cda59eSSascha Wildner.Dd April 10, 2012
282f5aa587SSascha Wildner.Dt ACPI_HP 4
292f5aa587SSascha Wildner.Os
302f5aa587SSascha Wildner.Sh NAME
312f5aa587SSascha Wildner.Nm acpi_hp
322f5aa587SSascha Wildner.Nd "ACPI extras driver for HP laptops"
332f5aa587SSascha Wildner.Sh SYNOPSIS
342f5aa587SSascha WildnerTo compile this driver into the kernel,
352f5aa587SSascha Wildnerplace the following line in your
362f5aa587SSascha Wildnerkernel configuration file:
372f5aa587SSascha Wildner.Bd -ragged -offset indent
382f5aa587SSascha Wildner.Cd "device acpi_hp"
392f5aa587SSascha Wildner.Ed
402f5aa587SSascha Wildner.Pp
412f5aa587SSascha WildnerAlternatively, to load the driver as a
422f5aa587SSascha Wildnermodule at boot time, place the following line in
432f5aa587SSascha Wildner.Xr loader.conf 5 :
442f5aa587SSascha Wildner.Bd -literal -offset indent
452f5aa587SSascha Wildneracpi_hp_load="YES"
462f5aa587SSascha Wildner.Ed
472f5aa587SSascha Wildner.Sh DESCRIPTION
482f5aa587SSascha WildnerThe
492f5aa587SSascha Wildner.Nm
502f5aa587SSascha Wildnerdriver provides support for ACPI-controlled features found on HP laptops
512f5aa587SSascha Wildnerthat use a WMI enabled BIOS (e.g. HP Compaq 8510p and 6510p).
522f5aa587SSascha Wildner.Pp
532f5aa587SSascha WildnerThe main purpose of this driver is to provide an interface,
542f5aa587SSascha Wildneraccessible via
552f5aa587SSascha Wildner.Xr sysctl 8 ,
562f5aa587SSascha Wildner.Xr devd 8
572f5aa587SSascha Wildnerand
582f5aa587SSascha Wildner.Xr devfs 5 ,
592f5aa587SSascha Wildnerthrough which applications can determine and change the status of
602f5aa587SSascha Wildnervarious laptop components and BIOS settings.
61*c9c6988bSSascha Wildner.Ss Eo
62*c9c6988bSSascha Wildner.Xr devd 8
63*c9c6988bSSascha WildnerEvents
64*c9c6988bSSascha Wildner.Ec
652f5aa587SSascha WildnerDevd events received by
662f5aa587SSascha Wildner.Xr devd 8
672f5aa587SSascha Wildnerprovide the following information:
682f5aa587SSascha Wildner.Pp
692f5aa587SSascha Wildner.Bl -tag -width "subsystem" -offset indent -compact
702f5aa587SSascha Wildner.It system
712f5aa587SSascha Wildner.Qq Li ACPI
722f5aa587SSascha Wildner.It subsystem
732f5aa587SSascha Wildner.Qq Li HP
742f5aa587SSascha Wildner.It type
752f5aa587SSascha WildnerThe source of the event in the ACPI namespace.
762f5aa587SSascha WildnerThe value depends on the model.
772f5aa587SSascha Wildner.It notify
782f5aa587SSascha WildnerEvent code (see below).
792f5aa587SSascha Wildner.El
802f5aa587SSascha Wildner.Pp
812f5aa587SSascha WildnerEvent codes:
822f5aa587SSascha Wildner.Pp
832f5aa587SSascha Wildner.Bl -tag -width "0xc0" -offset indent -compact
842f5aa587SSascha Wildner.It Li 0xc0
852f5aa587SSascha WildnerWLAN on air status changed to 0 (not on air)
862f5aa587SSascha Wildner.It Li 0xc1
872f5aa587SSascha WildnerWLAN on air status changed to 1 (on air)
882f5aa587SSascha Wildner.It Li 0xd0
892f5aa587SSascha WildnerBluetooth on air status changed to 0 (not on air)
902f5aa587SSascha Wildner.It Li 0xd1
912f5aa587SSascha WildnerBluetooth on air status changed to 1 (on air)
922f5aa587SSascha Wildner.It Li 0xe0
932f5aa587SSascha WildnerWWAN on air status changed to 0 (not on air)
942f5aa587SSascha Wildner.It Li 0xe1
952f5aa587SSascha WildnerWWAN on air status changed to 1 (on air)
962f5aa587SSascha Wildner.El
97*c9c6988bSSascha Wildner.Ss Eo
98*c9c6988bSSascha Wildner.Xr devfs 5
99*c9c6988bSSascha WildnerDevice
100*c9c6988bSSascha Wildner.Ec
1012f5aa587SSascha WildnerYou can read /dev/hpcmi to see your current BIOS settings.
1022f5aa587SSascha WildnerThe detail level can be adjusted by setting the sysctl
1032f5aa587SSascha Wildner.Va cmi_detail
1042f5aa587SSascha Wildneras described below.
1052f5aa587SSascha Wildner.Sh SYSCTL VARIABLES
1062f5aa587SSascha WildnerThe following sysctls are currently implemented:
1072f5aa587SSascha Wildner.Ss WLAN:
1082f5aa587SSascha Wildner.Bl -tag -width indent
10908e18065SSascha Wildner.It Va hw.acpi.hp.wlan_enabled
1102f5aa587SSascha WildnerToggle WLAN chip activity.
11108e18065SSascha Wildner.It Va hw.acpi.hp.wlan_radio
1122f5aa587SSascha Wildner(read-only)
1132f5aa587SSascha WildnerWLAN radio status (controlled by hardware switch)
11408e18065SSascha Wildner.It Va hw.acpi.hp.wlan_on_air
1152f5aa587SSascha Wildner(read-only)
1162f5aa587SSascha WildnerWLAN on air (chip enabled, hardware switch enabled + enabled in BIOS)
11708e18065SSascha Wildner.It Va hw.acpi.hp.wlan_enabled_if_radio_on
1182f5aa587SSascha WildnerIf set to 1, the WLAN chip will be enabled if the radio is turned on
11908e18065SSascha Wildner.It Va hw.acpi.hp.wlan_disable_if_radio_off
1202f5aa587SSascha WildnerIf set to 1, the WLAN chip will be disabled if the radio is turned off
1212f5aa587SSascha Wildner.El
1222f5aa587SSascha Wildner.Ss Bluetooth:
1232f5aa587SSascha Wildner.Bl -tag -width indent
12408e18065SSascha Wildner.It Va hw.acpi.hp.bt_enabled
1252f5aa587SSascha WildnerToggle Bluetooth chip activity.
12608e18065SSascha Wildner.It Va hw.acpi.hp.bt_radio
1272f5aa587SSascha Wildner(read-only)
1282f5aa587SSascha WildnerBluetooth radio status (controlled by hardware switch)
12908e18065SSascha Wildner.It Va hw.acpi.hp.bt_on_air
1302f5aa587SSascha Wildner(read-only)
1312f5aa587SSascha WildnerBluetooth on air (chip enabled, hardware switch enabled + enabled in BIOS)
13208e18065SSascha Wildner.It Va hw.acpi.hp.bt_enabled_if_radio_on
1332f5aa587SSascha WildnerIf set to 1, the Bluetooth chip will be enabled if the radio is turned on
13408e18065SSascha Wildner.It Va hw.acpi.hp.bt_disable_if_radio_off
1352f5aa587SSascha WildnerIf set to 1, the Bluetooth chip will be disabled if the radio is turned off
1362f5aa587SSascha Wildner.El
1372f5aa587SSascha Wildner.Ss WWAN:
1382f5aa587SSascha Wildner.Bl -tag -width indent
13908e18065SSascha Wildner.It Va hw.acpi.hp.wwan_enabled
1402f5aa587SSascha WildnerToggle WWAN chip activity.
14108e18065SSascha Wildner.It Va hw.acpi.hp.wwan_radio
1422f5aa587SSascha Wildner(read-only)
1432f5aa587SSascha WildnerWWAN radio status (controlled by hardware switch)
14408e18065SSascha Wildner.It Va hw.acpi.hp.wwan_on_air
1452f5aa587SSascha Wildner(read-only)
1462f5aa587SSascha WildnerWWAN on air (chip enabled, hardware switch enabled + enabled in BIOS)
14708e18065SSascha Wildner.It Va hw.acpi.hp.wwan_enabled_if_radio_on
1482f5aa587SSascha WildnerIf set to 1, the WWAN chip will be enabled if the radio is turned on
14908e18065SSascha Wildner.It Va hw.acpi.hp.wwan_disable_if_radio_off
1502f5aa587SSascha WildnerIf set to 1, the WWAN chip will be disabled if the radio is turned off
1512f5aa587SSascha Wildner.El
1522f5aa587SSascha Wildner.Ss Misc:
1532f5aa587SSascha Wildner.Bl -tag -width indent
15408e18065SSascha Wildner.It Va hw.acpi.hp.als_enabled
1552f5aa587SSascha WildnerToggle ambient light sensor (ALS)
15608e18065SSascha Wildner.It Va hw.acpi.hp.display
1572f5aa587SSascha Wildner(read-only)
1582f5aa587SSascha WildnerDisplay status (bitmask)
15908e18065SSascha Wildner.It Va hw.acpi.hp.hdd_temperature
1602f5aa587SSascha Wildner(read-only)
1612f5aa587SSascha WildnerHDD temperature
16208e18065SSascha Wildner.It Va hw.acpi.hp.is_docked
1632f5aa587SSascha Wildner(read-only)
1642f5aa587SSascha WildnerDocking station status (1 if docked)
16508e18065SSascha Wildner.It Va hw.acpi.hp.cmi_detail
1662f5aa587SSascha WildnerBitmask to control detail level in /dev/hpcmi output (values can be ORed).
1672f5aa587SSascha Wildner.Bl -tag -width "0x01" -offset indent -compact
1682f5aa587SSascha Wildner.It Li 0x01
1692f5aa587SSascha WildnerShow path component of BIOS setting
1702f5aa587SSascha Wildner.It Li 0x02
1712f5aa587SSascha WildnerShow a list of valid options for the BIOS setting
1722f5aa587SSascha Wildner.It Li 0x04
1732f5aa587SSascha WildnerShow additional flags of BIOS setting (ReadOnly etc.)
1742f5aa587SSascha Wildner.It Li 0x08
1752f5aa587SSascha WildnerQuery highest BIOS entry instance.
1762f5aa587SSascha WildnerThis is broken on many HP models and therefore disabled by default.
1772f5aa587SSascha Wildner.El
17808e18065SSascha Wildner.It Va hw.acpi.hp.verbose
1792f5aa587SSascha Wildner(read-only)
1802f5aa587SSascha WildnerSet verbosity level
1812f5aa587SSascha Wildner.El
1822f5aa587SSascha Wildner.Pp
1832f5aa587SSascha WildnerDefaults for these sysctls can be set in
1842f5aa587SSascha Wildner.Xr sysctl.conf 5 .
1852f5aa587SSascha Wildner.Sh HARDWARE
1862f5aa587SSascha WildnerThe
1872f5aa587SSascha Wildner.Nm
1882f5aa587SSascha Wildnerdriver has been reported to support the following hardware:
1892f5aa587SSascha Wildner.Pp
1902f5aa587SSascha Wildner.Bl -bullet -compact
1912f5aa587SSascha Wildner.It
1922f5aa587SSascha WildnerHP Compaq 8510p
1932f5aa587SSascha Wildner.It
1942f5aa587SSascha WildnerHP Compaq nx7300
1952f5aa587SSascha Wildner.El
1962f5aa587SSascha Wildner.Pp
1972f5aa587SSascha WildnerIt should work on most HP laptops that feature a WMI enabled BIOS.
1982f5aa587SSascha Wildner.Sh FILES
1992f5aa587SSascha Wildner.Bl -tag -width ".Pa /dev/hpcmi"
2002f5aa587SSascha Wildner.It Pa /dev/hpcmi
2012f5aa587SSascha WildnerInterface to read BIOS settings
2022f5aa587SSascha Wildner.El
2032f5aa587SSascha Wildner.Sh EXAMPLES
2042f5aa587SSascha WildnerThe following can be added to
2052f5aa587SSascha Wildner.Xr devd.conf 5
2062f5aa587SSascha Wildnerin order disable the LAN interface when WLAN on air and reenable if it's
2072f5aa587SSascha Wildnernot:
2082f5aa587SSascha Wildner.Bd -literal -offset indent
2092f5aa587SSascha Wildnernotify 0 {
2102f5aa587SSascha Wildner	match "system"          "ACPI";
2112f5aa587SSascha Wildner	match "subsystem"       "HP";
2122f5aa587SSascha Wildner	match "notify"          "0xc0";
2132f5aa587SSascha Wildner	action                  "ifconfig em0 up";
2142f5aa587SSascha Wildner};
2152f5aa587SSascha Wildner
2162f5aa587SSascha Wildnernotify 0 {
2172f5aa587SSascha Wildner	match "system"          "ACPI";
2182f5aa587SSascha Wildner	match "subsystem"       "HP";
2192f5aa587SSascha Wildner	match "notify"          "0xc1";
2202f5aa587SSascha Wildner	action                  "ifconfig em0 down";
2212f5aa587SSascha Wildner};
2222f5aa587SSascha Wildner.Ed
2232f5aa587SSascha Wildner.Pp
2242f5aa587SSascha WildnerEnable the ambient light sensor:
2252f5aa587SSascha Wildner.Bd -literal -offset indent
22608e18065SSascha Wildnersysctl hw.acpi.hp.als_enabled=1
2272f5aa587SSascha Wildner.Ed
2282f5aa587SSascha Wildner.Pp
2292f5aa587SSascha WildnerEnable Bluetooth:
2302f5aa587SSascha Wildner.Bd -literal -offset indent
23108e18065SSascha Wildnersysctl hw.acpi.hp.bt_enabled=1
2322f5aa587SSascha Wildner.Ed
2332f5aa587SSascha Wildner.Pp
2342f5aa587SSascha WildnerGet BIOS settings:
2352f5aa587SSascha Wildner.Bd -literal -offset indent
2362f5aa587SSascha Wildnercat /dev/hpcmi
2372f5aa587SSascha Wildner
2382f5aa587SSascha WildnerSerial Port                                Disable
2392f5aa587SSascha WildnerInfrared Port                              Enable
2402f5aa587SSascha WildnerParallel Port                              Disable
2412f5aa587SSascha WildnerFlash Media Reader                         Disable
2422f5aa587SSascha WildnerUSB Ports including Express Card slot      Enable
2432f5aa587SSascha Wildner1394 Port                                  Enable
2442f5aa587SSascha WildnerCardbus Slot                               Disable
2452f5aa587SSascha WildnerExpress Card Slot                          Disable
2462f5aa587SSascha Wildner(...)
2472f5aa587SSascha Wildner.Ed
2482f5aa587SSascha Wildner.Pp
2492f5aa587SSascha WildnerSet maximum detail level for /dev/hpcmi output:
2502f5aa587SSascha Wildner.Bd -literal -offset indent
25108e18065SSascha Wildnersysctl hw.acpi.hp.cmi_detail=7
2522f5aa587SSascha Wildner.Ed
2532f5aa587SSascha Wildner.Sh SEE ALSO
2542f5aa587SSascha Wildner.Xr acpi 4 ,
255554257bcSSascha Wildner.Xr acpi_wmi 4 ,
256507a4eebSSascha Wildner.Xr devfs 5 ,
2572f5aa587SSascha Wildner.Xr sysctl.conf 5 ,
2582f5aa587SSascha Wildner.Xr devd 8 ,
2592f5aa587SSascha Wildner.Xr sysctl 8
2602f5aa587SSascha Wildner.Sh HISTORY
2612f5aa587SSascha WildnerThe
2622f5aa587SSascha Wildner.Nm
2632f5aa587SSascha Wildnerdevice driver was ported from
2642f5aa587SSascha Wildner.Fx
2652f5aa587SSascha Wildnerto
2662f5aa587SSascha Wildner.Dx 2.5 .
2672f5aa587SSascha Wildner.Sh AUTHORS
2682f5aa587SSascha Wildner.An -nosplit
2692f5aa587SSascha WildnerThe
2702f5aa587SSascha Wildner.Nm
2712f5aa587SSascha Wildnerdriver was written by
272b2a6f486SFranco Fichtner.An Michael Gmelin Aq Mt freebsd@grem.de .
2732f5aa587SSascha Wildner.Pp
2742f5aa587SSascha WildnerIt has been inspired by hp-wmi driver, which implements a subset of these
2752f5aa587SSascha Wildnerfeatures (hotkeys) on Linux.
2762f5aa587SSascha Wildner.Bl -tag -width indent
2772f5aa587SSascha Wildner.It HP CMI whitepaper:
2782f5aa587SSascha Wildnerhttp://h20331.www2.hp.com/Hpsub/downloads/cmi_whitepaper.pdf
2792f5aa587SSascha Wildner.It wmi-hp for Linux:
2802f5aa587SSascha Wildnerhttp://www.kernel.org
2812f5aa587SSascha Wildner.It WMI and ACPI:
2822f5aa587SSascha Wildnerhttp://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx
2832f5aa587SSascha Wildner.El
2842f5aa587SSascha Wildner.Pp
2852f5aa587SSascha WildnerThis manual page was written by
286b2a6f486SFranco Fichtner.An Michael Gmelin Aq Mt freebsd@grem.de .
2872f5aa587SSascha Wildner.Sh BUGS
288d8cda59eSSascha WildnerThis driver is experimental and has only been tested on an
289d8cda59eSSascha Wildner.Tn HP Compaq 8510p
290d8cda59eSSascha Wildner(i386) and an
291d8cda59eSSascha Wildner.Tn HP Compaq nc6320
292d8cda59eSSascha Wildner(x86_64) which featured all supported wireless devices (WWAN/BT/WLAN).
2932f5aa587SSascha WildnerExpect undefined results when operating on different hardware.
2942f5aa587SSascha Wildner.Pp
2952f5aa587SSascha WildnerLoading the driver is slow. Reading from /dev/hpcmi is even slower.
2962f5aa587SSascha Wildner.Pp
2972f5aa587SSascha WildnerAdditional features like HP specific sensor readings or writing BIOS
2982f5aa587SSascha Wildnersettings are not supported.
299