Jump to content

What is Speedstep and how do I patch it?


Squidderlee
 Share

75 posts in this topic

Recommended Posts

Disabling it IS the solution as GV said, at least until you know you can make it sleep properly with Firewire disabled. Once your sleeping like a baby, then look into re-enabling it for all your Firewire devices (assuming you have Firewire devices hooked up since disabling is an issue). I would make Firewire the very last thing to worry about enabling and 3rd party card can be had for cheap if it came down to it. I have Firewire 800 external RAID array and could get by without Firewire for quite a while, and/or just enable when I needed it. Or I think I have a few firewire PCI cards laying around if you want one for a couple bucks plus shipping.

 

To see your current sleep/power management setting in terminal:

 

pmset -g

 

for a list of assertions that may prevent sleep:

 

pmset -g assertions

 

 

When i put all my ssdt tables (6 tables) in Extra folder and i reboot, i got a KP (problem with AICPM), i'm using, "DropSSDT" and generate c state in chameleon boot file :/

Any idea ?

NullCPUpowermanagement.kext removed? sounds like it tho. Your trying to add C-states via SSDT, why also via chameleon?I don't know that it's the cause of your KP, but maybe try just one or the other.
Link to comment
Share on other sites

Eep... I did disable the firewire at several stages during the various tests - but as mentioned,,,it reboots the machine instead of wakes it up...

 

Heres the pmset -g info (but no idea what it means or what to do/how to...

 

 

Active Profiles:

AC Power -1*

Currently in use:

hibernatemode 0

sleep 0 (sleep prevented by 12070)

disksleep 0

powerbutton 1

ttyskeepawake 1

hibernatefile /var/vm/sleepimage

autorestart 1

displaysleep 20

 

Obviously The sleep 12070 is the issue...

 

Likewise the assertions,,,, ???? wot???

 


9/3/12 8:57:10 PM GMT-05
Assertion status system-wide:
  PreventUserIdleDisplaySleep	0
  PreventSystemSleep			 0
  PreventUserIdleSystemSleep	 1
  ExternalMedia				  0
  UserIsActive				   0
  ApplePushServiceTask		   0
  BackgroundTask				 0

Listed by owning process:
 pid 1185(coreaudiod): [0x0000000100001893] 00:37:33 NoIdleSleepAssertion named: "com.apple.audio.'AppleHDAEngineOutput:1B,2,1,2:0'.noidlesleep"
 pid 12070(iTunes): [0x0000000100001894] 00:37:33 PreventUserIdleSystemSleep named: "Nameless (via IOPMAssertionCreate)"

Kernel Assertions: 0x0132
* Kernel Assertion ID = 500
  Created At = 9/2/12 3:17:49 PM GMT-05
  Modified At = 9/2/12 10:02:14 PM GMT-0
  Owner ID = 0xffffff800a869000
  Level = 0
  Assertions Set = None (4)

* Kernel Assertion ID = 501
  Created At = 9/2/12 3:17:53 PM GMT-05
  Modified At = 9/2/12 3:23:18 PM GMT-05
  Owner ID = 0xffffff800a7e8000
  Level = 255
  Assertions Set = None (4)

* Kernel Assertion ID = 502
  Created At = 9/2/12 3:19:32 PM GMT-05
  Modified At = 12/31/69 7:00:00 PM GMT-
  Owner ID = 0xffffff806a481000
  Level = 0
  Assertions Set = None (4)

* Kernel Assertion ID = 503
  Created At = 9/2/12 3:19:32 PM GMT-05
  Modified At = 12/31/69 7:00:00 PM GMT-
  Owner ID = 0xffffff806a490000
  Level = 0
  Assertions Set = None (4)

* Kernel Assertion ID = 504
  Created At = 9/2/12 3:19:32 PM GMT-05
  Modified At = 12/31/69 7:00:00 PM GMT-
  Owner ID = 0xffffff806a48d000
  Level = 0
  Assertions Set = None (4)

* Kernel Assertion ID = 505
  Created At = 9/2/12 3:19:43 PM GMT-05
  Modified At = 9/2/12 3:34:04 PM GMT-05
  Owner ID = 0xffffff806a496000
  Level = 255
  Assertions Set = None (4)

* Kernel Assertion ID = 506
  Created At = 9/2/12 3:19:43 PM GMT-05
  Modified At = 12/31/69 7:00:00 PM GMT-
  Owner ID = 0xffffff806a487000
  Level = 0
  Assertions Set = None (4)

* Kernel Assertion ID = 507
  Created At = 9/2/12 3:19:43 PM GMT-05
  Modified At = 12/31/69 7:00:00 PM GMT-
  Owner ID = 0xffffff806a484000
  Level = 0
  Assertions Set = None (4)

* Kernel Assertion ID = 631
  Created At = 9/3/12 8:50:04 PM GMT-05
  Modified At = 12/31/69 7:00:00 PM GMT-
  Owner ID = 0xffffff800aabfc00
  Level = 255
  Assertions Set = None (128)

 

Although I've been using computers for decades now and consider myself relatively computer savvy.. teis is one area that's totally over my head... Don't even know where to start...

 

@Gringo... I tried and tried to get stuff working with your dsdt....but it wasn't resolving the issues.... leading me to believe at least with sleep the solution must lie elsewhere...

 

1)WIth the Dsdt patched as mentioned I can get the monitor etc to sleep but not the dsdt.

