Smartmontools
This article refers to Smartmontools. You can install it by
Installation
opkg update
opkg install smartmontools
Update Drive Database (drivedb.h)
To save flash space there is no drivedb
included in the OpenWRT package of smartmontools
. The automatic update of drive.db
described here is missing as well. In case you can affort/waste ~215kB (12-April-2020) you can download the current database from GIT Drivedb.h.
Transfer it via SCP or WinSCP and place it at
mkdir /usr/share/smartmontools mv drivedb.h /usr/share/smartmontools/drivedb.h
SMART Information / Attributes
It allows you to monitor the health of an external storage device. This example assumes an SSD mounted at /dev/sda
smartctl -a /dev/sda smartctl 7.0 2018-12-30 r4883 [armv5tel-linux-4.14.162] (localbuild) Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Marvell based SanDisk SSDs Device Model: SanDisk SSD PLUS 240GB Serial Number: 1944AA800xxx LU WWN Device Id: 5 001b44 8b18d5803 Firmware Version: UF2204RL User Capacity: 240,057,409,536 bytes [240 GB] Sector Size: 512 bytes logical/physical Rotation Rate: Solid State Device Form Factor: 2.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ACS-3, ACS-2 T13/2015-D revision 3 SATA Version is: SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s) Local Time is: Mon Apr 13 09:28:31 2020 CEST SMART support is: Available - device has SMART capability. SMART support is: Enabled ... SMART Attributes Data Structure revision number: 1 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 215 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 27 165 Total_Write/Erase_Count 0x0032 100 100 000 Old_age Always - 34 166 Min_W/E_Cycle 0x0032 100 100 --- Old_age Always - 1 167 Min_Bad_Block/Die 0x0032 100 100 --- Old_age Always - 10 168 Maximum_Erase_Cycle 0x0032 100 100 --- Old_age Always - 3 169 Total_Bad_Block 0x0032 100 100 --- Old_age Always - 106 170 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0 171 Program_Fail_Count 0x0032 100 100 000 Old_age Always - 0 172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always - 0 173 Avg_Write/Erase_Count 0x0032 100 100 000 Old_age Always - 1 174 Unexpect_Power_Loss_Ct 0x0032 100 100 000 Old_age Always - 0 184 End-to-End_Error 0x0032 100 100 --- Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 --- Old_age Always - 0 194 Temperature_Celsius 0x0022 063 042 000 Old_age Always - 37 (Min/Max 15/42) 199 SATA_CRC_Error 0x0032 100 100 --- Old_age Always - 0 230 Perc_Write/Erase_Count 0x0032 100 100 000 Old_age Always - 9 20 9 232 Perc_Avail_Resrvd_Space 0x0033 100 100 005 Pre-fail Always - 100 233 Total_NAND_Writes_GiB 0x0032 100 100 --- Old_age Always - 136 234 Perc_Write/Erase_Ct_BC 0x0032 100 100 000 Old_age Always - 274 241 Total_Writes_GiB 0x0030 100 100 000 Old_age Offline - 131 242 Total_Reads_GiB 0x0030 100 100 000 Old_age Offline - 190 244 Thermal_Throttle 0x0032 000 100 --- Old_age Always - 0