Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
Zenith432

Patched AppleUSBXHCI from OS 10.8.2

146 posts in this topic

Recommended Posts

Hello and thanks for this kexts, I have a question.

 

I have a n5110 with 10.8.4, and with the last update kexts work ok, but if I have a usb plugged in usb3 port, i got kernel panic on boot, but if I unplug the usb, boot ok. 

 

 

Sorry for my bad english.

 

Can anyone help me???

 

Thanks a lot!

Share this post


Link to post
Share on other sites

Updated to 10.8.5:

 

"Intel & Fresco Logic USB3.0 controllers check" code had been changed after 10.8.5. So I changed the patch to this one:

0000000000010192 jne 0x101ce
75 3a
--->
0000000000010192 jmp 0x101ce
EB 3a

But there are more than one "753a", so we have to replace "753a488b05ed9e0000" with "eb3a488b05ed9e0000" instead.

Other patches are still same as previous Mountain Lion's versions which you can see in this post.

10.8.5_Patched AppleUSBXHCI.kext.zip

 

PS. After updating to 10.8.5, some USB3.0 device errors disappeared in Console app.

Share this post


Link to post
Share on other sites

Updated to 10.8.5:

 

"Intel & Fresco Logic USB3.0 controllers check" code had been changed after 10.8.5. So I changed the patch to this one:

0000000000010192 jne 0x101ce
75 3a
--->
0000000000010192 jmp 0x101ce
EB 3a

But there are more than one "753a", so we have to replace "753a488b05ed9e0000" with "eb3a488b05ed9e0000" instead.

Other patches are still same as previous Mountain Lion's versions which you can see in this post.

attachicon.gif10.8.5_Patched AppleUSBXHCI.kext.zip

 

PS. After updating to 10.8.5, some USB3.0 device errors disappeared in Console app.

Wow. You rock the world!

Share this post


Link to post
Share on other sites

It's just perfect, thx shiecldk

 

Clover patch for 10.8.5 :

 

 

<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				dSZIi7voAQAA
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				6yZIi7voAQAA
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				dTpIiwXtngAA
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				6zpIiwXtngAA
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				Zj0AAQ==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				Zj0AAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				gUkIAABAAA==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				gUkIAAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				QcdEJAgAAEAA
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				QcdEJAgAAAAA
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				QcdGCAAAQAA=
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				QcdGCAAAAAA=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				xoDIAAAAAQ==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				xoDIAAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				dSZIi7voAQAA
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				6yZIi7voAQAA
				</data>
			</dict>
		</array>

 

 

 

Share this post


Link to post
Share on other sites

Update to 10.9 GM:

 

Disable Intel & Fresco Logic USB3.0 controllers check:

0000000000010342 jne 0x1037e
75 3A 75 3A 48 8B 05 3D 9D 00 00
-->
0000000000010342 jmp 0x1037e
EB 3A 48 8B 05 3D 9D 00 00

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

 

Disable XHCI 1.0 check:

0000000000010429 cmpw $0x100, %ax
66 3D 00 01
-->
0000000000010429 cmpw $0x000, %ax
66 3D 00 00

Patch MSI or pin interrupts:

000000000001249d orl $0x400000, 0x8(%rcx)
81 49 08 00 00 40 00
-->
000000000001249d orl $0x000000, 0x8(%rcx)
81 49 08 00 00 00 00

00000000000135fc movl $0x400000, 0x8(%r15)
41 C7 47 08 00 00 40 00
-->
00000000000135fc movl $0x000000, 0x8(%r15)
41 C7 47 08 00 00 00 00

0000000000013822 movl $0x400000, 0x8(%r15)
41 C7 47 08 00 00 40 00
-->
0000000000013822 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:

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

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

0000000000005b76 jne 0x5bc5
75 4D 48 8B BB E8 01 00 00
-->
0000000000005b76 jmp 0x5bc5
EB 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.

 

 

Patched Kext can be download right here

Share this post


Link to post
Share on other sites

 

Hello, Zenith I tested AppleUSBXHCI and it works kext USB 3.0 and 2.0 mouse works but do not flash driver 2.0 and hard disk 2.0.
any solution?

 

