Jump to content

93 posts in this topic

Recommended Posts

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.

 


Share this post


Link to post
Share on other sites
Advertisement

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.

Share this post


Link to post
Share on other sites

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).

Share this post


Link to post
Share on other sites

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 

Share this post


Link to post
Share on other sites

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

post-851564-0-52505300-1454372091_thumb.jpg
 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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  )

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

post-851564-0-83000400-1454417341_thumb.jpg

 

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).

Share this post


Link to post
Share on other sites

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 ? 

Share this post


Link to post
Share on other sites

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

Haswell.dmg.zip

Share this post


Link to post
Share on other sites

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.org/wiki/Host_controller_interface_(USB,_Firewire)

http://forum.osxlatitude.com/index.php?/topic/8730-asuspro-b53a-el-capitan-10113/&do=findComment&comment=56896

 

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

Share this post


Link to post
Share on other sites

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}.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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... 

Share this post


Link to post
Share on other sites

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... 

Share this post


Link to post
Share on other sites

Avoid changing too many things, that's the best way to reach chaos. I don't really use Clover but, in case it uses "DSDT.aml" by default if such a file exists, you may try to force Clover to use a non-existing file, i.e. bypass the patched DSDT. You can try to refer to something like DSDT=None or DSDT=JoeBloggs to that effect.

 

Anyway, we're getting far too off-topic. Get your system back on line, then try the files I posted.

Share this post


Link to post
Share on other sites

Enoch r2795. Works great for El Capitan. That's the only bootloader I use these days.

  • Needs DSDT + boot plist + SMBIOS plist in /Extra
  • Kexts for injection (no caching) go to /Extra/Extensions from where they're loaded at boot time if option KernelBooter_kexts is set to Yes
  • Kexts for caching go to /Library/Extensions (or /S/L/E)

Which Haswell CPU you have? i7-4690K does not exist. i5 does though... You'll probably also need option KernelPm set to Yes too.

Share this post


Link to post
Share on other sites

