<key>RM,subsystem-id</key>
<data>CgAAAA==</data>
My system has an Intel i211, which is not supported by any drivers I can find. I want to try faking it as an i210 because Apple has built-in support for that with AppleIntelI210Ethernet.kext. Will Fake PCI-ID work for this?
I already tried Clover's CustomProperties, to change the device-id from 1539 to 1533, but it still doesn't show up in System Information > Ethernet.
I'm already using FakePCIID.kext for my wifi card, and it works great. So can I add FakePCIID_Intel_GbX.kext to /S/L/E also? In Info.plist, I can add 0x15398086 under IOPCIPrimaryMatch. But where would I enter the new ID of 1533? I don't understand the FakeProperties format.
When I convert that data from base64, it just produces weird characters.Code:<key>RM,subsystem-id</key> <data>CgAAAA==</data>
Xcode shows that value as 0a000000. What does that mean? I don't understand how that corresponds to any device id.Use a plist editor such as Xcode to edit Info.plist files.
Xcode shows that value as 0a000000. What does that mean? I don't understand how that corresponds to any device id.
To create my own injector, I need to know what value the Apple kext is expecting for subsystem-id. It only shows IOPrimaryMatch.
In the i210 data sheet, I find the subsystem-id is 0x0B, and subsystem-vendor-id is 0x0C.
So I've disabled the Clover patch, in an attempt to do this all with Fake PCI ID.
I start with the FakePCIID_Intel_GbX example injector, and modify it like this. I think I'm doing something wrong, because after a reboot, IOreg shows the device-id and subsystem-id are unchanged, and the device doesn't show up in System Information.
Your example injectors all use data type, not string. But I don't know how to translate 0x0B or 0x15338086 to data.
Here it is.
+-o RP06@1C,5 <class IOPCIDevice, id 0x100000400, registered, matched, active, busy 0 (21 ms), retain 13>
| | | +-o IOPP <class IOPCI2PCIBridge, id 0x100000551, registered, matched, active, busy 0 (4 ms), retain 8>
| | | +-o D087@0 <class IOPCIDevice, id 0x100000402, registered, matched, active, busy 0 (4 ms), retain 11>
| | | | {
| | | | "assigned-addresses" = <10005682000000000000d0df0000000000000200180056810000000000c0000000000000200000001c005682000000000000d2df0000000000400000>
| | | | "IOInterruptSpecifiers" = (<1100000007000000>,<0800000000000100>)
| | | | "class-code" = <00000200>
| | | | "IODeviceMemory" = (({"address"=3754950656,"length"=131072}),"IOSubMemoryDescriptor is not serializable",({"address"=3755081728,"length"=16384}))
| | | | "IOPowerManagement" = {"CapabilityFlags"=2,"CurrentPowerState"=2,"ChildProxyPowerState"=2,"MaxPowerState"=3}
| | | | "subsystem-vendor-id" = <58140000>
| | | | "built-in" = <00>
| | | | "pci-aspm-default" = 0
| | | | "acpi-device" = "IOACPIPlatformDevice is not serializable"
| | | | "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
| | | | "name" = <"ethernet">
| | | | "IOChildIndex" = 1
| | | | "device-id" = <39150000>
| | | | "vendor-id" = <86800000>
| | | | "acpi-pmcap-offset" = 64
| | | | "IOPCIResourced" = Yes
| | | | "compatible" = <"pci1458,e000","pci8086,1539","pciclass,020000","D087">
| | | | "RM,device-id" = "0x15338086"
| | | | "IOPCIExpressLinkCapabilities" = 4348945
| | | | "RM,subsystem-id" = "0x0B"
| | | | "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/RP06@1c0005/D087@0"
| | | | "subsystem-id" = <00e00000>
| | | | "revision-id" = <03000000>
| | | | "IOPCIExpressLinkStatus" = 4113
| | | | "IOPCIExpressCapabilities" = 2
| | | | "pcidebug" = "86:0:0"
| | | | "IOName" = "ethernet"
| | | | "IOPCIPMCSState" = 0
| | | | "reg" = <0000560000000000000000000000000000000000100056020000000000000000000000000000020018005601000000000000000000000000200000001c00560200000000000000000000000000400000>
| | | | "acpi-wake-type" = 2
| | | | }
| | | |
| | | +-o FakePCIID <class FakePCIID, id 0x100000571, !registered, !matched, active, busy 0, retain 4>