==================
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
