华硕笔记本电脑附加功能¶
版本 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 驱动程序。
要求¶
为您的计算机配置的、具有 ACPI 支持的 Kernel 2.6.X 源代码。您还需要 CONFIG_INPUT 和 CONFIG_ACPI。
状态¶
目前支持的功能如下(详细说明见下文)
Fn 键组合
启用和禁用蓝牙
启用和禁用 WLAN
启用和禁用 GPS
视频输出切换
打开和关闭环境光传感器
LED 控制
LED 显示控制
LCD 亮度控制
LCD 开关
网站上维护着按型号和功能划分的兼容性表,http://acpi4asus.sf.net/。
用法¶
尝试 “modprobe asus-laptop”。检查您的 dmesg (只需键入 dmesg)。您应该看到类似这样的行
- 华硕笔记本电脑附加功能版本 0.42
检测到 L2D 型号。
如果这不是您笔记本电脑上的输出,请将其(以及笔记本电脑的 DSDT)发送给我。
就这样,现在,您笔记本电脑热键生成的所有事件都应该通过 netlink 事件报告。您可以使用 “acpi_genl monitor” 进行检查(acpica 项目的一部分)。
热键也作为输入键(如键盘)报告,您可以使用 X11 下的 “xev” 检查支持哪些键。
您可以通过读取 /sys/devices/platform/asus-laptop/infos 条目来获取有关您的 DSDT 表版本的信息。如果您有疑问或错误报告,请包含此条目的输出。
LED¶
您可以通过将值回显到 /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 适配器也是如此。
显示切换¶
注意:显示切换代码目前被认为是实验性的。
切换适用于以下型号
L3800C
A2500H
L5800C
M5200N
W1000N(尽管有一些小故障)
M6700R
A6JC
F3J
切换不适用于以下型号
M3700N
L2X00D(在某些条件下锁定笔记本电脑)
要切换显示器,请将 0 到 15 的值回显到 /sys/devices/platform/asus-laptop/display。这些值的含义如下
二进制
值
DVI
TV
CRT
LCD
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 和其他额外的东西(这意味着我们不知道它是如何工作的)
华硕 A1300 (A1B), A1370D
华硕 L7300G
华硕 L8400
补丁、错误、问题¶
我欢迎任何成功或失败报告,特别是如果它们添加到兼容性表中或更正了兼容性表。请在您的报告中包含以下信息
华硕型号名称
使用 “acpidump” 实用程序复制的 ACPI 表
/sys/devices/platform/asus-laptop/infos 的副本
哪些驱动程序功能有效,哪些无效
无效功能的观察行为
也欢迎任何其他评论或补丁。