0001 ==================
0002 Asus Laptop Extras
0003 ==================
0004
0005 Version 0.1
0006
0007 August 6, 2009
0008
0009 Corentin Chary <corentincj@iksaif.net>
0010 http://acpi4asus.sf.net/
0011
0012 This driver provides support for extra features of ACPI-compatible ASUS laptops.
0013 It may also support some MEDION, JVC or VICTOR laptops (such as MEDION 9675 or
0014 VICTOR XP7210 for example). It makes all the extra buttons generate input
0015 events (like keyboards).
0016
0017 On some models adds support for changing the display brightness and output,
0018 switching the LCD backlight on and off, and most importantly, allows you to
0019 blink those fancy LEDs intended for reporting mail and wireless status.
0020
0021 This driver supersedes the old asus_acpi driver.
0022
0023 Requirements
0024 ------------
0025
0026 Kernel 2.6.X sources, configured for your computer, with ACPI support.
0027 You also need CONFIG_INPUT and CONFIG_ACPI.
0028
0029 Status
0030 ------
0031
0032 The features currently supported are the following (see below for
0033 detailed description):
0034
0035 - Fn key combinations
0036 - Bluetooth enable and disable
0037 - Wlan enable and disable
0038 - GPS enable and disable
0039 - Video output switching
0040 - Ambient Light Sensor on and off
0041 - LED control
0042 - LED Display control
0043 - LCD brightness control
0044 - LCD on and off
0045
0046 A compatibility table by model and feature is maintained on the web
0047 site, http://acpi4asus.sf.net/.
0048
0049 Usage
0050 -----
0051
0052 Try "modprobe asus-laptop". Check your dmesg (simply type dmesg). You should
0053 see some lines like this :
0054
0055 Asus Laptop Extras version 0.42
0056 - L2D model detected.
0057
0058 If it is not the output you have on your laptop, send it (and the laptop's
0059 DSDT) to me.
0060
0061 That's all, now, all the events generated by the hotkeys of your laptop
0062 should be reported via netlink events. You can check with
0063 "acpi_genl monitor" (part of the acpica project).
0064
0065 Hotkeys are also reported as input keys (like keyboards) you can check
0066 which key are supported using "xev" under X11.
0067
0068 You can get information on the version of your DSDT table by reading the
0069 /sys/devices/platform/asus-laptop/infos entry. If you have a question or a
0070 bug report to do, please include the output of this entry.
0071
0072 LEDs
0073 ----
0074
0075 You can modify LEDs be echoing values to `/sys/class/leds/asus/*/brightness`::
0076
0077 echo 1 > /sys/class/leds/asus::mail/brightness
0078
0079 will switch the mail LED on.
0080
0081 You can also know if they are on/off by reading their content and use
0082 kernel triggers like disk-activity or heartbeat.
0083
0084 Backlight
0085 ---------
0086
0087 You can control lcd backlight power and brightness with
0088 /sys/class/backlight/asus-laptop/. Brightness Values are between 0 and 15.
0089
0090 Wireless devices
0091 ----------------
0092
0093 You can turn the internal Bluetooth adapter on/off with the bluetooth entry
0094 (only on models with Bluetooth). This usually controls the associated LED.
0095 Same for Wlan adapter.
0096
0097 Display switching
0098 -----------------
0099
0100 Note: the display switching code is currently considered EXPERIMENTAL.
0101
0102 Switching works for the following models:
0103
0104 - L3800C
0105 - A2500H
0106 - L5800C
0107 - M5200N
0108 - W1000N (albeit with some glitches)
0109 - M6700R
0110 - A6JC
0111 - F3J
0112
0113 Switching doesn't work for the following:
0114
0115 - M3700N
0116 - L2X00D (locks the laptop under certain conditions)
0117
0118 To switch the displays, echo values from 0 to 15 to
0119 /sys/devices/platform/asus-laptop/display. The significance of those values
0120 is as follows:
0121
0122 +-------+-----+-----+-----+-----+-----+
0123 | Bin | Val | DVI | TV | CRT | LCD |
0124 +-------+-----+-----+-----+-----+-----+
0125 | 0000 | 0 | | | | |
0126 +-------+-----+-----+-----+-----+-----+
0127 | 0001 | 1 | | | | X |
0128 +-------+-----+-----+-----+-----+-----+
0129 | 0010 | 2 | | | X | |
0130 +-------+-----+-----+-----+-----+-----+
0131 | 0011 | 3 | | | X | X |
0132 +-------+-----+-----+-----+-----+-----+
0133 | 0100 | 4 | | X | | |
0134 +-------+-----+-----+-----+-----+-----+
0135 | 0101 | 5 | | X | | X |
0136 +-------+-----+-----+-----+-----+-----+
0137 | 0110 | 6 | | X | X | |
0138 +-------+-----+-----+-----+-----+-----+
0139 | 0111 | 7 | | X | X | X |
0140 +-------+-----+-----+-----+-----+-----+
0141 | 1000 | 8 | X | | | |
0142 +-------+-----+-----+-----+-----+-----+
0143 | 1001 | 9 | X | | | X |
0144 +-------+-----+-----+-----+-----+-----+
0145 | 1010 | 10 | X | | X | |
0146 +-------+-----+-----+-----+-----+-----+
0147 | 1011 | 11 | X | | X | X |
0148 +-------+-----+-----+-----+-----+-----+
0149 | 1100 | 12 | X | X | | |
0150 +-------+-----+-----+-----+-----+-----+
0151 | 1101 | 13 | X | X | | X |
0152 +-------+-----+-----+-----+-----+-----+
0153 | 1110 | 14 | X | X | X | |
0154 +-------+-----+-----+-----+-----+-----+
0155 | 1111 | 15 | X | X | X | X |
0156 +-------+-----+-----+-----+-----+-----+
0157
0158 In most cases, the appropriate displays must be plugged in for the above
0159 combinations to work. TV-Out may need to be initialized at boot time.
0160
0161 Debugging:
0162
0163 1) Check whether the Fn+F8 key:
0164
0165 a) does not lock the laptop (try a boot with noapic / nolapic if it does)
0166 b) generates events (0x6n, where n is the value corresponding to the
0167 configuration above)
0168 c) actually works
0169
0170 Record the disp value at every configuration.
0171 2) Echo values from 0 to 15 to /sys/devices/platform/asus-laptop/display.
0172 Record its value, note any change. If nothing changes, try a broader range,
0173 up to 65535.
0174 3) Send ANY output (both positive and negative reports are needed, unless your
0175 machine is already listed above) to the acpi4asus-user mailing list.
0176
0177 Note: on some machines (e.g. L3C), after the module has been loaded, only 0x6n
0178 events are generated and no actual switching occurs. In such a case, a line
0179 like::
0180
0181 echo $((10#$arg-60)) > /sys/devices/platform/asus-laptop/display
0182
0183 will usually do the trick ($arg is the 0000006n-like event passed to acpid).
0184
0185 Note: there is currently no reliable way to read display status on xxN
0186 (Centrino) models.
0187
0188 LED display
0189 -----------
0190
0191 Some models like the W1N have a LED display that can be used to display
0192 several items of information.
0193
0194 LED display works for the following models:
0195
0196 - W1000N
0197 - W1J
0198
0199 To control the LED display, use the following::
0200
0201 echo 0x0T000DDD > /sys/devices/platform/asus-laptop/
0202
0203 where T control the 3 letters display, and DDD the 3 digits display,
0204 according to the tables below::
0205
0206 DDD (digits)
0207 000 to 999 = display digits
0208 AAA = ---
0209 BBB to FFF = turn-off
0210
0211 T (type)
0212 0 = off
0213 1 = dvd
0214 2 = vcd
0215 3 = mp3
0216 4 = cd
0217 5 = tv
0218 6 = cpu
0219 7 = vol
0220
0221 For example "echo 0x01000001 >/sys/devices/platform/asus-laptop/ledd"
0222 would display "DVD001".
0223
0224 Driver options
0225 --------------
0226
0227 Options can be passed to the asus-laptop driver using the standard
0228 module argument syntax (<param>=<value> when passing the option to the
0229 module or asus-laptop.<param>=<value> on the kernel boot line when
0230 asus-laptop is statically linked into the kernel).
0231
0232 wapf: WAPF defines the behavior of the Fn+Fx wlan key
0233 The significance of values is yet to be found, but
0234 most of the time:
0235
0236 - 0x0 should do nothing
0237 - 0x1 should allow to control the device with Fn+Fx key.
0238 - 0x4 should send an ACPI event (0x88) while pressing the Fn+Fx key
0239 - 0x5 like 0x1 or 0x4
0240
0241 The default value is 0x1.
0242
0243 Unsupported models
0244 ------------------
0245
0246 These models will never be supported by this module, as they use a completely
0247 different mechanism to handle LEDs and extra stuff (meaning we have no clue
0248 how it works):
0249
0250 - ASUS A1300 (A1B), A1370D
0251 - ASUS L7300G
0252 - ASUS L8400
0253
0254 Patches, Errors, Questions
0255 --------------------------
0256
0257 I appreciate any success or failure
0258 reports, especially if they add to or correct the compatibility table.
0259 Please include the following information in your report:
0260
0261 - Asus model name
0262 - a copy of your ACPI tables, using the "acpidump" utility
0263 - a copy of /sys/devices/platform/asus-laptop/infos
0264 - which driver features work and which don't
0265 - the observed behavior of non-working features
0266
0267 Any other comments or patches are also more than welcome.
0268
0269 acpi4asus-user@lists.sourceforge.net
0270
0271 http://sourceforge.net/projects/acpi4asus