Hello Everybody!!!!
I am here again to bring a tip to the users of kexts.com ...
One of the most common things that happen when using a Hackintosh, is having
to make some simple changes in kexts for a device to work properly ...
But why do we have to do this??
When Apple uses a specific hardware, it approves this device,
thus, it creates a driver (kext) to control the device, containing all
Device Identifiers (DeviceID) to be used by this hardware ...
This means that, whenever Apple is using that hardware, it must have
The same sequence of Device Identifiers (DeviceID) which has been approved by Apple ...
In the case of PC, in most cases, the devices have the same DeviceID`s
used by Apple, but sometimes this may not happen and other times, Apple may
remove a device from the list ...
Sometimes, can not solve, but in others, only adding the new DeviceID
can make the kext recognize it ...
The first thing we need to discover, is the DeviceID of the hardware we are trying to activate,
There are several ways to find that out, but the easiest is to use the System Info app.
System Info
Download >
System Info - Downloads - Kexts.com
Official Thread >
olarila.com • Exibir tópico - System Info
As you can see in the image, it detects all devices on the machine and shows their
VendorID and DeviceID ...
Having the VendorID and DeviceID in hand, we now need to add it to the file "info.plist" that is
inside the kext ...
NOTE: Keep in mind that a "kext" is nothing more than a folder and its contents form a
Kernel Extension ...
First, create a copy of the kext that will handle in a safe place and then create another copy
on your desktop, and this is the one that we will modify ...
Click the right mouse button on the kext (for those using Apple mouse use CTRL + Click) and
select "Show Package Contents"...
A window will open with the contents of the kext, enter the folder "Contents", and again, click the
Right-click on the file "info.plist", select "Open With" and navigate to your application
to edit text files ...
NOTE: In my case, I use TextWrangler.app but if you have`t, you can use TextEdit.app
to make modifications to the file. Just be careful, when you save the changes,
not allow the application to modify the file extension, it should be ".plist". If
you have other termination than ".plist" changes have no will effect.
"Okay, but where do I enter the information??"
This can vary from kext to kext, usually the examples below are the most used, and you have
to enter your DeviceID (and VendorID if necessary) according to the example for each "string" ...
Code:
<key>IOPCIPrimaryMatch</key>
<string>0x813610ec</string>
Example = <string>0xDeviceIDVendorID</string>
Code:
<key>IOPCIMatch</key>
<string>0x816910ec 0x816710ec 0x816810ec 0x813610ec</string>
Example = <string>0xDeviceIDVendorID</string>
Code:
<key>IONameMatch</key>
<array>
<string>pci8086,27b8</string>
<string>pci8086,2811</string>
<string>pci8086,2815</string>
<string>pci8086,27b9</string>
<string>pci8086,27bd</string>
<string>pci8086,2670</string>
<string>pci8086,8119</string>
<string>pci8086,2916</string>
<string>pci8086,3a18</string>
<string>pci8086,3b00</string>
<string>pci8086,3b01</string>
<string>pci8086,3b02</string>
<string>pci8086,3b09</string>
<string>pci10de,aac</string>
<string>pci10de,aae</string>
<string>pci10de,aaf</string>
<string>pci10de,d80</string>
<string>pci10de,d81</string>
<string>pci10de,d82</string>
<string>pci10de,d83</string>
</array>
Example = <string>pciVendorID,DeviceID</string>
Code:
<key>IOPCIPrimaryMatch</key>
<string>
0x00f010de&0xfff0ffff
0x019010de&0xfff0ffff
0x040010de&0xfff0ffff
0x042010de&0xfff0ffff
0x05e010de&0xfff8ffff
0x05f010de&0xfff0ffff
0x060010de&0xffe0ffff
0x062010de&0xffe0ffff
0x064010de&0xffe0ffff
0x06e010de&0xfff0ffff
0x086010de&0xffe0ffff
0x08a010de&0xffe0ffff
0x0a2010de&0xffa0ffff
0x0ca010de&0xffe0ffff
</string>
Example = <string>0xDeviceIDVendorID&0xfff0ffff</string>
After editing the file and save the changes, we need to repair the file permissions ...
For this, run the following command in teminal ...
Code:
chown -R root:wheel /PATHTOTHEKEXT/NAMEOFTHEKEXT.kext
chmod -R 755 /PATHTOTHEKEXT/NAMEOFTHEKEXT.kext
Now we need to install the kext for this, use the program you want ...
I use Kext Wizard to install kexts, repair permissions and rebuild the system caches ...
Kext Wizard
Download >
Kext Wizard 3.7.10 - Downloads - Kexts.com
Official Thread >
Kext Wizard - InsanelyMac Forum
Even with the Kext Wizard you can check if the kext is for 64 or 32bit ...
Just navigate to the kext and click "Check" ...
After installation, I recommend that you repair permissions and re-create the caches manually, running
the following commands in the terminal ...
Code:
sudo -s
TYPE YOUR PASSWORD
chown -R root:wheel /System/Library/Extensions/*
chmod -R 755 /System/Library/Extensions/*
kextcache -v 3 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext -z /System/Library/Extensions
chown -R root:wheel /Extra/Extensions/*
chmod -R 755 /Extra/Extensions/*
kextcache -v 3 -a i386 -a x86_64 -m /Extra/Extensions.mkext -z /Extra/Extensions
NOTE: Sometimes there are "kexts" inside "kexts" as you can see in the example below ...
The procedure to edit them is the same ...
That done, just reboot the system ...
And if all goes well, you should now be working with your device.
I hope I have helped you with this tip ...
