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