DragonFly On-Line Manual Pages
ACPI_HP(4) DragonFly Kernel Interfaces Manual ACPI_HP(4)
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(5), 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(5) 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:
hw.acpi.hp.wlan_enabled
Toggle WLAN chip activity.
hw.acpi.hp.wlan_radio
(read-only) WLAN radio status (controlled by hardware switch)
hw.acpi.hp.wlan_on_air
(read-only) WLAN on air (chip enabled, hardware switch enabled +
enabled in BIOS)
hw.acpi.hp.wlan_enabled_if_radio_on
If set to 1, the WLAN chip will be enabled if the radio is turned
on
hw.acpi.hp.wlan_disable_if_radio_off
If set to 1, the WLAN chip will be disabled if the radio is
turned off
Bluetooth:
hw.acpi.hp.bt_enabled
Toggle Bluetooth chip activity.
hw.acpi.hp.bt_radio
(read-only) Bluetooth radio status (controlled by hardware
switch)
hw.acpi.hp.bt_on_air
(read-only) Bluetooth on air (chip enabled, hardware switch
enabled + enabled in BIOS)
hw.acpi.hp.bt_enabled_if_radio_on
If set to 1, the Bluetooth chip will be enabled if the radio is
turned on
hw.acpi.hp.bt_disable_if_radio_off
If set to 1, the Bluetooth chip will be disabled if the radio is
turned off
WWAN:
hw.acpi.hp.wwan_enabled
Toggle WWAN chip activity.
hw.acpi.hp.wwan_radio
(read-only) WWAN radio status (controlled by hardware switch)
hw.acpi.hp.wwan_on_air
(read-only) WWAN on air (chip enabled, hardware switch enabled +
enabled in BIOS)
hw.acpi.hp.wwan_enabled_if_radio_on
If set to 1, the WWAN chip will be enabled if the radio is turned
on
hw.acpi.hp.wwan_disable_if_radio_off
If set to 1, the WWAN chip will be disabled if the radio is
turned off
Misc:
hw.acpi.hp.als_enabled
Toggle ambient light sensor (ALS)
hw.acpi.hp.display
(read-only) Display status (bitmask)
hw.acpi.hp.hdd_temperature
(read-only) HDD temperature
hw.acpi.hp.is_docked
(read-only) Docking station status (1 if docked)
hw.acpi.hp.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.
hw.acpi.hp.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:
* HP Compaq 8510p
* 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 hw.acpi.hp.als_enabled=1
Enable Bluetooth:
sysctl hw.acpi.hp.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 hw.acpi.hp.cmi_detail=7
SEE ALSO
acpi(4), acpi_wmi(4), devfs(5), sysctl.conf(5), devd(8), sysctl(8)
HISTORY
The acpi_hp device driver was ported from FreeBSD to DragonFly 2.5.
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 an HP Compaq
8510p (i386) and an HP Compaq nc6320 (x86_64) 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.
DragonFly 6.3-DEVELOPMENT April 10, 2012 DragonFly 6.3-DEVELOPMENT