Popular Post Brumbaer Posted May 18, 2016 Popular Post Share Posted May 18, 2016 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Instead of using the Kext as described below, you can use Clover to Patch the IOPCIFamily Kext Version 2.9 as included in 10.11.3. The Patch can be installed with the Clover Configurator or by editing the config.plist directly the Patch itself is only the stuff between and including <dict> and </dict> <key>KextsToPatch</key> <array> <dict> <key>Comment</key> <string>5960XPatch by Brumbaer</string> <key>Disabled</key> <false/> <key>Find</key> <data> SIH5AQAAQA== </data> <key>Name</key> <string>IOPCIFamily</string> <key>Replace</key> <data> SIH5AQAAgA== </data> </dict> </array> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! okrasit ported the Patch to 10.12 Beta, thanks for that. <dict> <key>Comment</key> <string>5960X 10.12</string> <key>Disabled</key> <false/> <key>Find</key> <data> SIH7AAAAQA== </data> <key>Name</key> <string>IOPCIFamily</string> <key>Replace</key> <data> SIH7AAAAgA== </data> </dict> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I wanted to see whether a 5960x would be much faster than my overclocked 6700K - the 5820K was a disappointment. So I built a "test" system using components I already owned. Some of them will change once the system is thoroughly tested and deemed working. 5960x AsRock X99e-ITX/ac. GTX980TI 16GB RAM 1TB SSD 750W PS Kraken 41 AIO Cooler I prepared a SSD with Clover and El Capitan (10.11.3) including Nvidia WebDriver and Ethernet Kexts on my Skylake. Did some educated guesses about the config.plist and booted to the well known "PCI Configuration begin - hang". After the usual tryouts and not getting anywhere, I started to compare ACPI tables to no avail. Than I decided to take a look at IOPCIFamily. Main hurdle being to get the thing to compile. I attached the kext I came up with. To install, I boot from the OS X for the 5960x on the Skylake Hack and replace the IOPCIFamily Kext. Run Kext Utility to repair permissions and rebuild caches. Connect to the 5960x System and boot. Does work on my System, would be nice to know whether it works on other Systems as well. I write this on the 5960x system. Up to now I only tested USB (including 3.0), one of the Ethernet Ports (IntelMausiEthernet), Sound (AppleALC), IntelPowerGadget shows some SpeedStepping. Next step further testing and overclocking. If you want, give the Kext a try. IOPCIFamily.kext.zip 25 Link to comment Share on other sites More sharing options...
nmano Posted May 18, 2016 Share Posted May 18, 2016 Brumbaer Good job. Link to comment Share on other sites More sharing options...
jonisign Posted May 18, 2016 Share Posted May 18, 2016 Wow, you may have finally solved this long standing issue for hundreds (thousands?) of people. Could you say a little more about this IOPCIFamily.Kext? Is this the 10.9.5 kext compiled against 10.11? Link to comment Share on other sites More sharing options...
Brumbaer Posted May 18, 2016 Author Share Posted May 18, 2016 More like 5 or 6 users It's the 10.11.2 Kext from Apples Open Source Website. As often, it's only a minor change once you know what's wrong. The bigger and more tedious problem was getting the sources to compile. Link to comment Share on other sites More sharing options...
jamiethemorris Posted May 18, 2016 Share Posted May 18, 2016 More like 5 or 6 users It's the 10.11.2 Kext from Apples Open Source Website. As often, it's only a minor change once you know what's wrong. The bigger and more tedious problem was getting the sources to compile. Can you post a guide or something for doing this patch? It would be good to have multiple people that are able to do it. Since it's the 10.11 kext perhaps we could even do a binary patch. Also does this still require the acpiplatform rollback? Link to comment Share on other sites More sharing options...
jonisign Posted May 18, 2016 Share Posted May 18, 2016 Good point on the binary patch possibility. It will also be worth documenting this fix for the future–– we might be moving on to 10.12 soon! Link to comment Share on other sites More sharing options...
jamiethemorris Posted May 18, 2016 Share Posted May 18, 2016 Good point on the binary patch possibility. It will also be worth documenting this fix for the future–– we might be moving on to 10.12 soon! My thoughts exactly. BTW I just compared the binaries - I think we would need to compare it to an unmodified one built from the source - too many differences if I compare it to the apple one. Link to comment Share on other sites More sharing options...
fullerfun Posted May 18, 2016 Share Posted May 18, 2016 This is awesome! You are the man! Will be testing this later tonight for sure on my Asus X99 Deluxe with 5960x ! Will report back... Link to comment Share on other sites More sharing options...
garry__ Posted May 18, 2016 Share Posted May 18, 2016 This is awesome, good job man! Will try out asap. Link to comment Share on other sites More sharing options...
fullerfun Posted May 18, 2016 Share Posted May 18, 2016 Confirmed boot & working! El Capitan 10.11.5 Asus X99 Deluxe 5960x Brumbaer huge breakthrough man! Can't thank you enough! By the way, I did not need the acpiplatform kext rollback. Just the stock one from 10.11.5 worked for me... 4 Link to comment Share on other sites More sharing options...
Brumbaer Posted May 18, 2016 Author Share Posted May 18, 2016 Sorry, I'm a bit short on time at the moment, so I'll be brief. Instead of replacing the kext, you can use the patch as described in the first post. As so often with patches, I can't anticipate, how long it will stay valid. I give some info what the patch/kext change does later. 5 Link to comment Share on other sites More sharing options...
jonisign Posted May 19, 2016 Share Posted May 19, 2016 Brumbaer, thanks again! Looking forward to hearing more about how the patch works. I just tried the patch, and can confirm this also works for a 12 core xeon v3 that did not boot in the past. My guess is that this patch opens the door for the rest of the V3 Xeons that haven't worked in the past, such as 14 core chips and beyond. Link to comment Share on other sites More sharing options...
Brumbaer Posted May 19, 2016 Author Share Posted May 19, 2016 There is no roll back needed. The problem is not related to acpiplatform. About the Kext When configuring the IOPCIFamily kext enumerates the PCI Devices and creates an array of memory ranges for each device. This is done by iterating over the BaseAdressRegisters of each device and determining start-address and size of the area represented by the BAR. If the size exceeds MAX_BAR_SIZE it tries again and again, seemingly interpreting the result as a "not ready" or "busy". MAX_BAR_SIZE is set to 1GB. The 5960x has a device (Power Control Device) with a BAR reporting a larger size. The size is read from the chip not from any ACPI table. The Kext increases MAX_BAR_SIZE to 32 GB, which is larger than the size reported. The device 2fc08086 is a power control chip used by the i7 Haswell-E, E5v3 and E7v3. So it should solve the "PCI configuration begin hang" for those as well. Might be interesting to check what that BAR points to. If the value indeed marks an "not ready" or "busy", the Kext might not be needed, when the device would be configured correctly. About the Patch The Patch basically sets MAX_BAR_SIZE to 2GB, which wouldn't be enough, but because of the command used the value is sign extended which results in a larger value. In theory that might cause a problem with some board in which case you will have to fall back to the modified kext. There might also be the possibility to replace the command, but I haven't checked that, I will cross that bridge and so on. 7 Link to comment Share on other sites More sharing options...
jamiethemorris Posted May 19, 2016 Share Posted May 19, 2016 So I take it this is the culprit in IOPCIConfigurator.cpp? range = device->ranges[kIOPCIRangeBAR0]; if (!range) break; if (0x40000 != range->proposedSize) break; if (kIOPCIResourceTypeMemory != range->type) break; if (kPCIHeaderType1 != device->headerType) break; Link to comment Share on other sites More sharing options...
fullerfun Posted May 19, 2016 Share Posted May 19, 2016 I can Confirm! clover patch works with stock 10.11.5 awesome! 1 Link to comment Share on other sites More sharing options...
Brumbaer Posted May 20, 2016 Author Share Posted May 20, 2016 So I take it this is the culprit in IOPCIConfigurator.cpp? range = device->ranges[kIOPCIRangeBAR0]; if (!range) break; if (0x40000 != range->proposedSize) break; if (kIOPCIResourceTypeMemory != range->type) break; if (kPCIHeaderType1 != device->headerType) break; No possibility of an infinite loop, neither 1GB nor MAX_BAR_SIZE, so no it's not. Link to comment Share on other sites More sharing options...
ergot Posted May 20, 2016 Share Posted May 20, 2016 HI Brumbaer nice work! Is your MB fully functioning? Is the M.2 slot working properly? Can you please share your DSTE/config files as well? I am planning to buy this MB with Xenon CPU...hope this patch will work on Xeon CPU as well! Link to comment Share on other sites More sharing options...
Brumbaer Posted May 20, 2016 Author Share Posted May 20, 2016 Haven't tried M2 and Wireless yet. There are some performance issues I want to address before looking into M2 and Wireless. I'm away from home till Wednesday. Will post the config once I'm back. 1 Link to comment Share on other sites More sharing options...
jamiethemorris Posted May 20, 2016 Share Posted May 20, 2016 Brumbaer, do you have any idea what might be causing the XHCI interrupts? In case you aren't aware there's a ton of XHCI interrupts that cause slow performance, low geekbench scores, and Virtual Machines barely operate. Currently (as far as I know) the only solution is to either override the Apple XHCI kext with GenericUSBXHCI or disable USB3 in the BIOS. This happens with all X99 builds as far as I know. Link to comment Share on other sites More sharing options...
Brumbaer Posted May 20, 2016 Author Share Posted May 20, 2016 I've read about that, but when I disabled 3.0 it didn't make a change on my system. I'll have a look once I'm back. Link to comment Share on other sites More sharing options...
fullerfun Posted May 20, 2016 Share Posted May 20, 2016 Brumbaer, do you have any idea what might be causing the XHCI interrupts? In case you aren't aware there's a ton of XHCI interrupts that cause slow performance, low geekbench scores, and Virtual Machines barely operate. Currently (as far as I know) the only solution is to either override the Apple XHCI kext with GenericUSBXHCI or disable USB3 in the BIOS. This happens with all X99 builds as far as I know. Hey Jamiethemorris, So far on my system, the xhci interrupts have only maxed out in the 300's/sec...most of the time 2 or 8 /sec...nothing like the 200,000/sec... so hopefully I think the issue is gone... I'm not using any GenericUSBXHCI and not disabling USB3 in the BIOS. I used this method from stinga11 http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-working/ section 5B 5.B To get all USB3.0 working you need to use this binary patch and download my X99 injector. Put the injector into the /Library/Extensions the X99 USB3.0.zip 20.68KB 301 downloads(NOTE: IF YOU USE THIS KEXT DON'T USE THE KEXTS FROM 5A) I haven't tested out how well USB 3 devices are working yet. But I am still playing around with trying to see the best performance and power management settings I can get.. I haven't decided what model and board id to use yet. For the longest time I've been using Mac 5,1 for some reason...I can't remember...but I believe a post or guide rampgedev made, convinced me to go with that 1.5 years go... I'm very reluctant to change since I have imessage and facetime working perfectly with Mac 5,1. ..and I'm afraid if I change to Imac or Mac 6,1... Apple's iMessage server will block me... So I'm disconnecting form the internet while I test others.. Anyway, Stinga11's X99_Injector.kext seems to be setup for Mac 6,1. so I edited the info.plist and changed all to Mac 5,1 Otherwise, the mac id was getting bizarrely overridden to imac.... I think it has something to do with stingaa11 using imac haswell powermanagement vectors and/or fakecpuid..but I'm a little lost sorting through it all as of now... I'm experimenting with creating my own x99platformplugin.kext still. Not sure I'm doing it correctly.. http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-working/?p=2232552 At any rate, I believe the xhci interrupts issue is gone! At least on x99 deluxe 5960x..with all my settings! I'd be really curious what powermanagement settings/kext you end up with once you get your 10.11 system up! Bill Link to comment Share on other sites More sharing options...
jamiethemorris Posted May 20, 2016 Share Posted May 20, 2016 Hey Jamiethemorris, So far on my system, the xhci interrupts have only maxed out in the 300's/sec...most of the time 2 or 8 /sec...nothing like the 200,000/sec... so hopefully I think the issue is gone... I'm not using any GenericUSBXHCI and not disabling USB3 in the BIOS. I used this method from stinga11 http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-working/ section 5B 5.B To get all USB3.0 working you need to use this binary patch and download my X99 injector. Put the injector into the /Library/Extensions the X99 USB3.0.zip 20.68KB 301 downloads(NOTE: IF YOU USE THIS KEXT DON'T USE THE KEXTS FROM 5A) I haven't tested out how well USB 3 devices are working yet. But I am still playing around with trying to see the best performance and power management settings I can get.. I haven't decided what model and board id to use yet. For the longest time I've been using Mac 5,1 for some reason...I can't remember...but I believe a post or guide rampgedev made, convinced me to go with that 1.5 years go... I'm very reluctant to change since I have imessage and facetime working perfectly with Mac 5,1. ..and I'm afraid if I change to Imac or Mac 6,1... Apple's iMessage server will block me... So I'm disconnecting form the internet while I test others.. Anyway, Stinga11's X99_Injector.kext seems to be setup for Mac 6,1. so I edited the info.plist and changed all to Mac 5,1 Otherwise, the mac id was getting bizarrely overridden to imac.... I think it has something to do with stingaa11 using imac haswell powermanagement vectors and/or fakecpuid..but I'm a little lost sorting through it all as of now... I'm experimenting with creating my own x99platformplugin.kext still. Not sure I'm doing it correctly.. http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-working/?p=2232552 At any rate, I believe the xhci interrupts issue is gone! At least on x99 deluxe 5960x..with all my settings! I'd be really curious what powermanagement settings/kext you end up with once you get your 10.11 system up! Bill Is your performance as expected? I wonder if that usb injection kext also fixes the issue. I also use MacPro5,1 because I can't stand it looking like a trash can on my home network. Also didn't want to deal with the graphics stuff on boot with MacPro6,1. FWIW at the moment I'm using nullcpu, I couldn't get decent performance out of my CPU otherwise. I also had to overclock the BLCK rather than the multipliers to get it to recognize and use my OC properly. Also I'm the only one running an X99 Classified, hopefully the patches and stuff that work for everyone else work for me as well. Link to comment Share on other sites More sharing options...
jlcdgd Posted May 21, 2016 Share Posted May 21, 2016 Could someone elaborate a complete installation for a novel person... Thanks a lot in advance! 1 Link to comment Share on other sites More sharing options...
Panamamax Posted May 23, 2016 Share Posted May 23, 2016 what about the new Xeons? i have a Xeon E5 2698 V4 20 Core CPU around and would love to make a hackintosh machine with it... Link to comment Share on other sites More sharing options...
motionworks Posted May 25, 2016 Share Posted May 25, 2016 Thumbs up Brumbaer!Can i use your kext with 10.11.4 El Capitan install? Link to comment Share on other sites More sharing options...
Recommended Posts