Jump to content

USB-Fix for El Capitan

Intel AMD El Capitan USB-Fix for El Capitan

  • Please log in to reply
92 replies to this topic

#1
spakk

spakk

    this Bastard of Donald Trump signs today a war of religions

  • Local Moderators
  • 4,443 posts
  • Gender:Not Telling
  • Location:home
  • Interests:If you are being criticized, you are doing something right. Only who has the ball gets attacked<...
Hi folks,
I see it as appropriate, when we talk here about the USB problems that arise when installing El Capitan on intel/AMD Hackintosh, or my approach to use Yosemite kext drivers to fix the USB problems.
 
the first attempt V1, was for me the proof that it is the right way, the packet V2 has ultimately convinced me that it works. I do not need to patch any DSDT and all USB drives/ Ports operate as they have previously worked with Yosemite.
 


#2
RayLo23

RayLo23

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts

The main problem I was having is it kept refusing to replace certain kexts saying resource is busy. I was using Lion though. I can use my old intel hackintosh but it's a pain because I only have one case lol (until I get my tax refund). I'll let you know if it works on my amd 6300.



#3
RayLo23

RayLo23

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts

The main problem I was having is it kept refusing to replace certain kexts saying resource is busy. I was using Lion though. I can use my old intel hackintosh but it's a pain because I only have one case lol (until I get my tax refund). I'll let you know if it works on my amd 6300.

 

 

FYI, duh, it was fixed when I restarted Lion and used MyHack (not sure if I can mention that here). It's an older version though.

 

Also figured out the quote issue (obviously been awhile since I posted on a forum).



#4
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

Dear Spakk,

 

thank you very much for your work. 

 

I've broken my system so many times trying to fix the usb ports, that I would like to be sure I'm doing it this time right.

 

My specs: Asus Sabertooth Z97, i7 4690K , 32 GB Ram, El Captain 10.11.3

 

Is this correct?

 

Step 1. Delete

 

IOUSBFamily.kext,

IOUSBMAssStorageDriver.kext,

IOUSBMassStorageClass.kext

or rename all drivers in to *bak.

 

from /System/Library/Extensions/

 

Step 2. Install drivers ( kexts ) from the package. 

 

 

All of them from package v2 ? There are pretty many in it.

 

 

Does it mean I just have to copy them over to /System/Library/Extensions/ or use app like KextWizard?

 

Step 3. Fix permissions and renew kernel.

 

Just type below into terminal?

 

sudo chown root: admin /

sudo kextcache system-prelinked kernel

sudo kextcache system caches 



#5
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,128 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

There's been quite a few topics and discussions on the matter. Rehabman has a substantial and most excellent guide for USB ports fixing under ElCapitan.

 

I, for one, stick to the USBinjector kext that I adjust according to my IOReg/DSDT. It's extremely simple and brings all USB ports to life within a matter of minutes:

1) Checkup DSDT code for devices EHC1, EHC2, XHCx

2) Rename USB2.0 controllers from EHC1/EHC2 to EH01/EH02 in the DSDT

3) Make a good/thorough note of all ports as listed under EH01/EH02, knowing that multiple ports may all be listed under a hub called PR01 or similar

4) Tune your USBInjector kexts so that:

  • it shows the correct port-count under each controller
  • each port or hub is set with its correct number
  • each port or hub is set to UsbConnector type 0 or 3 (0 is for USB2.0 type, 3 is for USB3.0 type)

5) Place USBInjector kext in /E/E, repair permissions and rebuild cache

6) Reboot and all USB ports should be functional

 

It makes for a much better solution than rolling back kexts from an earlier OS X version.

 

Example with Dell Latitude E6440:

  • Original unpatched DSDT shows 2 x USB2.0 controllers: EHC1 and EHC2
  • ECH1 controller has hub PR01, under which 8 ports are listed: PR11 to PR18
  • ECH2 controller has hub PR01, under which 6 ports are listed: PR11 to PR16
  • Devices ECH1 and EHC2 get renamed respectively to EH01 and EH02 in the DSDT
  • SMBIOS MacBookPro11,1 being used, Info.plist file of USBInjector kext is configured with:
  1. USB2.0 controllers MacBookPro11,1-EH01 and MacBookPro11,1-EH02

  2. Under MacBookPro11,1-EH01, port-count set to 1 and port (i.e. hub) PR01 is set to USBConnector = 3 and port = 1

  3. Under MacBookPro11,1-EH02, port-count set to 1 and port (i.e. hub) PR01 is set to USBConnector = 3 and port = 1

Attached File  E6440_USBInjector.jpg   90.64KB   57 downloads
 


#6
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

There's been quite a few topics and discussions on the matter. Rehabman has a substantial guide for USB ports fixing under ElCapitan.

 

I, for one, stick to the USBinjector kext that I adjust according to my IOReg/DSDT. It's extremely simple and brings all USB ports to life within a matter of minutes:

1) Checkup DSDT code for devices EHC1, EHC2, XHCx

2) Rename USB2.0 controllers from EHC1/EHC2 to EH01/EH02

3) Make a good/thorough note of all ports as listed under EH01/EH02, knowing that multiple ports may all be listed under a hub called PR01 or similar

4) Tune your USBInjector kexts so that:

  • it shows the correct port-count under each controller
  • each port is set with its correct number
  • each port is set to USBconnector type 2 or 3 (2 is for USB2.0 type, 3 is for USB3.0 type)

5) Place USBInjector kext in /E/E, repair permissions and rebuild cache

6) Reboot and all USB ports should be functional

 

Sounds fun, but after step 2:

 

I could never boot again to my system and had to reinstall the system and all programs, what is a problem, as I use the hack as my main work machine:(

 

Not to mention that steps like "checking dsdt code" sound like magic for me. I will learn more, but doubt if I will gain enough knowledge to follow this procedure.



#7
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,128 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

Post your IOREg and DSDT, I'll look into it.

 

It's easy enough to save the revised DSDT under a name such as "DSDT_new.aml" and manually call that revised DSDT at boot time. If it kills the installation, you just reboot without any option and revert to the previous working DSDT. Then Bob's your uncle... It really is how anyone should test DSDT in a safe manner.



#8
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

Post your IOREg and DSDT, I'll look into it.

 

It's easy enough to save the revised DSDT under a name such as "DSDT_new.aml" and manually call that revised DSDT at boot time. If it kills the installation, you just reboot without any option and revert to the previous working DSDT. Then Bob's your uncle... It really is how anyone should test DSDT in a safe manner.

 

Thank you. How do I make a copy of my DSDT? I've tried using dsdt editor, but when I choose "extract dsdt" nothing shows up:( 

( I'm using clover to boot if it matters and I boot from my harddrive, not usb flashdrive  )



#9
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,128 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

You may have a patched DSDT in CLOVER/ACPI/patched folder of your EFI partition. Not a good sign if DSDTEditor cannot extract the DSDT (or show the loaded patched one) but you may try with Chameleon Wizard. You can extract the DSDT through the DSDT tab. Failing that, you can also try MacIASL. Clover also normally has the facility to extract all raw tables by pressing F4 at startup.

 

If none of those work, then there is an underlying issue. If you still have Windows, you can use Aida64 (can't remember the exact edition) to extract all your BIOS tables, including the DSDT.



#10
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,128 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

So, your your default USB2.0 (built-in) ports arrangements are as follows:

Attached File  USB2.0ports_IOReg.jpg   88.53KB   40 downloads

 

In the DSDT this is reflected by:

  • EHC1 controller @001D0000, 1 x hub PR01, 8 x ports numbered PR11 to PR18
  • EHC2 controller @001A0000, 1 x hub PR01, 6 x ports numbered PR11 to PR16

 

So those 2 x devices must be renamed to EH01 and EH02 in the DSDT. Then, you create your USBInjector kext where the plist contains:

1) an entry for controller MacPro3,1-EH01 with:

  • port-count = 1
  • port PR01 with UsbConnector = 0 and port (number) = 1

2) an entry for controller MacPro3,1-EH02 with:

  • port-count = 1
  • port PR01 with UsbConnector = 0 and port (number) = 1

 

You can grab my posted kext and edit the Info.plist file with a downloaded copy of PlistEditPro if you want (a TextEditor won't easily do due to XML format).



#11
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

So, your your default USB2.0 (built-in) ports arrangements are as follows:

attachicon.gifUSB2.0ports_IOReg.jpg

 

In the DSDT this is reflected by:

  • EHC1 controller @001D0000, 1 x hub PR01, 8 x ports numbered PR11 to PR18  -- > EDIT - This would be USB 2.0 ports ?
  • EHC2 controller @001A0000, 1 x hub PR01, 6 x ports numbered PR11 to PR16 -- > EDIT  - This would be USB 3.0 ports ?

 

Please let me take is step by step to understand well.
 

This 14 ports of USB2.0 type, which you have found are: ( I marked red from my specs for my motherboard )

 

Intel® Z97 chipset : 
6 x USB 3.0/2.0 port(s) (2 at back panel, blue, 4 at mid-board)

 

ASMedia® USB 3.0 controller : 
2 x USB 3.0/2.0 port(s) (2 at back panel, blue)

 

Intel® Z97 chipset : 
8 x USB 2.0/1.1 port(s) (4 at back panel, black, 4 at mid-board) 

 

If that is correct, I should change:

 

So those 2 x devices must be renamed to EH01 and EH02 in the DSDT.

 

Can I change it via MaciASL ? 



#12
spakk

spakk

    this Bastard of Donald Trump signs today a war of religions

  • Local Moderators
  • 4,443 posts
  • Gender:Not Telling
  • Location:home
  • Interests:If you are being criticized, you are doing something right. Only who has the ball gets attacked<...

Hi arstherapia, have you tries the haswell.dmg from rampagedev? Rampagedev has created a matching SSDT.aml for your motherboard, moreover, still a SSDT-1.aml with USB Patch for 10.11 for Clover bootloader. click here

 

or download the attachment

Attached Files



#13
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,128 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

Please let me take is step by step to understand well.
 

This 14 ports of USB2.0 type, which you have found are: ( I marked red from my specs for my motherboard )

 

Intel® Z97 chipset : 
6 x USB 3.0/2.0 port(s) (2 at back panel, blue, 4 at mid-board)

 

ASMedia® USB 3.0 controller : 
2 x USB 3.0/2.0 port(s) (2 at back panel, blue)

 

Intel® Z97 chipset : 
8 x USB 2.0/1.1 port(s) (4 at back panel, black, 4 at mid-board) 

 

If that is correct, I should change:

 

 

Can I change it via MaciASL ? 

Your ASMedia add-on card is a totally separate thing; I presume it's a PCIe card and, as such, I expect it to operate through its own driver. So let's forget about it here.

 

The changes I've mentioned apply ONLY to the on-board ports. that's why I wrote "USB2.0 (built-in) ports"... I have not looked at USB3.0 ports. Let's look at USB2.0 ports 1st.  In terms of controllers fitted to your motherboard:

  1. EHC1 is USB2.0 EHCI controller #1
  2. EHC2 is USB2.0 EHCI controller #2

 

For your info, USB controllers can be of the following types/standards:

  • EHCI for USB2.0 controllers,
  • XHCI for USB3.0 controllers
  • UHCI for USB1.x controllers
  • OHCI for USB1.1 controllers

Hence the name of associated devices in computers' DSDT and of Apple USB drivers in El Capitan (AppleUSBUHCIxxx / AppleUSBOHCIxxx / AppelUSBEHCIxxx / AppleUSBXHCIxxx as PlugIns of /S/L/E/IOUSBHostFamily kext).

 

With your additional info, we now know that you have 6 x combo USB3.0/USB2.0 capable ports and 8 x combo USB2.0/USB1.1 capable ports. Nevertheless, it's the UHCI controller(s) that'll manage USB1.0/1.1 devices, the ECHI controller(s) that'll manage USB2.0 devices and XCHI controller(s) that'll manage USB3.0 devices.

 

You'll find more info on the matter at the following links:

https://en.wikipedia...(USB,_Firewire)

http://forum.osxlati...113/#entry56896

 

Yes, modify your DSDT with MacIASL (make sure to keep a backup of course!).



#14
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

Hi arstherapia, have you tries the haswell.dmg from rampagedev? Rampagedev has created a matching SSDT.aml for your motherboard, moreover, still a SSDT-1.aml with USB Patch for 10.11 for Clover bootloader. click here

 

or download the attachment

{censored}. I've done this and cannot access my computer now. It hangs on ... please press del or f2 to enter bios setting... but even that is not responding... {censored} {censored} {censored}.



#15
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

I managed to get to clover boot via pendrive and when booting from my hdd in safe mode, it hangs on:

 

usb sound assertion in buildroot/Library/Caches/com.apple/xbs/...


After unplugging the usb soundcard, it hangs on iobluetooth. From what I've read, this has smth to do with graphics, so I tried to:

 

a) inject nvidia drivers via clover boot options - no luck

B) start in safe mode - no luck either.

 

