Contribute
Register

Problem with Native Access

Check "Property Keys"

Then search for "IOName"
(it will also match "IONameMatch" properties so it's a bit tedious as there's a massive number of matching devices)

Go through all of them.
Every time you have an "IOName" property, check the "Type" column. If it's not "String", you have your culprit.

Find what sets that wrong type and change it to the correct type, or disable that patch.

Man, thank you so so so much for this!! I can finally run recent versions of any Native instruments software.

In my case, an "IOName" entry with the type "Data" was under AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SAT0@1F,2. So then I searched in my DSDT.aml and found an entry with "IOName", Buffer... under the SAT0 _DSM method. There I removed the IOName entry and fixed the package to 0x06. After that patch, IOName now is a String and I stuff opens normally:

1647109379775.png
 
I removed the IOName entry and fixed the package to 0x06. After that patch, IOName now is a String and I stuff opens normally

Great work, glad that worked for you too :cool:
 
Hi guys, i i think i've founded the wrong one but i can't edit directly in IORegistryExplorer, so im lost, how and wich file should i edit to get Ni back @nekapsule ? Thanks alot
 

Attachments

  • Capture d’écran 2022-04-05 à 14.59.21.png
    Capture d’écran 2022-04-05 à 14.59.21.png
    265.7 KB · Views: 65
Last edited:
Hi guys, i i think i've founded the wrong one but i can't edit directly in IORegistryExplorer, so im lost, how and wich file should i edit to get Ni back @nekapsule ? Thanks alot
Search your DSDT.aml using the tool maciASL for the string "PEGP". In that node, look for the entry "IOName" and remove that plus the value following. You migh then need to fix the array length of of the parent element. In the parent element, usually there is a hex number, .e.g. 0x06. Lower that by minus one (needs to match the number of children). Then save the whole thing as DSDT.aml / overwrite it.

You also can share your DSDT.aml, so I could try to help you.
 
Search your DSDT.aml using the tool maciASL for the string "PEGP". In that node, look for the entry "IOName" and remove that plus the value following. You migh then need to fix the array length of of the parent element. In the parent element, usually there is a hex number, .e.g. 0x06. Lower that by minus one (needs to match the number of children). Then save the whole thing as DSDT.aml / overwrite it.

You also can share your DSDT.aml, so I could try to help you.
Omg thanks for helping me but, i'm completely lost. I cant find the real DSDT file because im using a prebuilt EFI folder and he doesnt contain a real dsdt.aml file, but others *.aml.....
I tried to open them with MACiAsl but some of them returns an error....
SOS :banghead:
:banghead::banghead:
 

Attachments

  • EFI.zip
    9 MB · Views: 84
@funkyfrank
I have the same problem.
I have an iMac 2011 21,5" in which I updated the Cpu to i7-2600s and the GPU to Nvidia Quadro K2100m.
I then used OCLP to update the system to Big Sur. Since then I get an error when opening Intel Power Gadget. I also tried running Native Access and I get a similar error. I searched my config.plist and my IORegistry Explorer and I see I have the IOName value set as "data" in the IOregistry whilst it is set as "string" in the config.plist.

How can I fix this? Should I just delete the whole entry in config.plist? My ACPI folder only has an SSDT.aml file (no Dsdt.file).

Any help will be greatly appreciated.
 

Attachments

  • 1.png
    1.png
    179.3 KB · Views: 87
  • Στιγμιότυπο 2022-04-14, 9.35.50 μμ.png
    Στιγμιότυπο 2022-04-14, 9.35.50 μμ.png
    1.2 MB · Views: 58
I read in another forum that if I delete this setting it may break sleep/wake from sleep functionality.
I wanted to check with @UserUnknown if that's the case but I don't know if he is still active in this forum.
 
I read in another forum that if I delete this setting it may break sleep/wake from sleep functionality.
I wanted to check with @UserUnknown if that's the case but I don't know if he is still active in this forum.
Fair enough, but that’s worth a try. You can comment this out, see if it breaks sleep/wake, then create a proper dsdt patch to overwrite the IOName of that device and set the type to string instead of data.
 
If you want to explore the DSDT or kext route instead of DeviceProperties in opencore, this is the info I got when asking if you could define a DeviceProperty as String (you can’t)

 
Back
Top