Jump to content
zhell

DSDT: trick retail drivers by changing "device-id" (e.g USB)

366 posts in this topic

Recommended Posts

roisoft,

 

Tried both Mandriva and KUbuntu live CD's (posting this from Konqueror). dmesg |grep ACPI gives no output. dmesg itself does but there is no ACPI parts to it. Any other ideas?

 

If I use the script from this post - http://www.insanelymac.com/forum/index.php?showtopic=145792 - I get one SSDT.dsl which I've attached. I'll study it but the structure isn't what I would expect from the ACPI documents for PStates.

 

 

 

Thanks,

SMF

SSDT_0.dsl.txt

Share this post


Link to post
Share on other sites
Advertisement

modified dsdt made no difference to my sleep problem. Machine goes to sleep but fails to wake, i get a black screen for 10-20 seconds then it reboots. Foxconn Blackops X48 with ICH9R. Any advice much appreciated.. i followed the tutorial to the letter.

Share this post


Link to post
Share on other sites
modified dsdt made no difference to my sleep problem. Machine goes to sleep but fails to wake, i get a black screen for 10-20 seconds then it reboots. Foxconn Blackops X48 with ICH9R. Any advice much appreciated.. i followed the tutorial to the letter.

Check system.log

Share this post


Link to post
Share on other sites
Check system.log

 

We really need some nvram emulation that writes to a reserved area on disk, or something like that.

I have similar issues where the computer sometimes either crashes or doesn't wake up from sleep after a long period of inactivity even though it's set to never sleep (never happens if I put the computer manually to sleep), but there's nothing in the system log, and the panic.log never gets written, because what apple seems to do is to save the panic log in nvram, and then writes it to disk upon the next reboot (or something like that).

So in essence, I have no idea how to even begin figuring out why it does what it does. I'm now forced to put the system to sleep manually when I leave it unattended for a while, instead of just leaving it running, which is a bit annoying, partcularly when you want to keep things like VoIP clients open.

Share this post


Link to post
Share on other sites
We really need some nvram emulation that writes to a reserved area on disk, or something like that.

I have similar issues where the computer sometimes either crashes or doesn't wake up from sleep after a long period of inactivity even though it's set to never sleep (never happens if I put the computer manually to sleep), but there's nothing in the system log, and the panic.log never gets written, because what apple seems to do is to save the panic log in nvram, and then writes it to disk upon the next reboot (or something like that).

So in essence, I have no idea how to even begin figuring out why it does what it does. I'm now forced to put the system to sleep manually when I leave it unattended for a while, instead of just leaving it running, which is a bit annoying, partcularly when you want to keep things like VoIP clients open.

If you open an AFP connection or run Parallels, it will write some stuff into the system.log before going to sleep.

Or for something more fancy use Sleep Watcher from here: http://www.bernhard-baehr.de/

To prevent sleep on idle altogether, I could offer you my DVD burner, which prevents it reliably. Or you can get Jiggler, which just moves the mouse every now and then http://www.versiontracker.com/dyn/moreinfo/macosx/20791

Share this post


Link to post
Share on other sites

Hi,

 

I tried the method on a P5K-se (P35 ICH9) who didn't want to wake after sleep but now with the fix it wakes immediatly after sleep and restart doesn't work anymore.

 

Here is the wake log :

 

kernel Wake reason = USB0 EUSB USBE USB3 USB4 USB6

 

EDIT

 

No sleep is because of ATI graphic card, without ATI kexts sleep works

Share this post


Link to post
Share on other sites

Guys this is my DSDT.dsl file of my DP45SG motherboard ICH10-R and problems with USB, here is what I've changed but still sleeps doesn't seems to wake up

 

            Device (USB0)
           {
               Name (_ADR, 0x001D0000)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Name (_S4D, 0x02)
               Name (_S3D, 0x02)
               Name (_S2D, 0x02)
               Name (_S1D, 0x02)
               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x03, 0x03))
               }
	//OSX
	Method (_DSM, 4, NotSerialized)
	{
	    Store (Package (0x02)
		{
		    "device-id",
		    Buffer (0x04)
		    {
		        0x34, 0x3A, 0x00, 0x00
		    }
	        }, Local0)
	    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
	    Return (Local0)
	}
           }

dsdt_DP45SG_all_fixes.zip

Share this post


Link to post
Share on other sites
Guys this is my DSDT.dsl file of my DP45SG motherboard ICH10-R and problems with USB, here is what I've changed but still sleeps doesn't seems to wake up

Get the debug kexts. Your problem seems to be unrelated to this fix. Injecting device-ids that your board has does nothing.

Share this post


Link to post
Share on other sites

Hi!! Great work zhell!!

 

I confirm that this method works, with ICH9M on Laptop.

 

Devices UHCI 0...UHCI 5 have the following addresses and device IDs:

 

UHCI 0: 1D	2934 > 3A34
UHCI 1: 1D,1  2935 > 3A35
UHCI 2: 1D,2  2936 > 3A36
UHCI 3: 1A	 2937 > 3A37
UHCI 4: 1A,1  2938 > 3A38
UHCI 5: 1D,3  2939 > 3A39
EHCI 1: 1D,7  293A > 3A3A
EHCI 2: 1A,7  293C > 3A3C

 

