Closed tsynik closed 10 years ago
Here is log for SanDisk Extreme with default Info.plist: 03/06/14 03:18:33,000 kernel[0]: USBMSC Identifier (non-unique): AA011223130957223472 0x781 0x5580 0x10, 2 03/06/14 03:18:34,000 kernel[0]: IOSATDriver[0xffffff8031e0a800]::init 03/06/14 03:18:34,000 kernel[0]: IOSATDriver[0xffffff8031e0a800]::init result 1 03/06/14 03:18:34,000 kernel[0]: IOSATDriver[0xffffff8031e0a800]::attach 03/06/14 03:18:34,000 kernel[0]: IOSATDriver[0xffffff8031e0a800]::attach result 1 03/06/14 03:18:34,000 kernel[0]: IOSATDriver[0xffffff8031e0a800]::probe score 7006 03/06/14 03:18:34,000 kernel[0]: IOSATDriver[0xffffff8031e0a800]::probe result 0xffffff8031e0a800 score 7006 03/06/14 03:18:34,000 kernel[0]: IOSATDriver[0xffffff8031e0a800]::detach 03/06/14 03:18:34,000 kernel[0]: IOSATDriver[0xffffff8031e0a800]::free
I'm slightly confused by this. Which plist?
Thank you.
SATSMARTDriver.kext/Contents/Info.plist After I added:
<dict>
<key>PassThroughMode</key>
<string>auto</string>
<key>Product Identification</key>
<string>Extreme</string>
<key>Vendor Identification</key>
<string>SanDisk</string>
</dict>
it reports SMART. So with any other SAT capable enclosures / HDD. They work only after I check IOSCSIPeripheralDeviceNub and add their IDs to SATSMARTDriver plist
Ah! Thank you.
Maybe some other driver is claiming the device ? Try increasing the IOProbeScore value, for example 2006 -> 10000
That does the trick. With IOProbeScore 10 000 I don't need any other additions. Thanks!
03/06/14 19:50:21,000 kernel[0]: USBMSC Identifier (non-unique): AA011223130957223472 0x781 0x5580 0x10, 2 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::init 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::init result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::attach 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::attach result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::probe score 9000 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::probe result 0xffffff80296f9600 score 9000 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::detach 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::attach 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::attach result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::start 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::InitializeDeviceSupport 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::InitializeDeviceSupport result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::CreateStorageServiceNub 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::IdentifyDevice 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::JMicron_get_registers 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::PASS_THROUGH_JMicron 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::PASS_THROUGH_JMicron result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver::JMicron_get_registers failed 2 2 illegal request 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::JMicron_get_registers result 0 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::IdentifyDevice JMicron probe failed, trying with PassThrough16 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::Send_ATA_IDENTIFY 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::PASS_THROUGH_16 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::PASS_THROUGH_16 result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::PASS_THROUGH_12or16 result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::Send_ATA_IDENTIFY checksum 0 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::Send_ATA_IDENTIFY result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::Send_ATA_SMART_READ_DATA 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::PASS_THROUGH_16 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::PASS_THROUGH_16 result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::PASS_THROUGH_12or16 result 1 03/06/14 19:50:22,000 kernel[0]: IOSATDriver[0xffffff80296f9600]::Send_ATA_SMART_READ_DATA success checksum 0 ...
All versions of SAT SMART Driver work fine with my external enclosures, Flash Drives, but only after I added their IDs to Info.plist by hand. They report SMART not supported with default Info.plist. I think it may be related to probe phase. On my MacBook Pro 2010 I always have Apple SD Card Reader in IOSCSIPeripheralDeviceNub Device Tree (Is it somehow affects other SCSI SMART capable devices on that bus?):
+-o org_dungeon_driver_IOSATDriver <class org_dungeon_driver_IOSATDriver, id 0x1000007a5, !registered, !matched, active, busy 0 (5 ms), retain 8> +-o IOSATServices <class IOSATServices, id 0x1000007a9, registered, matched, active, busy 0 (5 ms), retain 6> +-o IOBlockStorageDriver <class IOBlockStorageDriver, id 0x1000007aa, registered, matched, active, busy 0 (4 ms), retain 9> +-o SanDisk SanDisk SSD U100 32GB Media <class IOMedia, id 0x1000007ac, registered, matched, active, busy 0 (4 ms), retain 11> +-o IOMediaBSDClient <class IOMediaBSDClient, id 0x1000007ad, registered, matched, active, busy 0 (0 ms), retain 6> +-o IOFDiskPartitionScheme <class IOFDiskPartitionScheme, id 0x1000007b0, !registered, !matched, active, busy 0 (0 ms), retain 6> +-o Untitled 1@1 <class IOMedia, id 0x1000007b2, registered, matched, active, busy 0 (0 ms), retain 10> +-o IOMediaBSDClient <class IOMediaBSDClient, id 0x1000007b3, registered, matched, active, busy 0 (0 ms), retain 7>
+-o com_apple_driver_AppleUSBCardReaderSBC <class com_apple_driver_AppleUSBCardReaderSBC, id 0x1000002a9, !registered, !matched, active, busy 0 (45 ms), retain 8> +-o IOBlockStorageServices <class IOBlockStorageServices, id 0x1000002b0, registered, matched, active, busy 0 (45 ms), retain 6> +-o IOBlockStorageDriver <class IOBlockStorageDriver, id 0x1000002b4, registered, matched, active, busy 0 (0 ms), retain 7>