Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#286 closed enhancement (wontfix)

48-bit ATA commands not supported on OS X

Reported by: cmurf Owned by: somebody
Priority: major Milestone:
Component: all Version: 6.1
Keywords: macosx Cc:

Description

When running smartctl -x /dev/disk0, I get the following messages:
SMART WRITE LOG does not return COUNT and LBA_LOW register
SCT (Get) Error Recovery Control command failed

Device Statistics (GP Log 0x04) not supported

ATA_READ_LOG_EXT (addr=0x11:0x00, page=0, n=1) failed: 48-bit ATA commands not implemented
Read SATA Phy Event Counters failed

Regression:
This problem doesn't occur on the same hardware, with the same version of smartmontools, on linux.

Notes:
https://lists.macosforge.org/pipermail/macports-users/2013-February/031771.html

There's uncertainty if this is an upstream bug in smartmontools or if this is a limitation of xnu or IOKit on OS X. I've filed a bug with Apple, Problem ID: 14368815.

Attachments (2)

smartctl_osx.txt (9.2 KB) - added by cmurf 6 years ago.
smartctl -x on OS X
smartctl_linux.txt (10.2 KB) - added by cmurf 6 years ago.
smartctl -x on linux

Download all attachments as: .zip

Change History (5)

Changed 6 years ago by cmurf

Attachment: smartctl_osx.txt added

smartctl -x on OS X

Changed 6 years ago by cmurf

Attachment: smartctl_linux.txt added

smartctl -x on linux

comment:1 Changed 6 years ago by cmurf

Darwin ming.local 12.4.0 Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64

I've been able to reproduce these results since 10.6.x through 10.8.4, various models of Apple hardware, and HDDs and SSDs.

comment:2 Changed 6 years ago by Christian Franke

Resolution: wontfix
Status: newclosed
Type: defectenhancement

This is Mac OS X limitation, not a smartmontools problem.

The Darwin kernel only provides IOATASMARTInterface. This API only supports ATA IDENTIFY and SMART commands (see os_darwin.cpp). There is no transparent (S)ATA pass-through functionality. The same applies to SCSI/SAS.

As a consequence, ATA commands which are not related to SMART do not work, regardless of ATA register size (28-bit or 48-bit). Try for example: smartctl --set apm,N ... (This uses 28-bit ATA SET_FEATURES command).

Feel free to reopen this ticket after someone has added pass-through functionality to the Darwin kernel.

comment:3 Changed 6 years ago by cmurf

Understood. I've copied this information and cited reference to this report, to the Apple problem ID 14368815. And I've also, referenced this with downstream Macports project, ticket 39653.

Note: See TracTickets for help on using tickets.