- Joined
- Nov 27, 2011
- Messages
- 262
- Motherboard
- Gigabyte GA-Z97-D3H
- CPU
- i5-4690K
- Graphics
- GTX 750
- Mac
- Mobile Phone
EDIT: El capitan 10.11.1
The release of the 10.11.1 update, added native support for the USB chipset on the Z97-D3H motherboard.
This makes this fix kind of redundant for this board.
The best way to have full working USB on this board with no issues with sleep, no need to disable 'wake on USB', no DSDT editing or Patching is as follows:
Rename your EHC1 to EH01 and your ECH2 to EH02 using clover dsdt patching. Using the same method i explained originally for the _OSI to XOSI patch.
This will effectively disable the Apple port injectors. Then install FakePCIID.kext and FakePCIID_XHCIMux.kext and reboot.
Now test your USB ports.
If they all work then your done, If only some off them work as they should then you will need to build a port injector for your machine. See here for more details on building a port injector.
Ive attached my injector below, assuming you have the same board as me i see no reason why it won't work.
Original fix below:
El Capitan USB3 Fix - GA Z97-D3H
As this fix had had a lot of views i decided i would rewrite it so its a bit clearer.
Since updating to El Capitan Public beta, I had problems with the USB on my Gigabyte Z97-D3H.
The main problem was USB3 drives were reporting in the USB2 bus and hence running at USB2 speed, Also USB2 devices were not working in USB3 ports.
The original thread is here http://www.tonymacx86.com/el-capitan-desktop-support/171493-usb-driver-changed-again-pb6.html
With the help of RehabMan I have now sorted this to a satisfactory level. I would like to thank him as without him I wouldn’t of got this sorted.
We tried lots of different things to get my USB working properly, more info on the below fix is included in the original thread.
Below is what I have to do on a clean install of El Capitan to get my USB ports working correctly. I am following the instructions exactly to get USB3 working on my system.
This works for me, on my hardware. It may not work for you. I hold no responsibility if your hack breaks so always have a backup and a way to restore it if it goes wrong.
I'm by no means a expert but I feel I have learned a fair bit from RehabMan in the last week, so I'll try and help if I can.
PS, I found it useful to enable screen sharing, so, if your keyboard and or mouse stops working from messing around with the USB ports, you could still control your hack from another mac.
Required files:
RehabMan's version of MaciASL - https://bitbucket.org/RehabMan/os-x-...atic/downloads
FakePCIID.kext and FakePCIID_XHCIMux.kext - https://bitbucket.org/RehabMan/os-x-...i-id/downloads
Kext Wizard - http://www.insanelymac.com/forum/top...ller-and-more/
Clover Configurator - http://mackie100projects.altervista.org/download/
You should be running the latest version of clover, at the time of writing that is 3280, and use the latest version of Clover Configurator.
Bios settings: ( mine is F8 )
Reset your Bios to default settings set it up as below:
VT-d disabled
XHCI Mode Smart Auto
Intel Processor Graphic disabled
XHCI Hand-Off Enabled
EHCI Hand-Off Enabled
SATA Configuration AHCI
This fix consists of 2 parts, part 1 is a DSDT patch handled by clover, second part involves installing 2 kexts made by rehabman.
Part 1:
You will be patching your DSDT via clover, There are 2 ways to do this, manually or via clover configurator. The instructions below are for clover configurator.
If you do intend to do this manually you will need the patch for _OSI -> XOSI from the BRIX config.plist: https://github.com/RehabMan/Gigabyte-BRIX-s-DSDT-Patch (config.plist/ACPI/DSDT/Patches, first entry).
Step 1:
First open clover configurator and mount your EFI partition, open your config.plist. Under the ACPI section you need to add a DSDT Patch.
1. click the little + icon on the right
2. for comment put change _OSI to XOSI
3. for find* [HEX] put 5F4F5349
4. for Replace* [HEX] put 584F5349
Whilst in clover…
In the ACPI / FIXES section untick ‘FIXUSB’
In the DEVICES / USB section untick ‘Inject’ ‘Add ClockID’ ‘FixOwnership’ and ‘HighCurrent’
In the Rt Variables section set your booterconfig to 0x28 and CsrActiveConfig to 0x67
Save your config.plist and reboot your hack.
Step 2:
Open MaciASL and goto preferences / iASL and change the compiler options to ACPI 5.0, close the preferences and then select file - new.
Copy the below into the MaciASL window.
Save As SSDT-XOSI.aml, (as ACPI Machine Language Binary), place in EFI/Clover/ACPI/patched.
Part 2:
Open up Kext wizard install FakePCIID.kext and FakePCIID_XHCIMux.kext and reboot your hack, on one attempt here my keyboard and mouse stopped working straight away so i just reset using the reset button on the case.
Hopefully you will now have USB working correctly. Check by inserting a USB3 drive and open system report and see if it shows up under the USB3 bus, also check that USB2 devices function in the USB3 ports.
Problem Solving.
Problem: No usb devices work after the system wakes from sleep. Also screen doesn't wake up after sleep.
Fix: Make XWAK in yourDSDT do nothing.
Method: For this fix you will need to patch your DSDT, if you already have your DSDT you can go ahead with the fix, you you dont have a DSDT ready then you will have to use clover to extract your unpatched DSDT.
If you press F4 at the main Clover bootloader screen, Clover will write your native files to EFI/Clover/ACPI/origin. There is no feedback when you press F4, so don't expect anything to "happen" when you press the key. Also, keep in mind that some BIOS implementations (newer computers) tend to reverse the Fn+F1..F12 and F1..F12 keys, so be sure you're pressing the correct key combination to generate F4.
Once this is done mount your EFI partition and copy your DSDT.aml from EFI/Clover/ACPI/origin/ onto your desktop.
Open it with MaciASL, and search your DSDT for XWAK and change as below
to
Save your DSDT as DSDT.aml, (as ACPI Machine Language Binary), into the EFI/Clover/ACPI/patched folder and restart your hack.
If when you save your DSDT MaciASL throws up at the error ‘ The document “DSDT.aml” could not be saved. The compiler returned one or more errors’ Open preferences and go to the sources tab and add
http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
as a source then come out of preferences.
Click patch then patch your DSDT with “Fix ADBG Error” and "Fix PARSEOP_ZERO Error” patches, then save.
Problem: System wakes up straight away when USB3 device plugged in.
Fix: Disable wake on USB in your bios.
Method: This happens on my system, i haven't got a ‘disable USB wake’ in my bios so i patch my DSDT to disable wake on USB. If you have that option in your bios, use that.
Here you have 2 options, use one and only one. Do the first one and if the search doesn't find (0x0D) go on to the next one.
Open you DSDT in MaciASL and do a search for (0x0D) if it finds matches then using the above instructions for patching your DSDT, patch it with the "USB3 _PRW(0x0D) and Rename XHC to XHC1” patch, then save your DSDT as DSDT.aml (as ACPI Machine Language Binary) into the EFI/Clover/ACPI/patched folder and restart your hack.
Open you DSDT in MaciASL and do a search for (0x6D) if it finds matches then using the above instructions for patching your DSDT, patch it with the "USB3 _PRW(0x6D) and Rename XHC to XHC1” patch, then save your DSDT as DSDT.aml (as ACPI Machine Language Binary) into the EFI/Clover/ACPI/patched folder and restart your hack.
Obviously you will have to wake the system up with the power button now, not the mouse.
Problem: Some or all USB3 ports still not working after the above.
Method: By creating a correct port injector for your system you can correct the often incorrect DSDT ports. You need to determine which ports are actually active on your system using IORegistryExplorer v2.1, There can be lots of variables with these so i wont be covering them here. Ive attached my injector as a example, with the above fixes i no problems with USB2 ports so my injector only contains ports for USB3, which is what needed fixing. For more help with port injectors either read the original thread or have a look on the forums.
Hope this helps and its a bit clearer now.
Matt
The release of the 10.11.1 update, added native support for the USB chipset on the Z97-D3H motherboard.
This makes this fix kind of redundant for this board.
The best way to have full working USB on this board with no issues with sleep, no need to disable 'wake on USB', no DSDT editing or Patching is as follows:
Rename your EHC1 to EH01 and your ECH2 to EH02 using clover dsdt patching. Using the same method i explained originally for the _OSI to XOSI patch.
Code:
Item 1:
Comment: change EHC1 to EH01
Find: <45484331>
Replace: <45483031>
Item 2:[/COLOR]
Comment: change EHC2 to EH02
Find: <45484332>
Replace: <45483032>
This will effectively disable the Apple port injectors. Then install FakePCIID.kext and FakePCIID_XHCIMux.kext and reboot.
Now test your USB ports.
If they all work then your done, If only some off them work as they should then you will need to build a port injector for your machine. See here for more details on building a port injector.
Ive attached my injector below, assuming you have the same board as me i see no reason why it won't work.
Original fix below:
El Capitan USB3 Fix - GA Z97-D3H
As this fix had had a lot of views i decided i would rewrite it so its a bit clearer.
Since updating to El Capitan Public beta, I had problems with the USB on my Gigabyte Z97-D3H.
The main problem was USB3 drives were reporting in the USB2 bus and hence running at USB2 speed, Also USB2 devices were not working in USB3 ports.
The original thread is here http://www.tonymacx86.com/el-capitan-desktop-support/171493-usb-driver-changed-again-pb6.html
With the help of RehabMan I have now sorted this to a satisfactory level. I would like to thank him as without him I wouldn’t of got this sorted.
We tried lots of different things to get my USB working properly, more info on the below fix is included in the original thread.
Below is what I have to do on a clean install of El Capitan to get my USB ports working correctly. I am following the instructions exactly to get USB3 working on my system.
This works for me, on my hardware. It may not work for you. I hold no responsibility if your hack breaks so always have a backup and a way to restore it if it goes wrong.
I'm by no means a expert but I feel I have learned a fair bit from RehabMan in the last week, so I'll try and help if I can.
PS, I found it useful to enable screen sharing, so, if your keyboard and or mouse stops working from messing around with the USB ports, you could still control your hack from another mac.
Required files:
RehabMan's version of MaciASL - https://bitbucket.org/RehabMan/os-x-...atic/downloads
FakePCIID.kext and FakePCIID_XHCIMux.kext - https://bitbucket.org/RehabMan/os-x-...i-id/downloads
Kext Wizard - http://www.insanelymac.com/forum/top...ller-and-more/
Clover Configurator - http://mackie100projects.altervista.org/download/
You should be running the latest version of clover, at the time of writing that is 3280, and use the latest version of Clover Configurator.
Bios settings: ( mine is F8 )
Reset your Bios to default settings set it up as below:
VT-d disabled
XHCI Mode Smart Auto
Intel Processor Graphic disabled
XHCI Hand-Off Enabled
EHCI Hand-Off Enabled
SATA Configuration AHCI
This fix consists of 2 parts, part 1 is a DSDT patch handled by clover, second part involves installing 2 kexts made by rehabman.
Part 1:
You will be patching your DSDT via clover, There are 2 ways to do this, manually or via clover configurator. The instructions below are for clover configurator.
If you do intend to do this manually you will need the patch for _OSI -> XOSI from the BRIX config.plist: https://github.com/RehabMan/Gigabyte-BRIX-s-DSDT-Patch (config.plist/ACPI/DSDT/Patches, first entry).
Step 1:
First open clover configurator and mount your EFI partition, open your config.plist. Under the ACPI section you need to add a DSDT Patch.
1. click the little + icon on the right
2. for comment put change _OSI to XOSI
3. for find* [HEX] put 5F4F5349
4. for Replace* [HEX] put 584F5349
Whilst in clover…
In the ACPI / FIXES section untick ‘FIXUSB’
In the DEVICES / USB section untick ‘Inject’ ‘Add ClockID’ ‘FixOwnership’ and ‘HighCurrent’
In the Rt Variables section set your booterconfig to 0x28 and CsrActiveConfig to 0x67
Save your config.plist and reboot your hack.
Step 2:
Open MaciASL and goto preferences / iASL and change the compiler options to ACPI 5.0, close the preferences and then select file - new.
Copy the below into the MaciASL window.
Code:
DefinitionBlock ("SSDT-XOSI.aml", "SSDT", 1, "hack", "hack", 0x00003000)
{
// All _OSI calls in DSDT are routed to XOSI...
// XOSI simulates "Windows 2012" (which is Windows 8)
// Note: According to ACPI spec, _OSI("Windows") must also return true
// Also, it should return true for all previous versions of Windows.
Method(XOSI, 1)
{
// simulation targets
// source: (google 'Microsoft Windows _OSI')
// http://download.microsoft.com/downlo...nACPI_OSI.docx
Name(WINV, Package()
{
"Windows", // generic Windows query
"Windows 2001", // Windows XP
"Windows 2001 SP2", // Windows XP SP2
"Windows 2006", // Windows Vista
"Windows 2006 SP1", // Windows Vista SP1
"Windows 2009", // Windows 7/Windows Server 2008 R2
"Windows 2012", // Windows 8
})
Return (LNotEqual(Match(WINV, MEQ, Arg0, MTR, 0, 0), Ones))
}
}
//EOF
Part 2:
Open up Kext wizard install FakePCIID.kext and FakePCIID_XHCIMux.kext and reboot your hack, on one attempt here my keyboard and mouse stopped working straight away so i just reset using the reset button on the case.
Hopefully you will now have USB working correctly. Check by inserting a USB3 drive and open system report and see if it shows up under the USB3 bus, also check that USB2 devices function in the USB3 ports.
Problem Solving.
Problem: No usb devices work after the system wakes from sleep. Also screen doesn't wake up after sleep.
Fix: Make XWAK in yourDSDT do nothing.
Method: For this fix you will need to patch your DSDT, if you already have your DSDT you can go ahead with the fix, you you dont have a DSDT ready then you will have to use clover to extract your unpatched DSDT.
If you press F4 at the main Clover bootloader screen, Clover will write your native files to EFI/Clover/ACPI/origin. There is no feedback when you press F4, so don't expect anything to "happen" when you press the key. Also, keep in mind that some BIOS implementations (newer computers) tend to reverse the Fn+F1..F12 and F1..F12 keys, so be sure you're pressing the correct key combination to generate F4.
Once this is done mount your EFI partition and copy your DSDT.aml from EFI/Clover/ACPI/origin/ onto your desktop.
Open it with MaciASL, and search your DSDT for XWAK and change as below
Code:
Method(XWAK, ...
{
..some code...
}
Code:
Method(XWAK, ...
{
Return(0)
..some code...
}
Save your DSDT as DSDT.aml, (as ACPI Machine Language Binary), into the EFI/Clover/ACPI/patched folder and restart your hack.
If when you save your DSDT MaciASL throws up at the error ‘ The document “DSDT.aml” could not be saved. The compiler returned one or more errors’ Open preferences and go to the sources tab and add
http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
as a source then come out of preferences.
Click patch then patch your DSDT with “Fix ADBG Error” and "Fix PARSEOP_ZERO Error” patches, then save.
Problem: System wakes up straight away when USB3 device plugged in.
Fix: Disable wake on USB in your bios.
Method: This happens on my system, i haven't got a ‘disable USB wake’ in my bios so i patch my DSDT to disable wake on USB. If you have that option in your bios, use that.
Here you have 2 options, use one and only one. Do the first one and if the search doesn't find (0x0D) go on to the next one.
Open you DSDT in MaciASL and do a search for (0x0D) if it finds matches then using the above instructions for patching your DSDT, patch it with the "USB3 _PRW(0x0D) and Rename XHC to XHC1” patch, then save your DSDT as DSDT.aml (as ACPI Machine Language Binary) into the EFI/Clover/ACPI/patched folder and restart your hack.
Open you DSDT in MaciASL and do a search for (0x6D) if it finds matches then using the above instructions for patching your DSDT, patch it with the "USB3 _PRW(0x6D) and Rename XHC to XHC1” patch, then save your DSDT as DSDT.aml (as ACPI Machine Language Binary) into the EFI/Clover/ACPI/patched folder and restart your hack.
Obviously you will have to wake the system up with the power button now, not the mouse.
Problem: Some or all USB3 ports still not working after the above.
Method: By creating a correct port injector for your system you can correct the often incorrect DSDT ports. You need to determine which ports are actually active on your system using IORegistryExplorer v2.1, There can be lots of variables with these so i wont be covering them here. Ive attached my injector as a example, with the above fixes i no problems with USB2 ports so my injector only contains ports for USB3, which is what needed fixing. For more help with port injectors either read the original thread or have a look on the forums.
Hope this helps and its a bit clearer now.
Matt
Attachments
Last edited by a moderator: