1Asus Laptop Extras
2
3Version 0.1
4August 6, 2009
5
6Corentin Chary <corentincj@iksaif.net>
7http://acpi4asus.sf.net/
8
9 This driver provides support for extra features of ACPI-compatible ASUS laptops.
10 It may also support some MEDION, JVC or VICTOR laptops (such as MEDION 9675 or
11 VICTOR XP7210 for example). It makes all the extra buttons generate standard
12 ACPI events that go through /proc/acpi/events and input events (like keyboards).
13 On some models adds support for changing the display brightness and output,
14 switching the LCD backlight on and off, and most importantly, allows you to
15 blink those fancy LEDs intended for reporting mail and wireless status.
16
17This driver supercedes the old asus_acpi driver.
18
19Requirements
20------------
21
22  Kernel 2.6.X sources, configured for your computer, with ACPI support.
23  You also need CONFIG_INPUT and CONFIG_ACPI.
24
25Status
26------
27
28 The features currently supported are the following (see below for
29 detailed description):
30
31 - Fn key combinations
32 - Bluetooth enable and disable
33 - Wlan enable and disable
34 - GPS enable and disable
35 - Video output switching
36 - Ambient Light Sensor on and off
37 - LED control
38 - LED Display control
39 - LCD brightness control
40 - LCD on and off
41
42 A compatibility table by model and feature is maintained on the web
43 site, http://acpi4asus.sf.net/.
44
45Usage
46-----
47
48  Try "modprobe asus_acpi". Check your dmesg (simply type dmesg). You should
49  see some lines like this :
50
51      Asus Laptop Extras version 0.42
52        L2D model detected.
53
54  If it is not the output you have on your laptop, send it (and the laptop's
55  DSDT) to me.
56
57  That's all, now, all the events generated by the hotkeys of your laptop
58  should be reported in your /proc/acpi/event entry. You can check with
59  "acpi_listen".
60
61  Hotkeys are also reported as input keys (like keyboards) you can check
62  which key are supported using "xev" under X11.
63
64  You can get information on the version of your DSDT table by reading the
65  /sys/devices/platform/asus-laptop/infos entry. If you have a question or a
66  bug report to do, please include the output of this entry.
67
68LEDs
69----
70
71  You can modify LEDs be echoing values to /sys/class/leds/asus::*/brightness :
72    echo 1 >  /sys/class/leds/asus::mail/brightness
73  will switch the mail LED on.
74  You can also know if they are on/off by reading their content and use
75  kernel triggers like ide-disk or heartbeat.
76
77Backlight
78---------
79
80  You can control lcd backlight power and brightness with
81  /sys/class/backlight/asus-laptop/. Brightness Values are between 0 and 15.
82
83Wireless devices
84---------------
85
86  You can turn the internal Bluetooth adapter on/off with the bluetooth entry
87  (only on models with Bluetooth). This usually controls the associated LED.
88  Same for Wlan adapter.
89
90Display switching
91-----------------
92
93  Note: the display switching code is currently considered EXPERIMENTAL.
94
95  Switching works for the following models:
96    L3800C
97    A2500H
98    L5800C
99    M5200N
100    W1000N (albeit with some glitches)
101    M6700R
102    A6JC
103    F3J
104
105  Switching doesn't work for the following:
106    M3700N
107    L2X00D (locks the laptop under certain conditions)
108
109  To switch the displays, echo values from 0 to 15 to
110  /sys/devices/platform/asus-laptop/display. The significance of those values
111  is as follows:
112
113  +-------+-----+-----+-----+-----+-----+
114  | Bin   | Val | DVI | TV  | CRT | LCD |
115  +-------+-----+-----+-----+-----+-----+
116  + 0000  +   0 +     +     +     +     +
117  +-------+-----+-----+-----+-----+-----+
118  + 0001  +   1 +     +     +     +  X  +
119  +-------+-----+-----+-----+-----+-----+
120  + 0010  +   2 +     +     +  X  +     +
121  +-------+-----+-----+-----+-----+-----+
122  + 0011  +   3 +     +     +  X  +  X  +
123  +-------+-----+-----+-----+-----+-----+
124  + 0100  +   4 +     +  X  +     +     +
125  +-------+-----+-----+-----+-----+-----+
126  + 0101  +   5 +     +  X  +     + X   +
127  +-------+-----+-----+-----+-----+-----+
128  + 0110  +   6 +     +  X  +  X  +     +
129  +-------+-----+-----+-----+-----+-----+
130  + 0111  +   7 +     +  X  +  X  +  X  +
131  +-------+-----+-----+-----+-----+-----+
132  + 1000  +   8 +  X  +     +     +     +
133  +-------+-----+-----+-----+-----+-----+
134  + 1001  +   9 +  X  +     +     +  X  +
135  +-------+-----+-----+-----+-----+-----+
136  + 1010  +  10 +  X  +     +  X  +     +
137  +-------+-----+-----+-----+-----+-----+
138  + 1011  +  11 +  X  +     +  X  +  X  +
139  +-------+-----+-----+-----+-----+-----+
140  + 1100  +  12 +  X  +  X  +     +     +
141  +-------+-----+-----+-----+-----+-----+
142  + 1101  +  13 +  X  +  X  +     +  X  +
143  +-------+-----+-----+-----+-----+-----+
144  + 1110  +  14 +  X  +  X  +  X  +     +
145  +-------+-----+-----+-----+-----+-----+
146  + 1111  +  15 +  X  +  X  +  X  +  X  +
147  +-------+-----+-----+-----+-----+-----+
148
149  In most cases, the appropriate displays must be plugged in for the above
150  combinations to work. TV-Out may need to be initialized at boot time.
151
152  Debugging:
153  1) Check whether the Fn+F8 key:
154     a) does not lock the laptop (try disabling CONFIG_X86_UP_APIC or boot with
155        noapic / nolapic if it does)
156     b) generates events (0x6n, where n is the value corresponding to the
157        configuration above)
158     c) actually works
159     Record the disp value at every configuration.
160  2) Echo values from 0 to 15 to /sys/devices/platform/asus-laptop/display.
161     Record its value, note any change. If nothing changes, try a broader range,
162     up to 65535.
163  3) Send ANY output (both positive and negative reports are needed, unless your
164     machine is already listed above) to the acpi4asus-user mailing list.
165
166  Note: on some machines (e.g. L3C), after the module has been loaded, only 0x6n
167  events are generated and no actual switching occurs. In such a case, a line
168  like:
169
170    echo $((10#$arg-60)) > /sys/devices/platform/asus-laptop/display
171
172  will usually do the trick ($arg is the 0000006n-like event passed to acpid).
173
174  Note: there is currently no reliable way to read display status on xxN
175  (Centrino) models.
176
177LED display
178-----------
179
180  Some models like the W1N have a LED display that can be used to display
181  several items of information.
182
183  LED display works for the following models:
184    W1000N
185    W1J
186
187  To control the LED display, use the following :
188
189    echo 0x0T000DDD > /sys/devices/platform/asus-laptop/
190
191  where T control the 3 letters display, and DDD the 3 digits display,
192  according to the tables below.
193
194         DDD (digits)
195         000 to 999 = display digits
196         AAA        = ---
197         BBB to FFF = turn-off
198
199         T  (type)
200         0 = off
201         1 = dvd
202         2 = vcd
203         3 = mp3
204         4 = cd
205         5 = tv
206         6 = cpu
207         7 = vol
208
209  For example "echo 0x01000001 >/sys/devices/platform/asus-laptop/ledd"
210  would display "DVD001".
211
212Driver options:
213---------------
214
215 Options can be passed to the asus-laptop driver using the standard
216 module argument syntax (<param>=<value> when passing the option to the
217 module or asus-laptop.<param>=<value> on the kernel boot line when
218 asus-laptop is statically linked into the kernel).
219
220	     wapf: WAPF defines the behavior of the Fn+Fx wlan key
221		   The significance of values is yet to be found, but
222		   most of the time:
223		   - 0x0 should do nothing
224		   - 0x1 should allow to control the device with Fn+Fx key.
225		   - 0x4 should send an ACPI event (0x88) while pressing the Fn+Fx key
226		   - 0x5 like 0x1 or 0x4
227
228 The default value is 0x1.
229
230Unsupported models
231------------------
232
233 These models will never be supported by this module, as they use a completely
234 different mechanism to handle LEDs and extra stuff (meaning we have no clue
235 how it works):
236
237 - ASUS A1300 (A1B), A1370D
238 - ASUS L7300G
239 - ASUS L8400
240
241Patches, Errors, Questions:
242--------------------------
243
244 I appreciate any success or failure
245 reports, especially if they add to or correct the compatibility table.
246 Please include the following information in your report:
247
248 - Asus model name
249 - a copy of your ACPI tables, using the "acpidump" utility
250 - a copy of /sys/devices/platform/asus-laptop/infos
251 - which driver features work and which don't
252 - the observed behavior of non-working features
253
254 Any other comments or patches are also more than welcome.
255
256 acpi4asus-user@lists.sourceforge.net
257 http://sourceforge.net/projects/acpi4asus
258
259