華碩筆記型電腦附加功能

版本 0.1

2009 年 8 月 6 日

Corentin Chary <corentincj@iksaif.net> http://acpi4asus.sf.net/

此驅動程式為 ACPI 相容華碩筆記型電腦的附加功能提供支援。它也可能支援某些 MEDION、JVC 或 VICTOR 筆記型電腦(例如 MEDION 9675 或 VICTOR XP7210)。它使所有額外的按鈕生成輸入事件(如鍵盤)。

在某些型號上,它增加了改變顯示亮度與輸出、開關 LCD 背光的功能,最重要的是,它允許您閃爍那些用於報告郵件和無線狀態的炫酷 LED 燈。

此驅動程式取代了舊的 asus_acpi 驅動程式。

要求

核心 2.6.X 原始碼,已為您的計算機配置,並支援 ACPI。您還需要 CONFIG_INPUT 和 CONFIG_ACPI。

狀態

目前支援的功能如下(詳細描述見下文)

  • Fn 組合鍵

  • 藍牙啟用和停用

  • Wlan 啟用和停用

  • GPS 啟用和停用

  • 影片輸出切換

  • 環境光感測器開關

  • LED 控制

  • LED 顯示控制

  • LCD 亮度控制

  • LCD 開關

網站上維護了按型號和功能分類的相容性表格,網址為 http://acpi4asus.sf.net/

用法

嘗試“modprobe asus-laptop”。檢查您的 dmesg (簡單地輸入 dmesg)。您應該看到類似這樣的行

Asus Laptop Extras version 0.42
  • L2D model detected.

如果這不是您筆記型電腦上的輸出,請將其(和筆記型電腦的 DSDT)傳送給我。

就這些,現在,您的筆記型電腦熱鍵生成的所有事件都應該透過 netlink 事件報告。您可以使用“acpi_genl monitor”(acpica 專案的一部分)進行檢查。

熱鍵也作為輸入鍵(如鍵盤)報告,您可以使用 X11 下的“xev”檢查支援哪些鍵。

您可以透過讀取 /sys/devices/platform/asus-laptop/infos 條目來獲取 DSDT 表的版本資訊。如果您有疑問或要報告錯誤,請包含此條目的輸出。

LEDs

您可以透過將值回顯到 /sys/class/leds/asus/*/brightness 來修改 LED

echo 1 >  /sys/class/leds/asus::mail/brightness

將點亮郵件 LED。

您還可以透過讀取其內容來了解它們是否開啟/關閉,並使用核心觸發器,例如磁碟活動或心跳。

背光

您可以使用 /sys/class/backlight/asus-laptop/ 控制 LCD 背光電源和亮度。亮度值介於 0 和 15 之間。

無線裝置

您可以使用藍牙條目開啟/關閉內建藍牙介面卡(僅適用於帶藍牙的型號)。這通常控制關聯的 LED。Wlan 介面卡也一樣。

顯示切換

注意:顯示切換程式碼目前被認為是 EXPERIMENTAL(實驗性)。

以下型號支援切換功能

  • L3800C

  • A2500H

  • L5800C

  • M5200N

  • W1000N (儘管有一些小故障)

  • M6700R

  • A6JC

  • F3J

以下型號不支援切換功能

  • M3700N

  • L2X00D (在某些條件下會鎖定筆記型電腦)

要切換顯示器,請將 0 到 15 的值回顯到 /sys/devices/platform/asus-laptop/display。這些值的含義如下:

二進位制

DVI

電視

CRT

液晶顯示器

0000

0

0001

1

X

0010

2

X

0011

3

X

X

0100

4

X

0101

5

X

X

0110

6

X

X

0111

7

X

X

X

1000

8

X

1001

9

X

X

1010

10

X

X

1011

11

X

X

X

1100

12

X

X

1101

13

X

X

X

1110

14

X

X

X

1111

15

X

X

X

X

在大多數情況下,必須插入適當的顯示器才能使上述組合起作用。TV-Out 可能需要在啟動時初始化。

除錯

  1. 檢查 Fn+F8 鍵是否

    1. 不會鎖定筆記型電腦(如果會,請嘗試不帶 noapic / nolapic 啟動)

    2. 生成事件(0x6n,其中 n 是對應上述配置的值)

    3. 實際起作用

    記錄每種配置下的 disp 值。

  2. 將 0 到 15 的值回顯到 /sys/devices/platform/asus-laptop/display。記錄其值,注意任何變化。如果沒有任何變化,請嘗試更大的範圍,最高可達 65535。

  3. 將**任何**輸出(需要正面和負面報告,除非您的機器已列在上面)傳送到 acpi4asus-user 郵件列表。

注意:在某些機器(例如 L3C)上,模組載入後,只會生成 0x6n 事件,而不會發生實際切換。在這種情況下,一行類似

echo $((10#$arg-60)) > /sys/devices/platform/asus-laptop/display

通常會奏效($arg 是傳遞給 acpid 的 0000006n 類似的事件)。

注意:目前沒有可靠的方法來讀取 xxN (Centrino) 型號的顯示狀態。

LED 顯示

某些型號,如 W1N,帶有 LED 顯示屏,可用於顯示多項資訊。

LED 顯示屏適用於以下型號

  • W1000N

  • W1J

要控制 LED 顯示屏,請使用以下命令

echo 0x0T000DDD > /sys/devices/platform/asus-laptop/

其中 T 控制 3 個字母顯示,DDD 控制 3 個數字顯示,具體根據下表

DDD (digits)
000 to 999 = display digits
AAA        = ---
BBB to FFF = turn-off

T  (type)
0 = off
1 = dvd
2 = vcd
3 = mp3
4 = cd
5 = tv
6 = cpu
7 = vol

例如,“echo 0x01000001 >/sys/devices/platform/asus-laptop/ledd”將顯示“DVD001”。

驅動程式選項

可以透過標準模組引數語法向 asus-laptop 驅動程式傳遞選項(當將選項傳遞給模組時為 <param>=<value>,當 asus-laptop 靜態連結到核心時,在核心啟動行上為 asus-laptop.<param>=<value>)。

wapf: WAPF 定義 Fn+Fx wlan 鍵的行為

值的含義有待發現,但大多數情況下

  • 0x0 應該不執行任何操作

  • 0x1 應該允許透過 Fn+Fx 鍵控制裝置。

  • 0x4 應該在按下 Fn+Fx 鍵時傳送一個 ACPI 事件 (0x88)

  • 0x5 類似於 0x1 或 0x4

預設值為 0x1。

不支援的型號

這些型號將永遠不會被此模組支援,因為它們使用完全不同的機制來處理 LED 和額外的東西(這意味著我們不知道它是如何工作的)

  • ASUS A1300 (A1B), A1370D

  • ASUS L7300G

  • ASUS L8400

補丁、錯誤、問題

我感謝任何成功或失敗的報告,特別是那些增加或修正相容性表的報告。請在您的報告中包含以下資訊:

  • 華碩型號名稱

  • 使用“acpidump”實用程式獲取的 ACPI 表副本

  • /sys/devices/platform/asus-laptop/infos 的副本

  • 哪些驅動程式功能有效,哪些無效

  • 無效功能的觀察行為

任何其他評論或補丁也廣受歡迎。

acpi4asus-user@lists.sourceforge.net

http://sourceforge.net/projects/acpi4asus