mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
271 lines
8.1 KiB
271 lines
8.1 KiB
================== |
|
Asus Laptop Extras |
|
================== |
|
|
|
Version 0.1 |
|
|
|
August 6, 2009 |
|
|
|
Corentin Chary <[email protected]> |
|
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. |
|
|
|
[email protected] |
|
|
|
http://sourceforge.net/projects/acpi4asus
|
|
|