1df849145SRui Paulo.\" Copyright (c) 2009 Michael Gmelin 2df849145SRui Paulo.\" All rights reserved. 3df849145SRui Paulo.\" 4df849145SRui Paulo.\" Redistribution and use in source and binary forms, with or without 5df849145SRui Paulo.\" modification, are permitted provided that the following conditions 6df849145SRui Paulo.\" are met: 7df849145SRui Paulo.\" 1. Redistributions of source code must retain the above copyright 8df849145SRui Paulo.\" notice, this list of conditions and the following disclaimer. 9df849145SRui Paulo.\" 2. Redistributions in binary form must reproduce the above copyright 10df849145SRui Paulo.\" notice, this list of conditions and the following disclaimer in the 11df849145SRui Paulo.\" documentation and/or other materials provided with the distribution. 12df849145SRui Paulo.\" 13df849145SRui Paulo.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14df849145SRui Paulo.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15df849145SRui Paulo.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16df849145SRui Paulo.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17df849145SRui Paulo.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18df849145SRui Paulo.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19df849145SRui Paulo.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20df849145SRui Paulo.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21df849145SRui Paulo.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22df849145SRui Paulo.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23df849145SRui Paulo.\" SUCH DAMAGE. 24df849145SRui Paulo.\" 25df849145SRui Paulo.\" $FreeBSD$ 26df849145SRui Paulo.\" 27df849145SRui Paulo.Dd June 21, 2009 28df849145SRui Paulo.Dt ACPI_HP 4 i386 29df849145SRui Paulo.Os 30df849145SRui Paulo.Sh NAME 31df849145SRui Paulo.Nm acpi_hp 32df849145SRui Paulo.Nd "ACPI extras driver for HP laptops" 33df849145SRui Paulo.Sh SYNOPSIS 34df849145SRui PauloTo compile this driver into the kernel, 35df849145SRui Pauloplace the following line in your 36df849145SRui Paulokernel configuration file: 37df849145SRui Paulo.Bd -ragged -offset indent 38df849145SRui Paulo.Cd "device acpi_hp" 39df849145SRui Paulo.Ed 40df849145SRui Paulo.Pp 41df849145SRui PauloAlternatively, to load the driver as a 42df849145SRui Paulomodule at boot time, place the following line in 43df849145SRui Paulo.Xr loader.conf 5 : 44df849145SRui Paulo.Bd -literal -offset indent 45df849145SRui Pauloacpi_hp_load="YES" 46df849145SRui Paulo.Ed 47df849145SRui Paulo.Sh DESCRIPTION 48df849145SRui PauloThe 49df849145SRui Paulo.Nm 50df849145SRui Paulodriver provides support for ACPI-controlled features found on HP laptops 51df849145SRui Paulothat use a WMI enabled BIOS (e.g. HP Compaq 8510p and 6510p). 52df849145SRui Paulo.Pp 53df849145SRui PauloThe main purpose of this driver is to provide an interface, 54df849145SRui Pauloaccessible via 55df849145SRui Paulo.Xr sysctl 8 , 56df849145SRui Paulo.Xr devd 8 and 57df849145SRui Paulo.Xr devfs 8 , 58df849145SRui Paulothrough which applications can determine and change the status of 59df849145SRui Paulovarious laptop components and BIOS settings. 60df849145SRui Paulo.Pp 61df849145SRui Paulo.Ss Xr devd 8 Ss Events 62df849145SRui PauloDevd events received by 63df849145SRui Paulo.Xr devd 8 64df849145SRui Pauloprovide the following information: 65df849145SRui Paulo.Pp 66df849145SRui Paulo.Bl -tag -width "subsystem" -offset indent -compact 67df849145SRui Paulo.It system 68df849145SRui Paulo.Qq Li ACPI 69df849145SRui Paulo.It subsystem 70df849145SRui Paulo.Qq Li HP 71df849145SRui Paulo.It type 72df849145SRui PauloThe source of the event in the ACPI namespace. 73df849145SRui PauloThe value depends on the model. 74df849145SRui Paulo.It notify 75df849145SRui PauloEvent code (see below). 76df849145SRui Paulo.El 77df849145SRui Paulo.Pp 78df849145SRui PauloEvent codes: 79df849145SRui Paulo.Pp 80df849145SRui Paulo.Bl -tag -width "0xc0" -offset indent -compact 81df849145SRui Paulo.It Li 0xc0 82df849145SRui PauloWLAN on air status changed to 0 (not on air) 83df849145SRui Paulo.It Li 0xc1 84df849145SRui PauloWLAN on air status changed to 1 (on air) 85df849145SRui Paulo.It Li 0xd0 86df849145SRui PauloBluetooth on air status changed to 0 (not on air) 87df849145SRui Paulo.It Li 0xd1 88df849145SRui PauloBluetooth on air status changed to 1 (on air) 89df849145SRui Paulo.It Li 0xe0 90df849145SRui PauloWWAN on air status changed to 0 (not on air) 91df849145SRui Paulo.It Li 0xe1 92df849145SRui PauloWWAN on air status changed to 1 (on air) 93df849145SRui Paulo.El 94df849145SRui Paulo.Ss Xr devfs 8 Ss Device 95df849145SRui PauloYou can read /dev/hpcmi to see your current BIOS settings. The detail level 96df849145SRui Paulocan be adjusted by setting the sysctl 97df849145SRui Paulo.Va cmi_detail 98df849145SRui Pauloas described below. 99df849145SRui Paulo.Sh SYSCTL VARIABLES 100df849145SRui PauloThe following sysctls are currently implemented: 101df849145SRui Paulo.Ss WLAN: 102df849145SRui Paulo.Bl -tag -width indent 103df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_enabled 104df849145SRui PauloToggle WLAN chip activity. 105df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_radio 106df849145SRui Paulo(read-only) 107df849145SRui PauloWLAN radio status (controlled by hardware switch) 108df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_on_air 109df849145SRui Paulo(read-only) 110df849145SRui PauloWLAN on air (chip enabled, hardware switch enabled + enabled in BIOS) 111df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_enabled_if_radio_on 112df849145SRui PauloIf set to 1, the WLAN chip will be enabled if the radio is turned on 113df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_disable_if_radio_off 114df849145SRui PauloIf set to 1, the WLAN chip will be disabled if the radio is turned off 115df849145SRui Paulo.El 116df849145SRui Paulo.Ss Bluetooth: 117df849145SRui Paulo.Bl -tag -width indent 118df849145SRui Paulo.It Va dev.acpi_hp.0.bt_enabled 119df849145SRui PauloToggle Bluetooth chip activity. 120df849145SRui Paulo.It Va dev.acpi_hp.0.bt_radio 121df849145SRui Paulo(read-only) 122df849145SRui PauloBluetooth radio status (controlled by hardware switch) 123df849145SRui Paulo.It Va dev.acpi_hp.0.bt_on_air 124df849145SRui Paulo(read-only) 125df849145SRui PauloBluetooth on air (chip enabled, hardware switch enabled + enabled in BIOS) 126df849145SRui Paulo.It Va dev.acpi_hp.0.bt_enabled_if_radio_on 127df849145SRui PauloIf set to 1, the Bluetooth chip will be enabled if the radio is turned on 128df849145SRui Paulo.It Va dev.acpi_hp.0.bt_disable_if_radio_off 129df849145SRui PauloIf set to 1, the Bluetooth chip will be disabled if the radio is turned off 130df849145SRui Paulo.El 131df849145SRui Paulo.Ss WWAN: 132df849145SRui Paulo.Bl -tag -width indent 133df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_enabled 134df849145SRui PauloToggle WWAN chip activity. 135df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_radio 136df849145SRui Paulo(read-only) 137df849145SRui PauloWWAN radio status (controlled by hardware switch) 138df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_on_air 139df849145SRui Paulo(read-only) 140df849145SRui PauloWWAN on air (chip enabled, hardware switch enabled + enabled in BIOS) 141df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_enabled_if_radio_on 142df849145SRui PauloIf set to 1, the WWAN chip will be enabled if the radio is turned on 143df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_disable_if_radio_off 144df849145SRui PauloIf set to 1, the WWAN chip will be disabled if the radio is turned off 145df849145SRui Paulo.El 146df849145SRui Paulo.Ss Misc: 147df849145SRui Paulo.Bl -tag -width indent 148df849145SRui Paulo.It Va dev.acpi_hp.0.als_enabled 149df849145SRui PauloToggle ambient light sensor (ALS) 150df849145SRui Paulo.It Va dev.acpi_hp.0.display 151df849145SRui Paulo(read-only) 152df849145SRui PauloDisplay status (bitmask) 153df849145SRui Paulo.It Va dev.acpi_hp.0.hdd_temperature 154df849145SRui Paulo(read-only) 155df849145SRui PauloHDD temperature 156df849145SRui Paulo.It Va dev.acpi_hp.0.is_docked 157df849145SRui Paulo(read-only) 158df849145SRui PauloDocking station status (1 if docked) 159df849145SRui Paulo.It Va dev.acpi_hp.0.cmi_detail 160df849145SRui PauloBitmask to control detail level in /dev/hpcmi output (values can be ORed). 161df849145SRui Paulo.Bl -tag -width "0x01" -offset indent -compact 162df849145SRui Paulo.It Li 0x01 163df849145SRui PauloShow path component of BIOS setting 164df849145SRui Paulo.It Li 0x02 165df849145SRui PauloShow a list of valid options for the BIOS setting 166df849145SRui Paulo.It Li 0x04 167df849145SRui PauloShow additional flags of BIOS setting (ReadOnly etc.) 168df849145SRui Paulo.El 169df849145SRui Paulo.El 170df849145SRui Paulo.Pp 171df849145SRui PauloDefaults for these sysctls can be set in 172df849145SRui Paulo.Xr sysctl.conf 5 . 173df849145SRui Paulo.Sh FILES 174df849145SRui Paulo.Bl -tag -width ".Pa /dev/hpcmi" 175df849145SRui Paulo.It Pa /dev/hpcmi 176df849145SRui PauloInterface to read BIOS settings 177df849145SRui Paulo.El 178df849145SRui Paulo.Sh EXAMPLES 179df849145SRui PauloThe following can be added to 180df849145SRui Paulo.Xr devd.conf 5 181df849145SRui Pauloin order disable the LAN interface when WLAN on air and reenable if it's 182df849145SRui Paulonot: 183df849145SRui Paulo.Bd -literal -offset indent 184df849145SRui Paulonotify 0 { 185df849145SRui Paulo match "system" "ACPI"; 186df849145SRui Paulo match "subsystem" "HP"; 187df849145SRui Paulo match "notify" "0xc0"; 188df849145SRui Paulo action "ifconfig em0 up"; 189df849145SRui Paulo}; 190df849145SRui Paulo 191df849145SRui Paulonotify 0 { 192df849145SRui Paulo match "system" "ACPI"; 193df849145SRui Paulo match "subsystem" "HP"; 194df849145SRui Paulo match "notify" "0xc1"; 195df849145SRui Paulo action "ifconfig em0 down"; 196df849145SRui Paulo}; 197df849145SRui Paulo.Ed 198df849145SRui Paulo.Pp 199df849145SRui PauloEnable the ambient light sensor: 200df849145SRui Paulo.Bd -literal -offset indent 201df849145SRui Paulosysctl dev.acpi_hp.0.als_enabled=1 202df849145SRui Paulo.Ed 203df849145SRui Paulo.Pp 204df849145SRui PauloEnable Bluetooth: 205df849145SRui Paulo.Bd -literal -offset indent 206df849145SRui Paulosysctl dev.acpi_hp.0.bt_enabled=1 207df849145SRui Paulo.Ed 208df849145SRui Paulo.Pp 209df849145SRui PauloGet BIOS settings: 210df849145SRui Paulo.Bd -literal -offset indent 211df849145SRui Paulocat /dev/hpcmi 212df849145SRui Paulo 213df849145SRui PauloSerial Port Disable 214df849145SRui PauloInfrared Port Enable 215df849145SRui PauloParallel Port Disable 216df849145SRui PauloFlash Media Reader Disable 217df849145SRui PauloUSB Ports including Express Card slot Enable 218df849145SRui Paulo1394 Port Enable 219df849145SRui PauloCardbus Slot Disable 220df849145SRui PauloExpress Card Slot Disable 221df849145SRui Paulo(...) 222df849145SRui Paulo.Ed 223df849145SRui Paulo.Pp 224df849145SRui PauloSet maximum detail level for /dev/hpcmi output: 225df849145SRui Paulo.Bd -literal -offset indent 226df849145SRui Paulosysctl dev.acpi_hp.0.cmi_detail=7 227df849145SRui Paulo.Ed 228df849145SRui Paulo.Pp 229df849145SRui Paulo 230df849145SRui Paulo 231df849145SRui Paulo 232df849145SRui Paulo.Sh SEE ALSO 233df849145SRui Paulo.Xr acpi 4 , 234df849145SRui Paulo.Xr acpi_wmi 4 , 235df849145SRui Paulo.Xr sysctl.conf 5 , 236df849145SRui Paulo.Xr devd 8 , 237df849145SRui Paulo.Xr devfs 8 , 238df849145SRui Paulo.Xr sysctl 8 239df849145SRui Paulo.Sh HISTORY 240df849145SRui PauloThe 241df849145SRui Paulo.Nm 242df849145SRui Paulodevice driver first appeared in 243df849145SRui Paulo.Fx CURRENT . 244df849145SRui Paulo.Sh AUTHORS 245df849145SRui Paulo.An -nosplit 246df849145SRui PauloThe 247df849145SRui Paulo.Nm 248df849145SRui Paulodriver was written by 249df849145SRui Paulo.An Michael Gmelin Aq freebsd@grem.de 250df849145SRui Paulo.Pp 251df849145SRui PauloIt has been inspired by hp-wmi driver, which implements a subset of these 252df849145SRui Paulofeatures (hotkeys) on Linux. 253df849145SRui Paulo.Pp 254df849145SRui Paulo.Bl -tag -width indent 255df849145SRui Paulo.It HP CMI whitepaper: 256df849145SRui Paulohttp://h20331.www2.hp.com/Hpsub/downloads/cmi_whitepaper.pdf 257df849145SRui Paulo.It wmi-hp for Linux: 258df849145SRui Paulohttp://www.kernel.org 259df849145SRui Paulo.It WMI and ACPI: 260df849145SRui Paulohttp://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx 261df849145SRui Paulo.El 262df849145SRui Paulo.Pp 263df849145SRui PauloThis manual page was written by 264df849145SRui Paulo.An Michael Gmelin Aq freebsd@grem.de 265df849145SRui Paulo.Sh BUGS 266df849145SRui PauloThis driver is experimental and has only been tested on CURRENT i386 on an 267df849145SRui PauloHP Compaq 8510p which featured all supported wireless devices (WWAN/BT/WLAN). 268df849145SRui PauloExpect undefined results when operating on different hardware. 269df849145SRui Paulo.Pp 270df849145SRui PauloLoading the driver is slow. Reading from /dev/hpcmi is even slower. 271df849145SRui Paulo.Pp 272df849145SRui PauloAdditional features like HP specific sensor readings or writing BIOS 273df849145SRui Paulosettings are not supported. 274df849145SRui Paulo.\" Copyright (c) 2009 Michael Gmelin 275df849145SRui Paulo.\" All rights reserved. 276df849145SRui Paulo.\" 277df849145SRui Paulo.\" Redistribution and use in source and binary forms, with or without 278df849145SRui Paulo.\" modification, are permitted provided that the following conditions 279df849145SRui Paulo.\" are met: 280df849145SRui Paulo.\" 1. Redistributions of source code must retain the above copyright 281df849145SRui Paulo.\" notice, this list of conditions and the following disclaimer. 282df849145SRui Paulo.\" 2. Redistributions in binary form must reproduce the above copyright 283df849145SRui Paulo.\" notice, this list of conditions and the following disclaimer in the 284df849145SRui Paulo.\" documentation and/or other materials provided with the distribution. 285df849145SRui Paulo.\" 286df849145SRui Paulo.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 287df849145SRui Paulo.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 288df849145SRui Paulo.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 289df849145SRui Paulo.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 290df849145SRui Paulo.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 291df849145SRui Paulo.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 292df849145SRui Paulo.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 293df849145SRui Paulo.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 294df849145SRui Paulo.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 295df849145SRui Paulo.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 296df849145SRui Paulo.\" SUCH DAMAGE. 297df849145SRui Paulo.\" 298df849145SRui Paulo.\" $FreeBSD$ 299df849145SRui Paulo.\" 300df849145SRui Paulo.Dd June 21, 2009 301df849145SRui Paulo.Dt ACPI_HP 4 i386 302df849145SRui Paulo.Os 303df849145SRui Paulo.Sh NAME 304df849145SRui Paulo.Nm acpi_hp 305df849145SRui Paulo.Nd "ACPI extras driver for HP laptops" 306df849145SRui Paulo.Sh SYNOPSIS 307df849145SRui PauloTo compile this driver into the kernel, 308df849145SRui Pauloplace the following line in your 309df849145SRui Paulokernel configuration file: 310df849145SRui Paulo.Bd -ragged -offset indent 311df849145SRui Paulo.Cd "device acpi_hp" 312df849145SRui Paulo.Ed 313df849145SRui Paulo.Pp 314df849145SRui PauloAlternatively, to load the driver as a 315df849145SRui Paulomodule at boot time, place the following line in 316df849145SRui Paulo.Xr loader.conf 5 : 317df849145SRui Paulo.Bd -literal -offset indent 318df849145SRui Pauloacpi_hp_load="YES" 319df849145SRui Paulo.Ed 320df849145SRui Paulo.Sh DESCRIPTION 321df849145SRui PauloThe 322df849145SRui Paulo.Nm 323df849145SRui Paulodriver provides support for ACPI-controlled features found on HP laptops 324df849145SRui Paulothat use a WMI enabled BIOS (e.g. HP Compaq 8510p and 6510p). 325df849145SRui Paulo.Pp 326df849145SRui PauloThe main purpose of this driver is to provide an interface, 327df849145SRui Pauloaccessible via 328df849145SRui Paulo.Xr sysctl 8 , 329df849145SRui Paulo.Xr devd 8 and 330df849145SRui Paulo.Xr devfs 8 , 331df849145SRui Paulothrough which applications can determine and change the status of 332df849145SRui Paulovarious laptop components and BIOS settings. 333df849145SRui Paulo.Pp 334df849145SRui Paulo.Ss Xr devd 8 Ss Events 335df849145SRui PauloDevd events received by 336df849145SRui Paulo.Xr devd 8 337df849145SRui Pauloprovide the following information: 338df849145SRui Paulo.Pp 339df849145SRui Paulo.Bl -tag -width "subsystem" -offset indent -compact 340df849145SRui Paulo.It system 341df849145SRui Paulo.Qq Li ACPI 342df849145SRui Paulo.It subsystem 343df849145SRui Paulo.Qq Li HP 344df849145SRui Paulo.It type 345df849145SRui PauloThe source of the event in the ACPI namespace. 346df849145SRui PauloThe value depends on the model. 347df849145SRui Paulo.It notify 348df849145SRui PauloEvent code (see below). 349df849145SRui Paulo.El 350df849145SRui Paulo.Pp 351df849145SRui PauloEvent codes: 352df849145SRui Paulo.Pp 353df849145SRui Paulo.Bl -tag -width "0xc0" -offset indent -compact 354df849145SRui Paulo.It Li 0xc0 355df849145SRui PauloWLAN on air status changed to 0 (not on air) 356df849145SRui Paulo.It Li 0xc1 357df849145SRui PauloWLAN on air status changed to 1 (on air) 358df849145SRui Paulo.It Li 0xd0 359df849145SRui PauloBluetooth on air status changed to 0 (not on air) 360df849145SRui Paulo.It Li 0xd1 361df849145SRui PauloBluetooth on air status changed to 1 (on air) 362df849145SRui Paulo.It Li 0xe0 363df849145SRui PauloWWAN on air status changed to 0 (not on air) 364df849145SRui Paulo.It Li 0xe1 365df849145SRui PauloWWAN on air status changed to 1 (on air) 366df849145SRui Paulo.El 367df849145SRui Paulo.Ss Xr devfs 8 Ss Device 368df849145SRui PauloYou can read /dev/hpcmi to see your current BIOS settings. The detail level 369df849145SRui Paulocan be adjusted by setting the sysctl 370df849145SRui Paulo.Va cmi_detail 371df849145SRui Pauloas described below. 372df849145SRui Paulo.Sh SYSCTL VARIABLES 373df849145SRui PauloThe following sysctls are currently implemented: 374df849145SRui Paulo.Ss WLAN: 375df849145SRui Paulo.Bl -tag -width indent 376df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_enabled 377df849145SRui PauloToggle WLAN chip activity. 378df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_radio 379df849145SRui Paulo(read-only) 380df849145SRui PauloWLAN radio status (controlled by hardware switch) 381df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_on_air 382df849145SRui Paulo(read-only) 383df849145SRui PauloWLAN on air (chip enabled, hardware switch enabled + enabled in BIOS) 384df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_enabled_if_radio_on 385df849145SRui PauloIf set to 1, the WLAN chip will be enabled if the radio is turned on 386df849145SRui Paulo.It Va dev.acpi_hp.0.wlan_disable_if_radio_off 387df849145SRui PauloIf set to 1, the WLAN chip will be disabled if the radio is turned off 388df849145SRui Paulo.El 389df849145SRui Paulo.Ss Bluetooth: 390df849145SRui Paulo.Bl -tag -width indent 391df849145SRui Paulo.It Va dev.acpi_hp.0.bt_enabled 392df849145SRui PauloToggle Bluetooth chip activity. 393df849145SRui Paulo.It Va dev.acpi_hp.0.bt_radio 394df849145SRui Paulo(read-only) 395df849145SRui PauloBluetooth radio status (controlled by hardware switch) 396df849145SRui Paulo.It Va dev.acpi_hp.0.bt_on_air 397df849145SRui Paulo(read-only) 398df849145SRui PauloBluetooth on air (chip enabled, hardware switch enabled + enabled in BIOS) 399df849145SRui Paulo.It Va dev.acpi_hp.0.bt_enabled_if_radio_on 400df849145SRui PauloIf set to 1, the Bluetooth chip will be enabled if the radio is turned on 401df849145SRui Paulo.It Va dev.acpi_hp.0.bt_disable_if_radio_off 402df849145SRui PauloIf set to 1, the Bluetooth chip will be disabled if the radio is turned off 403df849145SRui Paulo.El 404df849145SRui Paulo.Ss WWAN: 405df849145SRui Paulo.Bl -tag -width indent 406df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_enabled 407df849145SRui PauloToggle WWAN chip activity. 408df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_radio 409df849145SRui Paulo(read-only) 410df849145SRui PauloWWAN radio status (controlled by hardware switch) 411df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_on_air 412df849145SRui Paulo(read-only) 413df849145SRui PauloWWAN on air (chip enabled, hardware switch enabled + enabled in BIOS) 414df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_enabled_if_radio_on 415df849145SRui PauloIf set to 1, the WWAN chip will be enabled if the radio is turned on 416df849145SRui Paulo.It Va dev.acpi_hp.0.wwan_disable_if_radio_off 417df849145SRui PauloIf set to 1, the WWAN chip will be disabled if the radio is turned off 418df849145SRui Paulo.El 419df849145SRui Paulo.Ss Misc: 420df849145SRui Paulo.Bl -tag -width indent 421df849145SRui Paulo.It Va dev.acpi_hp.0.als_enabled 422df849145SRui PauloToggle ambient light sensor (ALS) 423df849145SRui Paulo.It Va dev.acpi_hp.0.display 424df849145SRui Paulo(read-only) 425df849145SRui PauloDisplay status (bitmask) 426df849145SRui Paulo.It Va dev.acpi_hp.0.hdd_temperature 427df849145SRui Paulo(read-only) 428df849145SRui PauloHDD temperature 429df849145SRui Paulo.It Va dev.acpi_hp.0.is_docked 430df849145SRui Paulo(read-only) 431df849145SRui PauloDocking station status (1 if docked) 432df849145SRui Paulo.It Va dev.acpi_hp.0.cmi_detail 433df849145SRui PauloBitmask to control detail level in /dev/hpcmi output (values can be ORed). 434df849145SRui Paulo.Bl -tag -width "0x01" -offset indent -compact 435df849145SRui Paulo.It Li 0x01 436df849145SRui PauloShow path component of BIOS setting 437df849145SRui Paulo.It Li 0x02 438df849145SRui PauloShow a list of valid options for the BIOS setting 439df849145SRui Paulo.It Li 0x04 440df849145SRui PauloShow additional flags of BIOS setting (ReadOnly etc.) 441df849145SRui Paulo.El 442df849145SRui Paulo.El 443df849145SRui Paulo.Pp 444df849145SRui PauloDefaults for these sysctls can be set in 445df849145SRui Paulo.Xr sysctl.conf 5 . 446df849145SRui Paulo.Sh FILES 447df849145SRui Paulo.Bl -tag -width ".Pa /dev/hpcmi" 448df849145SRui Paulo.It Pa /dev/hpcmi 449df849145SRui PauloInterface to read BIOS settings 450df849145SRui Paulo.El 451df849145SRui Paulo.Sh EXAMPLES 452df849145SRui PauloThe following can be added to 453df849145SRui Paulo.Xr devd.conf 5 454df849145SRui Pauloin order disable the LAN interface when WLAN on air and reenable if it's 455df849145SRui Paulonot: 456df849145SRui Paulo.Bd -literal -offset indent 457df849145SRui Paulonotify 0 { 458df849145SRui Paulo match "system" "ACPI"; 459df849145SRui Paulo match "subsystem" "HP"; 460df849145SRui Paulo match "notify" "0xc0"; 461df849145SRui Paulo action "ifconfig em0 up"; 462df849145SRui Paulo}; 463df849145SRui Paulo 464df849145SRui Paulonotify 0 { 465df849145SRui Paulo match "system" "ACPI"; 466df849145SRui Paulo match "subsystem" "HP"; 467df849145SRui Paulo match "notify" "0xc1"; 468df849145SRui Paulo action "ifconfig em0 down"; 469df849145SRui Paulo}; 470df849145SRui Paulo.Ed 471df849145SRui Paulo.Pp 472df849145SRui PauloEnable the ambient light sensor: 473df849145SRui Paulo.Bd -literal -offset indent 474df849145SRui Paulosysctl dev.acpi_hp.0.als_enabled=1 475df849145SRui Paulo.Ed 476df849145SRui Paulo.Pp 477df849145SRui PauloEnable Bluetooth: 478df849145SRui Paulo.Bd -literal -offset indent 479df849145SRui Paulosysctl dev.acpi_hp.0.bt_enabled=1 480df849145SRui Paulo.Ed 481df849145SRui Paulo.Pp 482df849145SRui PauloGet BIOS settings: 483df849145SRui Paulo.Bd -literal -offset indent 484df849145SRui Paulocat /dev/hpcmi 485df849145SRui Paulo 486df849145SRui PauloSerial Port Disable 487df849145SRui PauloInfrared Port Enable 488df849145SRui PauloParallel Port Disable 489df849145SRui PauloFlash Media Reader Disable 490df849145SRui PauloUSB Ports including Express Card slot Enable 491df849145SRui Paulo1394 Port Enable 492df849145SRui PauloCardbus Slot Disable 493df849145SRui PauloExpress Card Slot Disable 494df849145SRui Paulo(...) 495df849145SRui Paulo.Ed 496df849145SRui Paulo.Pp 497df849145SRui PauloSet maximum detail level for /dev/hpcmi output: 498df849145SRui Paulo.Bd -literal -offset indent 499df849145SRui Paulosysctl dev.acpi_hp.0.cmi_detail=7 500df849145SRui Paulo.Ed 501df849145SRui Paulo.Pp 502df849145SRui Paulo 503df849145SRui Paulo 504df849145SRui Paulo 505df849145SRui Paulo.Sh SEE ALSO 506df849145SRui Paulo.Xr acpi 4 , 507df849145SRui Paulo.Xr acpi_wmi 4 , 508df849145SRui Paulo.Xr sysctl.conf 5 , 509df849145SRui Paulo.Xr devd 8 , 510df849145SRui Paulo.Xr devfs 8 , 511df849145SRui Paulo.Xr sysctl 8 512df849145SRui Paulo.Sh HISTORY 513df849145SRui PauloThe 514df849145SRui Paulo.Nm 515df849145SRui Paulodevice driver first appeared in 516df849145SRui Paulo.Fx CURRENT . 517df849145SRui Paulo.Sh AUTHORS 518df849145SRui Paulo.An -nosplit 519df849145SRui PauloThe 520df849145SRui Paulo.Nm 521df849145SRui Paulodriver was written by 522df849145SRui Paulo.An Michael Gmelin Aq freebsd@grem.de 523df849145SRui Paulo.Pp 524df849145SRui PauloIt has been inspired by hp-wmi driver, which implements a subset of these 525df849145SRui Paulofeatures (hotkeys) on Linux. 526df849145SRui Paulo.Pp 527df849145SRui Paulo.Bl -tag -width indent 528df849145SRui Paulo.It HP CMI whitepaper: 529df849145SRui Paulohttp://h20331.www2.hp.com/Hpsub/downloads/cmi_whitepaper.pdf 530df849145SRui Paulo.It wmi-hp for Linux: 531df849145SRui Paulohttp://www.kernel.org 532df849145SRui Paulo.It WMI and ACPI: 533df849145SRui Paulohttp://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx 534df849145SRui Paulo.El 535df849145SRui Paulo.Pp 536df849145SRui PauloThis manual page was written by 537df849145SRui Paulo.An Michael Gmelin Aq freebsd@grem.de 538df849145SRui Paulo.Sh BUGS 539df849145SRui PauloThis driver is experimental and has only been tested on CURRENT i386 on an 540df849145SRui PauloHP Compaq 8510p which featured all supported wireless devices (WWAN/BT/WLAN). 541df849145SRui PauloExpect undefined results when operating on different hardware. 542df849145SRui Paulo.Pp 543df849145SRui PauloLoading the driver is slow. Reading from /dev/hpcmi is even slower. 544df849145SRui Paulo.Pp 545df849145SRui PauloAdditional features like HP specific sensor readings or writing BIOS 546df849145SRui Paulosettings are not supported. 547