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.\" 27*d8cda59eSSascha 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. 612f5aa587SSascha Wildner.Ss Xr devd 8 Ss Events 622f5aa587SSascha WildnerDevd events received by 632f5aa587SSascha Wildner.Xr devd 8 642f5aa587SSascha Wildnerprovide the following information: 652f5aa587SSascha Wildner.Pp 662f5aa587SSascha Wildner.Bl -tag -width "subsystem" -offset indent -compact 672f5aa587SSascha Wildner.It system 682f5aa587SSascha Wildner.Qq Li ACPI 692f5aa587SSascha Wildner.It subsystem 702f5aa587SSascha Wildner.Qq Li HP 712f5aa587SSascha Wildner.It type 722f5aa587SSascha WildnerThe source of the event in the ACPI namespace. 732f5aa587SSascha WildnerThe value depends on the model. 742f5aa587SSascha Wildner.It notify 752f5aa587SSascha WildnerEvent code (see below). 762f5aa587SSascha Wildner.El 772f5aa587SSascha Wildner.Pp 782f5aa587SSascha WildnerEvent codes: 792f5aa587SSascha Wildner.Pp 802f5aa587SSascha Wildner.Bl -tag -width "0xc0" -offset indent -compact 812f5aa587SSascha Wildner.It Li 0xc0 822f5aa587SSascha WildnerWLAN on air status changed to 0 (not on air) 832f5aa587SSascha Wildner.It Li 0xc1 842f5aa587SSascha WildnerWLAN on air status changed to 1 (on air) 852f5aa587SSascha Wildner.It Li 0xd0 862f5aa587SSascha WildnerBluetooth on air status changed to 0 (not on air) 872f5aa587SSascha Wildner.It Li 0xd1 882f5aa587SSascha WildnerBluetooth on air status changed to 1 (on air) 892f5aa587SSascha Wildner.It Li 0xe0 902f5aa587SSascha WildnerWWAN on air status changed to 0 (not on air) 912f5aa587SSascha Wildner.It Li 0xe1 922f5aa587SSascha WildnerWWAN on air status changed to 1 (on air) 932f5aa587SSascha Wildner.El 94507a4eebSSascha Wildner.Ss Xr devfs 5 Ss Device 952f5aa587SSascha WildnerYou can read /dev/hpcmi to see your current BIOS settings. 962f5aa587SSascha WildnerThe detail level can be adjusted by setting the sysctl 972f5aa587SSascha Wildner.Va cmi_detail 982f5aa587SSascha Wildneras described below. 992f5aa587SSascha Wildner.Sh SYSCTL VARIABLES 1002f5aa587SSascha WildnerThe following sysctls are currently implemented: 1012f5aa587SSascha Wildner.Ss WLAN: 1022f5aa587SSascha Wildner.Bl -tag -width indent 10308e18065SSascha Wildner.It Va hw.acpi.hp.wlan_enabled 1042f5aa587SSascha WildnerToggle WLAN chip activity. 10508e18065SSascha Wildner.It Va hw.acpi.hp.wlan_radio 1062f5aa587SSascha Wildner(read-only) 1072f5aa587SSascha WildnerWLAN radio status (controlled by hardware switch) 10808e18065SSascha Wildner.It Va hw.acpi.hp.wlan_on_air 1092f5aa587SSascha Wildner(read-only) 1102f5aa587SSascha WildnerWLAN on air (chip enabled, hardware switch enabled + enabled in BIOS) 11108e18065SSascha Wildner.It Va hw.acpi.hp.wlan_enabled_if_radio_on 1122f5aa587SSascha WildnerIf set to 1, the WLAN chip will be enabled if the radio is turned on 11308e18065SSascha Wildner.It Va hw.acpi.hp.wlan_disable_if_radio_off 1142f5aa587SSascha WildnerIf set to 1, the WLAN chip will be disabled if the radio is turned off 1152f5aa587SSascha Wildner.El 1162f5aa587SSascha Wildner.Ss Bluetooth: 1172f5aa587SSascha Wildner.Bl -tag -width indent 11808e18065SSascha Wildner.It Va hw.acpi.hp.bt_enabled 1192f5aa587SSascha WildnerToggle Bluetooth chip activity. 12008e18065SSascha Wildner.It Va hw.acpi.hp.bt_radio 1212f5aa587SSascha Wildner(read-only) 1222f5aa587SSascha WildnerBluetooth radio status (controlled by hardware switch) 12308e18065SSascha Wildner.It Va hw.acpi.hp.bt_on_air 1242f5aa587SSascha Wildner(read-only) 1252f5aa587SSascha WildnerBluetooth on air (chip enabled, hardware switch enabled + enabled in BIOS) 12608e18065SSascha Wildner.It Va hw.acpi.hp.bt_enabled_if_radio_on 1272f5aa587SSascha WildnerIf set to 1, the Bluetooth chip will be enabled if the radio is turned on 12808e18065SSascha Wildner.It Va hw.acpi.hp.bt_disable_if_radio_off 1292f5aa587SSascha WildnerIf set to 1, the Bluetooth chip will be disabled if the radio is turned off 1302f5aa587SSascha Wildner.El 1312f5aa587SSascha Wildner.Ss WWAN: 1322f5aa587SSascha Wildner.Bl -tag -width indent 13308e18065SSascha Wildner.It Va hw.acpi.hp.wwan_enabled 1342f5aa587SSascha WildnerToggle WWAN chip activity. 13508e18065SSascha Wildner.It Va hw.acpi.hp.wwan_radio 1362f5aa587SSascha Wildner(read-only) 1372f5aa587SSascha WildnerWWAN radio status (controlled by hardware switch) 13808e18065SSascha Wildner.It Va hw.acpi.hp.wwan_on_air 1392f5aa587SSascha Wildner(read-only) 1402f5aa587SSascha WildnerWWAN on air (chip enabled, hardware switch enabled + enabled in BIOS) 14108e18065SSascha Wildner.It Va hw.acpi.hp.wwan_enabled_if_radio_on 1422f5aa587SSascha WildnerIf set to 1, the WWAN chip will be enabled if the radio is turned on 14308e18065SSascha Wildner.It Va hw.acpi.hp.wwan_disable_if_radio_off 1442f5aa587SSascha WildnerIf set to 1, the WWAN chip will be disabled if the radio is turned off 1452f5aa587SSascha Wildner.El 1462f5aa587SSascha Wildner.Ss Misc: 1472f5aa587SSascha Wildner.Bl -tag -width indent 14808e18065SSascha Wildner.It Va hw.acpi.hp.als_enabled 1492f5aa587SSascha WildnerToggle ambient light sensor (ALS) 15008e18065SSascha Wildner.It Va hw.acpi.hp.display 1512f5aa587SSascha Wildner(read-only) 1522f5aa587SSascha WildnerDisplay status (bitmask) 15308e18065SSascha Wildner.It Va hw.acpi.hp.hdd_temperature 1542f5aa587SSascha Wildner(read-only) 1552f5aa587SSascha WildnerHDD temperature 15608e18065SSascha Wildner.It Va hw.acpi.hp.is_docked 1572f5aa587SSascha Wildner(read-only) 1582f5aa587SSascha WildnerDocking station status (1 if docked) 15908e18065SSascha Wildner.It Va hw.acpi.hp.cmi_detail 1602f5aa587SSascha WildnerBitmask to control detail level in /dev/hpcmi output (values can be ORed). 1612f5aa587SSascha Wildner.Bl -tag -width "0x01" -offset indent -compact 1622f5aa587SSascha Wildner.It Li 0x01 1632f5aa587SSascha WildnerShow path component of BIOS setting 1642f5aa587SSascha Wildner.It Li 0x02 1652f5aa587SSascha WildnerShow a list of valid options for the BIOS setting 1662f5aa587SSascha Wildner.It Li 0x04 1672f5aa587SSascha WildnerShow additional flags of BIOS setting (ReadOnly etc.) 1682f5aa587SSascha Wildner.It Li 0x08 1692f5aa587SSascha WildnerQuery highest BIOS entry instance. 1702f5aa587SSascha WildnerThis is broken on many HP models and therefore disabled by default. 1712f5aa587SSascha Wildner.El 17208e18065SSascha Wildner.It Va hw.acpi.hp.verbose 1732f5aa587SSascha Wildner(read-only) 1742f5aa587SSascha WildnerSet verbosity level 1752f5aa587SSascha Wildner.El 1762f5aa587SSascha Wildner.Pp 1772f5aa587SSascha WildnerDefaults for these sysctls can be set in 1782f5aa587SSascha Wildner.Xr sysctl.conf 5 . 1792f5aa587SSascha Wildner.Sh HARDWARE 1802f5aa587SSascha WildnerThe 1812f5aa587SSascha Wildner.Nm 1822f5aa587SSascha Wildnerdriver has been reported to support the following hardware: 1832f5aa587SSascha Wildner.Pp 1842f5aa587SSascha Wildner.Bl -bullet -compact 1852f5aa587SSascha Wildner.It 1862f5aa587SSascha WildnerHP Compaq 8510p 1872f5aa587SSascha Wildner.It 1882f5aa587SSascha WildnerHP Compaq nx7300 1892f5aa587SSascha Wildner.El 1902f5aa587SSascha Wildner.Pp 1912f5aa587SSascha WildnerIt should work on most HP laptops that feature a WMI enabled BIOS. 1922f5aa587SSascha Wildner.Sh FILES 1932f5aa587SSascha Wildner.Bl -tag -width ".Pa /dev/hpcmi" 1942f5aa587SSascha Wildner.It Pa /dev/hpcmi 1952f5aa587SSascha WildnerInterface to read BIOS settings 1962f5aa587SSascha Wildner.El 1972f5aa587SSascha Wildner.Sh EXAMPLES 1982f5aa587SSascha WildnerThe following can be added to 1992f5aa587SSascha Wildner.Xr devd.conf 5 2002f5aa587SSascha Wildnerin order disable the LAN interface when WLAN on air and reenable if it's 2012f5aa587SSascha Wildnernot: 2022f5aa587SSascha Wildner.Bd -literal -offset indent 2032f5aa587SSascha Wildnernotify 0 { 2042f5aa587SSascha Wildner match "system" "ACPI"; 2052f5aa587SSascha Wildner match "subsystem" "HP"; 2062f5aa587SSascha Wildner match "notify" "0xc0"; 2072f5aa587SSascha Wildner action "ifconfig em0 up"; 2082f5aa587SSascha Wildner}; 2092f5aa587SSascha Wildner 2102f5aa587SSascha Wildnernotify 0 { 2112f5aa587SSascha Wildner match "system" "ACPI"; 2122f5aa587SSascha Wildner match "subsystem" "HP"; 2132f5aa587SSascha Wildner match "notify" "0xc1"; 2142f5aa587SSascha Wildner action "ifconfig em0 down"; 2152f5aa587SSascha Wildner}; 2162f5aa587SSascha Wildner.Ed 2172f5aa587SSascha Wildner.Pp 2182f5aa587SSascha WildnerEnable the ambient light sensor: 2192f5aa587SSascha Wildner.Bd -literal -offset indent 22008e18065SSascha Wildnersysctl hw.acpi.hp.als_enabled=1 2212f5aa587SSascha Wildner.Ed 2222f5aa587SSascha Wildner.Pp 2232f5aa587SSascha WildnerEnable Bluetooth: 2242f5aa587SSascha Wildner.Bd -literal -offset indent 22508e18065SSascha Wildnersysctl hw.acpi.hp.bt_enabled=1 2262f5aa587SSascha Wildner.Ed 2272f5aa587SSascha Wildner.Pp 2282f5aa587SSascha WildnerGet BIOS settings: 2292f5aa587SSascha Wildner.Bd -literal -offset indent 2302f5aa587SSascha Wildnercat /dev/hpcmi 2312f5aa587SSascha Wildner 2322f5aa587SSascha WildnerSerial Port Disable 2332f5aa587SSascha WildnerInfrared Port Enable 2342f5aa587SSascha WildnerParallel Port Disable 2352f5aa587SSascha WildnerFlash Media Reader Disable 2362f5aa587SSascha WildnerUSB Ports including Express Card slot Enable 2372f5aa587SSascha Wildner1394 Port Enable 2382f5aa587SSascha WildnerCardbus Slot Disable 2392f5aa587SSascha WildnerExpress Card Slot Disable 2402f5aa587SSascha Wildner(...) 2412f5aa587SSascha Wildner.Ed 2422f5aa587SSascha Wildner.Pp 2432f5aa587SSascha WildnerSet maximum detail level for /dev/hpcmi output: 2442f5aa587SSascha Wildner.Bd -literal -offset indent 24508e18065SSascha Wildnersysctl hw.acpi.hp.cmi_detail=7 2462f5aa587SSascha Wildner.Ed 2472f5aa587SSascha Wildner.Sh SEE ALSO 2482f5aa587SSascha Wildner.Xr acpi 4 , 249554257bcSSascha Wildner.Xr acpi_wmi 4 , 250507a4eebSSascha Wildner.Xr devfs 5 , 2512f5aa587SSascha Wildner.Xr sysctl.conf 5 , 2522f5aa587SSascha Wildner.Xr devd 8 , 2532f5aa587SSascha Wildner.Xr sysctl 8 2542f5aa587SSascha Wildner.Sh HISTORY 2552f5aa587SSascha WildnerThe 2562f5aa587SSascha Wildner.Nm 2572f5aa587SSascha Wildnerdevice driver was ported from 2582f5aa587SSascha Wildner.Fx 2592f5aa587SSascha Wildnerto 2602f5aa587SSascha Wildner.Dx 2.5 . 2612f5aa587SSascha Wildner.Sh AUTHORS 2622f5aa587SSascha Wildner.An -nosplit 2632f5aa587SSascha WildnerThe 2642f5aa587SSascha Wildner.Nm 2652f5aa587SSascha Wildnerdriver was written by 2662f5aa587SSascha Wildner.An Michael Gmelin Aq freebsd@grem.de 2672f5aa587SSascha Wildner.Pp 2682f5aa587SSascha WildnerIt has been inspired by hp-wmi driver, which implements a subset of these 2692f5aa587SSascha Wildnerfeatures (hotkeys) on Linux. 2702f5aa587SSascha Wildner.Bl -tag -width indent 2712f5aa587SSascha Wildner.It HP CMI whitepaper: 2722f5aa587SSascha Wildnerhttp://h20331.www2.hp.com/Hpsub/downloads/cmi_whitepaper.pdf 2732f5aa587SSascha Wildner.It wmi-hp for Linux: 2742f5aa587SSascha Wildnerhttp://www.kernel.org 2752f5aa587SSascha Wildner.It WMI and ACPI: 2762f5aa587SSascha Wildnerhttp://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx 2772f5aa587SSascha Wildner.El 2782f5aa587SSascha Wildner.Pp 2792f5aa587SSascha WildnerThis manual page was written by 2802f5aa587SSascha Wildner.An Michael Gmelin Aq freebsd@grem.de 2812f5aa587SSascha Wildner.Sh BUGS 282*d8cda59eSSascha WildnerThis driver is experimental and has only been tested on an 283*d8cda59eSSascha Wildner.Tn HP Compaq 8510p 284*d8cda59eSSascha Wildner(i386) and an 285*d8cda59eSSascha Wildner.Tn HP Compaq nc6320 286*d8cda59eSSascha Wildner(x86_64) which featured all supported wireless devices (WWAN/BT/WLAN). 2872f5aa587SSascha WildnerExpect undefined results when operating on different hardware. 2882f5aa587SSascha Wildner.Pp 2892f5aa587SSascha WildnerLoading the driver is slow. Reading from /dev/hpcmi is even slower. 2902f5aa587SSascha Wildner.Pp 2912f5aa587SSascha WildnerAdditional features like HP specific sensor readings or writing BIOS 2922f5aa587SSascha Wildnersettings are not supported. 293