Mac OS X on x86 Hardware 2008–2024 Technical Archive
InfiniteMac OSx86 › OSx86 Core & 10.X › USB Card Reader Apple Optimized Legacy Driver
11,211 reads · 2010-11-13 – 2011-01-22
Dossier 10.X Core USB / EHCI

USB Card Reader Apple Optimized Legacy Driver

I have succeeded in making Apple's new driver for memory cards (since 10.6.5) working on any USB card reader (internal or external) Installation steps: first edit the plist and insert your card readers vendor and device id (where needed).…

Primary Author
@andyvand Published 2010-11-13
Collection
OSx86 Core & 10.X
Archival Footprint
11,211 historical reads · 4 curated field notes (from 7 dispatches) · 2010-11-13 – 2011-01-22
Credited Voices (6)
@andyvand (2)@scififan68@fumoboy007@Imkantus@milanca@roninx
Hardware Reference
USB 3.2 Boot Flash Drives ↗ SATA III & NVMe SSDs ↗ AMD Radeon GPUs (QE/CI) ↗

I have succeeded in making Apple's new driver for memory cards (since 10.6.5) working on any USB card reader (internal or external)

Installation steps:
first edit the plist and insert your card readers vendor and device id (where needed).
The parts you need to edit for this step are:
- Fake Apple Card Reader Device
- Fake Apple Card Reader Interface
- Fake Apple Card Reader UMC Inject
- Fake Apple Card Reader SBC Inject
- Any_Internal_SD_Card_Reader_1_00
You can use System Profiler for the vendor + product id's or IORegistryExplorer
The following are the id's you need to look up in IORegistryExplorer:
- idVendor
- idProduct
If you use a text editor convert the id's to decimal with Calculator.
Insert them in the idVendor and idProduct parts respectively

Then we need to add the SCSI device id's to the following parts:
- AnySDCardReaderAnySBC
- Fake Apple Card Reader SCSI Inject
For this you also need IORegistryExplorer (download below if you don't have it).
Open IORegistryExplorer and next insert a memory card (SD/MMC/...)
Look under the EHCI parts for finding the memory card host controller (will be green because of card insertion).
Under the device look for the IOSCSIPeripheralDeviceNub entry (below the USB device)
Click on this and look for:
- Vendor Identification
- Product Identification
Change these in the Info.plist to the values you see there (Fake Apple Card Reader SCSI Inject + AnySDCardReaderAnySBC)

Install the edited kext using Terminal or kext utility.
Reboot and remove the memory card.
After boot reinsert it and you should see a little SD memory card appearing for the SD card (cool) if you did it right and if you check System Profiler under Card Reader the device will be listed as Apple built-in Card Reader.

Download for needed IORegistryExplorer tool:
rapid share.com/files/430687772/IORegistryExplorer.zip

Download:
rapid share.com/files/430687534/AnyCardReader.kext.zip

Synthesized Community Field Notes

4 technical responses curated from 7 original dispatches

Field Note #1 @scififan68 2010-11-14

Hey, Andy could you upload this on another site, I would really love to try this on my netbook, Thanks!, EDIT: nvm, found it.

Field Note #2 @Imkantus 2010-11-14

Nice one. Going to try this on my netbook while I am at work - feedback coming tomorrow.

For those who have problems with the download:

Field Note #3 @milanca 2010-11-27

Hey Andy, excellent stuff. Thanks. I've been away for a while so I am still catching up all the latest news. Tried this already, works like a charm.

Field Note #4 @roninx 2011-01-22

doesn't work :c

Samsung nc10 running 10.6.6

<key>Fake Apple Card Reader Device</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.driver.AppleUSBMergeNub</string>
			<key>IOClass</key>
			<string>AppleUSBMergeNub</string>
			<key>IOProviderClass</key>
			<string>IOUSBDevice</string>
			<key>IOProviderMergeProperties</key>
			<dict>
				<key>bcdDevice</key>
				<integer>38963</integer>
				<key>idProduct</key>
				<integer>25446</integer>
				<key>idVendor</key>
				<integer>1423</integer>
				<key>non-removable</key>
				<string>yes</string>
				<key>USB Product Name</key>
				<string>Internal Memory Card Reader</string>
				<key>USB Serial Number</key>
				<string>000000009833</string>
				<key>USB Vendor Name</key>
				<string>Apple</string>
			</dict>
			<key>idProduct</key>
			<integer>345</integer>
			<key>idVendor</key>
			<integer>3034</integer>
Using these modified values

converted values from
Product-ID: 0x6366
Vendor-ID: 0x058f

Corroborated & Participated: @fumoboy007
Sources & Contributor Provenance (6 credited usernames · Thread #6721)
UsernameDossier ContributionDispatchesActive Window
@andyvandPrimary Author22010-11-13 → 2010-11-14
@scififan68Contributor12010-11-14
@fumoboy007Contributor12010-11-14
@ImkantusContributor12010-11-14
@milancaContributor12010-11-27
@roninxContributor12011-01-22

Choose your language