But, that's the problem, this method worked only for the first time that I stopped the laptop. For the next times, my laptop goes to sleep only for a second, after it auto-wake up immediately.

 

Any solution?

Edited by lukamar

Share this post


Link to post
Share on other sites
Hi!! Great work zhell!!

 

I confirm that this method works, with ICH9M on Laptop.

But, that's the problem, this method worked only for the first time that I stopped the laptop. For the next times, my laptop goes to sleep only for a second, after it auto-wake up immediately.

Thanks for your feedback and for providing the device-ids for other readers.

If it goes to sleep completely then this particular fix probably works. However, this is only the first step and may bring to surface new issues :-(

To fix the issue of immediate wake-up, there are other threads around. One suggests to enable "Restart automatically after a power failure" in Energy Saver preferences.

Share this post


Link to post
Share on other sites
Thanks for your feedback and for providing the device-ids for other readers.

If it goes to sleep completely then this particular fix probably works. However, this is only the first step and may bring to surface new issues :-(

To fix the issue of immediate wake-up, there are other threads around. One suggests to enable "Restart automatically after a power failure" in Energy Saver preferences.

 

Tnx you too.

"Restart automatically after a power failure" option wasn't removed from 10.5.5?

Share this post


Link to post
Share on other sites
Get the debug kexts. Your problem seems to be unrelated to this fix. Injecting device-ids that your board has does nothing.

 

zhell, finally those kexts for 10.5.7 are available, now what I have to do after I got those kexts installed?

Share this post


Link to post
Share on other sites

Great, thanks for letting me know about those debug kexts. If you dowload them, you obtain two installer packages. One to install the debug USB kexts and one to install the default USB kexts. First make sure you have a backup of your installation. Then install the debug kexts. After reboot, go to Console (in Utilities folder) and search for "USB". See if you find any helpful messages such as "not recognized", "power management disabled" etc.

Share this post


Link to post
Share on other sites

hi guys,

 

i am a very noob on patching dsdt ;) so any help to my questions would be really appreciated:

 

i´m running on 10.5.7 (darwin 9.7.0 kernel) on my Gigabyte EP35-DS3. Everything works fine except sleep.

in 10.5.6 sleep never woke up... so i tried it after updating.

 

sleep works now as followed:

system goes to sleep - wakes up immediately (caused by hdd activity) - then error message comes up that usb drive was removed and ext. usb hdd (time machine backups) ejects and reconnets.

also after this procedure my lan doesnt work anymore... have to deactivate and reenable it to get it work.

 

will this method here fix this ? or can i try other things without patching.

 

i tried so long:

- different IOUSBFamily.kext - no change

- deleting IOPCMCIAFamily.kext - sleeps fine (no fans) but doesnt wake up

 

can u pls help and point me to the right direction ?

can i just use the txt. file posted here for the GA EP35-DS3 ?

 

thx for ur help

cheers bullys

Share this post


Link to post
Share on other sites
this is what I got so look at my USB error log.

EHCI controller unable to take control from BIOS	
AppleUSBEHCI[0x67c0800]: unable to obtain ownership: 0xe00002be	
AppleUSBEHCI[0x67c0800]::UIMInitialize - Error occurred (0xe00002be)

Try Chameleon 2RC1 with EHCIAcquire=yes or something like that. Look at the read me.

Share this post


Link to post
Share on other sites

none of this works for me :((

i dont have UHCI in my dsdt.dsl neither brutal deleting of all USB devices from that file lets my darling sleep...

couldnt u give me advice ?

cheers bullys

Share this post


Link to post
Share on other sites

Thanks, that guide did help :rolleyes:

 

Now my computer goes to sleep properly, but as soon as it actually sleeps, it just "restarts" and loads the bios like i restarted

 

Do you know what might cause this issue?

Share this post


Link to post
Share on other sites
EHCI controller unable to take control from BIOS	
AppleUSBEHCI[0x67c0800]: unable to obtain ownership: 0xe00002be	
AppleUSBEHCI[0x67c0800]::UIMInitialize - Error occurred (0xe00002be)

Try Chameleon 2RC1 with EHCIAcquire=yes or something like that. Look at the read me.

 

zhell I did it, with debug kexts it hangs and goes black screen, with normal kexts it removes those messages.

Share this post


Link to post
Share on other sites

zhell, what would happen if you tried to patch the "seventh" UHCI device? Where does the seventh one come from?

 

Something like so:

			Device (USB3)
		{
			Name (_ADR, 0x001D0003)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x33, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}

Share this post


Link to post
Share on other sites
zhell, what would happen if you tried to patch the "seventh" UHCI device? Where does the seventh one come from?

I don't know what would happen, but I don't think it would make much sense. This 7th port does not exist in hardware and it's probably best to ignore it. As long as it is not shown in ioreg, OS X probably does not care about it.

I read in the board manual of the DP35DP that the 7th UHCI can somehow be remapped somewhere else, I'm sorry I don't recall this more precisely.

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

×