EN JA
ACPI_HP(4)
ACPI_HP(4) FreeBSD Kernel Interfaces Manual ACPI_HP(4)

名称

acpi_hpHP ラップトップのための ACPI の特別なドライバ

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device acpi_hp

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

acpi_hp_load="YES"

解説

acpi_hp ドライバは、BIOS を有効にした WMI (例えば、HP Compaq 8510p と 6510p) を使用する HP ラップトップに見つかる ACPI で制御された機能のサポートを行います。

このドライバの主な目的は、様々なラップトップコンポーネントと BIOS 設定の状態を決定して変更ことがでるアプリケーションを通して、 sysctl(8), devd(8)devfs(8) によってアクセス可能なインタフェースを提供することです。

devd(8) Ss イベント

devd(8) によって受け取られた devd イベントは、次の情報を提供します:

system
ACPI
subsystem
HP
type
ACPI 名前空間のイベントのソース。値は、モデルによって決まります。
notify
イベントコード (下記参照)。

イベントコード:

0xc0
WLAN の放送中の状態は、0 (放送中でない) に変化しました。
0xc1
WLAN の放送中の状態は、1 (放送中) に変化しました。
0xd0
Bluetooth の放送中の状態は、0 (放送中でない) に変化しました。
0xd1
Bluetoothの放送中の状態は、1 (放送中) に変化しました。
0xe0
WWAN の放送中の状態は、0 (放送中でない) に変化しました。
0xe1
WWAN の放送中の状態は、1 (放送中) に変化しました。

devfs(8) Ss デバイス

現在の BIOS 設定を見るために /dev/hpcmi を読み込むことができます。以下に説明されるように、sysctl cmi_detail を設定することによって、詳細レベルを調整することができます。

SYSCTL 変数

次の sysctl が現在、実装されています:

WLAN:

dev.acpi_hp.0.wlan_enabled
WLAN チップのアクティビティを切り替えます。
dev.acpi_hp.0.wlan_radio
(読み込み専用) (ハードウェアスイッチによって制御される) WLAN 無線 (radio) 状態。
dev.acpi_hp.0.wlan_on_air
(読み込み専用) WLAN 放送中 (有効にされたチップ、有効にされたハードウェアスイッチ + BIOS で有効にされる)。
dev.acpi_hp.0.wlan_enabled_if_radio_on
1 に設定されるとき、無線 (radio) がオンにされると、WLAN チップは、有効にされます。
dev.acpi_hp.0.wlan_disable_if_radio_off
1 に設定されるとき、無線 (radio) がオフにされると、WLAN チップは、無効にされます。

Bluetooth:

dev.acpi_hp.0.bt_enabled
Bluetooth チップのアクティビティを切り替えます。
dev.acpi_hp.0.bt_radio
(読み込み専用) (ハードウェアスイッチによって制御される) Bluetooth 無線 (radio) 状態。
dev.acpi_hp.0.bt_on_air
(読み込み専用) Bluetooth 放送中 (有効にされたチップ、有効にされたハードウェアスイッチ + BIOS で有効にされる)。
dev.acpi_hp.0.bt_enabled_if_radio_on
1 に設定されるとき、無線 (radio) がオンにされると、Bluetooth チップは、有効にされます。
dev.acpi_hp.0.bt_disable_if_radio_off
1 に設定されるとき、無線 (radio) がオフにされると、Bluetooth チップは、無効にされます。

WWAN:

dev.acpi_hp.0.wwan_enabled
WWAN チップのアクティビティを切り替えます。
dev.acpi_hp.0.wwan_radio
(読み込み専用) (ハードウェアスイッチによって制御される) WWAN 無線 (radio) 状態。
dev.acpi_hp.0.wwan_on_air
(読み込み専用) WWAN 放送中 (有効にされたチップ、有効にされたハードウェアスイッチ + BIOS で有効にされる)。
dev.acpi_hp.0.wwan_enabled_if_radio_on
1 に設定されるとき、無線 (radio) がオンにされると、WWAN チップは、有効にされます。
dev.acpi_hp.0.wwan_disable_if_radio_off
1 に設定されるとき、無線 (radio) がオフにされると、WWAN チップは、無効にされます。

