|
| 1 | +Kernel driver toshiba_haps |
| 2 | +Toshiba HDD Active Protection Sensor |
| 3 | +==================================== |
| 4 | + |
| 5 | +Author: Azael Avalos < [email protected]> |
| 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. |
0 commit comments