summaryrefslogtreecommitdiffstats
path: root/Documentation/laptops/asus-laptop.rst
blob: 95176321a25a65c377ee699a6131f7051cbd522f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
==================
Asus Laptop Extras
==================

Version 0.1

August 6, 2009

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

 This driver provides support for extra features of ACPI-compatible ASUS laptops.
 It may also support some MEDION, JVC or VICTOR laptops (such as MEDION 9675 or
 VICTOR XP7210 for example). It makes all the extra buttons generate input
 events (like keyboards).

 On some models adds support for changing the display brightness and output,
 switching the LCD backlight on and off, and most importantly, allows you to
 blink those fancy LEDs intended for reporting mail and wireless status.

This driver supersedes the old asus_acpi driver.

Requirements
------------

  Kernel 2.6.X sources, configured for your computer, with ACPI support.
  You also need CONFIG_INPUT and CONFIG_ACPI.

Status
------

 The features currently supported are the following (see below for
 detailed description):

 - Fn key combinations
 - Bluetooth enable and disable
 - Wlan enable and disable
 - GPS enable and disable
 - Video output switching
 - Ambient Light Sensor on and off
 - LED control
 - LED Display control
 - LCD brightness control
 - LCD on and off

 A compatibility table by model and feature is maintained on the web
 site, http://acpi4asus.sf.net/.

Usage
-----

  Try "modprobe asus-laptop". Check your dmesg (simply type dmesg). You should
  see some lines like this :

      Asus Laptop Extras version 0.42
        - L2D model detected.

  If it is not the output you have on your laptop, send it (and the laptop's
  DSDT) to me.

  That's all, now, all the events generated by the hotkeys of your laptop
  should be reported via netlink events. You can check with
  "acpi_genl monitor" (part of the acpica project).

  Hotkeys are also reported as input keys (like keyboards) you can check
  which key are supported using "xev" under X11.

  You can get information on the version of your DSDT table by reading the
  /sys/devices/platform/asus-laptop/infos entry. If you have a question or a
  bug report to do, please include the output of this entry.

LEDs
----

  You can modify LEDs be echoing values to `/sys/class/leds/asus/*/brightness`::

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

  will switch the mail LED on.

  You can also know if they are on/off by reading their content and use
  kernel triggers like disk-activity or heartbeat.

Backlight
---------

  You can control lcd backlight power and brightness with
  /sys/class/backlight/asus-laptop/. Brightness Values are between 0 and 15.

Wireless devices
----------------

  You can turn the internal Bluetooth adapter on/off with the bluetooth entry
  (only on models with Bluetooth). This usually controls the associated LED.
  Same for Wlan adapter.

Display switching
-----------------

  Note: the display switching code is currently considered EXPERIMENTAL.

  Switching works for the following models:

    - L3800C
    - A2500H
    - L5800C
    - M5200N
    - W1000N (albeit with some glitches)
    - M6700R
    - A6JC
    - F3J

  Switching doesn't work for the following:

    - M3700N
    - L2X00D (locks the laptop under certain conditions)

  To switch the displays, echo values from 0 to 15 to
  /sys/devices/platform/asus-laptop/display. The significance of those values
  is as follows:

  +-------+-----+-----+-----+-----+-----+
  | Bin   | Val | 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  |
  +-------+-----+-----+-----+-----+-----+

  In most cases, the appropriate displays must be plugged in for the above
  combinations to work. TV-Out may need to be initialized at boot time.

  Debugging:

  1) Check whether the Fn+F8 key:

     a) does not lock the laptop (try a boot with noapic / nolapic if it does)
     b) generates events (0x6n, where n is the value corresponding to the
        configuration above)
     c) actually works

     Record the disp value at every configuration.
  2) Echo values from 0 to 15 to /sys/devices/platform/asus-laptop/display.
     Record its value, note any change. If nothing changes, try a broader range,
     up to 65535.
  3) Send ANY output (both positive and negative reports are needed, unless your
     machine is already listed above) to the acpi4asus-user mailing list.

  Note: on some machines (e.g. L3C), after the module has been loaded, only 0x6n
  events are generated and no actual switching occurs. In such a case, a line
  like::

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

  will usually do the trick ($arg is the 0000006n-like event passed to acpid).

  Note: there is currently no reliable way to read display status on xxN
  (Centrino) models.

LED display
-----------

  Some models like the W1N have a LED display that can be used to display
  several items of information.

  LED display works for the following models:

    - W1000N
    - W1J

  To control the LED display, use the following::

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

  where T control the 3 letters display, and DDD the 3 digits display,
  according to the tables below::

         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

  For example "echo 0x01000001 >/sys/devices/platform/asus-laptop/ledd"
  would display "DVD001".

Driver options
--------------

 Options can be passed to the asus-laptop driver using the standard
 module argument syntax (<param>=<value> when passing the option to the
 module or asus-laptop.<param>=<value> on the kernel boot line when
 asus-laptop is statically linked into the kernel).

	     wapf: WAPF defines the behavior of the Fn+Fx wlan key
		   The significance of values is yet to be found, but
		   most of the time:

		   - 0x0 should do nothing
		   - 0x1 should allow to control the device with Fn+Fx key.
		   - 0x4 should send an ACPI event (0x88) while pressing the Fn+Fx key
		   - 0x5 like 0x1 or 0x4

 The default value is 0x1.

Unsupported models
------------------

 These models will never be supported by this module, as they use a completely
 different mechanism to handle LEDs and extra stuff (meaning we have no clue
 how it works):

 - ASUS A1300 (A1B), A1370D
 - ASUS L7300G
 - ASUS L8400

Patches, Errors, Questions
--------------------------

 I appreciate any success or failure
 reports, especially if they add to or correct the compatibility table.
 Please include the following information in your report:

 - Asus model name
 - a copy of your ACPI tables, using the "acpidump" utility
 - a copy of /sys/devices/platform/asus-laptop/infos
 - which driver features work and which don't
 - the observed behavior of non-working features

 Any other comments or patches are also more than welcome.

 acpi4asus-user@lists.sourceforge.net

 http://sourceforge.net/projects/acpi4asus