Jump to content
shiecldk

Patched AppleUSBXHCI v710.4.11 (10.10.5)

By shiecldk ( Find their other files )

1 Screenshot

About This File

Warning: This driver is made for none-Intel chipset USB3.0 controllers.

 

This AppleUSBXHCI.kext is based on Zenith432's patch.

Original Topic

 

Please install this driver to /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns.

Alternatively, you can use Clover's KextsToPatch with the following Binary patch.

 

Binary patch description (Hex & Assembly Codes):

 

 

10.9.*

 

 

Disable Intel & Fresco Logic USB3.0 controllers check:



000000000000ffc4 jne 0x10000F6 80 D4 00 00 00 80 75 3A-->000000000000ffc4 jmp 0x10000F6 80 D4 00 00 00 80 EB 3A
 

This one is actually 75 3A-->EB 3A, but there are more than one 75 3A in the binary.

Disable XHCI 1.0 check:



00000000000100ab cmpw $0x100, %ax66 3D 00 01-->00000000000100ab cmpw $0x000, %ax66 3D 00 00
 

Patch MSI or pin interrupts:



0000000000012301 orl $0x400000, 0x8(%rcx)81 49 08 00 00 40 00-->0000000000012301 orl $0x000000, 0x8(%rcx)81 49 08 00 00 00 000000000000013460 movl $0x400000, 0x8(%r15)41 C7 47 08 00 00 40 00-->0000000000013460 movl $0x000000, 0x8(%r15)41 C7 47 08 00 00 00 000000000000013686 movl $0x400000, 0x8(%r15)41 C7 47 08 00 00 40 00-->0000000000013686 movl $0x000000, 0x8(%r15)41 C7 47 08 00 00 00 00
 

Disable the sleep code leaving the controller in non-working state after wake:



000000000000568e movb $0x1, 0xc8(%rax)C6 80 C8 00 00 00 01-->000000000000568e movb $0x0, 0xc8(%rax)C6 80 C8 00 00 00 00
 

Enable PCI power management if there is no such code in DSDT:



00000000000056f6 jne 0x5bc575 4D 48 8B BB E8 01 00 00-->00000000000056f6 jmp 0x5bc5EB 4D 48 8B BB E8 01 00 00
 

This one is actually 75 4D-->EB 4D, but we can't be sure if next OSX update would bring more than one 75 4D in the binary.

 

 

10.10.*

 

 

Disable Intel & Fresco Logic USB3.0 controllers check:



000000000000ffc4 jne 0x10000F6 80 D4 00 00 00 80 75 34-->000000000000ffc4 jmp 0x10000F6 80 D4 00 00 00 80 EB 34
 

This one is actually "75 34"-->"EB 34", but there are more than one "75 34" in the binary.

Disable XHCI 1.0 check:



0000000000012160 cmpl $0x100, %eax ## imm = 0x10041 BC C7 02 00 E0 3D 00 01 00 00-->0000000000012160 cmpl $0x000, %eax ## imm = 0x00041 BC C7 02 00 E0 3D 00 00 00 00
 

This one is actually "3D 00 01 00 00"-->"3D 00 00 00 00", but there are more than one "3D 00 01 00 00" in the binary.

Patch MSI or pin interrupts:



00000000000144a3 orl $0x400000, 0x8(%rcx) ## imm = 0x40000081 49 08 00 00 40 00-->00000000000144a3 orl $0x000000, 0x8(%rcx) ## imm = 0x00000081 49 08 00 00 00 00000000000001574c movl $0x000000, 0x8(%r15) ## imm = 0x40000041 C7 47 08 00 00 40 00-->000000000001574c movl $0x000000, 0x8(%r15) ## imm = 0x00000041 C7 47 08 00 00 00 0000000000000159bc movl $0x400000, 0x8(%r15) ## imm = 0x40000041 C7 47 08 00 00 40 00-->00000000000159bc movl $0x000000, 0x8(%r15) ## imm = 0x00000041 C7 47 08 00 00 00 00
 

Disable the sleep code leaving the controller in non-working state after wake:



000000000000641e movb $0x1, 0xc8(%rax)C6 80 C8 00 00 00 01-->000000000000641e movb $0x0, 0xc8(%rax)C6 80 C8 00 00 00 00
 

Enable PCI power management if there is no such code in DSDT:



0000000000006486 jne 0x64d575 4D 48 8B BB E8 01 00 00-->0000000000006486 jmp 0x64d5EB 4D 48 8B BB E8 01 00 00
 

This one is actually "75 4D"-->"EB 4D", but we can't be sure if next OSX update would bring more than one "75 4D" in the binary.

 

 

 

Chipset Compatible List: (Working/Semi-working)

Please feel free give some feedbacks, if your chipset is not on this list, or if you think there is something wrong about the list. ;)

NEC/Renesas:

D720200

D720200a

D720201

D720202

D720210

Etron:

EJ168

EJ168a

EJ188

EF198

Fresco Logic:

FL1000

FL1009

FL1100

VIA:

VL800

VL801

VL805

VL806

Texas Instruments:

TUSB7320

TUSB7340

ASMedia:

ASM1042

 

If this driver doesn't work for you, restore the original AppleUSBXHCI.kext and check out Zenith432's GenericUSBXHCI.kext.


What's New in Version v710.4.11 (10.10.5)   See changelog

Released

No changelog available for this version.




User Feedback

Recommended Comments



OSX 10.10.2 Binary patch for Clover (r3156) is working ! (Renesas/Nec uPD720200 chip- ASUS U3S6 combo USb3-SATA III)

 

Thank you !

 

Also works for me with my Renesas uPD720201 on Clover r3241 but I have a doubt with the MSI pin interrupts patch, the second and third patch is the same! I actually works on my system, but I only made 2 of the 3 patches for MSI.

 

Maybe I made the patches wrong. Can somebody guide me?

 

Screen%20Shot%202015-07-11%20at%2012.32.

 

Cheers!

Share this comment


Link to comment
Share on other sites

 

Also works for me with my Renesas uPD720201 on Clover r3241 but I have a doubt with the MSI pin interrupts patch, the second and third patch is the same! I actually works on my system, but I only made 2 of the 3 patches for MSI.

 

Maybe I made the patches wrong. Can somebody guide me?

 

Screen%20Shot%202015-07-11%20at%2012.32.

 

Cheers!

 

I have the same doubts. If the 2nd and 3rd patches are the same, do I have to use both of them or only the first one?

My system is a ga-h57m-usb3 (Renesas/Nec uPD720200) and I got it working using the patch in Clover, but with Lacie Rugged USB3 Thunderbolt drives I can't write to the drives, only read.

When I start writing something the operation hangs and then I have to unplug/plug to get the drive working again. With other drives (seagate, samsung, or powered desktop drives) it works great.

Had the same problem with GenericUSBXHCI.

 

Also, with powered drives, sleep won't work because when the drive goes to sleep, it automatically powers up again, touching USB and waking the computer.

 

I'm on Yosemite 10.10.4 now, but in Mavericks it worked fine.

Share this comment


Link to comment
Share on other sites

Anyone tried this with El Capitan (10.11) ?

I'll work on this after it officially release (in the autumn I guess?), as I am quite busy these days. ;)

 

 

Disable the sleep code leaving the controller in non-working state after wake :

 

 

The code is not dependant to kext or OS version?

You can use hex edit apps to patch it back if you don't want it.

 

Find:

C6 80 C8 00 00 00 00

Replace:

C6 80 C8 00 00 00 01

 

 

the second and third patch is the same! I actually works on my system, but I only made 2 of the 3 patches for MSI.

 

I have the same doubts. If the 2nd and 3rd patches are the same, do I have to use both of them or only the first one?

Yes, they happened to be the same, but they are in different addresses. If they are the same, you can of course write only one time in Clover, but writing in two times is fine also.

I just want to show people where the patches are located, so that if anyone can read assembly, they'll be able to disassemble AppleUSBXHCI with otool and patch it on their own in the future updates without my help.

Share this comment


Link to comment
Share on other sites

@Mirone

Have you solved your ASM1042? Maybe you can try updating the firmware first.

I found these USB3 kexts for your ASM1042 when I was searching for gfxutil.

In fact, I already known these drivers years ago, but it seems only these two kexts work well for ASM1042 after I google them today. ;)

Share this comment


Link to comment
Share on other sites

@Mirone

Have you solved your ASM1042? Maybe you can try updating the firmware first.

I found these USB3 kexts for your ASM1042 when I was searching for gfxutil.

In fact, I already known these drivers years ago, but it seems only these two kexts work well for ASM1042 after I google them today. ;)

 

 

At this point in time I would do anything just to get rid of the USB kernel panic in 10.10.11 GM Release Candidate.  It's ironic because I have both the ASM1042 device and ASM1072 hub chipsets on my Asus Z97 and I have no issues booting 10.11 but on my Asus X79 with the same chipsets I cannot get past a kernel panic?  I tried some suggestions and none have helped.  Disabling the USB3 Asmedia in Bios does not help either.  Any other suggestions would be greatly appreciated.  Links to the posts I made showing the panic and a link to a potential solution which did not help.

 

Link:

 

http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2166920

 

 

Edited:

 

On my Asus X79-Deluxe the Kernel Panic is caused by AppleUSBHostMergeProperties.kext, process of elimination!!   Once removed from the IOUSBHostFamily.kext plugins folder, the panic goes away but so does the ability to mount any USB drive :)  Working with a developer I know to troubleshoot the cause and for a possible fix.  The info.plist is full of devices in there.

 

Edited:

 

Actually this is incorrect its not the HostMergeProperties but rather the AppleUSBXHCIPCI.kext causing it because if I use the Dummy Kext from the EL Capitan USB3 fix thread but completely stripped down to OSXBundle version 1.0, I can get past the panic because it disables XHCIPCI due to bundle version difference for XHCIPCI.  The only drawback is no USB3 will work period, not even a PCIe USB3 card.

Share this comment


Link to comment
Share on other sites

Thanks a lot, but confirmed not working with ASMedia 1042, even with newest patches.

USB 3.0 is detected with Host Controller Driver: AppleUSBXHCI, but the port is shut down.

Tested on Mavericks, where GenericUSBXHCI works fine.

Share this comment


Link to comment
Share on other sites

hi guys. same problem for me. i have rampage IV extreme with asm1042 and latest patched usbxhci (for 10.10.5 obviously) is not working here 

 

even updating firmware to latet version 130125 nothing changed

 

asm1042 is recognized, and it gives power (hdd and pend drive led are on), but they don't work

 

i'm running 10.10.5

Share this comment


Link to comment
Share on other sites

Any plans for OS X El Capitan? Would make fixing USB ports so much easier.

I'm on this boat, too.

 

Strangely enough, my D720201 card is detected on 10.11, I can even connect a USB3 drive, but it won't mount on Finder until many minutes and it's painfully slow. Not even USB 1.0 speed. It slows down my system like a lot.

 

This is without any kind of patching.

 

I need help. I got used to USB 3 speeds :(

 

Cheers!

Share this comment


Link to comment
Share on other sites

Hi Shiecldk,

following your binary patch description (different addresses)  i patched AppleXHCI for OSX Montain Lion 10.8.5.

(Nec Reneas d720200 USB 3.0 controller)

 

It works fine.

Thanks

Share this comment


Link to comment
Share on other sites

Has anybody tried installing a Yosemite 10.10 IOUSBFamily.kext and this kext in El Capitan? Similar to a rollback. Nobody seems to be working on a fix.

Share this comment


Link to comment
Share on other sites

@GhostRaider,  I did try but you get a lot of dependency errors and then it won't load.  I am unsure how to fix the dependencies atm.  Apple normally release all the sources once their next version is released and I see 10.11.1 was released yesterday.  I don't know when El Capitan's 10.11 IOUSBFamily source will be released or if Apple will ever release it?

Share this comment


Link to comment
Share on other sites

does the clover binary patch work with 10.9.5? I have the fl1009 and the via 800/801. do I need to make any additional changes? and do I need to move the kext from system/library extensions to the efi /clover /kexts folder?

 

running ga-x79s-ud5-wifi bios f4

Share this comment


Link to comment
Share on other sites

@shiecldk

thanks again for the patch, its working great in all drives but Lacie rugged or the small orange drives. When i plug them, they mount OK and you can read at USB3.0 speeds, but if you try to write something larger than 10MB maybe, the drive ejects itself or just fails after slowly copying some MBs to the drive ("can't write to disk" or something like that)

 

I use renesas D720200 with the patch applied in clover configurator on Yosemite 10.10.5

Share this comment


Link to comment
Share on other sites

update - i ended up going to yosemite 10.10.5....i placed the appleusbxhci kext in the plugins folder, did permissions repair, rebuild kext cache with kext wizard, then made sure to use kernel flag UseKernelCache=Yes....a few usb adapters don't work, but drives, both wall powered and bus powered, do for the most part. woohoo!

Share this comment


Link to comment
Share on other sites
Any chance for a 10.11 version that can enable full support for the Renesas d720200 USB 3.0 controller? x2

Share this comment


Link to comment
Share on other sites

Hi, I'm using this on an imac (yosemite) with a this card (Renesas-D720202), then a splitter to 2 usb 3.0 ports. The drivers works but only one usb 3.0 port is working at full speed at the same time: If I plug two usb 3.0 drives, one is recognised as "Superspeed bus" (5Gb/s) while the other as "High-Speed bus" (480Mb/s). If i only plug one drive at a single port it works at 5Gb/s (I can switch port and same speed).

 

Is this a limitation on the kext? or is the card (in the specs it's specified it allows 2 usb 3.0 ports)?

 

Thanks!

Share this comment


Link to comment
Share on other sites

×