---
name: "acpi_hp"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/acpi_hp"
---

# acpi\_hp(4)

ACPI extras driver for HP laptops

## 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)](/loader.conf/5.md):

```
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)](/sysctl/8.md), [devd(8)](/devd/8.md) and [devfs(8)](/devfs/8.md), through which applications can determine and change the status of various laptop components and BIOS settings.

### Xr devd 8 Events

Devd events received by [devd(8)](/devd/8.md) 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)

### Xr 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)](/sysctl.conf/5.md).

## 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)](/devd.conf/5.md) in order disable the LAN interface when WLAN on air and reenable if it is 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/4.md), [acpi\_wmi(4)](/acpi_wmi/4.md), [sysctl.conf(5)](/sysctl.conf/5.md), [devd(8)](/devd/8.md), [devfs(8)](/devfs/8.md), [sysctl(8)](/sysctl/8.md)

## HISTORY

The **acpi\_hp** device driver first appeared in FreeBSD 8.0.

## 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:

  https://h20331.www2.hp.com/Hpsub/downloads/cmi\_whitepaper.pdf

- wmi-hp for Linux:

  https://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 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.
