kasbert / OS-X-SAT-SMART-Driver

Max OS X kernel driver for providing access to external drive SMART data
578 stars 74 forks source link

USB flash disks stopped mounting after SAT driver was installed #10

Closed vladak closed 10 years ago

vladak commented 10 years ago

After installing SAT driver 0.7 (as mentioned in issue #9) on OS X 10.8.5 all USB flash disks stopped mounting. Once the driver is removed and system rebooted, it works again.

Here's relevant dmesg snippet:

[BNBMouseDevice::init][75.19] init is complete
[BNBMouseDevice::handleStart][75.19] returning 1
[AppleMultitouchHIDEventDriver::start] entered
[AppleMultitouchDevice::start] entered
USBMSC Identifier (non-unique): 0x00000000 0x781 0xb4b5 0x9339, 2
USBMSC Identifier (non-unique): 59c3eef0ee3379 0x4146 0xba65 0x100, 2
SATSMARTDriver v0.7: disk is not SAT capable
IOBlockStorageDriver: not registry member at registerService()
Pretec 01GB Media: not registry member at registerService()
USBMSC Identifier (non-unique): 0x00000000 0x11 0x7788 0x103, 2
IOSATDriver::Send_ATA_IDENTIFY failed 2 2
senseData: VALID_RESPONSE_CODE=240 (7=valid),
:          SEGMENT_NUMBER=0,
:          SENSE_KEY=5 (7 = FILEMARK, 6 = EOM, 5 = ILI, 3-0 = SENSE KEY)
:          INFORMATION_1,_2,_3,_4=0,0,0,0,
:          ADDITIONAL_SENSE_LENGTH=10,
:          COMMAND_SPECIFIC_INFORMATION_1,_2,_3,_4=0,0,0,0,
:          ADDITIONAL_SENSE_CODE=38,
:          ADDITIONAL_SENSE_CODE_QUALIFIER=0,
:          FIELD_REPLACEABLE_UNIT_CODE=0,
:          SKSV_SENSE_KEY_SPECIFIC_MSB=0 (7 = Sense Key Specific Valid bit, 6-0 Sense Key Specific MSB),
:          SENSE_KEY_SPECIFIC_MID=0,
:          SENSE_KEY_SPECIFIC_LSB=0
SATSMARTDriver v0.7: disk is not SAT capable
IOBlockStorageDriver: not registry member at registerService()
Generic Flash Disk Media: not registry member at registerService()
CODE SIGNING: cs_invalid_page(0x1000): p=300[GoogleSoftwareUp] clearing CS_VALID
USBMSC Identifier (non-unique): 000A27001BF27ED1 0x5ac 0x1263 0x1, 2
[0xffffff801efe0000](1)/(5) Device not responding
USBMSC Identifier (non-unique): 000A27001BF27ED1 0x5ac 0x1263 0x1, 2
[0xffffff801f08c400](1)/(5) Device not responding
kasbert commented 10 years ago

The driver now returns fail status on start(), if the drive is not SAT capable. I hoped that some other driver would then claim the device, but there seem to be a problem with it.

vladak commented 10 years ago

If anyone has a dtrace script or debug version of the module I can run while reproducing the issue then pass it over.

tsynik commented 10 years ago

I also have this issue with latest SATSMART 0.7 under OS X 10.9. USB 2.0 flash disk won't mount. SanDisk Extreme USB 3.0 (with SMART capability) mounts fine.

29.10.13 2:49:49,000 kernel[0]: Kext org.dungeon.driver.SATSMARTDriver not found for unload request. 29.10.13 2:50:29,000 kernel[0]: USBMSC Identifier (non-unique): 31469002C921669E 0x781 0x540e 0x200, 2 29.10.13 2:50:29,000 kernel[0]: IOSATDriver::Send_ATA_IDENTIFY failed 2 2 29.10.13 2:50:29,000 kernel[0]: senseData: VALID_RESPONSE_CODE=112 (7=valid), 29.10.13 2:50:29,000 kernel[0]: : SEGMENT_NUMBER=0, 29.10.13 2:50:29,000 kernel[0]: : SENSE_KEY=0 (7 = FILEMARK, 6 = EOM, 5 = ILI, 3-0 = SENSE KEY) 29.10.13 2:50:29,000 kernel[0]: : INFORMATION_1,_2,_3,_4=0,0,0,0, 29.10.13 2:50:29,000 kernel[0]: : ADDITIONAL_SENSE_LENGTH=10, 29.10.13 2:50:29,000 kernel[0]: : COMMAND_SPECIFIC_INFORMATION_1,_2,_3,_4=0,0,0,0, 29.10.13 2:50:29,000 kernel[0]: : ADDITIONAL_SENSE_CODE=0, 29.10.13 2:50:29,000 kernel[0]: : ADDITIONAL_SENSE_CODE_QUALIFIER=0, 29.10.13 2:50:29,000 kernel[0]: : FIELD_REPLACEABLE_UNIT_CODE=0, 29.10.13 2:50:29,000 kernel[0]: : SKSV_SENSE_KEY_SPECIFIC_MSB=0 (7 = Sense Key Specific Valid bit, 6-0 Sense Key Specific MSB), 29.10.13 2:50:29,000 kernel[0]: : SENSE_KEY_SPECIFIC_MID=0, 29.10.13 2:50:29,000 kernel[0]: : SENSE_KEY_SPECIFIC_LSB=0 29.10.13 2:50:29,000 kernel[0]: SATSMARTDriver v0.7: disk is not SAT capable 29.10.13 2:50:29,000 kernel[0]: IOBlockStorageDriver: not registry member at registerService() 29.10.13 2:50:30,000 kernel[0]: SanDisk Cruzer Contour Media: not registry member at registerService()

with version 0.6 it's mounted OK:

29.10.13 3:01:47,000 kernel[0]: USBMSC Identifier (non-unique): 31469002C921669E 0x781 0x540e 0x200, 2 29.10.13 3:01:48,000 kernel[0]: IOSATDriver::Send_ATA_IDENTIFY failed 2 2 29.10.13 3:01:48,000 kernel[0]: senseData: VALID_RESPONSE_CODE=112 (7=valid), 29.10.13 3:01:48,000 kernel[0]: : SEGMENT_NUMBER=0, 29.10.13 3:01:48,000 kernel[0]: : SENSE_KEY=0 (7 = FILEMARK, 6 = EOM, 5 = ILI, 3-0 = SENSE KEY) 29.10.13 3:01:48,000 kernel[0]: : INFORMATION_1,_2,_3,_4=0,0,0,0, 29.10.13 3:01:48,000 kernel[0]: : ADDITIONAL_SENSE_LENGTH=10, 29.10.13 3:01:48,000 kernel[0]: : COMMAND_SPECIFIC_INFORMATION_1,_2,_3,_4=0,0,0,0, 29.10.13 3:01:48,000 kernel[0]: : ADDITIONAL_SENSE_CODE=0, 29.10.13 3:01:48,000 kernel[0]: : ADDITIONAL_SENSE_CODE_QUALIFIER=0, 29.10.13 3:01:48,000 kernel[0]: : FIELD_REPLACEABLE_UNIT_CODE=0, 29.10.13 3:01:48,000 kernel[0]: : SKSV_SENSE_KEY_SPECIFIC_MSB=0 (7 = Sense Key Specific Valid bit, 6-0 Sense Key Specific MSB), 29.10.13 3:01:48,000 kernel[0]: : SENSE_KEY_SPECIFIC_MID=0, 29.10.13 3:01:48,000 kernel[0]: : SENSE_KEY_SPECIFIC_LSB=0 29.10.13 3:01:49,497 fseventsd[52]: check_vol_last_mod_time:XXX failed to get mount time (25; &mount_time == 0x1016cb3d8) 29.10.13 3:01:49,497 fseventsd[52]: log dir: /Volumes/UNTITLED/.fseventsd getting new uuid: A283FA2E-E768-4CFA-A1E1-0EBC36988865

kasbert commented 10 years ago

Please try version 0.8

vladak commented 10 years ago

Seems to work on 10.9.1. All my 3 drives (internal SSD Crucial M4-CT128M4SSD2, external WD Passport 1TB via USB 2.0, WD My Book 3TB via Firewire) connected to Mac mini are reported through SMARTReporter and the SMART attributes reported in one of the menus of the app look sane. Connecting USB stick and trasferring couple of files works fine. Many thanks !

kasbert commented 10 years ago

Nice to hear.