Re: AHCI Error?
Re: AHCI Error?
- Subject: Re: AHCI Error?
- From: Brian Bergstrand <email@hidden>
- Date: Thu, 11 Sep 2008 15:48:45 +0300
On Sep 11, 2008, at 12:46 PM, Brian Bergstrand wrote:
Hi Chris, thanks for the reply. My comments follow inline.
On Sep 10, 2008, at 8:00 PM, Chris Sarcone wrote:
Brian --
I filed a bug (rdar:// 6184934) about this exact same error being
returned from an SATA SMART service provider. I can reliably
reproduce the bug on both my 2006 iMac and 2007 MBP, but the bug
was closed by Apple as not reproducible because I don't have a
SATA sniffer to get SATA dump.
This sample code is incorrect. I suggest you review the ATA-7
Command Set reference.
Under section 6.54.1.6 "Error outputs"
"If the device does not support this command, if SMART is not
enabled, or if the values in the Features, LBA
Mid, or LBA High registers are invalid, the device shall return
command aborted."
Have you validated via the IDENTIFY DEVICE data that SMART is
enabled? Your sample code does not enable SMART operations before
asking for SMART status...Apple's code does.
Apple's SMART sample code does not do this:
http://developer.apple.com/samplecode/SMARTQuery/listing3.html
All it does is query the IDENTIFY data to see if SMART is supported
and that is not necessary with 10.4.9 or later because IOKit
publishes the property key "kIOPropertySMARTCapableKey" in device
objects who are SMART capable; this latter method is used by the bug
sample code.
Sorry, spoke too quickly, the sample code does enable SMART. It does
so blindly and then turns SMART off when its done because of
"performance" problems. However, the ATA spec specifically says that
SMART shall not impact drive performance except while an off-line test
is running.
Brian Bergstrand
<http://www.bergstrand.org/brian/> PGP Key ID: 0xB6C7B6A2
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden