2

My 2017 15" MacBook Pro does not appear to support SMART on any drive. For its internal PCIe drive diskutil reports:

$ diskutil info disk0 | grep SMART
   SMART Status:              Not Supported

System Information shows the same:

S.M.A.R.T. status              Not Supported

Similarly I have two USB hard drives, a Toshiba 2.5" native USB, the other a Seagate 3.5" in a SATA to USB enclosure. MacOS is unable to read their SMART status either with diskutil

$ diskutil info disk2 | grep SMART
   SMART Status:              Not Supported

or with smartmontools (installed with brew):

$ smartctl -a disk2s2
smartctl 7.1 2019-12-30 r5022 [Darwin 18.7.0 x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

Smartctl open device: disk2s2 failed: Operation not supported by device

HOWEVER, a FreeNAS box correctly reads SMART from both USB drives. Indeed one of them is failing with a large number of Failed SMART usage Attribute: 184 End-to-End_Error errors. Error 184 signals possible corruption on the drive with likely imminent failure. It means "get anything you care about off ASAP and discard the drive". macOS provided no warnings.

Does macOS have any sort of monitoring of drive health? If so, what is it and how does it work? If not, can it be added both for internal and external drives? Is there a technology other than SMART?

6
  • Most if the issues comes from external USB controllers not supporting SMART. See: apple.stackexchange.com/a/295199/119271. However, there are drivers that allow you to pass ATA commands to the drive directly, macOS doesn’t allow it. As for your internal drive, is it an NVME drive?
    – Allan
    Commented Jun 8, 2020 at 17:33
  • Among othrs, related: apple.stackexchange.com/q/135565 Commented Jun 8, 2020 at 17:38
  • Both my internal drives do. I have an old iMac running High Sierra
    – Natsfan
    Commented Jun 8, 2020 at 18:35
  • @Allan both USB drives properly report SMART on a FreeNAS system. Only an issue when plugged in to the mac. The internal SSD is soldered-on (2017 Macbook Pro). I believe it's NVMe.
    – Adam
    Commented Jun 8, 2020 at 18:42
  • @LаngLаngС that's exactly how I got the smartctl output in my question. The same command on FreeNAS yields the expected output. On macOS it says unsupported. Hence my question.
    – Adam
    Commented Jun 8, 2020 at 18:43

3 Answers 3

2
+200

My 2017 15" MacBook Pro does not appear to support S.M.A.R.T. on any drive.

Not exactly. It’s more like NVMe is not compatible with S.M.A.R.T. First off, it is a subset of the ATA (AT Attachment) standard for monitoring/reporting and repairing drive failures. There are a number of ATA commands that access the SMART attributes.

To be able to gain access to the SMART attributes on the drive, you need the following:

  • supported OS driver
  • supported hardware interface.

Drivers

macOS provides a limited and closed ATA driver. It does not allow you to send SCSI and ATA commands directly to the device (drive). In this case the macOS driver allows you to get some but not all of the SMART attributes. To do so, you need a 3rd party driver that supports getting these extended attributes. DriveDx has this driver.

Supported Hardware

As for a supported hardware interface this could be either the SATA controller (actually PCIe to SATA bridge) or the SATA controller in a USB interface (USB to SATA bridge). If the SATA controller doesn’t support sending/reading these commands/attributes, you won’t be able to get the SMART information you’re looking for.

However, given that a different machine (FreeNAS box) the included ATA/SCSI driver as well as the USB to SATA bridge supported the SMART attributes.

Smartmontools has an excellent summary page detailing the USB/SMART attribute support: https://www.smartmontools.org/wiki/USB

enter image description here

The ​OS X SAT SMART Driver provides access to SMART data for SAT, JMicron and Sunplus capable USB and Firewire devices on Mac OS X. On OSX El Capitan (10.11+) you may need a signed driver, which can be downloaded from the ​DriveDx website. Note that this does not support 48-bit ATA commands (-l xerror) or non-SMART ATA commands (-s apm,N). Full USB support would require SCSI pass-through support which does not yet exist on Mac OS X.

If you notice, macOS doesn’t support the SCSI pass through nor does smartmontools support SCSI. However, you can get USB SMART attributes through the use of a signed driver from DriveDX.

NVMe

NVMe is a whole different ball of wax. Looking at the specification, there’s nothing about SMART attributes. In fact, it has it’s own definition for Error Reporting and Recovery. So, asking an NVMe drive for attributes it doesn’t even have is obviously not going to work.

smartmontools NVMe support is currently in the “experimental” stage. Once again, support is limited due to driver limitations. After 10.13 (High Sierra), a 3rd party driver is required

Before release 10.13 only Apple-branded NVMe devices were supported, monitoring API is implemented (NVMeSMARTClient) but not documented. Limited NVMe support added in the ​DriveDx app (commercial, closed source) and in the smartmontools since 6.6 (r4438).

Bottom Line

If you’re looking for drive health monitoring, you’ll need 3rd party tools as it hasn’t been implemented in macOS as of yet.

3
  • That's disheartening. Even Time Machine will happily use a failing drive.
    – Adam
    Commented Jun 16, 2020 at 20:29
  • 1
    Yeah. I've had that happen to me actually. I only came to know about this because I had a failing drive, got the SMART status, removed it so I could get back up and running but put it in a USB enclosure only to find that I couldn't get SMART status or any of the attributes anymore which made no sense. Then it worked in FreeBSD, brought it to my Mac where it failed again causing me to think something was wrong with my Mac. Apple does some spectacular things, however, when they fail, it's equally spectacular. Thanks for the bounty - much appreciated!
    – Allan
    Commented Jun 16, 2020 at 20:40
  • Agreed, this one is a puzzling miss. Thanks for taking the time to answer!
    – Adam
    Commented Jun 16, 2020 at 20:54
0

Open About This Mac user the Apple Menu. Click on the System Report button. About half way down the page, under Hardware, click on SATA/SATA Express. Click on each disk reported at the top of the 2nd column and look for S.M.A.R.T. Status and see if its listed.

1
  • That just opens the System Information dialog. The OP includes its output, i.e. SMART is not supported.
    – Adam
    Commented Jun 10, 2020 at 22:54
0

USB external drive enclosures do not support SMART with macOS. So that is most likely the issue there.

As for internal drives, I know the internal disks of the 2017 MacBook Pro are NVMe and do support SMART. However, macOS did not support SMART with NVMe until macOS 10.10.3+ and even then it only supported some Apple branded NVMe devices until 10.13 High Sierra. So, pre-10.13 storage upgrades could cause issues with SMART reporting.

Smartmontools did not fully support NVMe until 6.6+ and it uses macOS's native support. There are some notes here and here.

So try updating macOS to gain native support.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .