Contribute
Register

Ask Rehabman Questions on OS-X-Fake-PCI-ID

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,123
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I would like to ask, if it is possible to use FakePCIID to make Thunderboltcard (like Gigabyte AlpineRidge) appear under Thunderbolt Entry in System Profiler. If so: what should i do to make it possible.
Look at Apple ioreg to see which properties are injected.
It could be one of those properties or could be subvendor/subdevice ids (which you certainly could fake with FakePCIID).
 
Joined
Apr 8, 2014
Messages
20
Motherboard
Supermicro X11SRA
CPU
Xeon W-2155
Graphics
Radeon Pro WX 9100
I got an Intel X540-T1 10Gbit card and it is working well with PCIFakeID.

Now I was wondering if it is possible to spoof the subsystem id via SSDT edit to make the SmallTree driver work.

Like this:
Device (PCI1)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"AAPL,slot-name",
Buffer (0x07)
{
"Slot-1"
},

"device_type",
Buffer (0x14)
{
"Ethernet Controller"
},

"model",
Buffer (0x26)
{
"Intel Ethernet Server Adapter X540-T1"
},

"name",
Buffer (0x14)
{
"Ethernet Controller"
},

"subsystem-id",
Buffer (0x04)
{
0x0A, 0x00, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

I can see the spoofed subsystem-id showing up correctly in IOreg as well as in system report, but the SmallTree driver does not work.

The error log says:
SmallTreeIntel8259x probe b131d0f0: Unsupported Card 0x00a2

Also tried to inject "RM,subsystem-id", does not work either.

Is PCIFakeID doing something else?


Regards
Roland
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,123
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I got an Intel X540-T1 10Gbit card and it is working well with PCIFakeID.

Now I was wondering if it is possible to spoof the subsystem id via SSDT edit to make the SmallTree driver work.

Like this:
Device (PCI1)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"AAPL,slot-name",
Buffer (0x07)
{
"Slot-1"
},

"device_type",
Buffer (0x14)
{
"Ethernet Controller"
},

"model",
Buffer (0x26)
{
"Intel Ethernet Server Adapter X540-T1"
},

"name",
Buffer (0x14)
{
"Ethernet Controller"
},

"subsystem-id",
Buffer (0x04)
{
0x0A, 0x00, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

I can see the spoofed subsystem-id showing up correctly in IOreg as well as in system report, but the SmallTree driver does not work.

The error log says:
SmallTreeIntel8259x probe b131d0f0: Unsupported Card 0x00a2

Also tried to inject "RM,subsystem-id", does not work either.

Is PCIFakeID doing something else?


Regards
Roland
Maybe you forgot to install the appropriate FakePCIID kexts.
 
Joined
Apr 8, 2014
Messages
20
Motherboard
Supermicro X11SRA
CPU
Xeon W-2155
Graphics
Radeon Pro WX 9100
Maybe you forgot to install the appropriate FakePCIID kexts.
No, did not forget that. Actually the SmallTree driver is working with FakePCIID and FakePCIID_Intel_GbX.

I was trying to make it work without FakePCIID but with SSDT edits.
I injected the subsystem-id 0a into the device and I also can see the change correctly in IOreg.
But the SmallTree driver does not work (unsupported card).
So I guess there must be something else besides spoofing the subsystem-id what FakePCIID is doing.
But what?
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,123
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I was trying to make it work without FakePCIID but with SSDT edits.
Not possible.
You simply cannot do what FakePCIID does with ACPI.
 
Top