Jump to content
Pablo Iglesias

SD Card reader on Latitude E6x10/6x20

Recommended Posts

Hello all,

 

This topic will cover how to enable the SD Card reader in the Latitude E6410.

 

The information below try to describe my Latitude E6410 configuration:

  • 2.4GHz Intel Core i5
  • 4GB 1067 Ghz DDR3
  • NVS 3100M 512 MB (1440x900)
  • BIOS version A13

 

This information worked for me in Mavericks and Mountain Lion.

 

PLEASE, BACKUP YOUR MEMORY CARD BEFORE TRYING THIS PROCEDURE. I CAN'T GUARANTEE IF THE DATA WILL BE SAFE AFTER YOU TEST WITH THE INFORMATION DESCRIBED BELOW. 

 

First, you need to find out the "Vendor ID" and the "Device ID" of your SD card controller. I used the "System Info" tool from El Coniglio and Oldnapalm.

 

Another way to get this info is using the "lspci" command in the terminal: (you need to have the "lspcidrv.kext" in S/L/E)

 

localhost:/ piglesias$ lspci -nn | grep SD

pcilib: 0000:01:00.0 64-bit device address ignored.

pcilib: 0000:01:00.0 64-bit device address ignored.

04:00.0 SD Host controller [0805]: Ricoh Co Ltd MMC/SD Host Controller [1180:e822] (rev 03)

 

In my case, the SD card reader has the Vendor ID = 1180 and the Device ID = e822, as you can see in red above.

 

With this information in hands, you can edit the "Info.plist" file from VoodooSDHC.kext (version 1.1.2b1).

 

         VoodooSDHC.kext.zip

 

- Edit the file "VoodooSDHC.kext/Contents/Info.plist":

 

In order to edit the Info.plist file, you can use any text editor. In my case, I used "vim".

 

Inside the "Info.plist" file, search for the string "IONameMatch". You will find something like this:

 

       <key>IONameMatch</key>

       <array>

               <string>pciVVVV,DDDD</string>

       </array>

 

Replace the "VVVV" by the Vendor ID and the "DDDD" by the Device ID you got from your hardware.

 

Copy the VoodooSDHC.kext to /System/Library/Extensions and then repair the permissions and rebuild the S/L/E cache with your preferred tool. I used Kext Wizard.

 

Reboot the machine in order to load the VoodooSDHC.kext.

 

After the reboot, insert the SD card and check inside the Finder.

 

Let me know if it works for you. 

 

 

Troubleshooting:

 

Check if the VoodooSDHC.kext loaded. Type in the command line:

 

localhost:~ piglesias$ kextstat  | grep VoodooSDHC

   53    0 0xffffff7f80b1e000 0x4000     0x4000     org.voodoo.VoodooSDHC (1.1.2b1) <15 11 5 4 3 1>

 

If not loaded, check the /var/log/system.log file and try to find the reasons why the "VoodooSDHC.kext" didn't load.

 

Check the session "OSBundleLibraries" in the bottom of "VoodooSDHC.kext/Contents/Info.plist". There you will see the dependencies of the kext. Verify if you satisfy all the dependency versions with your installed kexts.

 

Another way to check if your kexts are satisfying the "VoodooSDHC.kext" dependencies, you can try in the command line:

 

localhost:~ piglesias$ kextlibs -undef-symbols /System/Library/Extensions/VoodooSDHC.kext

For x86_64:

    com.apple.iokit.IOStorageFamily = 1.9

    com.apple.kpi.iokit = 13.0

    com.apple.kpi.libkern = 13.0

    com.apple.kpi.mach = 13.0

    2 symbols not found in any library kext:

__ZN9IOService19_RESERVEDIOService0Ev

__ZN9IOService19_RESERVEDIOService1Ev

 

In my case, these last two symbols not found, don't disturb the kext to be loaded.

 

  • Like 3

Share this post


Link to post
Share on other sites

Thanks for this great guide Pablo!


 


Just a quick note, the VoodooSDHC.kext that you posted above works (at least on our machines) without any modification!


Share this post


Link to post
Share on other sites

Hi Patel4Prez,

 

The VoodooSDHC.kext that I posted was already modified to my machine. I mentioned in the post how to change if necessary.

 

I'm glad to know that worked on all your machines!

 

Thanks for the feedback!

 

Pablo Iglesias

Share this post


Link to post
Share on other sites

Might this work on the E6420?

 

That would be nice, do they use the same chipset?

Edit info.plist with this. You'll encounter an error after sleep, you can just click ignore. I don't use it though.

<string>pci1217,8221</string>

Screen Shot 2013-12-02 at 12.40.49 PM.png

Share this post


Link to post
Share on other sites

Hi Bigman,

 

Maybe it's possible to create a package, but not totally automatic. You need to have a minimum of knowledge of Vendor ID and Device ID of your SD card controller. That's why I showed you how to collect this info.

 

It's possible that the kext could cover a range of SD card controllers, but unfortunately I don't know how to do it. Maybe someone wants to adventure in this field.

 

Feel free to ask if you don't know how to do it. I'll be happy to help you.

 

Cheers!

Share this post


Link to post
Share on other sites

Thanks Jake Lo for your contribution to Npjohnson.

 

Npjohnson,

 

That's why I tried to explain the most generic as possible. It's possible to extend to different number of SD Card controller.

 

I really don't know which ones will work. It's good to know replying to this topic if your controller works! We can create a compatibility list of SD Card readers with this version of VoodooSDHC.kext.

 

Just let us know the output of the command "lspci -nn".

 

Thanks!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...