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