Contribute
Register

Need help injecting multiple compatible-ids (need DSDT expert)

Status
Not open for further replies.
Joined
Feb 9, 2013
Messages
118
Motherboard
Sony Vaio SVE15115FXS
CPU
Core i5-3210m, HM76
Graphics
HD4000, 1366x768
Mac
  1. MacBook
Mobile Phone
  1. Android
  2. iOS
Hello everyone, in OS X 10.8.5+ pci detection has changed and thus faking device-ids via DSDT now requires compatible-id injection. This is usually easy when I have to inject a single id such as in the case of faking LPC device-id.

However, I'm trying to inject the compatible id of my Radeon HD5450 which is:

<"pci174b,e164", "pci1002,68e0", "pciclass,030000", "GFX0">

I'm having a hard time finding the correct syntax for injecting all those via a compatible-id entry in the DSDT.

Any help would be immensely appreciated :)
 
Hello everyone, in OS X 10.8.5+ pci detection has changed and thus faking device-ids via DSDT now requires compatible-id injection. This is usually easy when I have to inject a single id such as in the case of faking LPC device-id.

However, I'm trying to inject the compatible id of my Radeon HD5450 which is:

<"pci174b,e164", "pci1002,68e0", "pciclass,030000", "GFX0">

I'm having a hard time finding the correct syntax for injecting all those via a compatible-id entry in the DSDT.

Any help would be immensely appreciated :)

It actually only requires "name" in addition to the normal "device-id"...

So if you originally had:
Code:
"device-id",
Buffer(0x04) { 0xe0, 0x68, 0x00, 0x00 },

You now need:
Code:
"device-id",
Buffer(0x04) { 0xe0, 0x68, 0x00, 0x00 },
"name",
"pci1002,68e0"

In addition, this is only necessary for kexts that use IONameMatch...
 
Thanks for clearing up that misunderstanding.

After checking the kexts, I found that I only needed to inject device-id (PCIMatch).

I added the following to the DSDT:

Code:
                                "device-id", 
                                Buffer (0x04)
                                {
                                    0xE0, 0x68, 0x00, 0x00
                                }, 


                                "ATY,DeviceID", 
                                Buffer (0x02)
                                {
                                    0xE0, 0x68
                                }, 


                                "vendor-id", 
                                Buffer (0x04)
                                {
                                    0x02, 0x10, 0x00, 0x00
                                }, 


                                "ATY,VendorID", 
                                Buffer (0x02)
                                {
                                    0x02, 0x10
                                },

With the previous code in DSDT, I'm now running my Radeon HD5450 with vanilla kexts :D

IORegistry shows the fake id in all sections except compatible which shows my original id.

Once again, thanks RehabMan :)
 
Status
Not open for further replies.
Back
Top