Back to home page

OSCL-LXR

 
 

    


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