Jump to content

(GUIDE) 10.11 full speed USB (series 8/9) keeping vanilla SLE


wegface
497 posts in this topic

Recommended Posts

I booted DSDTless and injecterless in Yosemite, and it seems the injector is mapped correctly?

 

The missing ports in the injector are just the onboard headers I don't use, my case has front USB3.

 

attachicon.gifScreen-Shot-2015-10-05-at-02.01.jpg

 

Created yet another fresh installer and managed to boot into El Cap and things showed up as being USB3 but when I try and copy files to them the transfer freezes.

Did you repeat the crash to check was not a one off? Not sure why this would happen unless something is wrong somewhere (stating the obvious there sorry).

Link to comment
Share on other sites

There is only one XHCI controller in the PCH.

 

I can see that since Intel series 5 there is only one Platform Controller Hub (PCH).  I have to figure out why my SSDT was edited with XHC1 and XHC2.  There is also the AAPL code within each of those devices that has reference to XHCI in both XHC1 and XHC2.  Its the AAPL,xhci-clock-id.

 

All my USB2 black ports are working with this SSDT, however none of my USB3 blue ports are working for USB2.  The USB 3 are all ASMedia.

 

Asus-X79-deluxe.

 

SSDT attached

X79_SSDT.aml.zip

Link to comment
Share on other sites

Maybe we should make a list of injectors for series 8 and 9 mobos and post them here so once one person has it done others can share.

 

I would love it!

 

Been more than a week trying a lot of thing, and nothing till now! :wallbash:

Link to comment
Share on other sites

I would love it!

 

Been more than a week trying a lot of thing, and nothing till now! :wallbash:

Your GA-H97-D3H F5 should be starightforward following this guide.

  • Like 1
Link to comment
Share on other sites

Your GA-H97-D3H F5 should be starightforward following this guide.

Well... I'll be trying again when I come home... wish me luck!

 

Just a question... this part...

 

# Rename USB devices for OSX 10.11 GM support (remember to use injector with this)

into device label EHC1 set_label begin EH01 end;

into device label EHC2 set_label begin EH02 end;

into device label XHC1 set_label begin XHC end;

into_all all code_regex EHC1 replaceall_matched begin EH01 end;

into_all all code_regex EHC2 replaceall_matched begin EH02 end;

into_all all code_regex XHC1 replaceall_matched begin XHC end;

 

Is it possible to do it in clover?

I'm asking because I don't use a DSDT, justa SSDT with power management for my i7

Link to comment
Share on other sites

Well... I'll be trying again when I come home... wish me luck!

 

Just a question... this part...

 

# Rename USB devices for OSX 10.11 GM support (remember to use injector with this)

into device label EHC1 set_label begin EH01 end;

into device label EHC2 set_label begin EH02 end;

into device label XHC1 set_label begin XHC end;

into_all all code_regex EHC1 replaceall_matched begin EH01 end;

into_all all code_regex EHC2 replaceall_matched begin EH02 end;

into_all all code_regex XHC1 replaceall_matched begin XHC end;

 

Is it possible to do it in clover?

I'm asking because I don't use a DSDT, justa SSDT with power management for my i7

Yes is possible to do renames with clover.

Link to comment
Share on other sites

Did you repeat the crash to check was not a one off? Not sure why this would happen unless something is wrong somewhere (stating the obvious there sorry).

Yes it's not a one off. The ports work perfectly fine at USB3 speeds in Yosemite and El Capitan works fine with all ports at USB2. Using the exact same DSDT but with the injector the OS works fine but USB3 transfers do not.

Link to comment
Share on other sites

my iojones only shows XHC, no XHC1

 

all my usb port works. EXCEPT for the two that are physically on the motherboard itself. i'm using one of the port for apple/bluetooth card

 

...i'm getting too old for this

Hi,

please check, if you have only ONE internal USB connector on your motherboard. If you have more than one, try to connect your card to other connector.

Chances are your card is connected to the one that handles ports with numbers bigger than 15.

Switching the connector (plugging to another one) let me fix my bluetooth problem.

 

Best,

fm

Link to comment
Share on other sites

 

@wegface no news for series 7? I've a Asrock Z77E-ITX, patched DSDT with the respective patch from @PJALM (thank you again). Renamed XHCI/EHC1/EHC2 to XHC/EH01/EH02, tried it in Yosemite and the intel ports (2 rear and 2 front USB3.0 and the rear USB2.0) are working fine. In El Capitan the speed of the 3.0 is only 480.

