1 .\" Copyright (c) 2009 Michael Gmelin
2 .\" All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 .\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.7 2010/10/08 12:40:16 uqs Exp $
32 .Nd "ACPI extras driver for HP laptops"
34 To compile this driver into the kernel,
35 place the following line in your
36 kernel configuration file:
37 .Bd -ragged -offset indent
41 Alternatively, to load the driver as a
42 module at boot time, place the following line in
44 .Bd -literal -offset indent
50 driver provides support for ACPI-controlled features found on HP laptops
51 that use a WMI enabled BIOS (e.g. HP Compaq 8510p and 6510p).
53 The main purpose of this driver is to provide an interface,
59 through which applications can determine and change the status of
60 various laptop components and BIOS settings.
65 Devd events received by
67 provide the following information:
69 .Bl -tag -width "subsystem" -offset indent -compact
75 The source of the event in the ACPI namespace.
76 The value depends on the model.
78 Event code (see below).
83 .Bl -tag -width "0xc0" -offset indent -compact
85 WLAN on air status changed to 0 (not on air)
87 WLAN on air status changed to 1 (on air)
89 Bluetooth on air status changed to 0 (not on air)
91 Bluetooth on air status changed to 1 (on air)
93 WWAN on air status changed to 0 (not on air)
95 WWAN on air status changed to 1 (on air)
101 You can read /dev/hpcmi to see your current BIOS settings.
102 The detail level can be adjusted by setting the sysctl
106 The following sysctls are currently implemented:
108 .Bl -tag -width indent
109 .It Va hw.acpi.hp.wlan_enabled
110 Toggle WLAN chip activity.
111 .It Va hw.acpi.hp.wlan_radio
113 WLAN radio status (controlled by hardware switch)
114 .It Va hw.acpi.hp.wlan_on_air
116 WLAN on air (chip enabled, hardware switch enabled + enabled in BIOS)
117 .It Va hw.acpi.hp.wlan_enabled_if_radio_on
118 If set to 1, the WLAN chip will be enabled if the radio is turned on
119 .It Va hw.acpi.hp.wlan_disable_if_radio_off
120 If set to 1, the WLAN chip will be disabled if the radio is turned off
123 .Bl -tag -width indent
124 .It Va hw.acpi.hp.bt_enabled
125 Toggle Bluetooth chip activity.
126 .It Va hw.acpi.hp.bt_radio
128 Bluetooth radio status (controlled by hardware switch)
129 .It Va hw.acpi.hp.bt_on_air
131 Bluetooth on air (chip enabled, hardware switch enabled + enabled in BIOS)
132 .It Va hw.acpi.hp.bt_enabled_if_radio_on
133 If set to 1, the Bluetooth chip will be enabled if the radio is turned on
134 .It Va hw.acpi.hp.bt_disable_if_radio_off
135 If set to 1, the Bluetooth chip will be disabled if the radio is turned off
138 .Bl -tag -width indent
139 .It Va hw.acpi.hp.wwan_enabled
140 Toggle WWAN chip activity.
141 .It Va hw.acpi.hp.wwan_radio
143 WWAN radio status (controlled by hardware switch)
144 .It Va hw.acpi.hp.wwan_on_air
146 WWAN on air (chip enabled, hardware switch enabled + enabled in BIOS)
147 .It Va hw.acpi.hp.wwan_enabled_if_radio_on
148 If set to 1, the WWAN chip will be enabled if the radio is turned on
149 .It Va hw.acpi.hp.wwan_disable_if_radio_off
150 If set to 1, the WWAN chip will be disabled if the radio is turned off
153 .Bl -tag -width indent
154 .It Va hw.acpi.hp.als_enabled
155 Toggle ambient light sensor (ALS)
156 .It Va hw.acpi.hp.display
158 Display status (bitmask)
159 .It Va hw.acpi.hp.hdd_temperature
162 .It Va hw.acpi.hp.is_docked
164 Docking station status (1 if docked)
165 .It Va hw.acpi.hp.cmi_detail
166 Bitmask to control detail level in /dev/hpcmi output (values can be ORed).
167 .Bl -tag -width "0x01" -offset indent -compact
169 Show path component of BIOS setting
171 Show a list of valid options for the BIOS setting
173 Show additional flags of BIOS setting (ReadOnly etc.)
175 Query highest BIOS entry instance.
176 This is broken on many HP models and therefore disabled by default.
178 .It Va hw.acpi.hp.verbose
183 Defaults for these sysctls can be set in
188 driver has been reported to support the following hardware:
197 It should work on most HP laptops that feature a WMI enabled BIOS.
199 .Bl -tag -width ".Pa /dev/hpcmi"
201 Interface to read BIOS settings
204 The following can be added to
206 in order disable the LAN interface when WLAN on air and reenable if it's
208 .Bd -literal -offset indent
210 match "system" "ACPI";
211 match "subsystem" "HP";
212 match "notify" "0xc0";
213 action "ifconfig em0 up";
217 match "system" "ACPI";
218 match "subsystem" "HP";
219 match "notify" "0xc1";
220 action "ifconfig em0 down";
224 Enable the ambient light sensor:
225 .Bd -literal -offset indent
226 sysctl hw.acpi.hp.als_enabled=1
230 .Bd -literal -offset indent
231 sysctl hw.acpi.hp.bt_enabled=1
235 .Bd -literal -offset indent
240 Parallel Port Disable
241 Flash Media Reader Disable
242 USB Ports including Express Card slot Enable
245 Express Card Slot Disable
249 Set maximum detail level for /dev/hpcmi output:
250 .Bd -literal -offset indent
251 sysctl hw.acpi.hp.cmi_detail=7
263 device driver was ported from
271 driver was written by
272 .An Michael Gmelin Aq Mt freebsd@grem.de .
274 It has been inspired by hp-wmi driver, which implements a subset of these
275 features (hotkeys) on Linux.
276 .Bl -tag -width indent
277 .It HP CMI whitepaper:
278 http://h20331.www2.hp.com/Hpsub/downloads/cmi_whitepaper.pdf
279 .It wmi-hp for Linux:
280 http://www.kernel.org
282 http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx
285 This manual page was written by
286 .An Michael Gmelin Aq Mt freebsd@grem.de .
288 This driver is experimental and has only been tested on an
292 (x86_64) which featured all supported wireless devices (WWAN/BT/WLAN).
293 Expect undefined results when operating on different hardware.
295 Loading the driver is slow. Reading from /dev/hpcmi is even slower.
297 Additional features like HP specific sensor readings or writing BIOS
298 settings are not supported.