diff options
-rw-r--r-- | Documentation/laptops/thinkpad-acpi.txt | 76 |
1 files changed, 52 insertions, 24 deletions
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index 41bc99fa1884..f6e6bc66eed3 100644 --- a/Documentation/laptops/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt | |||
@@ -20,7 +20,8 @@ moved to the drivers/misc tree and renamed to thinkpad-acpi for kernel | |||
20 | kernel 2.6.29 and release 0.22. | 20 | kernel 2.6.29 and release 0.22. |
21 | 21 | ||
22 | The driver is named "thinkpad-acpi". In some places, like module | 22 | The driver is named "thinkpad-acpi". In some places, like module |
23 | names, "thinkpad_acpi" is used because of userspace issues. | 23 | names and log messages, "thinkpad_acpi" is used because of userspace |
24 | issues. | ||
24 | 25 | ||
25 | "tpacpi" is used as a shorthand where "thinkpad-acpi" would be too | 26 | "tpacpi" is used as a shorthand where "thinkpad-acpi" would be too |
26 | long due to length limitations on some Linux kernel versions. | 27 | long due to length limitations on some Linux kernel versions. |
@@ -37,7 +38,7 @@ detailed description): | |||
37 | - ThinkLight on and off | 38 | - ThinkLight on and off |
38 | - limited docking and undocking | 39 | - limited docking and undocking |
39 | - UltraBay eject | 40 | - UltraBay eject |
40 | - CMOS control | 41 | - CMOS/UCMS control |
41 | - LED control | 42 | - LED control |
42 | - ACPI sounds | 43 | - ACPI sounds |
43 | - temperature sensors | 44 | - temperature sensors |
@@ -46,6 +47,7 @@ detailed description): | |||
46 | - Volume control | 47 | - Volume control |
47 | - Fan control and monitoring: fan speed, fan enable/disable | 48 | - Fan control and monitoring: fan speed, fan enable/disable |
48 | - WAN enable and disable | 49 | - WAN enable and disable |
50 | - UWB enable and disable | ||
49 | 51 | ||
50 | A compatibility table by model and feature is maintained on the web | 52 | A compatibility table by model and feature is maintained on the web |
51 | site, http://ibm-acpi.sf.net/. I appreciate any success or failure | 53 | site, http://ibm-acpi.sf.net/. I appreciate any success or failure |
@@ -53,7 +55,7 @@ reports, especially if they add to or correct the compatibility table. | |||
53 | Please include the following information in your report: | 55 | Please include the following information in your report: |
54 | 56 | ||
55 | - ThinkPad model name | 57 | - ThinkPad model name |
56 | - a copy of your DSDT, from /proc/acpi/dsdt | 58 | - a copy of your ACPI tables, using the "acpidump" utility |
57 | - a copy of the output of dmidecode, with serial numbers | 59 | - a copy of the output of dmidecode, with serial numbers |
58 | and UUIDs masked off | 60 | and UUIDs masked off |
59 | - which driver features work and which don't | 61 | - which driver features work and which don't |
@@ -66,17 +68,18 @@ Installation | |||
66 | ------------ | 68 | ------------ |
67 | 69 | ||
68 | If you are compiling this driver as included in the Linux kernel | 70 | If you are compiling this driver as included in the Linux kernel |
69 | sources, simply enable the CONFIG_THINKPAD_ACPI option, and optionally | 71 | sources, look for the CONFIG_THINKPAD_ACPI Kconfig option. |
70 | enable the CONFIG_THINKPAD_ACPI_BAY option if you want the | 72 | It is located on the menu path: "Device Drivers" -> "X86 Platform |
71 | thinkpad-specific bay functionality. | 73 | Specific Device Drivers" -> "ThinkPad ACPI Laptop Extras". |
74 | |||
72 | 75 | ||
73 | Features | 76 | Features |
74 | -------- | 77 | -------- |
75 | 78 | ||
76 | The driver exports two different interfaces to userspace, which can be | 79 | The driver exports two different interfaces to userspace, which can be |
77 | used to access the features it provides. One is a legacy procfs-based | 80 | used to access the features it provides. One is a legacy procfs-based |
78 | interface, which will be removed at some time in the distant future. | 81 | interface, which will be removed at some time in the future. The other |
79 | The other is a new sysfs-based interface which is not complete yet. | 82 | is a new sysfs-based interface which is not complete yet. |
80 | 83 | ||
81 | The procfs interface creates the /proc/acpi/ibm directory. There is a | 84 | The procfs interface creates the /proc/acpi/ibm directory. There is a |
82 | file under that directory for each feature it supports. The procfs | 85 | file under that directory for each feature it supports. The procfs |
@@ -111,15 +114,17 @@ The version of thinkpad-acpi's sysfs interface is exported by the driver | |||
111 | as a driver attribute (see below). | 114 | as a driver attribute (see below). |
112 | 115 | ||
113 | Sysfs driver attributes are on the driver's sysfs attribute space, | 116 | Sysfs driver attributes are on the driver's sysfs attribute space, |
114 | for 2.6.23 this is /sys/bus/platform/drivers/thinkpad_acpi/ and | 117 | for 2.6.23+ this is /sys/bus/platform/drivers/thinkpad_acpi/ and |
115 | /sys/bus/platform/drivers/thinkpad_hwmon/ | 118 | /sys/bus/platform/drivers/thinkpad_hwmon/ |
116 | 119 | ||
117 | Sysfs device attributes are on the thinkpad_acpi device sysfs attribute | 120 | Sysfs device attributes are on the thinkpad_acpi device sysfs attribute |
118 | space, for 2.6.23 this is /sys/devices/platform/thinkpad_acpi/. | 121 | space, for 2.6.23+ this is /sys/devices/platform/thinkpad_acpi/. |
119 | 122 | ||
120 | Sysfs device attributes for the sensors and fan are on the | 123 | Sysfs device attributes for the sensors and fan are on the |
121 | thinkpad_hwmon device's sysfs attribute space, but you should locate it | 124 | thinkpad_hwmon device's sysfs attribute space, but you should locate it |
122 | looking for a hwmon device with the name attribute of "thinkpad". | 125 | looking for a hwmon device with the name attribute of "thinkpad", or |
126 | better yet, through libsensors. | ||
127 | |||
123 | 128 | ||
124 | Driver version | 129 | Driver version |
125 | -------------- | 130 | -------------- |
@@ -129,6 +134,7 @@ sysfs driver attribute: version | |||
129 | 134 | ||
130 | The driver name and version. No commands can be written to this file. | 135 | The driver name and version. No commands can be written to this file. |
131 | 136 | ||
137 | |||
132 | Sysfs interface version | 138 | Sysfs interface version |
133 | ----------------------- | 139 | ----------------------- |
134 | 140 | ||
@@ -160,6 +166,7 @@ expect that an attribute might not be there, and deal with it properly | |||
160 | (an attribute not being there *is* a valid way to make it clear that a | 166 | (an attribute not being there *is* a valid way to make it clear that a |
161 | feature is not available in sysfs). | 167 | feature is not available in sysfs). |
162 | 168 | ||
169 | |||
163 | Hot keys | 170 | Hot keys |
164 | -------- | 171 | -------- |
165 | 172 | ||
@@ -618,6 +625,7 @@ For Lenovo models *with* ACPI backlight control: | |||
618 | and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process | 625 | and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process |
619 | these keys on userspace somehow (e.g. by calling xbacklight). | 626 | these keys on userspace somehow (e.g. by calling xbacklight). |
620 | 627 | ||
628 | |||
621 | Bluetooth | 629 | Bluetooth |
622 | --------- | 630 | --------- |
623 | 631 | ||
@@ -628,6 +636,9 @@ sysfs rfkill class: switch "tpacpi_bluetooth_sw" | |||
628 | This feature shows the presence and current state of a ThinkPad | 636 | This feature shows the presence and current state of a ThinkPad |
629 | Bluetooth device in the internal ThinkPad CDC slot. | 637 | Bluetooth device in the internal ThinkPad CDC slot. |
630 | 638 | ||
639 | If the ThinkPad supports it, the Bluetooth state is stored in NVRAM, | ||
640 | so it is kept across reboots and power-off. | ||
641 | |||
631 | Procfs notes: | 642 | Procfs notes: |
632 | 643 | ||
633 | If Bluetooth is installed, the following commands can be used: | 644 | If Bluetooth is installed, the following commands can be used: |
@@ -652,6 +663,7 @@ Sysfs notes: | |||
652 | rfkill controller switch "tpacpi_bluetooth_sw": refer to | 663 | rfkill controller switch "tpacpi_bluetooth_sw": refer to |
653 | Documentation/rfkill.txt for details. | 664 | Documentation/rfkill.txt for details. |
654 | 665 | ||
666 | |||
655 | Video output control -- /proc/acpi/ibm/video | 667 | Video output control -- /proc/acpi/ibm/video |
656 | -------------------------------------------- | 668 | -------------------------------------------- |
657 | 669 | ||
@@ -693,11 +705,8 @@ Fn-F7 from working. This also disables the video output switching | |||
693 | features of this driver, as it uses the same ACPI methods as | 705 | features of this driver, as it uses the same ACPI methods as |
694 | Fn-F7. Video switching on the console should still work. | 706 | Fn-F7. Video switching on the console should still work. |
695 | 707 | ||
696 | UPDATE: There's now a patch for the X.org Radeon driver which | 708 | UPDATE: refer to https://bugs.freedesktop.org/show_bug.cgi?id=2000 |
697 | addresses this issue. Some people are reporting success with the patch | ||
698 | while others are still having problems. For more information: | ||
699 | 709 | ||
700 | https://bugs.freedesktop.org/show_bug.cgi?id=2000 | ||
701 | 710 | ||
702 | ThinkLight control | 711 | ThinkLight control |
703 | ------------------ | 712 | ------------------ |
@@ -720,10 +729,11 @@ The ThinkLight sysfs interface is documented by the LED class | |||
720 | documentation, in Documentation/leds-class.txt. The ThinkLight LED name | 729 | documentation, in Documentation/leds-class.txt. The ThinkLight LED name |
721 | is "tpacpi::thinklight". | 730 | is "tpacpi::thinklight". |
722 | 731 | ||
723 | Due to limitations in the sysfs LED class, if the status of the thinklight | 732 | Due to limitations in the sysfs LED class, if the status of the ThinkLight |
724 | cannot be read or if it is unknown, thinkpad-acpi will report it as "off". | 733 | cannot be read or if it is unknown, thinkpad-acpi will report it as "off". |
725 | It is impossible to know if the status returned through sysfs is valid. | 734 | It is impossible to know if the status returned through sysfs is valid. |
726 | 735 | ||
736 | |||
727 | Docking / undocking -- /proc/acpi/ibm/dock | 737 | Docking / undocking -- /proc/acpi/ibm/dock |
728 | ------------------------------------------ | 738 | ------------------------------------------ |
729 | 739 | ||
@@ -784,6 +794,7 @@ the only docking stations currently supported are the X-series | |||
784 | UltraBase docks and "dumb" port replicators like the Mini Dock (the | 794 | UltraBase docks and "dumb" port replicators like the Mini Dock (the |
785 | latter don't need any ACPI support, actually). | 795 | latter don't need any ACPI support, actually). |
786 | 796 | ||
797 | |||
787 | UltraBay eject -- /proc/acpi/ibm/bay | 798 | UltraBay eject -- /proc/acpi/ibm/bay |
788 | ------------------------------------ | 799 | ------------------------------------ |
789 | 800 | ||
@@ -847,8 +858,9 @@ supported. Use "eject2" instead of "eject" for the second bay. | |||
847 | Note: the UltraBay eject support on the 600e/x, A22p and A3x is | 858 | Note: the UltraBay eject support on the 600e/x, A22p and A3x is |
848 | EXPERIMENTAL and may not work as expected. USE WITH CAUTION! | 859 | EXPERIMENTAL and may not work as expected. USE WITH CAUTION! |
849 | 860 | ||
850 | CMOS control | 861 | |
851 | ------------ | 862 | CMOS/UCMS control |
863 | ----------------- | ||
852 | 864 | ||
853 | procfs: /proc/acpi/ibm/cmos | 865 | procfs: /proc/acpi/ibm/cmos |
854 | sysfs device attribute: cmos_command | 866 | sysfs device attribute: cmos_command |
@@ -882,6 +894,7 @@ The cmos command interface is prone to firmware split-brain problems, as | |||
882 | in newer ThinkPads it is just a compatibility layer. Do not use it, it is | 894 | in newer ThinkPads it is just a compatibility layer. Do not use it, it is |
883 | exported just as a debug tool. | 895 | exported just as a debug tool. |
884 | 896 | ||
897 | |||
885 | LED control | 898 | LED control |
886 | ----------- | 899 | ----------- |
887 | 900 | ||
@@ -939,6 +952,7 @@ ThinkPad indicator LED should blink in hardware accelerated mode, use the | |||
939 | "timer" trigger, and leave the delay_on and delay_off parameters set to | 952 | "timer" trigger, and leave the delay_on and delay_off parameters set to |
940 | zero (to request hardware acceleration autodetection). | 953 | zero (to request hardware acceleration autodetection). |
941 | 954 | ||
955 | |||
942 | ACPI sounds -- /proc/acpi/ibm/beep | 956 | ACPI sounds -- /proc/acpi/ibm/beep |
943 | ---------------------------------- | 957 | ---------------------------------- |
944 | 958 | ||
@@ -968,6 +982,7 @@ X40: | |||
968 | 16 - one medium-pitched beep repeating constantly, stop with 17 | 982 | 16 - one medium-pitched beep repeating constantly, stop with 17 |
969 | 17 - stop 16 | 983 | 17 - stop 16 |
970 | 984 | ||
985 | |||
971 | Temperature sensors | 986 | Temperature sensors |
972 | ------------------- | 987 | ------------------- |
973 | 988 | ||
@@ -1115,6 +1130,7 @@ registers contain the current battery capacity, etc. If you experiment | |||
1115 | with this, do send me your results (including some complete dumps with | 1130 | with this, do send me your results (including some complete dumps with |
1116 | a description of the conditions when they were taken.) | 1131 | a description of the conditions when they were taken.) |
1117 | 1132 | ||
1133 | |||
1118 | LCD brightness control | 1134 | LCD brightness control |
1119 | ---------------------- | 1135 | ---------------------- |
1120 | 1136 | ||
@@ -1124,10 +1140,9 @@ sysfs backlight device "thinkpad_screen" | |||
1124 | This feature allows software control of the LCD brightness on ThinkPad | 1140 | This feature allows software control of the LCD brightness on ThinkPad |
1125 | models which don't have a hardware brightness slider. | 1141 | models which don't have a hardware brightness slider. |
1126 | 1142 | ||
1127 | It has some limitations: the LCD backlight cannot be actually turned on or | 1143 | It has some limitations: the LCD backlight cannot be actually turned |
1128 | off by this interface, and in many ThinkPad models, the "dim while on | 1144 | on or off by this interface, it just controls the backlight brightness |
1129 | battery" functionality will be enabled by the BIOS when this interface is | 1145 | level. |
1130 | used, and cannot be controlled. | ||
1131 | 1146 | ||
1132 | On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control | 1147 | On IBM (and some of the earlier Lenovo) ThinkPads, the backlight control |
1133 | has eight brightness levels, ranging from 0 to 7. Some of the levels | 1148 | has eight brightness levels, ranging from 0 to 7. Some of the levels |
@@ -1201,6 +1216,7 @@ WARNING: | |||
1201 | and maybe reduce the life of the backlight lamps by needlessly kicking | 1216 | and maybe reduce the life of the backlight lamps by needlessly kicking |
1202 | its level up and down at every change. | 1217 | its level up and down at every change. |
1203 | 1218 | ||
1219 | |||
1204 | Volume control -- /proc/acpi/ibm/volume | 1220 | Volume control -- /proc/acpi/ibm/volume |
1205 | --------------------------------------- | 1221 | --------------------------------------- |
1206 | 1222 | ||
@@ -1217,6 +1233,11 @@ distinct. The unmute the volume after the mute command, use either the | |||
1217 | up or down command (the level command will not unmute the volume). | 1233 | up or down command (the level command will not unmute the volume). |
1218 | The current volume level and mute state is shown in the file. | 1234 | The current volume level and mute state is shown in the file. |
1219 | 1235 | ||
1236 | The ALSA mixer interface to this feature is still missing, but patches | ||
1237 | to add it exist. That problem should be addressed in the not so | ||
1238 | distant future. | ||
1239 | |||
1240 | |||
1220 | Fan control and monitoring: fan speed, fan enable/disable | 1241 | Fan control and monitoring: fan speed, fan enable/disable |
1221 | --------------------------------------------------------- | 1242 | --------------------------------------------------------- |
1222 | 1243 | ||
@@ -1383,8 +1404,11 @@ procfs: /proc/acpi/ibm/wan | |||
1383 | sysfs device attribute: wwan_enable (deprecated) | 1404 | sysfs device attribute: wwan_enable (deprecated) |
1384 | sysfs rfkill class: switch "tpacpi_wwan_sw" | 1405 | sysfs rfkill class: switch "tpacpi_wwan_sw" |
1385 | 1406 | ||
1386 | This feature shows the presence and current state of a W-WAN (Sierra | 1407 | This feature shows the presence and current state of the built-in |
1387 | Wireless EV-DO) device. | 1408 | Wireless WAN device. |
1409 | |||
1410 | If the ThinkPad supports it, the WWAN state is stored in NVRAM, | ||
1411 | so it is kept across reboots and power-off. | ||
1388 | 1412 | ||
1389 | It was tested on a Lenovo ThinkPad X60. It should probably work on other | 1413 | It was tested on a Lenovo ThinkPad X60. It should probably work on other |
1390 | ThinkPad models which come with this module installed. | 1414 | ThinkPad models which come with this module installed. |
@@ -1413,6 +1437,7 @@ Sysfs notes: | |||
1413 | rfkill controller switch "tpacpi_wwan_sw": refer to | 1437 | rfkill controller switch "tpacpi_wwan_sw": refer to |
1414 | Documentation/rfkill.txt for details. | 1438 | Documentation/rfkill.txt for details. |
1415 | 1439 | ||
1440 | |||
1416 | EXPERIMENTAL: UWB | 1441 | EXPERIMENTAL: UWB |
1417 | ----------------- | 1442 | ----------------- |
1418 | 1443 | ||
@@ -1431,6 +1456,7 @@ Sysfs notes: | |||
1431 | rfkill controller switch "tpacpi_uwb_sw": refer to | 1456 | rfkill controller switch "tpacpi_uwb_sw": refer to |
1432 | Documentation/rfkill.txt for details. | 1457 | Documentation/rfkill.txt for details. |
1433 | 1458 | ||
1459 | |||
1434 | Multiple Commands, Module Parameters | 1460 | Multiple Commands, Module Parameters |
1435 | ------------------------------------ | 1461 | ------------------------------------ |
1436 | 1462 | ||
@@ -1445,6 +1471,7 @@ for example: | |||
1445 | 1471 | ||
1446 | modprobe thinkpad_acpi hotkey=enable,0xffff video=auto_disable | 1472 | modprobe thinkpad_acpi hotkey=enable,0xffff video=auto_disable |
1447 | 1473 | ||
1474 | |||
1448 | Enabling debugging output | 1475 | Enabling debugging output |
1449 | ------------------------- | 1476 | ------------------------- |
1450 | 1477 | ||
@@ -1467,6 +1494,7 @@ The level of debugging information output by the driver can be changed | |||
1467 | at runtime through sysfs, using the driver attribute debug_level. The | 1494 | at runtime through sysfs, using the driver attribute debug_level. The |
1468 | attribute takes the same bitmask as the debug module parameter above. | 1495 | attribute takes the same bitmask as the debug module parameter above. |
1469 | 1496 | ||
1497 | |||
1470 | Force loading of module | 1498 | Force loading of module |
1471 | ----------------------- | 1499 | ----------------------- |
1472 | 1500 | ||