Jump to content

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

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.

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

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.

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

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

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

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.

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
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.

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?

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?

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.

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

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.

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.

  • 3 weeks later...

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)
			}
		}

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.

×
×
  • Create New...