RehabMan / OS-X-Fake-PCI-ID

Allow returning Fake PCI ID from IOPCIDevice. Used to avoid patching kexts, such as needed for HD4600 Yosemite, WiFi and others.
GNU General Public License v2.0
252 stars 49 forks source link

Properties not being applied #16

Closed jadar closed 8 years ago

jadar commented 8 years ago

I'm not quite sure I'm doing things right. I'm on El Capitan 10.11.1. And I have the FakePCIID kext installed in /Library/Extensions along with a modified version of the Broadcom Wifi injector kext. I'm trying to basically change the device ID of my card from (14e4,4329) to (14e4,4328) so that AppleAirPortBrcm43224 will load. I seem to have gotten FakePCIID to attached to it and putting properties onto the device, but they are the literal "RM,*" properties, and the real properties are not replaced. Am I missing a step?

I've tried to use Clover's FakeID feature as well as Clover's kext Info.plist patch, but neither work. The Clover Info.plist patch used to work before El Capitan, but it broke as soon as I upgraded.

The injector personality I'm using is as follows.

<key>IOKitPersonalities</key>
<dict>
    <key>Broadcom FakePCIID WiFi 43224</key>
    <dict>
        <key>CFBundleIdentifier</key>
        <string>org.rehabman.driver.FakePCIID</string>
        <key>FakeProperties</key>
        <dict>
            <key>RM,subsystem-id</key>
            <data>
            NAEAAA==
            </data>
            <key>RM,subsystem-vendor-id</key>
            <data>
            axAAAA==
            </data>
            <key>RM,device-id</key>
            <data>
            KEMAAA==
            </data>
            <key>RM,name</key>
            <string>pci14e4,4328</string>
        </dict>
        <key>IOClass</key>
        <string>FakePCIID</string>
        <key>IOMatchCategory</key>
        <string>FakePCIID</string>
        <key>IONameMatch</key>
        <array>
            <string>pci14e4,4329</string>
        </array>
        <key>IOProviderClass</key>
        <string>IOPCIDevice</string>
    </dict>
</dict>

I can see those values in IORegistryExplorer, but they don't seem to affect anything. Is it not being loaded soon enough or something?

screen shot 2016-04-09 at 10 35 49 pm

screen shot 2016-04-09 at 10 35 32 pm

OSX 10.11.1 Clover 3320 config.plist.txt

RehabMan commented 8 years ago

To force the driver to load, you will also need to add a match in IOKitPersonalities/Airport_Brcm4360 (to load AppleAirPortBrcm4360), or add an IOKitPersonalty for AppleAirPortBrcm43224.

But I don't think what you're doing is going to work.