2) If I disable 1394 in the bios,,,, I sleep the computer and bam... no mouse, no keyboard anymore.... I do believe I even had difficulaty to boot afterwards even with EHCIacquire=y in the boot.plist...

 

Round and Round in circles in other words----

 

PS - looking at the above I now see 2 messages related to audio (no firewire)????

 

Killed both processes... no change!

 

Messages:

 

kernel[0]: System sleep prevented by pci11c1,5811

local WindowServer[237]: handle_will_sleep_auth_and_shield_windows: no lock state data

com.apple.launchd[1] (com.apple.sleepservicesd[12208]): Exited: Killed: 9

Link to comment
Share on other sites

You say at the begining of you last post, if you disable firewire, the computer reboots its self instead of wakes up. Then later say if you disable 1394(firewire) in bios you have no mouse or keyboard, which is it? Never seen firewire cause usb issues before, but anything is possible I guess.

 

"1)WIth the Dsdt patched as mentioned I can get the monitor etc to sleep but not the dsdt."- I have no idea what that means.

 

If something is preventing sleep, for example firewire, and disabling it allows it to go to sleep, but reboots on wake or wakes with problems, it just means that you have more than one issue, the first being whats preventing sleep and then whatever else is causing problems after that, but if you then re-enable what is preventing sleep, you'll never get to find out what your other problems are and end up running in circles. You shouldn't need working keyboard and mouse to test sleep, computers power button can sleep and wake the computer, at which point unplugging and replugging them in may get them working again. I'm not saying any of this is the final solution, only for the sake of trouble shooting to help you pinpoint your issue

Link to comment
Share on other sites

TUX FIRE: you may need to incorporate your SSDT tables into your DSDT's PR scope, I don't have a SB so can't say for sure the exact process, but it would be best to start a new thread.

 

Squidderlee: I'm amazed that DSDT is working for you, I was going to swap the HDEF since you said the other one worked, but once I saw this, I decided not to touch it. :(

SQUIDSDT.png

And you have GPU entry at both PEGP@30000 and POP1@10000

The fact this works at all, let alone better, means......IDK what it means, but it ain't right

 

 

On an unrelated side note, probably not the best idea use "Admin" as either your computer name, username or anything else

 

and delete fw0 from network prefs pane

Link to comment
Share on other sites

eep.... I have to use the power button..... that reboots.... rather than wakes although I have enabled wake with power button...

 

WIth the Dsdt patched as mentioned I can get the monitor etc to sleep but not the cpu (sorry!)

 

Will look into the stuff you mentioned tho'

 

Thanks as ever!

Link to comment
Share on other sites

