Provided by: freebsd-manpages_8.2-1_all bug

NAME

     acpi_hp -- ACPI extras driver for HP laptops

SYNOPSIS

     To compile this driver into the kernel, place the following line in your
     kernel configuration file:

           device acpi_hp

     Alternatively, to load the driver as a module at boot time, place the
     following line in loader.conf(5):

           acpi_hp_load="YES"

DESCRIPTION

     The acpi_hp driver provides support for ACPI-controlled features found on
     HP laptops that use a WMI enabled BIOS (e.g. HP Compaq 8510p and 6510p).

     The main purpose of this driver is to provide an interface, accessible
     via sysctl(8), devd(8) and devfs(8), through which applications can
     determine and change the status of various laptop components and BIOS
     settings.

   devd(8) Events
     Devd events received by devd(8) provide the following information:

           system     "ACPI"
           subsystem  "HP"
           type       The source of the event in the ACPI namespace.  The
                      value depends on the model.
           notify     Event code (see below).

     Event codes:

           0xc0  WLAN on air status changed to 0 (not on air)
           0xc1  WLAN on air status changed to 1 (on air)
           0xd0  Bluetooth on air status changed to 0 (not on air)
           0xd1  Bluetooth on air status changed to 1 (on air)
           0xe0  WWAN on air status changed to 0 (not on air)
           0xe1  WWAN on air status changed to 1 (on air)

   devfs(8) Device
     You can read /dev/hpcmi to see your current BIOS settings.  The detail
     level can be adjusted by setting the sysctl cmi_detail as described
     below.

SYSCTL VARIABLES

     The following sysctls are currently implemented:

   WLAN:
     dev.acpi_hp.0.wlan_enabled
             Toggle WLAN chip activity.

     dev.acpi_hp.0.wlan_radio
             (read-only) WLAN radio status (controlled by hardware switch)

     dev.acpi_hp.0.wlan_on_air
             (read-only) WLAN on air (chip enabled, hardware switch enabled +
             enabled in BIOS)

     dev.acpi_hp.0.wlan_enabled_if_radio_on
             If set to 1, the WLAN chip will be enabled if the radio is turned
             on

     dev.acpi_hp.0.wlan_disable_if_radio_off
             If set to 1, the WLAN chip will be disabled if the radio is
             turned off

   Bluetooth:
     dev.acpi_hp.0.bt_enabled
             Toggle Bluetooth chip activity.

     dev.acpi_hp.0.bt_radio
             (read-only) Bluetooth radio status (controlled by hardware
             switch)

     dev.acpi_hp.0.bt_on_air
             (read-only) Bluetooth on air (chip enabled, hardware switch
             enabled + enabled in BIOS)

     dev.acpi_hp.0.bt_enabled_if_radio_on
             If set to 1, the Bluetooth chip will be enabled if the radio is
             turned on

     dev.acpi_hp.0.bt_disable_if_radio_off
             If set to 1, the Bluetooth chip will be disabled if the radio is
             turned off

   WWAN:
     dev.acpi_hp.0.wwan_enabled
             Toggle WWAN chip activity.

     dev.acpi_hp.0.wwan_radio
             (read-only) WWAN radio status (controlled by hardware switch)

     dev.acpi_hp.0.wwan_on_air
             (read-only) WWAN on air (chip enabled, hardware switch enabled +
             enabled in BIOS)

     dev.acpi_hp.0.wwan_enabled_if_radio_on
             If set to 1, the WWAN chip will be enabled if the radio is turned
             on

     dev.acpi_hp.0.wwan_disable_if_radio_off
             If set to 1, the WWAN chip will be disabled if the radio is
             turned off

   Misc:
     dev.acpi_hp.0.als_enabled
             Toggle ambient light sensor (ALS)

     dev.acpi_hp.0.display
             (read-only) Display status (bitmask)

     dev.acpi_hp.0.hdd_temperature
             (read-only) HDD temperature

     dev.acpi_hp.0.is_docked
             (read-only) Docking station status (1 if docked)

     dev.acpi_hp.0.cmi_detail
             Bitmask to control detail level in /dev/hpcmi output (values can
             be ORed).
                   0x01  Show path component of BIOS setting
                   0x02  Show a list of valid options for the BIOS setting
                   0x04  Show additional flags of BIOS setting (ReadOnly etc.)
                   0x08  Query highest BIOS entry instance.  This is broken on
                         many HP models and therefore disabled by default.

     dev.acpi_hp.0.verbose
             (read-only) Set verbosity level

     Defaults for these sysctls can be set in sysctl.conf(5).

HARDWARE

     The acpi_hp driver has been reported to support the following hardware:

     +o   HP Compaq 8510p
     +o   HP Compaq nx7300

     It should work on most HP laptops that feature a WMI enabled BIOS.

FILES

     /dev/hpcmi  Interface to read BIOS settings

EXAMPLES

     The following can be added to devd.conf(5) in order disable the LAN
     interface when WLAN on air and reenable if it's not:

           notify 0 {
                   match "system"          "ACPI";
                   match "subsystem"       "HP";
                   match "notify"          "0xc0";
                   action                  "ifconfig em0 up";
           };

           notify 0 {
                   match "system"          "ACPI";
                   match "subsystem"       "HP";
                   match "notify"          "0xc1";
                   action                  "ifconfig em0 down";
           };

     Enable the ambient light sensor:

           sysctl dev.acpi_hp.0.als_enabled=1

     Enable Bluetooth:

           sysctl dev.acpi_hp.0.bt_enabled=1

     Get BIOS settings:

           cat /dev/hpcmi

           Serial Port                                Disable
           Infrared Port                              Enable
           Parallel Port                              Disable
           Flash Media Reader                         Disable
           USB Ports including Express Card slot      Enable
           1394 Port                                  Enable
           Cardbus Slot                               Disable
           Express Card Slot                          Disable
           (...)

     Set maximum detail level for /dev/hpcmi output:

           sysctl dev.acpi_hp.0.cmi_detail=7

SEE ALSO

     acpi(4), acpi_wmi(4), sysctl.conf(5), devd(8), devfs(8), sysctl(8)

HISTORY

     The acpi_hp device driver first appeared in FreeBSD CURRENT.

AUTHORS

     The acpi_hp driver was written by Michael Gmelin <freebsd@grem.de>

     It has been inspired by hp-wmi driver, which implements a subset of these
     features (hotkeys) on Linux.

     HP CMI whitepaper:
             http://h20331.www2.hp.com/Hpsub/downloads/cmi_whitepaper.pdf

     wmi-hp for Linux:
             http://www.kernel.org

     WMI and ACPI:
             http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx

     This manual page was written by Michael Gmelin <freebsd@grem.de>

BUGS

     This driver is experimental and has only been tested on CURRENT i386 on
     an HP Compaq 8510p which featured all supported wireless devices
     (WWAN/BT/WLAN).  Expect undefined results when operating on different
     hardware.

     Loading the driver is slow. Reading from /dev/hpcmi is even slower.

     Additional features like HP specific sensor readings or writing BIOS
     settings are not supported.