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) Ss 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:
devfs(5) Ss 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).
- 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.