その他:

dev.acpi_hp.0.als_enabled
環境光センサ (ambient light sensor) (ALS) を切り替えます。
dev.acpi_hp.0.display
(読み込み専用) ディスプレイ状態 (ビットマスク)。
dev.acpi_hp.0.hdd_temperature
(読み込み専用) HDD 温度。
dev.acpi_hp.0.is_docked
(読み込み専用) ドッキングステーション状態 (ドッキングされるなら、 1)。
dev.acpi_hp.0.cmi_detail
/dev/hpcmi 出力の詳細レベルを制御するビットマスク (値は、論理 OR できます)。
0x01
BIOS 設定のパス構成要素を表示する。
0x02
BIOS 設定のための有効なオプションのリストを表示する。
0x04
BIOS 設定の追加フラグを表示する (ReadOnly など)。
0x08
最も高い BIOS エントリインスタンスを問い合わせる。これは、多くの HP モデルで壊れていて、そのため、デフォルトで無効にされています。
dev.acpi_hp.0.verbose
(読み込み専用) 冗長レベルを設定する。

sysctl.conf(5) で、これらの sysctl のためのデフォルトを設定することができます。

ハードウェア

acpi_hp ドライバは、次のハードウェアをサポートすると報告されています:

  • HP Compaq 8510p
  • HP Compaq nx7300

WMI 機能が有効にされた BIOS がある、ほとんどの HP ラップトップで動作するべきです。

関連ファイル

/dev/hpcmi
BIOS 設定を読み込むためのインタフェース

使用例

放送中の WLAN のとき、LAN インタフェースを無効にするために、 devd.conf(5) に次を追加することができ、放送中でなければ、再有効化できます:

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"; 
};

環境光センサ (ambient light sensor) を有効にする:

sysctl dev.acpi_hp.0.als_enabled=1

Bluetooth を有効にする:

sysctl dev.acpi_hp.0.bt_enabled=1

BIOS 設定を取得する:

cat /dev/hpcmi 
 
Serial Port                                無効 
Infrared Port                              有効 
Parallel Port                              無効 
Flash Media Reader                         無効 
USB Ports including Express Card slot      有効 
1394 Port                                  有効 
Cardbus Slot                               無効 
Express Card Slot                          無効 
(...)

/dev/hpcmi 出力のための最大の詳細レベルを設定する:

sysctl dev.acpi_hp.0.cmi_detail=7

歴史

acpi_hp デバイスドライバは、 FreeBSD 8.0 ではじめて登場しました。

作者

acpi_hp ドライバは、 Michael Gmelin <freebsd@grem.de>によって書かれました。

Linux でこれらの機能のサブセット (hotkeys) を実装する、hp-wmi ドライバから発想を得られました。

HP CMI 詳細説明書:
http://h20331.www2.hp.com/Hpsub/downloads/cmi_whitepaper.pdf
Linux のための wmi-hp:
http://www.kernel.org
WMI と ACPI:
http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx

このマニュアルページは、 Michael Gmelin <freebsd@grem.de>によって書かれました。

バグ

このドライバは、実験的であり、すべてのサポートされた無線デバイス (WWAN/BT/WLAN) を特徴付ける、HP Compaq 8510p の i386 でのみテストされています。異なったハードウェアを動作させるとき、未定の結果となるかもしれません。

ドライバをロードすることは、遅いです。 /dev/hpcmi からの読み込みは、さらに遅いです。

HP 特有のセンサ読み込みまたは書き込み BIOS 設定のような付加的な機能は、サポートされていません。

February 8, 2010 FreeBSD