Somehow, every now and then, a 2015 Retina MacBook Pro will eject the SD Card during sleep.
I’m not sure about the cause, just about the message that a drive got unmounted in an unexpected way.
This fails to rescan for the drive on Mac OS Sierra:
sudo kextunload -b com.apple.driver.AppleSDXC
sudo kextload -b com.apple.driver.AppleSDXC
As per [WayBack] external disk – Problem with kextunload SD card remount – Ask Different, I tried the kextstat
below, however, before the unload/load statements, kextstat | grep -e SDXC
returns nothing.
After them, it returns something like
156 0 0xffffff7f841f3000 0x12000 0x12000 com.apple.driver.AppleSDXC (1.7.6) 0F6F5025-A1C4-3E77-9ECD-4D4410E684C5 <16 15 12 5 4 3 1>
When it happens again, I will likely need to read these:
- [WayBack] Automatically eject external disk on sleep on OS X
- [WayBack] Manage your Nifty MiniDrive with Mountain
- [WayBack] macos – re-mount ejected SD card without reinserting – Ask Different
- [WayBack] macos – How can I remount an ejected (not just unmounted) USB drive on Mac? – Super User
- [WayBack] Mountain
- [WayBack] Automatically eject external disk on sleep on OS X
It might be that somewhere along the line, SDSX is not started by default any more or not applicable to MicroSD to SDXC card converters. These screenshots at least show that this disk is connected via a USB path:
The screenshots are from the stock “System Information.app” tool, and I really wish it showed the kext drivers used for each device. That would make debugging these issues a lot easier!
A solution then could be as easy as this:
Unmount all USB connected devices (for instance with a command like
diskutil eject disk1
);
sudo kextunload -b com.apple.driver.AppleUSBCardReader
sudo kextload -b com.apple.driver.AppleUSBCardReader
However my first try got me an error similar to the one result [WayBack] External USB disk sometimes requires a reboot to be recognized after eject – Ars Technica OpenForum I found after searching for “class com_apple_driver_AppleUSBCardReaderDriverNub has” “instances.”:
7/28/16 10:05:54.000 AM kernel[0]: Can't unload kext com.apple.driver.AppleUSBCardReader; classes have instances:
7/28/16 10:05:54.000 AM kernel[0]: Kext com.apple.driver.AppleUSBCardReader class com_apple_driver_AppleUSBCardReaderDriverNub has 2 instances.
–jeroen