How-To : "Native" Card Reader driver for OSX86

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 :-

  1. It will look cooler , OSX sees the memory card slot as a memory card slot and not as a generic usb drive
  2. 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)

Screen shot 2010-11-12 at 11.56.43 PM
Voila , my 5-in-1 Internal Card Reader is now detected as a Card Reader

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
Step #1
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.
Screen shot 2010-11-13 at 5.45.50 PM
Do take a look at the USB Product ID and Vendor ID of your USB Card Reader

Step  #2
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
Step #3
Download these kexts (or via 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
Screen shot 2010-11-13 at 5.58.06 PM
Be sure to change the IDs

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.
Step #4
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
Step #5
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 !
My MacBook Pro

Screen shot 2010-11-12 at 11.49.43 PM
My MSI Wind U100

33 thoughts to “How-To : "Native" Card Reader driver for OSX86”

  1. Great job and good guide ,I have the same card like you mentioned. I want to have a try, but the download link does not available,can you share a new one ?

  2. Dont works.. I have my Vendor ID: 1507 and Product ID: 1814 added to the plist os USB card reader.kext. But it dont works.
    I have a desktop were it is recognized as USB. :).

  3. Hi all
    @Dreamwatcher: your version works here perfectly here (properly mod).
    @Pradeesh: also your version here works (properly mod), but only if i don’t add the second kext called AppleStorageDrivers (I don’t understand the meaning of this added kext)
    Bye and sorry for english

  4. hey, im using voodooSDHC.kext with my xps m1330 laptop to enable the card reader. It doesnt list under usb. Is it possible to get this to work with your mod? Thx!

  5. Doesn’t work, which is strange since I have identical MSI Wind U100 with identical VID & PID to yours? You failed to mention that AppleUSBCardReader.kext is located within the AppleStorageDrivers.kext>Contents>Plugins folder. My card reader works fine but doesn’t show in System Profiler. I’ve got a GUID HD wit

  6. @jaxparo
    That was the trick !
    After changing Vendor/Product ID in AppleUSBCardReader.kext, putting the changed kext into AppleStorageDrivers.kext>Contents>Plugins and replacing the original AppleUSBCardReader.kext with the changed one, my (1000H) Hackintosh showed SD cards up with a nice new icon and the internal USB Card Reader is recognized as a native Card Reader under the appropriate menu item in the System Profiler 🙂

  7. Typo in my last post:
    Must be “…replacing the original AppleStorageDrivers.kext with the changed one…” instead of “…replacing the original AppleUSBCardReader.kext with the changed one…”
    Sorry for that !

  8. 😛 my Card Reader is PCI device.What should I do??? i only know the usb device can be success. So can u help me about my SD/xd card reader ?

  9. The photos on this blog are missing! In my installation of SL 10.6.8 I see no kexts with these names to modify? It seems like installing older kexts from 10.6.5 might conflict with newer kexts of different names that control the same hardware?

  10. ❓ Hi Prasys, since 10.7.2 your Card Reader Driver dosn´t load and function. Can you update your Kext for 10.7.2? Best Regards

  11. Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your point. You clearly know what youre talking about, why waste your intelligence on just posting videos to your site when you could be giving us something enlightening to read?

Leave a Reply

Your email address will not be published. Required fields are marked *