eep... I went into windows... extracted the DSDT anew as suggested by Gringo and proceded to patch and try avoid duplication. I added GPU and NV as before to PCI0... and then went to look at the USB problem....

 

There are definitely 2 devices listed here a EUSB and a USBE....

 

what's listed in the DSDT are the USB0, USB1 sequence etc

as I mentioned before...my confusion with EHCI and EHC1 - it's because they are nowhere to be found in the DSDT! That possibly why I added them in! yet you say its these missing entries that are present in IOReg... Now I am totally confused!

 

This is about as clean as I can give you... (attached)

 

I have added DTGP method, fixed HPET, no RTC entry from what I can see, no clue if I need to fix _WAK in any way. Other than that just the PEGP and HDAU under PCI0 as before. No clue how that got into POP1 as you mentioned...

dsdt.aml.zip

Link to comment
Share on other sites

OK, no problem. We're all here to learn right? UHCI is USB 1.1 and EHCI is USB 2.0. 1394 is Firewire. Thats all for that part.

 

Now motherboard manufacturers, will call them all kinds of different names in their ACPI tables, because they can. But they really like them to be 4 digits, and when having more than one of the same type of device, they usually will want one of those 4 digits to be a number, because numbering things is a good way to count them last I checked. So, you almost always have 2 separate EHCI devices and therefore can't call them both EHCI. So rather than call one EHCI and the next one something that doesn't make sense like EHCJ, Apple and some other mobo makers just use the first 3 digits or a 3 digit abbreviation of the device's name, followed by a number, and then only the number needs to be changed for each additional device. If it's a device that you would not have more than one of, the it get a full 4 digit abbreviation, and sometimes just a 3 digit abbreviation. Still with me? Ok, so Intel or ASUS or whoever may make a motherboard, don't care if these 4 digit names make sense to you or not, so don't always expect them to, and don't expect them to match what the device may be called in your bios settings or even in a DSDTSE patch. The naming used in DSDT is mostly cosmetic, but you can't just go renaming stuff without all the other references to that device being changed as well, so no need to go renaming things just for fun, because it probably won't turn out all that fun. So because the device names vary from board to board, tools like lspci become very useful, as hardware addresses are set in stone (or at least in thick mud). So if your applying your changes to the correct hardware address, your applying it to the right device too, no mater what it may be called. There are a few device hardware addresses that are almost always the same regardless of what mobo you have. For example. HDEF at 0x001B0000, LPC at 0x001F0000(note LPC is 3 digits, so it may have another digit, usually a letter tacked onto it), your GPU can be called a million different names in DSDT like POP1, PEG1, or PEGP if you renamed it for HDMI. On desktop it's hardware address will usually be either 0x0001000 or 0x0003000. and at 0x0002000 for laptop/onboard GPU's.

 

Now in your case, your 2 EHCI entries are named EUSB and USBE respectively. Why are they named this you ask? Because that's what they named them. Your UHCI devices are named USB0, USB1 etc. Again, that's just what they decided to call them, and felt zero was a good number to start with since it's not technically even a real number. Apple would call them UHC1, UHC2, etc. If I was making the mobo, since they are USB 1.1 they would have been called OLD1, OLD2, OLD3, or SLO1, SLO2, etc, and everyone would know all they need too right there :)

 

So, there you have in 2 minutes, what took me at least a month or more to learn, and of course I'm still learning too. :graduated:

 

My last bit of advice...Don't beat yourself up trying to get something working that you didn't even know wtf it was a couple days ago, You can always give it another go a bit later when you not feeling overwhelmed by all this new stuff and just take it one step at a time, no need to learn to run before you learn to walk. Leaving your PC on won't hurt it. If your fans are too loud, maybe your fans are too loud? They make quieter ones, fan controllers to slow down the loud ones when temps aren't high, vibration dampers, sound padding, water cooling, etc, etc. A computer does not need to be asleep to be quiet. Shutting it down and starting it up is also something people have been doing since shortly after the caveman days, and it's seemed to work pretty well too. Things like "not having my computer do such and such is not an option!" means your in the wrong place all together, and need to be on Apple support forums talking about your real mac, cause a thing or two not working on a hackintosh, comes with the territory.

  • Like 4
