Contribute
Register

Intel usb3 dsdt-based fix

Status
Not open for further replies.
Joined
Feb 11, 2012
Messages
227
Motherboard
ASUS P8Z77-M Pro
CPU
i5-2500K OC @ 4.8 GHz
Graphics
HD 7750
Mac
  1. iMac
  2. MacBook Air
  3. MacBook Pro
  4. Mac mini
Mobile Phone
  1. iOS
Hi giacomoleopardo,

I figure this is a good place to discuss fixing USB3 functionality via DSDT editing. I have reposted my response here. Thanks for your help.

Thanks for your feedback. I am currently using MacPro 3,1 with my SandyBridge 2500K. How do I get a virgin DSDT? I do not need HDMI Audio because I use USB Soundsticks and an old DVI Apple Cinema Display. The only USB 3.0 ports I have access to on my build are the 2 from the internal header on my Asus P8Z77-M Pro. The way I have done my Mac Pro does not give me access to the mobo's back I/O ports. I decided not to cut the back. I am 99% sure that the internal USB3 header on the board are Intel and the only ASMedia ports are two on the back. My components are the following:

ASUS P8Z77-M Pro
i5-2500K
Zotac GT640 Zone
Samsung 830 128GB SSD
WD Green 2TB HDD
4 x 4GB Corsair LP vengeance 1600 memory
LG BH12LS38 Blu Ray writer


Not sure if you need all that or maybe need more, let me know.


I used terminal to do the pmset command and it turns out that I have a value of one for "BackgroundTask" I have attached the output below. I have no idea what it means.

Last login: Wed Apr 17 17:48:52 on console
Papas-Mac-Pro:~ papa$ pmset -g assertions
4/17/13 6:10:38 PM GMT+0
Assertion status system-wide:
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
PreventUserIdleSystemSleep 0
ExternalMedia 0
UserIsActive 0
ApplePushServiceTask 0
BackgroundTask 1

Listed by owning process:
pid 219(helpd): [0x0000000c000001c2] 00:21:37 BackgroundTask named: "com.apple.helpd.sdmbuilding"

Kernel Assertions: 0x0268
* Kernel Assertion ID = 500
Created At = 4/17/13 5:48:50 PM GMT+0
Modified At = 4/17/13 5:55:03 PM GMT+0
Owner ID = 0xffffff802018d000
Level = 255
Assertions Set = None (4)

* Kernel Assertion ID = 501
Created At = 4/17/13 5:48:52 PM GMT+0
Modified At = 4/17/13 5:55:14 PM GMT+0
Owner ID = 0xffffff801fd19000
Level = 255
Assertions Set = None (4)

* Kernel Assertion ID = 502
Created At = 4/17/13 5:49:39 PM GMT+0
Modified At = 1/1/70 8:00:00 AM GMT+08
Owner ID = 0xffffff819f762000
Level = 0
Assertions Set = None (4)

* Kernel Assertion ID = 503
Created At = 4/17/13 6:03:24 PM GMT+0
Modified At = 1/1/70 8:00:00 AM GMT+08
Owner ID = 0xffffff8020d0b400
Level = 255
Assertions Set = None (8)

* Kernel Assertion ID = 504
Created At = 4/17/13 5:53:16 PM GMT+0
Modified At = 1/1/70 8:00:00 AM GMT+08
Owner ID = 0xffffff80209f3c00
Level = 255
Assertions Set = None (256)

* Kernel Assertion ID = 505
Created At = 4/17/13 5:49:00 PM GMT+0
Modified At = 1/1/70 8:00:00 AM GMT+08
Owner ID = 0xffffff80218fe800
Level = 255
Assertions Set = None (8)

Appreciate any help. Thanks.
 
