Commit | Line | Data |
---|---|---|
f369aa6d AA |
1 | Kernel driver toshiba_haps |
2 | Toshiba HDD Active Protection Sensor | |
3 | ==================================== | |
4 | ||
5 | Author: Azael Avalos <coproscefalo@gmail.com> | |
6 | ||
7 | ||
8 | 0. Contents | |
9 | ----------- | |
10 | ||
11 | 1. Description | |
12 | 2. Interface | |
13 | 3. Accelerometer axes | |
14 | 4. Supported devices | |
15 | 5. Usage | |
16 | ||
17 | ||
18 | 1. Description | |
19 | -------------- | |
20 | ||
21 | This driver provides support for the accelerometer found in various Toshiba | |
22 | laptops, being called "Toshiba HDD Protection - Shock Sensor" officialy, | |
23 | and detects laptops automatically with this device. | |
24 | On Windows, Toshiba provided software monitors this device and provides | |
25 | automatic HDD protection (head unload) on sudden moves or harsh vibrations, | |
26 | however, this driver only provides a notification via a sysfs file to let | |
27 | userspace tools or daemons act accordingly, as well as providing a sysfs | |
28 | file to set the desired protection level or sensor sensibility. | |
29 | ||
30 | ||
31 | 2. Interface | |
32 | ------------ | |
33 | ||
34 | This device comes with 3 methods: | |
35 | _STA - Checks existence of the device, returning Zero if the device does not | |
36 | exists or is not supported. | |
37 | PTLV - Sets the desired protection level. | |
38 | RSSS - Shuts down the HDD protection interface for a few seconds, | |
39 | then restores normal operation. | |
40 | ||
41 | Note: | |
42 | The presence of Solid State Drives (SSD) can make this driver to fail loading, | |
43 | given the fact that such drives have no movable parts, and thus, not requiring | |
44 | any "protection" as well as failing during the evaluation of the _STA method | |
45 | found under this device. | |
46 | ||
47 | ||
48 | 3. Accelerometer axes | |
49 | --------------------- | |
50 | ||
51 | This device does not report any axes, however, to query the sensor position | |
52 | a couple HCI (Hardware Configuration Interface) calls (0x6D and 0xA6) are | |
53 | provided to query such information, handled by the kernel module toshiba_acpi | |
54 | since kernel version 3.15. | |
55 | ||
56 | ||
57 | 4. Supported devices | |
58 | -------------------- | |
59 | ||
60 | This driver binds itself to the ACPI device TOS620A, and any Toshiba laptop | |
61 | with this device is supported, given the fact that they have the presence of | |
62 | conventional HDD and not only SSD, or a combination of both HDD and SSD. | |
63 | ||
64 | ||
65 | 5. Usage | |
66 | -------- | |
67 | ||
68 | The sysfs files under /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS620A:00/ are: | |
69 | protection_level - The protection_level is readable and writeable, and | |
70 | provides a way to let userspace query the current protection | |
71 | level, as well as set the desired protection level, the | |
72 | available protection levels are: | |
73 | 0 - Disabled | 1 - Low | 2 - Medium | 3 - High | |
74 | reset_protection - The reset_protection entry is writeable only, being "1" | |
75 | the only parameter it accepts, it is used to trigger | |
76 | a reset of the protection interface. |