Haswell, yes. i7 4790K . I already have dsdt thanks to you, would need this smbios plist I guess. How can I get this? Would be grateful if you could help me with Enoch...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By DOGER92
      Hi guys, I'm new to the world of Hackintosh. I write in this section because I have a problem with the graphics card of my laptop. As far as I understand from the web, it is not possible to use a dedicated graphics card on a laptop. So I'm trying to use the integrated processor one. The problem is that I have tried various procedures seen online, but in spite of this I cannot solve the problem. If you need this is the equipment of my laptop:

      Asus VivoBook Pro 15 N580VD-FI038T

      Screen: Led 15.6” 16:9 (Ultra HD 3480x2160).
      Chipset: Intel HM175.
      Cpu: Intel Core i7-7700HQ (2.80 GHz / 3.80 GHz, 4 core, 6 MB CACHE L3).
      Graphics Card: INTEL HD Graphics 630 + NVIDIA GeForce GTX 1050 4 GB GDDR5.
      Hard Disk: SSD M.2 512 GB SATA 3.0 + SSD 750GB.
      Ram: 32GB DDR4-2666.
      Audio: audio stereo Harman Kardon.
      Webcam: webcam HD with integrated headphone.
      Lan: Intel LAN 10/100/1000, Wi-Fi 802.11ac (2x2), Bluetooth 4.2.
      USB: 2 x USB 2.0, 1 x USB 3.0, 1 x USB 3.1 Type-C Gen 1, 1 x HDMI, 1 x LAN RJ-45, 1 x jack
      Slot: 1 x SD.

      I hope there is someone who can help me with this problem
    • By D3s0lat0r
      Greetings to the Forum,
      i recently followed a guide on hackintosh,and also i am complete noob in this field.
      all is working great, as i am using macpeets codec with layout id=18 cause i like to manually switch to my headphones.
      only one thing doesnt work and its my mic. I tried all the layout ids but no luck.
      i am using ASROCK Fatal1ty b450 k4 with amd r5 2600.
      wich has alc 892.
      Can you please help me? Thank you very much
    • By sierra2600
      The laptop in question: Acer TravelMate 8472 TM8472 (Model: ZQ3) (refer to the "Spoiler" at the end if you want the machine specs)
       
      "So what are you bugging us for?" Good question, because I am usually an introvert and usually just keep looking for answers but I could not find some. Jumping to it...
      What does not work and I would like thoughts on:
      Bluetooth does not register, used to on previous installs (sorry, I did not pay attention to see if this was caused by me updating to 10.8.5 but that was necessary for the below functions) (It does not work in Debian either - Ignore) LAN and WLAN  - I have found Kexts (somewhere, I think I just lost them... dang it...) for the WLAN but I have yet to try them, nothing for the LAN I know this is cheating but I read that The NDISulator for FreeBSD (HINT HINT) is a port of NDISwrapper for Linux that runs Windows XP network drivers in Linux or BSD Brightness controls work from the middle down on the "Sun" brightness overlay, I got this far from following this: https://www.insanelymac.com/forum/topic/287133-guide-backlight-brightness-for-intel-80860046-1st-gen-hd-gma-5700mhd/ but I am kind of thinking of trying: https://www.insanelymac.com/forum/topic/287133-guide-backlight-brightness-for-intel-80860046-1st-gen-hd-gma-5700mhd/?do=findComment&comment=2214344 . My "magic number" is: 0xF        I used DSDTEditor in Windows, since I figured all the drivers are loaded, to extract the DSDT and compile something that somewhat works... Wake from sleep issue - I tried the above guide for that but I get a no backlit display and I can see that the cursor in the password field is not flashing when I use an external light source, but it will reboot when I press Ctrl + Alt + Power "button" (it is actually a slider) and then also clear my freaking CMOS right down to the clock... yeah I have the ACPI fix implmented and it usually works... DVD Player.app reports that no viable video device was found (personally I don't care about the DVD Player.app problem, just wanted to put that out there for the heck of it) The microphone port always sounds like it is going through a [dirty] guitar effects petal no matter what sliders are adjusted  
      Likely causes of:
      Bluetooth (BCM92046), WIFI (BCM943225HM) - So, I USED TO be able to turn on the WIFI from within Windows then reboot into Mac OS and have it work but I noticed recently that the indicator light for them turns off BEFORE it reboots now. When Windows or Android load, it lights up- "No... really, captain obvious?!"... anyways... working "No really Sherlock!" so OBVIOUSLY, the OS has to activate them... and preferably ignore the wireless switching button For the WIFI module, if you omit the 9 and HM in a search, results appear! Brightness - Will get reset to full "Bright light! Bright light!" when a "Load System Defaults" is applied from within the BIOS settings but like the WIFI and Bluetooth the OS will forcefully take control of it Microphone In sounding dirty - me being lazy with the audio drivers LAN (BCM57760) - I dunno...  when I search it, nothing comes up...  
      "How did you get this far?"
      Update the BIOS, this is oh so very important (refer to the battery section of the "Spoiler" for the reson) PLEASE BACKUP YOUR BIOS FIRST! PLUG THE MACHINE INTO THE AC ADAPTER/CHARGER! DO NOT FORCE THE COMPUTER TO SHUTDOWN NOR REMOVE THE BATTERY NOR UNPLUG IT FROM THE AC ADAPTER/CHARGER WHILE IT IS UPDATING! I WILL NOT BE HELD LIABLE FOR BRICKED MACHINES! So it will boot off of the (Niresh) Mac OS X 10.8 with no changes to anything "Awesome" but you may still need at least a USB mouse "Aww" If you have the option to remove the display drivers/kexts otherwise it will not to boot or not display If you forgot this, breathe "You think that's air your breathing?"... anyways... during the bootloader, go into single user mode [ -s ] and follow the on screen instructions to allow for modifying the files. You will want to PREFERABLY create a folder where Mac OS cannot read them and move the IntelHDGraphics Kexts into it You are likely going to need an external USB keyboard as well now that it is installed Now install the described Kexts in the "Spoiler" associated with the hardware to get more functionality and loose the USB HICs  
      Any help pertaining to the Bluetooth, WIFI, LAN, bizarre brightness and wake after sleep backlit display issue would be wonderful... Thank you for your time and I hope that I helped anyone else out with some of their own issues pertaining to the Acer TravelMate 8472 TM8472 ZQ3 no nVidia with i5 laptop...
      (Attached are non-modified extracted DSDT DSL and AML files "with errors according to DSDTEditor" for reference of the machine with a Phoenix BIOS version of 1.28 (07/20/2011))
      dsdt.aml
      dsdt.dsl
       
       
×