Link to comment
Share on other sites

Well like I said... even if my dsdt might be a mess everything seems to be working fine apart from not being able to sleep because of the firewire. The last dsdt I attached is just me trying to get a cleaner version of it if you will,,,,

 

Obviously I need to patch this one now to get the EHCI working... but I am totally puzzled as to what is called what... Do I just add in the entries you mentioned that are in the IOReg and delete USB0 to USB4????

 

I should have the GPU now in only one place... in PCI0....

 

Basically the sleep issue is just an itch I've been scratching for too long now,,,, would like to get past it so both the PC and I can finally get some decent quality sleep!

 

I want sleep as I can leave renders running and the machine can just sleep xminutes after the render completes... and I can resume where I left off the next day. One of the main advantages of Mac over windows is... that you can actually use the OS for something...put it to good use like work...and play instead of having to reboot ad nauseum every 5 minutes! As mentioned I went into WIndows earlier to extract the dsdt... I dont have much on there at all in the way of apps... yet... 32 updates plus another 10 optional, Java update, Plex server, Adobe Acrobat... Flash... you name it! Pigging nuisance altogether! add that to the 5 minutes or so it takes to boot WIndows on this system before it's usable,,, and even then it generally whitescreens. OS X is a rocket and pure pleasure by comparison! No registry, no dlls and a "wtf is a virus or spyware?" as opposed to running a million and one scans.... Can't be without!

Link to comment
Share on other sites

No need to add anything from IOreg, what's in IOreg has already been added. But when you have duplicate entries in DSDT, you'll see in IOreg it adds one or the other, but not both. So chances are the ones in IOreg are the ones that were patched correctly if the entries were not identical. If they were exactly the same except for the name, maybe it just loads whatever is listed first. If you go back a couple pages you see where I uploaded a patch file specifically for your mobo for GV, applying it to an already modded DSDT may have presented some problems, but at the very least you can see what the different patches are for you mobo, without doing the full patch all at once. It's up to you, but if the full patch will compile without errors after starting with the new unmodifed DSDT you extracted, then go for it. To apply the patches, you need DSDT Editor, not DSDTSE. What I like about the patches files like this (from Olarila.com btw, great work guys!) is you can see before, after, and during, every aspect of the patch so you do learn (if you want to) while doing it, unlike other automated patching type apps. I feel you have to start somewhere when learning and from scratch is too much, and you'll just give up from frustration, but full automation only teaches you how to click the button, then wait for next update of the app to come out before you can upgrade your computer.

Link to comment
Share on other sites

To keep it simple... I need to repatch something either USB or EHCI related in my latest DSDT to get the mouse and keyboard working without the ECHIacquire entry... I have also noticed that this bad dsdt I'm running... has one flaw... If I chose shut down from the menu.... it restarts!mmm obviously there something messed up in the DSDT so I want to be as clean as possible with the rebuild,,,

 

what do I do?

 

IF I assume the patch code (even in DSDT is universal) I can c and p that to the clipboard and use it in DSDT Editor.... but to I need to use machine specific addresses? I noticed for example that the nomenclature and terminology was totally different between it and even patch advice I read on olarilla...

 

I agree totally with what you say about full autopilot... which is why I'm not ashamed to express my total lack of knowledge in this area... I feel it's a bit like balancing feathers with lead weights right now.... No clue how to go about it, what to look for etc...

Link to comment
Share on other sites

Here, no need to rename, hope it works and cross your fingers

 

If your still having problems after this, it's time to look else where and maybe try rolling back USB extensions to Lion or even Snow Leo versions. Having EHCIaquire or USBBusfix or similar your org.chameleonboot.plist is NOT going to cause problems, only either do nothing, or fix them. So if USB problems persist, would start by using the attatched IOUSBFamily.kext and IOUSBMassStoargeClass.kext, replacing the current ones in S/L/E

DSDT.aml.zip

Archive.zip

Link to comment
Share on other sites

