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