1Kernel driver toshiba_haps 2Toshiba HDD Active Protection Sensor 3==================================== 4 5Author: Azael Avalos <coproscefalo@gmail.com> 6 7 80. Contents 9----------- 10 111. Description 122. Interface 133. Accelerometer axes 144. Supported devices 155. Usage 16 17 181. Description 19-------------- 20 21This driver provides support for the accelerometer found in various Toshiba 22laptops, being called "Toshiba HDD Protection - Shock Sensor" officialy, 23and detects laptops automatically with this device. 24On Windows, Toshiba provided software monitors this device and provides 25automatic HDD protection (head unload) on sudden moves or harsh vibrations, 26however, this driver only provides a notification via a sysfs file to let 27userspace tools or daemons act accordingly, as well as providing a sysfs 28file to set the desired protection level or sensor sensibility. 29 30 312. Interface 32------------ 33 34This 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. 37PTLV - Sets the desired protection level. 38RSSS - Shuts down the HDD protection interface for a few seconds, 39 then restores normal operation. 40 41Note: 42The presence of Solid State Drives (SSD) can make this driver to fail loading, 43given the fact that such drives have no movable parts, and thus, not requiring 44any "protection" as well as failing during the evaluation of the _STA method 45found under this device. 46 47 483. Accelerometer axes 49--------------------- 50 51This device does not report any axes, however, to query the sensor position 52a couple HCI (Hardware Configuration Interface) calls (0x6D and 0xA6) are 53provided to query such information, handled by the kernel module toshiba_acpi 54since kernel version 3.15. 55 56 574. Supported devices 58-------------------- 59 60This driver binds itself to the ACPI device TOS620A, and any Toshiba laptop 61with this device is supported, given the fact that they have the presence of 62conventional HDD and not only SSD, or a combination of both HDD and SSD. 63 64 655. Usage 66-------- 67 68The sysfs files under /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS620A:00/ are: 69protection_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 74reset_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. 77