Hey spence!
let's see one topic at a time:
First, welcome back.
Now,to clarify, keep in mind that you have a hybrid system: tha means you've got a Sandy Bridge CPU and an Ivy Bridge (7 series) motherboard. That also means that your power management will be a Sandy Bridge one and your Z77 chipset will allow you to have fully working USB 3.0.
I give you the 1% you need: internal 3.0 header of your mobo is in fact controlled by Intel® Z77 chipset, the ASMedia® USB 3.0 controller is dedicated only to the 2 rear ports, as stated here.
The most important thing to know is that Intel Usb 3.0 Multiplex dsdt patch doesn't work in some System Definition.
MacPro 3,1 is ok, tough, so you can keep that way.
You'll need a tool called MaciASL, to edit DSDT (by Forum Moderator SJ_UnderWater), download it here.
I didn't understand if you already have a dsdt or not. Anyway, here's how to extract a virgin one: if you already have it, (see in your System/Extra folder) you'll need to reboot typing DSDT=Null in chimera screen. This way your system will boot without dsdt, then open MaciASL, wich automatically will open a new file: your Virgin dsdt. File\Save As\VirginDSDT.aml (add extension manually) wherever you want as ACPI Machine Language Binary for File Format.
Another way to extract a Virgin dsdt is this one of course you'll need a Ubuntu live cd. Last way (I did that) is to use Aida64 bootimg from my windows 7 partition. it creates a .bin file, which I simply changed in .aml on my OSX desktop.
Please attach it here, meanwhile in MaciASL you should add some very useful patches.
In Menu bar open MaciASL\Preferences and select Sources in Preferences window
Click on "+" to add Name and URL of the patches that you need: in my case they are
  • PJALM General
  • PJALM Intel7
  • Audio HDMI Ivy Bridge/HD4000/7 Series
53174-maciasl-patches.png
Close completely MaciASL and re-open it: DSDT vergin will appear as before, click on Patch command: now in the left side of the Patch window you should see all the patches we've just added.
If you don't have a dsdt in Extra folder, you don't need to reboot with DSDT=Null in chimera: simply just open MaciASL and save the file it will open.
Let me check your dsdt then, if it works, we'll discuss about it.
 
Last edited by a moderator:
I used terminal to do the pmset command and it turns out that I have a value of one for "BackgroundTask" I have attached the output below. I have no idea what it means.

Last login: Wed Apr 17 17:48:52 on console
Papas-Mac-Pro:~ papa$ pmset -g assertions
4/17/13 6:10:38 PM GMT+0
Assertion status system-wide:
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
PreventUserIdleSystemSleep 0
ExternalMedia 0
UserIsActive 0
ApplePushServiceTask 0
BackgroundTask 1

Listed by owning process:
pid 219(helpd): [0x0000000c000001c2] 00:21:37 BackgroundTask named: "com.apple.helpd.sdmbuilding"

Almost forgot: BackgroundTask 1 doesn't allow autosleep because of com.apple.helpd.sdmbuilding.
Type in terminal
Code:
launchctl unload -w /System/Library/LaunchAgents/com.apple.helpd.plist
the re-check typing
Code:
pmset -g assertions
and the result should be
Code:
Assertion status system-wide:
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
PreventUserIdleSystemSleep 0
ExternalMedia 0
UserIsActive 0
ApplePushServiceTask 0
BackgroundTask 0
Then check Autosleep

Credits here
 
Thanks for the tips. I got autosleep to work, but like with force sleep upon waking, my USB3 ports are only running at USB2 speeds, but mount USB2 storage devices. I am currently traveling, but when I get home I will follow your advice on how to make a DSDT. I figure intel7 from PJALM will give me the USB3 functionality, but what is intel General? Also I definitely do not need the HDMI audio as I have no HDMI connector on my system.

Spence
 
Intel General are patches to solve various issues: I don't think you're going to need'em. There's also another serie of patches about asus (PJALM repo as well). Maybe you'll find something useful. That said, if you add patches to MaciASL, you're not forced to use them to patch your dsdt: I mean, keep them inside tool, just in case.

EDIT: Sometimes happens, that compiling dsdt with clean compile , then without hdmi audio patch you apply Usb 3 Multiplex, compiling gives some errors. That's why my advise is to apply hdmi audio patch anyway (before apply multiplex). It won't affect anything in your rig (even better if you want to use someday HDMI audio).
 
Thanks giacomoleopardo,

Yes, components in my signature (Mac Pro) are correct. As sleep is now working properly after your advice on pmset, I think all I really need is the USB3 stuff. I understand that the HDMI audio ends up fixing a bunch of errors so it makes sense to add that even though I'm a USB soundsticks guy, but certainly no need on the other stuff as I have no power management issues and system profiler correctly identifies 7 series chipset. Thanks again for your help on this. Looking forward to testing it out whenever you have time.

Spence
 
I'm not sure what you mean by how. I do overclock, to 4.8. I installed the SSDT from Multibeast, but then replaced it with a different SSDT that minihack created that goes up to 5.0 (I think the one in Multibeast goes to 4.2 or something like that. I set each core's multiplier to 48 in my BIOS. If that does not answer your question let me know what else you need.
 
Status
Not open for further replies.
Back
Top