Try to inject this DSDT into your USB 3.0 device.

See the reply #6 by Lionel Luthor in this Taiwanese blog:

http://benjenq.pixnet.net/blog/post/32216159-%E9%BB%91%E8%98%8B%E6%9E%9C%E5%8D%87%E7%B4%9A-10.8.4

Share this post


Link to post
Share on other sites

Perfect again, thx shiecldk 
 
Clover patch for 10.9 :

 

<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				dTpIiwU9nQAA
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				6zpIiwU9nQAA
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				Zj0AAQ==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				Zj0AAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				gUkIAABAAA==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				gUkIAAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				QcdHCAAAQAA=
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				QcdHCAAAAAA=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				QcdHCAAAQAA=
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				QcdHCAAAAAA=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				xoDIAAAAAQ==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				xoDIAAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				dU1Ii7voAQAA
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				601Ii7voAQAA
				</data>
			</dict>
		</array>

 

 

 

edit : no change for 10.9.1

Share this post


Link to post
Share on other sites

Are you injecting CPU plugin-type 1 in an SSDT or your DSDT?  That can cause a stuck multiplier of x8.0.

 

I have CPU-plugin type 1 in SSDT.
Screen Shot 2014-01-02 at 12.57.00.png
 
but do not know if I have the DSDT.
 
please see my DSDT
 
so I have to delete plugin type 1?

Share this post


Link to post
Share on other sites

finally managed to make it work states and turbo, and USB 3.

 

what I did:

deleted "plugin-type 1" in an SSDT. and put DropOem> False in config.plist

 

I will create a tutorial of my fight!

 

thanks @maleorderbride

Share this post


Link to post
Share on other sites

finally managed to make it work states and turbo, and USB 3.

 

what I did:

deleted "plugin-type 1" in an SSDT. and put DropOem> False in config.plist

 

I will create a tutorial of my fight!

 

thanks @maleorderbride

Great!  Glad that worked ;)

Share this post


Link to post
Share on other sites

This patch doesn't work on Mavericks 10.9.2.

I test it on 10.9.2 build 13C48.

I think we need new patch code for the 10.9.2

But using GenericUSBXHCI.kext works good.

 

Share this post


Link to post
Share on other sites

As usual, thx shiecldk ;)

 

Clover patch for 10.9.2 :

 

 

 

 

<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				dTpIiwWLoAAA
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				6zpIiwWLoAAA
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				Zj0AAQ==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				Zj0AAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				gUkIAABAAA==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				gUkIAAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				QcdHCAAAQAA=
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				QcdHCAAAAAA=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				xoDIAAAAAQ==
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				xoDIAAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Enable USB3</string>
				<key>Find</key>
				<data>
				dU1Ii7voAQAA
				</data>
				<key>Name</key>
				<string>AppleUSBXHCI</string>
				<key>Replace</key>
				<data>
				601Ii7voAQAA
				</data>
			</dict>
		</array>
 

 

Share this post


Link to post
Share on other sites

Does this work with ASM1042? I tried the clover patch, and while I see the USB3 Bus, no attached devices are visible.

Share this post


Link to post
Share on other sites

As usual, thx shiecldk ;)

 

Clover patch for 10.9.2 :

 

 

Looks like this patch doesn't work in the latest 10.9.3 beta 13D17.

 

 

EDIT: fixed it myself in a minute and it works but I'm not sure it's 100% correct.

<dict>
	<key>Comment</key>
	<string>Disable Intel & Fresco USB3.0 controllers</string>
	<key>Find</key>
	<data>
	dTpIiwW7oAAA
	</data>
	<key>Name</key>
	<string>AppleUSBXHCI</string>
	<key>Replace</key>
	<data>
	6zpIiwW7oAAA
	</data>
</dict>
<dict>
	<key>Comment</key>
	<string>Disable XHCI 1.0</string>
	<key>Find</key>
	<data>
	Zj0AAQ==
	</data>
	<key>Name</key>
	<string>AppleUSBXHCI</string>
	<key>Replace</key>
	<data>
	Zj0AAA==
	</data>
