shilohhh Posted November 5, 2015 Share Posted November 5, 2015 Well, still only EHC1 working.... I patched usb in ssdt https://www.dropbox.com/s/1fsugy31m6ejlur/SSDT.aml?dl=0 Used dump kexts from stinga11 with 1 port on EHC1 and 1 port for EHC2. Can you upload dummy kexts? Thanks. Try this: http://www.filedropper.com/editedssdtaml_1 Link to comment Share on other sites More sharing options...
KonstantinosNks Posted November 5, 2015 Share Posted November 5, 2015 Try this: http://www.filedropper.com/editedssdtaml_1 Guys thanks for your help, i tried every think without success. Last night restored a yosemite backup to a temporary partition for tests and guess what, usb second port not even working on yosemite (on windows working fine). OSX doesn't handle controller pci8086,1d2d even if named as ehc1. I tried to swap controllers names and osx handles only pci8086.1d26 with any name (ehci1,ehc2) So my problem isnt the usb restrictions on el capitan. Something goes really wrong with my configuration. I will report back.... Link to comment Share on other sites More sharing options...
shilohhh Posted November 5, 2015 Share Posted November 5, 2015 Guys thanks for your help, i tried every think without success. Last night restored a yosemite backup to a temporary partition for tests and guess what, usb second port not even working on yosemite (on windows working fine). OSX doesn't handle controller pci8086,1d2d even if named as ehc1. I tried to swap controllers names and osx handles only pci8086.1d26 with any name (ehci1,ehc2) So my problem isnt the usb restrictions on el capitan. Something goes really wrong with my configuration. I will report back.... 1d2d loaded and working for me but I strip out the hub and all ports for 1d26 and 1d2d via ACPI as I've outlined in earlier posts. Current code I'm using to do this via SSDT is: /* * Intel ACPI Component Architecture * AML Disassembler version 20100331 * * Disassembly of iASLp2nhxJ.aml, Thu Nov 5 11:42:57 2015 * * * Original Table Header: * Signature "SSDT" * Length 0x00000838 (2104) * Revision 0x01 * Checksum 0x45 * OEM ID "APPLE" * OEM Table ID "Fix_USB2" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20100331 (537920305) */ DefinitionBlock ("iASLp2nhxJ.aml", "SSDT", 1, "APPLE", "Fix_USB2", 0x00001000) { External (_SB_.PCI0.USBE, DeviceObj) External (_SB_.PCI0.EUSB, DeviceObj) Scope (_SB.PCI0.EUSB) { Name (_STA, Zero) } Scope (_SB.PCI0.USBE) { Name (_STA, Zero) } Device (_SB.PCI0.EH01) { Name (_ADR, 0x001D0000) Name (_S4D, 0x02) Name (_S3D, 0x02) Name (_S2D, 0x02) Name (_S1D, 0x02) Name (MBSD, One) Name (_PRW, Package (0x02) { 0x0D, 0x04 }) } Device (_SB.PCI0.EH02) { Name (_ADR, 0x001A0000) Name (_S4D, 0x02) Name (_S3D, 0x02) Name (_S2D, 0x02) Name (_S1D, 0x02) Name (MBSD, One) Name (_PRW, Package (0x02) { 0x0D, 0x04 }) } } NOTE: Paste this into MaciASL and compile as ACPI 4.0. Save as SSDT-0.aml, SSDT-1.aml or SSDT.aml depending on the name of your CPU SSDT if you use one. This is just the part to fix USB2 and requires that EUSB/USBE remain untouched in your DSDT or other SSDTs. My SSDT has fixes for everything else too (Revogirl/PikerAlpha/RampageDev Tiny SSDT method). This works perfectly in El Capitan as it bypasses the new port injectors in 10.11. No bugs at all. No extra kexts needed. It has bugs in Yosemite on wake from sleep though. If you want to use Stinga11 USB code withe his kexts, and without modifying your DSDT, you could use this SSDT: /* * Intel ACPI Component Architecture * AML Disassembler version 20100331 * * Disassembly of iASLD08C0t.aml, Thu Nov 5 12:20:29 2015 * * * Original Table Header: * Signature "SSDT" * Length 0x000005E6 (1510) * Revision 0x01 * Checksum 0x71 * OEM ID "APPLE" * OEM Table ID "Stinga11" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20100331 (537920305) */ DefinitionBlock ("iASLD08C0t.aml", "SSDT", 1, "APPLE", "Stinga11", 0x00001000) { External (_SB_.PCI0.USBE, DeviceObj) External (_SB_.PCI0.EUSB, DeviceObj) Scope (_SB.PCI0.EUSB) { Name (_STA, Zero) } Scope (_SB.PCI0.USBE) { Name (_STA, Zero) } Device (_SB.PCI0.EHC1) { Name (_ADR, 0x001D0000) Name (_S4D, 0x02) Name (_S3D, 0x02) Name (_S2D, 0x02) Name (_S1D, 0x02) Name (MBSD, One) Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x30, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1D, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT3) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1D, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT4) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1E, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT5) { Name (_ADR, 0x05) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xB1, 0x1E, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT6) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xB1, 0x1E, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT7) { Name (_ADR, 0x07) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xB1, 0x1E, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT8) { Name (_ADR, 0x08) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xB1, 0x1E, Zero, Zero, Zero, Zero, Zero, Zero }) } } } Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x0D) { "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0898, "AAPL,current-extra-in-sleep", 0x0640, "AAPL,device-internal", 0x02, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,clock-id", 0x02, Buffer (One) { 0x00 } }) } Name (_PRW, Package (0x02) { 0x0D, 0x04 }) } Device (_SB.PCI0.EHC2) { Name (_ADR, 0x001A0000) Name (_S4D, 0x02) Name (_S3D, 0x02) Name (_S2D, 0x02) Name (_S1D, 0x02) Name (MBSD, One) Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x30, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1D, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT3) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1D, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT4) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1E, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT5) { Name (_ADR, 0x05) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xB1, 0x1E, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (PRT6) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0xE1, 0x1E, Zero, Zero, Zero, Zero, Zero, Zero }) Method (_RMV, 0, NotSerialized) { Return (Zero) } } } } Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x0D) { "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0898, "AAPL,current-extra-in-sleep", 0x0640, "AAPL,device-internal", 0x02, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,clock-id", 0x02, Buffer (One) { 0x00 } }) } Name (_PRW, Package (0x02) { 0x0D, 0x04 }) } } But again, you can't use this with RampageDev's SSDT unless you remove the parts where he has modified the USB2 devices. Specifically, you would remove this part: Scope (EUSB) { Name (_STA, Zero) } Scope (USBE) { Name (_STA, Zero) } Device (XHC1) { Name (_ADR, 0x001D0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x0F) { "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-extra-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,root-hub-depth", 0x0A, "AAPL,xhci-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Device (RHUB) { Name (_ADR, Zero) Device (HS01) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (HS02) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (HS03) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (HS04) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (SSP1) { Name (_ADR, 0x05) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (SSP2) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (SSP3) { Name (_ADR, 0x07) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (SSP4) { Name (_ADR, 0x08) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } } Method (MBSD, 0, NotSerialized) { Return (One) } } Device (XHC2) { Name (_ADR, 0x001A0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x0F) { "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-extra-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,root-hub-depth", 0x0A, "AAPL,xhci-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Device (RHUB) { Name (_ADR, Zero) Device (HS01) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (HS02) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (HS03) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (HS04) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (SSP1) { Name (_ADR, 0x05) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (SSP2) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (SSP3) { Name (_ADR, 0x07) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } Device (SSP4) { Name (_ADR, 0x08) Name (_UPC, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Name (_PLD, Package (0x10) { 0x81, Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x31, 0x1C, Zero, Zero, Zero, Zero, Zero, Zero }) } } Method (MBSD, 0, NotSerialized) { Return (One) } } 1 Link to comment Share on other sites More sharing options...
shilohhh Posted November 5, 2015 Share Posted November 5, 2015 Guys thanks for your help, i tried every think without success. Last night restored a yosemite backup to a temporary partition for tests and guess what, usb second port not even working on yosemite (on windows working fine). OSX doesn't handle controller pci8086,1d2d even if named as ehc1. I tried to swap controllers names and osx handles only pci8086.1d26 with any name (ehci1,ehc2) So my problem isnt the usb restrictions on el capitan. Something goes really wrong with my configuration. I will report back.... One more thing I noticed in your SSDT that might cause a conflict in Yosemite. One of your USB3 devices is given the name "EHC1" and a DSM method. Link to comment Share on other sites More sharing options...
RobLans Posted November 6, 2015 Share Posted November 6, 2015 1d2d loaded and working for me but I strip out the hub and all ports for 1d26 and 1d2d via ACPI as I've outlined in earlier posts. Current code I'm using to do this via SSDT is: /* * Intel ACPI Component Architecture * AML Disassembler version 20100331 * * Disassembly of iASLp2nhxJ.aml, Thu Nov 5 11:42:57 2015 * * * Original Table Header: * Signature "SSDT" * Length 0x00000838 (2104) * Revision 0x01 * Checksum 0x45 * OEM ID "APPLE" * OEM Table ID "Fix_USB2" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20100331 (537920305) */ DefinitionBlock ("iASLp2nhxJ.aml", "SSDT", 1, "APPLE", "Fix_USB2", 0x00001000) { External (_SB_.PCI0.USBE, DeviceObj) External (_SB_.PCI0.EUSB, DeviceObj) Scope (_SB.PCI0.EUSB) { Name (_STA, Zero) } Scope (_SB.PCI0.USBE) { Name (_STA, Zero) } Device (_SB.PCI0.EH01) { Name (_ADR, 0x001D0000) Name (_S4D, 0x02) Name (_S3D, 0x02) Name (_S2D, 0x02) Name (_S1D, 0x02) Name (MBSD, One) Name (_PRW, Package (0x02) { 0x0D, 0x04 }) } Device (_SB.PCI0.EH02) { Name (_ADR, 0x001A0000) Name (_S4D, 0x02) Name (_S3D, 0x02) Name (_S2D, 0x02) Name (_S1D, 0x02) Name (MBSD, One) Name (_PRW, Package (0x02) { 0x0D, 0x04 }) } } Silohhh, just for the record, your ssdt code working fine here, followed you DSDT guide, great!!! Link to comment Share on other sites More sharing options...
KonstantinosNks Posted November 11, 2015 Share Posted November 11, 2015 (edited) News....maybe found the problem, USB controller 1d2d not working on 10.11, 10.10, 10.9. with new or old clover with patched or flat DSDT with or without SSDT, i tried many combinations on Mavericks, Yosemite and El Capitans.Something going wrong with IRQ assign and osx report error on bootError: USBF: 0.753 AppleUSBEHCI:: unable to get filterInterruptEventSourceError: USBF: 0.753 AppleUSBEHCI::UIMInitialize - Error occurred (0xe00002be)Someone on older topic suggest to enable FIX_HPET and FIX_IPIC (http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page-179)Tonight will test it and will report back for anyone have the same problems.SUCCESS!After fixHPET and fixIPIC activation on clover usb 2nd hub (1d2d) activated and working.Thanks dudes i really appreciate your help...I'll try to create a ssdt like fix and if works then i will upload it here. shilohhh and RobLans can you take a look on yours clover configuration about the fixHPET and fixIPIC? Edited November 11, 2015 by KonstantinosNks Link to comment Share on other sites More sharing options...
RobLans Posted November 11, 2015 Share Posted November 11, 2015 News....maybe found the problem, USB controller 1d2d not working on 10.11, 10.10, 10.9. with new or old clover with patched or flat DSDT with or without SSDT, i tried many combinations on Mavericks, Yosemite and El Capitans. Something going wrong with IRQ assign and osx report error on boot Error: USBF: 0.753 AppleUSBEHCI:: unable to get filterInterruptEventSource Error: USBF: 0.753 AppleUSBEHCI::UIMInitialize - Error occurred (0xe00002be) Someone on older topic suggest to enable FIX_HPET and FIX_IPIC (http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page-179) Tonight will test it and will report back for anyone have the same problems. Hi, You probably already know that you can set [Enable/Disable] 1d26 and 1d2d (USB1/USB2) in Bios, check for sure maybe port 1d2d set to disable. I don't make advantage of propperty FIX_HPET and FIX_IPIC in config.plist (Clover) to get 1d2d working. My settings; Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} IRQNoFlags () {11} IRQNoFlags () {12} Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length _Y15) }) OperationRegion (HCNT, SystemMemory, HPTC, 0x04) Field (HCNT, DWordAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1 } Method (_STA, 0, NotSerialized) { If (HPTE) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.PCI0.HPET._Y15._BAS, HTBS) Multiply (HPTS, 0x1000, Local0) Add (Local0, 0xFED00000, HTBS) Return (CRS) } } 1 Link to comment Share on other sites More sharing options...
shilohhh Posted November 11, 2015 Share Posted November 11, 2015 News....maybe found the problem, USB controller 1d2d not working on 10.11, 10.10, 10.9. with new or old clover with patched or flat DSDT with or without SSDT, i tried many combinations on Mavericks, Yosemite and El Capitans. Something going wrong with IRQ assign and osx report error on boot Error: USBF: 0.753 AppleUSBEHCI:: unable to get filterInterruptEventSource Error: USBF: 0.753 AppleUSBEHCI::UIMInitialize - Error occurred (0xe00002be) Someone on older topic suggest to enable FIX_HPET and FIX_IPIC (http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page-179) Tonight will test it and will report back for anyone have the same problems. You can paste the following code into MaciASL's patch window and apply to strip reserved IRQs from the PS2 keyboard and mouse (If you are not using PS2 in OS X). Then it gives and takes the other IRQs. I had to mention PS2 in case you are using those devices in OS X with special kexts because it will make them quit functioning. #—————————————Fix HPET’s IRQs into device label PS2K code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched; into device label PS2M code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched; into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0103 code_regex_not IRQNoFlags code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched begin Name (%1, ResourceTemplate ()\n {\n IRQNoFlags ()\n {0}\n IRQNoFlags ()\n {8}\n IRQNoFlags ()\n {11}\n IRQNoFlags ()\n {12}\n %2 }) end; I actually remove the PS2 devices all together but I'm not sure these patches will work right with your R4F without seeing your IOReg and origin ACPI files. # Remove PS2 Devices into device label PS2K remove_entry; into device label PS2M remove_entry; into method label SIOH remove_entry; into method label _L1D remove_entry; into method label PS2K._PRW remove_entry; into method label PS2M._PRW remove_entry; Silohhh, just for the record, your ssdt code working fine here, followed you DSDT guide, great!!!Thanks! I take a more modular approach now. I like to fix or add all the motherboard's devices VIA 1 SSDT. I use a separate SSDT for each PCI slot and 1 for the CPU. As of 10.11, I add 1 more for the USB2 fix in 10.11 because it (Not Stinga11's method) will cause bugs in 10.9-10.10. If you wan't to use 10.9-10.10, you just remove the SSDT for USB2. I use the DSDT only to strip out code that is un-needed by OS X and fix IRQ Assignment. This is what I use to strip and fix the DSDT on the R4E and R4BE: # Asus R4E BIOSv4901 & R4BE BIOSv801 DSDT Stripper by shilohh 11/05/2015 # # This patch list is tested only for the Asus Rampage IV Black Edition BIOS v 0801 and Rampage IV Extreme BIOS v 4901. # # Credit to RevoGirl, PikeRAlph, Master Chief, dgsga. # #——————————————————————————————————————————————————————————————-Fix USB PLD into_all all code_regex .*\_PLD,\sBuffer replaceall_matched begin Name (_PLD, Package end; #—————————————Fix Single RTC Single RAM Bank Used Warning into device name_hid PNP0B00 code_regex 0x00, replaceall_matched begin 0x01, end; into device name_hid PNP0B00 code_regex 0x02, replaceall_matched begin 0x08, end; #—————————————Fix HPET’s IRQs into device label PS2K code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched; into device label PS2M code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched; into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0103 code_regex_not IRQNoFlags code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched begin Name (%1, ResourceTemplate ()\n {\n IRQNoFlags ()\n {0}\n IRQNoFlags ()\n {8}\n IRQNoFlags ()\n {11}\n IRQNoFlags ()\n {12}\n %2 }) end; #——————————————————————————————————————————————————————————————————————————————v Stripper v #——————————————————————————————————————————————————————————————-OS Check = Use Win 2012 into method label OSFL remove_entry; into definitionblock code_regex Name\s\(OSVR,\sOnes\) replace_matched begin Name (OSVR, 5)\n Method (OSFL, 0, NotSerialized)\n {\n Return (OSVR)\n }\n end; #—————————————Remove SIO1 Device into device label SIO1 remove_entry; into method label SIOS remove_entry; into method label SIOW remove_entry; into_all all code_regex \\_SB.PCI0.SBRG.SIOS\s\(Arg0\) remove_matched; into_all all code_regex \\_SB.PCI0.SBRG.SIOW\s\(Arg0\) remove_matched; into definitionblock code_regex Name\s\(IOST,.* removeall_matched; into method label PTS code_regex \\_SB\.PCI0\.SBRG\.SIOS\s\(Arg0\) remove_matched; #—————————————Remove Device AMW0 into device label AMW0 remove_entry; into_all all code_regex If\s\(LEqual\s\(Local0,\s.*\)\)\n.*\{\n.*\\AMW0\.AMWN.*\n.*\}\n.*\n.*If\s\(LEqual\s\(Local0,\s.*\)\)\n.*\{\n.*\\AMW0\.AMWN.*\n.*\} removeall_matched; #—————————————Remove Devices # Remove TPM into device label _SB.TPM remove_entry; into scope label _SB.TPM remove_entry; # Remove PS2 Devices into device label PS2K remove_entry; into device label PS2M remove_entry; into method label SIOH remove_entry; into method label _L1D remove_entry; into method label PS2K._PRW remove_entry; into method label PS2M._PRW remove_entry; # Remove WMI1 Device into device label WMI1 remove_entry; # Remove Speaker Device into device label SPKR remove_entry; # into device label ^UNC0 remove_entry; into device label RMSC remove_entry; into device label CWDT remove_entry; # Remove Methods into method label UXDV remove_entry; into method label RRIO remove_entry; into method label RRIO remove_entry; #—————————————Remove Unused NPE into device label NPE2 remove_entry; into device label NPE4 remove_entry; into device label NPE5 remove_entry; into device label NPE6 remove_entry; into device label NPE8 remove_entry; into device label NPEA remove_entry; # Remove Unused NPE From L09 into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE2,\s0x02\) remove_matched; into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE4,\s0x02\) remove_matched; into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE5,\s0x02\) remove_matched; into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE6,\s0x02\) remove_matched; into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE8,\s0x02\) remove_matched; into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPEA,\s0x02\) remove_matched; #—————————————Strip SAT0 & Remove SAT1 into device label SAT1 remove_entry; into device label SAT0 replace_content begin Name (_ADR, 0x001F0002)\n end; # Remove UnUsed Names into_all all code_regex Name\s\(SP1O.* remove_matched; into_all all code_regex Name\s\(ENT1.* remove_matched; into_all all code_regex Name\s\(EXT1.* remove_matched; into_all all code_regex Name\s\(IO1B.* remove_matched; into_all all code_regex Name\s\(IO1L.* remove_matched; into_all all code_regex Name\s\(IO2L.* remove_matched; into_all all code_regex Name\s\(IO2B.* remove_matched; into_all all code_regex Name\s\(IO3L.* remove_matched; into_all all code_regex Name\s\(IO3B.* remove_matched; into_all all code_regex Name\s\(SPIO.* remove_matched; into_all all code_regex Name\s\(IOHW.* remove_matched; into_all all code_regex Name\s\(IOSB.* remove_matched; into_all all code_regex Name\s\(IOSL.* remove_matched; into_all all code_regex Name\s\(IOHB.* remove_matched; into_all all code_regex Name\s\(IOHL.* remove_matched; into_all all code_regex Name\s\(PMLN.* remove_matched; into_all all code_regex Name\s\(HPTB.* remove_matched; into_all all code_regex Name\s\(PEBS.* remove_matched; into_all all code_regex Name\s\(ACPH.* remove_matched; into_all all code_regex Name\s\(HIDK.* remove_matched; into_all all code_regex Name\s\(HIDM.* remove_matched; into_all all code_regex Name\s\(CIDK.* remove_matched; into_all all code_regex Name\s\(CIDM.* remove_matched; into_all all code_regex Name\s\(ITKE.* remove_matched; into_all all code_regex Name\s\(MBEC.* remove_matched; into_all all code_regex Name\s\(AMWV.* remove_matched; into_all all code_regex Name\s\(SMIA.* remove_matched; into_all all code_regex Name\s\(SMIB.* remove_matched; into_all all code_regex Name\s\(OFST.* remove_matched; into_all all code_regex Name\s\(TRST.* remove_matched; into_all all code_regex Name\s\(TPMF.* remove_matched; into_all all code_regex Name\s\(TCMF.* remove_matched; into_all all code_regex Name\s\(TMF1.* remove_matched; into_all all code_regex Name\s\(TMF2.* remove_matched; into_all all code_regex Name\s\(TMF3.* remove_matched; into_all all code_regex Name\s\(SRSI.* remove_matched; into_all all code_regex Name\s\(CSMI.* remove_matched; ## Simplify _PIC method but keep PICM into method label _PIC code_regex If.*\n.*\{\n.*\n.*\}\n.*\n.*\{\n.*\n.*\} replace_matched begin Store (0xAA, DBG8) end; # Remove PRWP into_all all code_regex Name\s\(PRWP,\sPackage\s\(0x02\)\n.*\{\n.*\n.*\n.*\}\) remove_matched; # Remove GPRW into method label GPRW remove_entry; into_all all code_regex (.*)\(GPRW\s\((.*)\)\) replaceall_matched begin %1 (Package (0x02)\n{\n %2 \n}) end; # Remove SS1-4 into_all all code_regex Name\s\(SS[1-4].* removeall_matched; into_all all code_regex If\s\(SS[1-5]\)\n.*(\n.*Name.*\n.*\n.*\n.*\n.*\n.*\n.*\}\))\n.* replaceall_matched begin %1 end; #—————————————Remove Name PR00 into_all all code_regex Name\s\(PR00,\sPackage\s\(0x26\)\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\}\) removeall_matched; #—————————————Remove Name PRxx into_all all code_regex Name\s\(PR[0-9][0-9],\sPackage\s\(0x04\)\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\}\) removeall_matched; #—————————————Method _PRT return PICM into method label _PRT parent_label PCI0 code_regex If\s\(PICM\)\n.*\{\n.*(Return\s\(AR00\))\n.*\}\n.*\n.*Return\s\(PR00\) replaceall_matched begin %1 end; #—————————————Remove LNKx into device label LNKA remove_entry; into device label LNKB remove_entry; into device label LNKC remove_entry; into device label LNKD remove_entry; into device label LNKE remove_entry; into device label LNKF remove_entry; into device label LNKG remove_entry; into device label LNKH remove_entry; #—————————————Remove PRSx into_all all code_regex Name\s\(PRS[A-Z],.*\n.*\{\n.*IRQ.*\n.*\{.*\n.*\}\) removeall_matched; into_all all code_regex Alias\s\(PRS[A-Z],.* removeall_matched; # Return ARxx into_all all code_regex If\s\(PICM\)\n.*\{\n.*(Return\s\(AR[0-9][0-9]\))\n.*\}\n.*\n.*Return\s\(PR[0-9][0-9]\) replaceall_matched begin %1 end; #—————————————6 Core - Remove Extra CPUs into processor label C00C remove_entry; into processor label C00D remove_entry; into processor label C00E remove_entry; into processor label C00F remove_entry; into processor label C010 remove_entry; into processor label C011 remove_entry; into processor label C012 remove_entry; into processor label C013 remove_entry; into processor label C014 remove_entry; into processor label C015 remove_entry; into processor label C016 remove_entry; into processor label C017 remove_entry; into processor label C018 remove_entry; into processor label C019 remove_entry; into processor label C01A remove_entry; into processor label C01B remove_entry; into processor label C01C remove_entry; into processor label C01D remove_entry; into processor label C100 remove_entry; into processor label C101 remove_entry; into processor label C102 remove_entry; into processor label C103 remove_entry; into processor label C104 remove_entry; into processor label C105 remove_entry; into processor label C106 remove_entry; into processor label C107 remove_entry; into processor label C108 remove_entry; into processor label C109 remove_entry; into processor label C10A remove_entry; into processor label C10B remove_entry; into processor label C10C remove_entry; into processor label C10D remove_entry; into processor label C10E remove_entry; into processor label C10F remove_entry; into processor label C110 remove_entry; into processor label C111 remove_entry; into processor label C112 remove_entry; into processor label C113 remove_entry; into processor label C114 remove_entry; into processor label C115 remove_entry; into processor label C116 remove_entry; into processor label C117 remove_entry; into processor label C118 remove_entry; into processor label C119 remove_entry; into processor label C11A remove_entry; into processor label C11B remove_entry; into processor label C11C remove_entry; into processor label C11D remove_entry; into processor label C200 remove_entry; into processor label C201 remove_entry; into processor label C202 remove_entry; into processor label C203 remove_entry; into processor label C204 remove_entry; into processor label C205 remove_entry; into processor label C206 remove_entry; into processor label C207 remove_entry; into processor label C208 remove_entry; into processor label C209 remove_entry; into processor label C20A remove_entry; into processor label C20B remove_entry; into processor label C20C remove_entry; into processor label C20D remove_entry; into processor label C20E remove_entry; into processor label C20F remove_entry; into processor label C210 remove_entry; into processor label C211 remove_entry; into processor label C212 remove_entry; into processor label C213 remove_entry; into processor label C214 remove_entry; into processor label C215 remove_entry; into processor label C216 remove_entry; into processor label C217 remove_entry; into processor label C218 remove_entry; into processor label C219 remove_entry; into processor label C21A remove_entry; into processor label C21B remove_entry; into processor label C21C remove_entry; into processor label C21D remove_entry; into processor label C300 remove_entry; into processor label C301 remove_entry; into processor label C302 remove_entry; into processor label C303 remove_entry; into processor label C304 remove_entry; into processor label C305 remove_entry; into processor label C306 remove_entry; into processor label C307 remove_entry; into processor label C308 remove_entry; into processor label C309 remove_entry; into processor label C30A remove_entry; into processor label C30B remove_entry; into processor label C30C remove_entry; into processor label C30D remove_entry; into processor label C30E remove_entry; into processor label C30F remove_entry; into processor label C310 remove_entry; into processor label C311 remove_entry; into processor label C312 remove_entry; into processor label C313 remove_entry; into processor label C314 remove_entry; into processor label C315 remove_entry; into processor label C316 remove_entry; into processor label C317 remove_entry; into processor label C318 remove_entry; into processor label C319 remove_entry; into processor label C31A remove_entry; into processor label C31B remove_entry; into processor label C31C remove_entry; into processor label C31D remove_entry; This is (Very similar to Andrew's) the Onboard Device SSDT I give to people for the R4E and 6 Core Processor. /* * Intel ACPI Component Architecture * AML Disassembler version 20100331 * * Disassembly of iASL6Jlm4H.aml, Wed Nov 11 15:16:10 2015 * * * Original Table Header: * Signature "SSDT" * Length 0x0000067B (1659) * Revision 0x01 * Checksum 0xA1 * OEM ID "APPLE" * OEM Table ID "Device" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20100331 (537920305) */ DefinitionBlock ("iASL6Jlm4H.aml", "SSDT", 1, "APPLE", "Device", 0x00001000) { External (AR27, IntObj) External (\_SB_.C00B) External (\_SB_.C00A) External (\_SB_.C009) External (\_SB_.C008) External (\_SB_.C007) External (\_SB_.C006) External (\_SB_.C005) External (\_SB_.C004) External (\_SB_.C003) External (\_SB_.C002) External (\_SB_.C001) External (\_SB_.C000) External (\_SB_.SLPB) External (_SB_.PCI0.GBE_, DeviceObj) External (_SB_.PCI0.SMB_, DeviceObj) External (\_SB_.PCI0.NPE9) External (\_SB_.PCI0.NPE7) External (\_SB_.PCI0.NPE1) External (\_SB_.PCI0.NPE3) External (_SB_.PCI0.SBRG.RTC0, DeviceObj) Scope (_SB.PCI0.SBRG.RTC0) { Name (_STA, Zero) } Device (_SB.PCI0.SBRG.RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) } Scope (_SB.PCI0.SMB) { Device (BUS0) { Name (_CID, "smbus") Name (_ADR, Zero) } Device (BUS1) { Name (_CID, "smbus") Name (_ADR, One) } } Device (_SB.PCI0.XRES) { Name (_HID, EisaId ("PNP0C02")) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED1B000, // Address Base 0x00001000, // Address Length _Y00) Memory32Fixed (ReadOnly, 0xDFFF8000, // Address Base 0x00001000, // Address Length _Y01) }) OperationRegion (MCFG, SystemMemory, 0xE0000000, 0x10000000) Field (MCFG, AnyAcc, Lock, Preserve) { Offset (0x50), RCBB, 32, Offset (0x28180), VTDB, 32 } Method (_CRS, 0, Serialized) { CreateDWordField (CRS, \_SB.PCI0.XRES._Y00._BAS, RCB0) And (0xFFFFF000, RCBB, RCB0) CreateDWordField (CRS, \_SB.PCI0.XRES._Y01._BAS, VTD0) And (0xFFFFE000, VTDB, VTD0) Return (CRS) } } Device (_SB.PCI0.DMI2) { Name (_ADR, Zero) } Device (_SB.PCI0.IOC0) { Name (_ADR, 0x00050000) Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { Return (AR27) } } Device (_SB.PCI0.IOC2) { Name (_ADR, 0x00050002) Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { Return (AR27) } } Device (_SB.PCI0.IOC4) { Name (_ADR, 0x00050004) Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { Return (AR27) } } Device (_SB.PCI0.HECI) { Name (_ADR, 0x00160000) } Device (_SB.PCI0.HDEF) { Name (_ADR, 0x001B0000) Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x04) { "layout-id", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }) } } Scope (_SB.PCI0.GBE) { Method (_RMV, 0, NotSerialized) { Return (Zero) } Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x04) { "model", "Intel 82579V", "name", "Gigabit Network Connection" }) } } Device (_SB.PCIO.SBRG.FWHD) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (_SB.PCIO.SBRG.EC) { Name (_HID, EisaId ("PNP0C09")) Name (_UID, Zero) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Name (_GPE, 0x17) Name (ECOK, Zero) OperationRegion (ECOR, EmbeddedControl, Zero, 0xFF) Field (ECOR, ByteAcc, Lock, Preserve) { ECVS, 8, Offset (0x02), Offset (0x03), G3HT, 1, Offset (0x04), WBCB, 1, DSLP, 1, Offset (0x05), Offset (0x06), WKRS, 8, Offset (0x10), ECSS, 8, PLIM, 8, ALB0, 8, ALB1, 8, WTLB, 8, WTMB, 8, Offset (0x20), SPTR, 8, SSTS, 8, SADR, 8, SCMD, 8, SBFR, 256, SCNT, 8, SAAD, 8, SAD0, 8, SAD1, 8, SMUX, 8, Offset (0x60), ELSW, 1, EACP, 1, ECDI, 1, ENMI, 1, Offset (0x61), EMHP, 1, Offset (0x62), Offset (0x63), Offset (0x64), SWLO, 1, SWLC, 1, SWAI, 1, SWAR, 1, SWCI, 1, SWCE, 1, SWMI, 1, SWMR, 1, SWPB, 1, SWGP, 1, SWPM, 1, SWWT, 1, SWLB, 1, Offset (0x66), Offset (0x67), Offset (0x68), EWLO, 1, EWLC, 1, EWAI, 1, EWAR, 1, EWCI, 1, EWCE, 1, EWMI, 1, EWMR, 1, EWPB, 1, EWGP, 1, EWPM, 1, ENWT, 1, EWLB, 1, Offset (0x6A), Offset (0x6B), Offset (0x6C), LWLO, 1, LWLC, 1, LWAI, 1, LWAR, 1, LWCI, 1, LWCE, 1, LWMI, 1, LWMR, 1, LWPB, 1, LWGP, 1, LWPM, 1, LWWT, 1, LWLB, 1, Offset (0x6E), Offset (0x6F), Offset (0x70) } Field (ECOR, ByteAcc, Lock, Preserve) { Offset (0x03), G3AD, 1, BLOD, 1, S4WE, 1, Offset (0x04), Offset (0x6C), LWE0, 8, LWE1, 8, LWE2, 8, LWE3, 8 } Field (ECOR, ByteAcc, Lock, Preserve) { Offset (0x24), SBDW, 16, Offset (0x46), SADW, 16 } Method (WAKE, 0, NotSerialized) { If (ECOK) { Return (WKRS) } Else { Return (Zero) } } Method (_Q5A, 0, NotSerialized) { Notify (\_SB.SLPB, 0x80) } Method (_Q80, 0, NotSerialized) { Notify (\_SB.C000, 0x80) Notify (\_SB.C001, 0x80) Notify (\_SB.C002, 0x80) Notify (\_SB.C003, 0x80) Notify (\_SB.C004, 0x80) Notify (\_SB.C005, 0x80) Notify (\_SB.C006, 0x80) Notify (\_SB.C007, 0x80) Notify (\_SB.C008, 0x80) Notify (\_SB.C009, 0x80) Notify (\_SB.C00A, 0x80) Notify (\_SB.C00B, 0x80) Notify (\_SB.PCI0.NPE3, 0x81) Notify (\_SB.PCI0.NPE1, 0x81) Notify (\_SB.PCI0.NPE7, 0x81) Notify (\_SB.PCI0.NPE9, 0x81) } Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECOK) If (LEqual (Arg1, One)) { Store (Zero, ECSS) } } } } } 2 Link to comment Share on other sites More sharing options...
RobLans Posted November 11, 2015 Share Posted November 11, 2015 Shillohhh, I make advantage of Stinga11 Method (El Captain), notice that the kext X79USBHub.kext from Stinga11 is modifyed info.plist EHC2 HUB settings are added in xml code. I read your guide, I like the (Tiny SSDT) method, which is a good way in combination with Clover (SMBIOS Device settings) Also in combination I used the patched kext's from Stinga11, no problemo on EL Captain, Yosemite is history for me 1 Link to comment Share on other sites More sharing options...
shilohhh Posted November 11, 2015 Share Posted November 11, 2015 SUCCESS! After fixHPET and fixIPIC activation on clover usb 2nd hub (1d2d) activated and working. Thanks dudes i really appreciate your help...I'll try to create a ssdt like fix and if works then i will upload it here. shilohhh and RobLans can you take a look on yours clover configuration about the fixHPET and fixIPIC? I don't use that Clover function because I fix it in DSDT as mentioned above. Clover does something very similar but does it on the fly automatically at boot time. It does it by reading your system's DSDT and passing a modified version to OS X. You don't want to use both methods. Link to comment Share on other sites More sharing options...
KonstantinosNks Posted November 12, 2015 Share Posted November 12, 2015 I don't use that Clover function because I fix it in DSDT as mentioned above. Clover does something very similar but does it on the fly automatically at boot time. It does it by reading your system's DSDT and passing a modified version to OS X. You don't want to use both methods. I understand, DSDT Stripper worked, fixed HPET problems Thanks. 1 Link to comment Share on other sites More sharing options...
J Lamp Posted November 13, 2015 Share Posted November 13, 2015 I've been using Rampagedev's SSDT solution on my Gigabyte X79-UD5 for quite a while (no DSDT.) I took Rampagedev's latest X79.dmg download, grabbed his latest SSDT, striped out the USB sections, replaced it with Shiloh's and used Stinga's dummy kexts; Fully Working! On that note, after having a look at the dummy kext for XHCI (which also worked) I figured there had to be a way to patch this using Clover. In case anyone is interested this also works in the "Kernel and Kext patches" section of Clover's config.plist instead of using the dummy kext for XHCI <dict> <key>Comment</key> <string>USB 3 Device ID Patch</string> <key>Find</key> <data> PGtleT5JT1BDSVByaW1hcnlNYXRjaDwva2V5PjxzdHJpbmc+MHgxMTAwMWI3Mzwvc3RyaW5nPg== </data> <key>InfoPlistPatch</key> <true/> <key>Name</key> <string>AppleUSBXHCIPCI</string> <key>Replace</key> <data> PGtleT5JT1BDSVByaW1hcnlNYXRjaDwva2V5PjxzdHJpbmc+MHgxMDA5MWI3Mzwvc3RyaW5nPg== </data> </dict> or with Clover Configurator add a line for KextsToPatch: Name = AppleUSBXHCIPCI Find = <key>IOPCIPrimaryMatch</key><string>0x11001b73</string> Edit: Works, but wasn't necessary Replace =<key>IOPCIPrimaryMatch</key><string>0x10091b73</string> Edit: Works, but wasn't necessary Comment =USB 3 Device ID Patch InfoPlistPatch = True (check) Type/Key = DATA With that in mind there may be a way to do something similar with the USB2 dummy kexts. If I get that working I'll let you know. Update: I got rid of the dummy kexts for USB2 with the following entries in FakeSMC <key>MacPro6,1-EUSB</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleUSBMergeNub</string> <key>IOClass</key> <string>AppleUSBMergeNub</string> <key>IONameMatch</key> <string>EUSB</string> <key>IOProviderClass</key> <string>AppleUSBEHCIPCI</string> <key>IOProviderMergeProperties</key> <dict> <key>port-count</key> <data>AQAAAA==</data> <key>ports</key> <dict> <key>PRT1</key> <dict> <key>UsbConnector</key> <integer>3</integer> <key>port</key> <data>AQAAAA==</data> </dict> </dict> </dict> <key>model</key> <string>MacPro6,1</string> </dict> <key>MacPro6,1-USBE</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleUSBMergeNub</string> <key>IOClass</key> <string>AppleUSBMergeNub</string> <key>IONameMatch</key> <string>USBE</string> <key>IOProviderClass</key> <string>AppleUSBEHCIPCI</string> <key>IOProviderMergeProperties</key> <dict> <key>port-count</key> <data>AQAAAA==</data> <key>ports</key> <dict> <key>PRT1</key> <dict> <key>UsbConnector</key> <integer>3</integer> <key>port</key> <data>AQAAAA==</data> </dict> </dict> </dict> <key>model</key> <string>MacPro6,1</string> </dict> These are the same patches from the dummy kexts but with the names changed to match my machine (Gigabyte X79-UD5). This also allowed me to remove the extra code for renaming the USB to EHCI in my SSDT. These were originally suggested by tChibo on the first page of this topic. So in the end, no dummy kexts. 1 Link to comment Share on other sites More sharing options...
shilohhh Posted January 13, 2016 Share Posted January 13, 2016 5. When you switch to MacPro6,1 definition you may not be able to boot your Hackintosh, because the monitor turns off after the boot process. How to solve this problem? Easy, boot with this boot-args: nv_disable=1, then go to System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/ copy the info.plist to Desktop and change: <key>ConfigMap</key> <dict> <key>Mac-F60DEB81FF30ACF6</key> <string>Config1</string> </dict> To <key>ConfigMap</key> <dict> <key>Mac-F60DEB81FF30ACF6</key> <string>none</string> </dict> Then replace the original info.plist with the modified version. Instead of patching the plist you can name your GPU to GFX1 in the ACPI tables. NOTE: if you have multiple GPUs you must name them all GFX1. Any other name and they will lose signal when OS X finishes loading. SSDT EXMPLE: /* * Intel ACPI Component Architecture * AML Disassembler version 20100331 * * Disassembly of iASLr2CDEx.aml, Tue Jan 12 23:12:42 2016 * * * Original Table Header: * Signature "SSDT" * Length 0x00000177 (375) * Revision 0x01 * Checksum 0xDA * OEM ID "shiloh" * OEM Table ID "GPU-1" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20100331 (537920305) */ DefinitionBlock ("iASLr2CDEx.aml", "SSDT", 1, "shiloh", "GPU-1", 0x00001000) { Device (_SB.PCI0.NPE3.GFX1) { Name (_ADR, Zero) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x10) { "AAPL,slot-name", Buffer (0x0B) { "PCIE_X16_1" }, "@0,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@1,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@2,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@3,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@4,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@5,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "hda-gfx", Buffer (0x0A) { "onboard-1" } }) } } Device (_SB.PCI0.NPE3.HDAU) { Name (_ADR, One) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "hda-gfx", Buffer (0x0A) { "onboard-1" } }) } } } 1 Link to comment Share on other sites More sharing options...
stinga11 Posted January 13, 2016 Author Share Posted January 13, 2016 Instead of patching the plist you can name your GPU to GFX1 in the ACPI tables. NOTE: if you have multiple GPUs you must name them all GFX1. Any other name and they will lose signal when OS X finishes loading. SSDT EXMPLE: /* * Intel ACPI Component Architecture * AML Disassembler version 20100331 * * Disassembly of iASLr2CDEx.aml, Tue Jan 12 23:12:42 2016 * * * Original Table Header: * Signature "SSDT" * Length 0x00000177 (375) * Revision 0x01 * Checksum 0xDA * OEM ID "shiloh" * OEM Table ID "GPU-1" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20100331 (537920305) */ DefinitionBlock ("iASLr2CDEx.aml", "SSDT", 1, "shiloh", "GPU-1", 0x00001000) { Device (_SB.PCI0.NPE3.GFX1) { Name (_ADR, Zero) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x10) { "AAPL,slot-name", Buffer (0x0B) { "PCIE_X16_1" }, "@0,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@1,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@2,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@3,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@4,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@5,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "hda-gfx", Buffer (0x0A) { "onboard-1" } }) } } Device (_SB.PCI0.NPE3.HDAU) { Name (_ADR, One) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "hda-gfx", Buffer (0x0A) { "onboard-1" } }) } } } Thank you for the information. I will update the OP guide with this information. 1 Link to comment Share on other sites More sharing options...
shilohhh Posted January 13, 2016 Share Posted January 13, 2016 Thank you for all that you share too! Link to comment Share on other sites More sharing options...
jasonvrn Posted October 12, 2016 Share Posted October 12, 2016 Hi all, Im fairly new to all this, I have a X79-UD3 mobo with El Capitan 10.11 installed, I only have 2 of my usb ports working, ironically its the USB 3.0 ports that are working. I can't seem to get the other ports working. The only thing I changed is the clover DSDT patches, see attached. Any ideas what i need to do to get all port working? Link to comment Share on other sites More sharing options...
Recommended Posts