华硕笔记本电脑附加功能¶
版本 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 可能需要在启动时初始化。
调试
检查 Fn+F8 键是否
不会锁定笔记本电脑(如果会,请尝试不带 noapic / nolapic 启动)
生成事件(0x6n,其中 n 是对应上述配置的值)
实际起作用
记录每种配置下的 disp 值。
将 0 到 15 的值回显到 /sys/devices/platform/asus-laptop/display。记录其值,注意任何变化。如果没有任何变化,请尝试更大的范围,最高可达 65535。
将**任何**输出(需要正面和负面报告,除非您的机器已列在上面)发送到 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 的副本
哪些驱动程序功能有效,哪些无效
无效功能的观察行为
任何其他评论或补丁也广受欢迎。