As we know , as with OSX 10.6.5 , Apple has improvised their Memory card support by adding Memory Card in system profiler and including exFat. As we all are eager on making our hackint0sh as closely as possible for the real thing. So I decided to embark on another journey , as firstly I would like memory card slot on my MSI Wind U100 to be detected as a native memory card slot
The advantages of making it native are :-
- It will look cooler , OSX sees the memory card slot as a memory card slot and not as a generic usb drive
- Improved performance especially when R/W to Memory Cards
As I do have a MacBook Pro with SD Card Slot , I’ve managed to test and find out on how a real mac is able to identify a real card slot , as both of my MacBook Pro and my MSI Wind U100 uses a USB Interface for its card slot. Then bingo , I hit the jackpot , I found out that a kext called AppleUSBCardReader.kext is the kext that is in charge of identify a memory card slot in a PC which uses USB Interface. Bingo ,after a bit of fiddling with the kext , I’ve managed to get it to work. This is the result
As you see every time I insert a memory card (i.e SD , XD , CF) into my memory card slot. OSX sees it as a memory card instead of ugly looking generic drive , which is cool (more after the jump)
Now , let me teach you on how you too can do the same thing.
Okay , first thing first you need to have a compatible USB Card Reader , some laptops do use a PCI Interface and not USB. You’ll have to check it out. Internal USB Card Reader on PCs and even external ones do work well . The main criteria is to have a Card Reader which uses USB Interface and MacOS X 10.6.5
Firstly , go to System Profiler and select USB. Select your card reader. In my case its CRW-2.0. To take note of of the device id and vendor id. We’ll be needing this later.
Next up convert those ids from hex into dec. That’s right , take out your geeky scentific calculator and convert it. Alternatively , you may use this calculator. Its simple to use . So for my case :-
Vendor ID : 0x0bda
My VendorID would be 3034 in decimal
Product ID : 0x0158
My Product ID would be 344
Again , take note of these values. Its very important for you to do so. As in our next step we would be needing it
Download these kexts (or via kexts.com). Open up AppleUSBCardReader.kext (To do so , simply right click and select view package contents) and edit its Info.plist files. There are two of it , one is located in the root of the kext and the other one is located inside Contents. Now open up both of the Info.plist file with your favorite text editor , I use TextMate and look for idProduct and idVendor
Be sure to replace the idProduct and idVendor with the Dec number that you’ve converted. Do not forget to do the same for the one which is included inside Content.
Install both of the kexts to your desirable location. Thats right , it works from EFI partition or /Extra/Extensions or from /System/Library/Extensions. Depending on how you’ve configured. If you aren’t sure of your setup , simply install them to /System/Library/Extensions with KextHelper
Reboot and just pray that it works ! Just go to System Profiler and select Card Reader. If you’ve done correctly , you should see your Card Reader is recognized as Apple Internal Card Reader. I’ve included two screenshots , one is from my MacBook Pro and the other one is from my MSI Wind U100for comparison purpose !