I have not fuly tested it yet but will later on. It has fixed the shutdown issue as expected but I have to add EHCIacquire once more....I repeat I have not tested it fully yet but expect the sleep issue will be much the same as before.....

 

I might mess around with IOUSBFamily and storage class as you mentioned... but even on SL I had to use USBBusFix or EHCIacquire so don't expect much change here....

Link to comment
Share on other sites

I will say this one last time only. USBBusFix is not and will not prevent sleep from working. It can be exposing another problem that you are unable to see otherwise, but is not the cause. So for example, if you try to sleep and get a firewire error, you then disable firewire and get a different error, this doesn't mean re-enable the firewire and try something else, it just means that firewire was the first problem, and after resolving it, you can then see the next problem and try to address it too, but need to have firewire disabled before you can even get to that next problem. Troubleshooting is a process, and you need to resolve each problem you come across and not hold out for one magic fix for everything. If you need to use USBBusFix, then use it, and go from there to resolve other issues that may then become apparent.

 

Also, double check your BIOS for USBLegacy or it may be called Backward Compatibility Mode, set to disabled.

Link to comment
Share on other sites

How are you going to test it if Firewire keeps it from going to sleep at all? Your problem is somewhat common, if editing DSDT is not working, then there are a few work arounds, but not quite solutions:

 

1-use the power botton to wake the computer from sleep and not the keyboard or mouse, for some reason this allows keyboard and mouse to still work after wake

2-use IOUSBFamily kexts from Snow Leopard version 10.6.2

3-unplug and replug, may not always work

4-have a usb hub attatched between keyboard & mouse and PC, may not always work

5-get a bluetooth mouse and keyboard and a bluetooth adapter that supports wake from sleep, a real apple one can be modified to work. Any non-apple ones that are compatible may still not support wake from sleep

6-get a real mac, this is a hackintosh, built for fun and not production, sometimes a workaround, if even that, is the best you can get

Link to comment
Share on other sites

eep... I followed your instructions .... disabled USB Legacy and Firewire

 

with USBLegacy disabled, not only canI not get to the boot screen... I cannot even boot... get as far as the choose os screen and absolutely no response whatsoever to mouse or keyboard.

 

