Smartctl: Probable ATA device behind a SAT layer

22 Nov 2016

When using smartctl from smartmontools make sure you are running the command as root on POSIX systems or with an elevated command prompt on Windows, otherwise you will get the confusing message:

Probable ATA device behind a SAT layer
Try an additional '-d ata' or '-d sat' argument.

As far as I know, there is no way to use smartctl as not root. It uses syscalls which require elevated privileges.

The most common use of smartctl is:

sudo smartctl -a /dev/sda

and

sudo smartctl -x /dev/sda

Where -a Prints all SMART information and -x prints all SMART and non-SMART drive information

Other caveats of smartctl:

  • Smartctl returncode is a bitmask. See EXIT STATUS in man smartctl
  • Setting -Tverypermissive changes the returncode types and may return generic dummy data. It will not give you an error even if you feed it a text file path instead of a drive path. This is a bad solution to the above problem.
  • If compiling for Linux, you must run ./configure --with-nvme-devicescan to get full NVMe support
  • It uses unix device paths even on Windows. /dev/sda points to PhysicalDrive0, /dev/sdb points to PhysicalDrive1, and so on.

Comments !