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