Thanks in advance

I never patched DSDT or renaming stuff (I think).... I just created a kext (see below) and placed it in SLE. ALL USB PORTS WORK NOW (4 USB3 BACK, 4 USB2 BACK, 1 USB3 FRONT, 3 USB2 FRONT). Hope this helps!

 

I'm finding solution for series 7 as well. @Gogeta5026 Was your board series 7?

  • Like 1
Link to comment
Share on other sites

Please read the Intel PCH specs, series 5/6/7/8/9/100 all have a 14 port limit

 

I understand PCH limitation, but still, Yosemite was also using PCH for USB right ?

So how is it possible for it to manage my 17 ports ?

 

I mean, on Yosemite, I could use all my 6 USB 3.0 ports at full speed, all my 4 USB 2.0 ports at full speed and my Bluetooth card aswell, or at least, I never noticed any restrictions on it.

Is it due (is that English ?) to the fact there is a new USB driver, and because it is not made for our hub, we redirect all our ports to XHC by default (but on Yosemite it was also XHC no ?) and we overfill it (is that English ?) but this is not what we should do (I don't think you will understand that question \o/) ?

 

In others words, do you THINK (I don't ask if you know it, I understand it is a little bit too early) there is another option to make our USB ports work, to avoid filling XHC, and make all our ports working ?

 

For example, do I have to redirect my Bluetooth card and my USB 2.0 port to XHC, is there nothing else which has the ability to make it work ?

Let's say my USB 3.0 ports to XHC and my USB 2.0 / Bluetooth on SOMETHINGLIKEXHC (I expect a nice "NO" from wegface / PJALM / RehabMan).

 

I don't have problems to make USB working for now, I just sacrifice one of my USB 3.0 port, but I like when all is working perfectly (who doesn't ?).

 

All my question are for technical knowledge, maybe not the best thread to do it, so my apologies wegface if you don't like my answer. ;)

 

And I'm truly sorry for my basic English in that post.

Link to comment
Share on other sites

Well, wasn't easy but is the only guide I finally understood!

Thanks wegface for supporting the community ;)

Attached is my edited Injector for the 8 Series Intel XHC on the GA-Z87-D3HP.

It works with iMac14,2 SMBIOS.

You need to Clover or directly DSDT patch EHC1 & EHC2 to EH01 & EH02.

It could be cleaner but it should work, don't know if I need all ports that I've injected.

The only problem is that the High Speed (2.0) ports get reported as 3.0 (with 480mb/s).

If someone could tell me what I'm doing wrong ;)

 

Edit: All is working fine now and reported correctly using RehabMan's FakePCIID + xHCIMux kexts  :P

USBZ87.kext.zip

WorkingUSB.tiff

  • Like 2
Link to comment
Share on other sites

http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/9-series-chipset-pch-datasheet.pdf

 

 

Universal Serial Bus (USB) Controllers

The PCH contains one eXtensible Host Controller Interface (xHCI) controller and two Enhanced Host Controller Interface (EHCI) controllers. The xHCI controller is mapped as PCI D20:F0 and it supports up to 14 USB 2.0 ports of which 6 can be configured as SuperSpeed (USB 3.0) ports.

EHCI controller 1 (EHCI1) is located at D29:F0 and it supports up to 8 USB 2.0 ports. EHCI controller 2 (EHCI2) is located at D26:F0 and it supports up to 6 USB 2.0 ports. One of the USB 2.0 ports in either EHCI controller can be used for a Debug Port (not available through xHCI).

USB 2.0 differential pairs are numbered starting with 0. USB 3.0 differential pairs are numbered starting with 1.

Regarding the optional USB Battery Charging Specification 1.x: Intel does not have a topology for Intel® 9 Series Chipset Family based platforms that can accommodate USB battery charging circuits robustly across the large install base of USB cables and High Speed (HS) devices. As such, Intel does not recommend that platforms exceed native supply currents defined in the USB specification for USB 2.0 ports. 

  • Like 3
Link to comment
Share on other sites