Reenabled USBLegacy! (otherwise I wouldn't be able to reply here!)

 

Rebooted with just Firewire disabled... and as before tested sleep.

As before with Firewire disabled the machine shuts down totally instead of going to sleep...

 

I reckon I'll just go back in now given your last response and reenable firewire and be done with it... Chalk it of to experience. I have said time and again I am no expert... and it seems now that your patience has grown extremely thin!

 

Thanks nevertheless

Link to comment
Share on other sites

Of course my patience wears thin at times, but don't take that as not wanting to help. It's unavoidable now and then, but not anybody's fault but my own :) Just do whatever it was you did to get where you could sleep but then not have USB keyboard and mouse on wakeup, and then try the work arounds mentioned. After doing a bit of research on the subject, it does not appear a true fix is available for your particular issue, but waking with the power button for example, would not be that bad.

Link to comment
Share on other sites

Oh, and when firewire is disabled you say it shuts down instead of sleep? you sure it's not just asleep, shutdown and sleep look and sound identical other than maybe a pulsing light on your power button/light if you have one. Restarting would be a symptom of failed sleep but closer to working, but when thinking it shutdown, it may be sleeping, waking it is another thing, again power button which needs to be enabled to wake/sleep in both the bios and in OSX energy saver preference pane both for it to work. Also disable any wake on LAN or wake on RTC, or wake on anything available to wake on, in the bios.

Link to comment
Share on other sites

Also, because we may have got of track on a couple of your previously mentioned issues, lets revisit a couple that may have been overlooked:

 

 

Hi Gringo,

 

Addressing your post #25 - I first tried replacing Netkas's patched IOPCIFamily.kext with the standard 10.8 version before replacing the plists and DSDT... tried booting 3 times and as always with this kext... problems, problems!

 

This time

 

2hn55xc.jpg

 

So swapped it back replacing it with Netkas's version (but remember I cannot boot 10.8.1 or 10.8.2beta with Netkas's version... weird stuff!

 

Got to the login screen and nothin' doing as before so rebooted with EHCIacquire=y only and no problem logging in this time...

However:

 

NO SOUND

 

250if5l.png

 

at this point I tried patching the NVcard and HDAU device methods myself,,, compiled fine but in DSDTSE something odd... no matter how many times I compiled the dsdt the HDAU code never appeared in the saved version... yet in text wrangler the code is there!!! (DSDTSE buggy???)

 

tried loading an AppleHDA.kext I patched myself from the install disk... and rebooting...still no sound

 

replaced it with Toledo's patched version for DSDT enabled audio...rebooted... still nothing... Looks like the only way I'm gonna get sound there is with HDA Enabler for now... Not sure if the edits did this...

 

Sleep is as before - monitor sleeps and responds to mouse but cpu does not sleep...

 

just a question here though shouldnt ncpi value be 0x3000 as opposed to 2000? (as I understand it Sl was 1000, Lion 2000and ML 3000. I've never had to use it previously and whenever I did it had no effect...

 

Files you requested Admin’s Mac Pro.zip Screens.zip

The kernel panic in that screenshot is not IOPCIFamily.kext, it's AppleACPIPlatform.kext that is panicing and it cannot find IOPCIFamily.kext which it is dependent on. Have you been repairing permissions and rebuilding the kext cache after each time you install a kext? Have you tried using the rollback for AppleACPIPlatform.kext that is often required for ML to avioid kernel panics on boot (although most common on ASUS)? I attatched the rollback if you don'y have it.

You also mention replacing IOPCIFamily.kext before replacing DSDT and plists, if the plists your referring to are smbios.plist and org.chameleon.boot.plist, don't ever boot without them in /Extra. If it's other plists, you probably shouldn't be touching them.

 

"just a question here though shouldnt ncpi value be 0x3000 as opposed to 2000? (as I understand it Sl was 1000, Lion 2000and ML 3000. I've never had to use it previously and whenever I did it had no effect..." Not quite, npci=0x2000 was snow leopard+ and for some people in Lion+ npci=0x3000 is needed, others may still use npci=0x2000 effectively. For a better explanation on that part, bcc9 would be the person to ask.

 

You mention wanting USB fix because it will at least allow the monitor to sleep when you try putting the computer to sleep. Don't see how this is a benefit as you can easily put the monitor to sleep any time, via timer, or enable a hot corner or keyboard shortcut and achieve the exact same result without anything else working right. So having this same thing happen when trying to sleep the computer would not be something to try for.

 

Now that I know your bios does have USBlegacy option, are there any other USB related options like USBkeyboard, or just any and every one you see can you make note here what they are?

 

Were you serious when you said you really want the spinning thing while booting or joking?

 

When booted with working keyboard and mouse, in system profile do they show under USB or USB High-Speed?

Shades.jpg

Keep in mind, USB keyboard and mouse may still not work on wake if you use them to wake, but need to make sure your at that point

AppleACPIPlatform.kext.zip

Link to comment
Share on other sites

Oh, and when firewire is disabled you say it shuts down instead of sleep? you sure it's not just asleep, shutdown and sleep look and sound identical other than maybe a pulsing light on your power button/light if you have one. Restarting would be a symptom of failed sleep but closer to working, but when thinking it shutdown, it may be sleeping, waking it is another thing, again power button which needs to be enabled to wake/sleep in both the bios and in OSX energy saver preference pane both for it to work. Also disable any wake on LAN or wake on RTC, or wake on anything available to wake on, in the bios.

 

The machine shuts down and reboots when I try to wake with mouse, keyboard or power button!

 

The other stuff I will need to look at when I have some more time on my hands... There are only 2 USB options from what I can remember... maybe a screen in the bundle I attached in reply to Gringo earlier... The second of which is the Legacy option,,, which when disabled incapacitates the system totally - can't even boot windows and there's no mouse or keyboard support to select the volume!

Link to comment
Share on other sites

 Share

×
×
  • Create New...