wtf?


I think I've tried pretty everything. Booting in verbose mode, in safe mode, injecting nvidia, changing smbios options to MacPro 3,1... still it's a no go.



#16
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

Any suggestions, fellows? I'm kinda in panic:(



#17
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,128 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

Hold on, I'll have a go at patching your DSDT and preparing your USBInjector kext.

 

I take it you did not save your patched DSDT under a different name that you called from the Clover config menu, right? Try and do that. If you had no DSDT before, make no reference to DSDT in the Clover menu entry.



#18
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

Thank you, Herve, my last hope is in you:)

That's strange, even if I delete the reference to DSDT in clover menu, set smbios to the one I used to succeed in booting - MacPro 3,1 and inject the nvidia drivers, I still cannot boot to my os - apple logo, bar progressing to the end and no-go further...

 

It happened many times before after installing clover bootloader via clover configurator or clover install. I always had to reinstall the system and all of programs, that is really a lot. I hope this time I will be more successfull with your help...

 

Thanks once again.

 

EDIT: I've tried to boot with -x -v -f GraphicsEnabler=NO nv_disable=1 , but still no success. Hangs on IOBluetoothHostController... 



#19
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,128 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

Here goes. Place DSDT file in CLOVER/ACPI/Patched and USBInjector kext in CLOVER/kexts/10.11. When you boot, go to Clover config menu and specify DSDT_new.aml. Hopefully, this'll work.

 

Attached File  DSDT_new.zip   23.28KB   81 downloads Attached File  USB_Injector.kext.zip   2.53KB   148 downloads



#20
arstherapia

arstherapia

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts

Thank you so much! 

Just tell me please, how can I place this if I cannot boot into desktop...


I've managed to copy the files, however, it's still won't boot. Must have something wrong with clover bootoader, maybe the config.plist is wrong? I've also change it to different right before the crash... 








0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2017 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy