Jump to content

Patched AppleUSBXHCI v710.4.11 (10.10.5)


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.

 Share


User Feedback

Recommended Comments



S

 

Is there any way to patch AppleUSBXHCI to make it work with 3rd party controller in Sierra/High Sierra?

something like this http://www.insanelymac.com/forum/files/file/150-patched-appleusbxhci/

04:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller [1912:0014] (rev 03) (subsys 1912:0015) in

 

or any other way to make it work?

thanks

Second this request.....the older LaCie driver I patched back in the day, doesn't work on High Sierra anymore...

  • Like 1
Link to comment
Share on other sites


×
×
  • Create New...