I just have to ask, should this apply to everyone? I just installed El Capitan and haven't noticed anything about this. I got a z68 board with iMac12,2 smbios. In DSDT I have EHC1 and EHC2, EHC1 with 8 ports and EHC2 with 6 ports. The original EHCI-kext seems to only include 1 port for EHC1 and 2 ports for EHC2, yet every single port seems to work for me. I have stuff internal, front ports, using almost all back ports.

 

I never realized this was a problem for some and just stumbled upon this post and had to ask. If it's just a matter of time if I get this problem I might as well "fix" it now.

 

EDIT: Checked some in IORegistry and seems like there only are 1 actual "port" on each EHCI and then followed by a HUB. Under the HUB-driver I can see each port.

Link to comment
Share on other sites

Bit of progress. Removed the injector and deleted what I thought were the onboard header ports in the DSDT and the OS boots fine now and USB3 speeds are working but some of the ports don't work obviously because the mapping is wrong I deleted the wrong ones.

 

This 15 port limit is annoying, there are 21 ports in my DSDT and it would probably fully work without any hacking or patching if there weren't a limit.

 

Just gotta figure out how to map the correct ports now.

Link to comment
Share on other sites

Bit of progress. Removed the injector and deleted what I thought were the onboard header ports in the DSDT and the OS boots fine now and USB3 speeds are working but some of the ports don't work obviously because the mapping is wrong I deleted the wrong ones.

 

This 15 port limit is annoying, there are 21 ports in my DSDT and it would probably fully work without any hacking or patching if there weren't a limit.

 

Just gotta figure out how to map the correct ports now.

 

 

It seems the key is to find a way to inject USB 2.0 ports into EHCI and not XHC, if I'm not wrong. Unfortunately, I don't know how to do it...

  • Like 1
Link to comment
Share on other sites

Of course people  can do what they like, there are no rules.

But that being said, good hacks remain as close to real macs in hardware and setup as is possible. The further you deviate from what osx expects, the worse the o.s will run. A no-brainer tbh.

When windows vista was released everyone was annoyed by UAC prompts and disabled it saying "we never had a security problem in the past" now this behaviour seems crazy. Apple putting SIP in el capitan is quite similar. Dont like the ways of new o.s, stay using an older one. Times change, keep up or get left behind. The choice is yours.....

Anyway, we deviate from topic......

 

:)

Edited by wegface
  • Like 1
Link to comment
Share on other sites

You can redirect the ports to the EHCI kext using RM's FakePCI kext but it will turn all ports into USB2.

Not true. It will only route the USB2 ports on XHCI to EHCI. USB3 ports continue to work on XHCI.

 

Apple has changed the way the new USB stack works and only uses XHCI now.

Not on all Macs. Some (mostly older) Macs still use EHCI. They do the port forwarding for USB2 on XHCI dynamically though and in a way not completely understood. Since FakePCIID_XHCIMux works for me, I haven't investigated further.

 

This is a non issue for them as no macs exceed the port limitation.

They work around the issue by having:

1) accurate ACPI implementation for _UPC

2) port injectors where that is not possible (eg. they didn't want to revise the Mac firmware)

  • Like 2
Link to comment
Share on other sites

THis thread is about Series 8 and 9 so when i say on newer macs i mean haswell macs, I did not make this guide for laptops or old hacks at all. I have said this many many times so please stop correcting me. Those who want to use your methods are free to do so. All my haswell/Broadwell Macs have no XHCI at all in the DSDT, SSDT or otherwise so this is how I chose to do mine. If you don't like this stick to your own methods please.

You wrote:

Apple has changed the way the new USB stack works and only uses XHCI now.
The USB stack in 10.11 is new for both XHCI and EHCI. You did not specify you were referring only to the USB stack running on certain Macs.

 

Your comment regarding FakePCIID_XHCIMux.kext is wrong, and I provided correct information regarding it.

Link to comment
Share on other sites

hi guys   :)

 

really thank to all of you for your involving in this thread  

 

but you have to know that we can not (and do not want) to censure people simply because there is divergence.

 

if you have in mind to share your knowledge and experience then in this case the divergent divergence is good especially when both parties respect the opinion of each other.

but if you have in mind something else then it's better for you to quit this thread instead of making this thread a battleground  taper.gif  

thank you for your understanding  

 

 

@Mickey

you beat me to it  344.gif

  • Like 4
Link to comment
Share on other sites

×
×
  • Create New...