| 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 supercedes 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 ide-disk 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 | 
 |  |