</dict>
<dict>
	<key>Comment</key>
	<string>Patch MSI or pin interrupts</string>
	<key>Find</key>
	<data>
	gUkIAABAAA==
	</data>
	<key>Name</key>
	<string>AppleUSBXHCI</string>
	<key>Replace</key>
	<data>
	gUkIAAAAAA==
	</data>
</dict>
<dict>
	<key>Comment</key>
	<string>Patch MSI or pin interrupts 2</string>
	<key>Find</key>
	<data>
	QcdHCAAAQAAx
	</data>
	<key>Name</key>
	<string>AppleUSBXHCI</string>
	<key>Replace</key>
	<data>
	QcdHCAAAAAAx
	</data>
</dict>
<dict>
	<key>Comment</key>
	<string>Disable sleep code</string>
	<key>Find</key>
	<data>
	xoDIAAAAAQ==
	</data>
	<key>Name</key>
	<string>AppleUSBXHCI</string>
	<key>Replace</key>
	<data>
	xoDIAAAAAA==
	</data>
</dict>
<dict>
	<key>Comment</key>
	<string>Enable PCI power management</string>
	<key>Find</key>
	<data>
	dU1Ii7voAQAA
	</data>
	<key>Name</key>
	<string>AppleUSBXHCI</string>
	<key>Replace</key>
	<data>
	601Ii7voAQAA
	</data>
</dict>

Share this post


Link to post
Share on other sites

Thank you maniac, I'm using your patch but I have some problems with USB3. Now testing GenericUSBXHCI, works better.

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.

  • Posts

    • Did you tried use ACPIBatteryManager.kext for the Battery? And for brightness you can use IntelBacklight  Both created by @RehabMan 
    • I have put it into clover drivers 64uefi folder on Yosemite thru High Sierra which allows me to edit my High Sierra disk if needed in Yosemite system.   There is no functionality of apfs in other versions but it does allow other clover bootloaders and systems to recognize the HS apfs drive or open it for inspection.   If you don’t have it you can’t see your HS drive or access it in another macOS version.
    • Hi! Is it possible to get codec AD1981 running with AppleHDA on HP Compaq 8710w? It works nicely with VoodooHDA. Speakers and HP are switching automatically.  Internal and HP mic also work - no switching in SysPref but it works when mic is plugged in and internal mic works when hp mic is unplugged.   It has same weird pathmap - connected directly:  Playback: nid=5 [pin: Speaker (Analog)] | + <- nid=3 [audio output] [src: pcm] bindSeq=00008001 nid=6 [pin: Headphones (Grey Left)] | + <- nid=3 [audio output] [src: pcm] bindSeq=00008001   But inputs are really weird. There are 5 nodes from input to HP mic/Internal mic nid=4 [audio input] | + <- nid=21 [audio selector] [src: mix] bindSeq=00000003 | + <- nid=12 [audio mixer] [src: mix] bindSeq=00000003 | + <- nid=30 [audio selector] [src: mic] bindSeq=00000001 | + <- nid=8 [pin: Microphone (Grey Left)] [src: mic] bindSeq=00000001 + <- nid=31 [audio selector] [src: monitor] bindSeq=00000002 | + <- nid=24 [pin: Microphone (Analog)] [src: monitor] bindSeq=00000002 Can pathmap like that even work with AppleHDA? What codec should I patch? I tried patches from AD1984 but no luck.    These are manually patched verbs: 00571c10 00571d01 00571e17 00571f90 00570C02 00671c20 00671d10 00671e21 00671f03 00771cf0 00771d00 00771e00 00771f40 00871c30 00871d10 00871e81 00871f03 00971cf0 00971d00 00971e00 00971f40 00a71cf0 00a71d00 00a71e00 00a71f40 01671cf0 01671d00 01671e00 01671f40 01771cf0 01771d00 01771e00 01771f40 01871c40 01871d01 01871ea0 01871f90 01971cf0 01971d00 01971e00 01971f40   Codecgraph and linux codecdump attached. Thx for any help or suggestions.              codec.txt 2.svg codec.txt
    •   Yes, 'cause APFS log is coming before clover boot screen.
    • and you suspect apfs on before clover issues  


×