Jump to content

USB sleep then wake "Device Removal" problem


  • Please log in to reply
150 replies to this topic

#81
ApexDE

ApexDE

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 217 posts
@nathan

You renamed your USB Devices from USB0-5 to USB1-6, you need to change all occurences of USB0-5 to USB1-6!! So, USB0 is now USB1, USB1 is USB2 and so on. You should have named them UHC1 to UHC6 like in the Guide.

You didn't include device-id injection for the USBE and USE2 ports.

#82
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts

@nathan

You renamed your USB Devices from USB0-5 to USB1-6, you need to change all occurences of USB0-5 to USB1-6!! So, USB0 is now USB1, USB1 is USB2 and so on. You should have named them UHC1 to UHC6 like in the Guide.

You didn't include device-id injection for the USBE and USE2 ports.


The guide said do not rename the devices, so is it OK if I just made them USB0-5 again? I didn't see in the guide how to do the USBE and USE2 device-ids. They already show built-in.

#83
ApexDE

ApexDE

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 217 posts
@nathan

You can leave the names as they are. I already posted USBE and USE2 with device-id injection INCLUDED some posts earlier. Replace them with yours and you should be good to go.

#84
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts
I just tried it, and strangely, all but 2937 show as built-in. 2937 is still Expansion Slot, and I only get half-way sleep still. What is wrong with 2937, should be this one:

Device (USB3)
{
Name (_ADR, 0x001A0000)


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



@nathan

You can leave the names as they are. I already posted USBE and USE2 with device-id injection INCLUDED some posts earlier. Replace them with yours and you should be good to go.



Yes, I think I did that already.

Attached Files



#85
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts

0x001A0000 is no USB Port. In some Gigabyte BIOS' the fourth UHCI Device is US31! It should be USB3 but it actually is US31. Remove the device-id injection from USB3, rename USB3 to US31 and rename the "original" US31 to USB3 and insert the device-id property there.

You can see that when you open ioregistryexplorer and check your USB devices. You'll see that US31 actually is a USB UHCI Device. Damn Gigabyte.

OMG i should make a osx86 hotline :)


This is the hotline, and I do appreciate it.

Now you lost me a little. Here is what I have currently for USB3 and US31. How do I mod this correctly?

Device (US31)
{
Name (_ADR, 0x001A0000)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}

Return (0x03)
}

Name (_PRW, Package (0x02)
{
0x0E,
0x03
})
}

Device (USB3)
{
Name (_ADR, 0x001A0000)


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

Both are 0x001A0000?

#86
tuxianer

tuxianer

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 155 posts

0x001A0000 is no USB Port. In some Gigabyte BIOS' the fourth UHCI Device is US31! It should be USB3 but it actually is US31. Remove the device-id injection from USB3, rename USB3 to US31 and rename the "original" US31 to USB3 and insert the device-id property there.

You can see that when you open ioregistryexplorer and check your USB devices. You'll see that US31 actually is a USB UHCI Device. Damn Gigabyte.

OMG i should make a osx86 hotline ;)


I am a little bit confused after your post. Does I have done the fix correct? Wake up vvia keyboard/mouse doesn't work.

Attached Files

  • Attached File  DSDT.txt   186.25KB   12 downloads


#87
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts

@nathan

US31 should be 0x001A0000 and USB3 should be 0x001D0003 (<- this is the Real USB3). Also check output of ioregistryexplorer (USB-Parts)


Yes that is what I thought, but it doesn't seem to work. Trying again now, BRB.

#88
tuxianer

tuxianer

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 155 posts

I am a little bit confused after your post. Does I have done the fix correct? Wake up vvia keyboard/mouse doesn't work.


here is my IOReg output without any DSDT.aml loaded. I can't find 1D,3 but 1A is existing.

Attached Files

  • Attached File  IO.jpg   47.36KB   11 downloads


#89
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts

here is my IOReg output without any DSDT.aml loaded. I can't find 1D,3 but 1A is existing.


My IOReg looks the same as yours.




Apex:

I think I had been leaving some things out of the Device section, so I think this is more correct, but I still get 2937 in an Expansion Slot:


Device (USB3)
{
Name (_ADR, 0x001D0003)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}

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

Device (US31)
{
Name (_ADR, 0x001A0000)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}

Return (0x03)
}

Name (_PRW, Package (0x02)
{
0x0E,
0x03
})
}

Attached Files



#90
ApexDE

ApexDE

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 217 posts
Sorry for confusing you, US31 is USB3 but address was right:

Device (USB3)
			{
				Name (_ADR, 0x001A0000)
				Method (_S3D, 0, NotSerialized)
				{
					If (LEqual (OSFL, 0x02))
					{
						Return (0x02)
					}

					Return (0x03)
				}

				Name (_PRW, Package (0x02)
				{
					0x0E, 
					One
				})

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

Above entry should be right. Too many code for today i guess. Make sure US31 has address 0x001D0003 and no device-id injection.

#91
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts
Wow, cool I just did that on my own and it works! There is no longer any US31 in IORegistryExplorer, is that OK? I am so confused with all of this, but glad I finally got it before giving up! Thank you Apex!

#92
tuxianer

tuxianer

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 155 posts
ok so thi should be correct:

Attached Files

  • Attached File  DSDT.txt   186.25KB   74 downloads


#93
ApexDE

ApexDE

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 217 posts
@ nathan

@ tuxguy


That's OK. Gigabyte BIOS' nightmare :)

#94
tuxianer

tuxianer

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 155 posts
ok thank you very much. But I can't wake up with USB keyboard or mouse. In the other thread yo write that this is possible with a P35 board. Is there still another fix?

#95
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

ok thank you very much. But I can't wake up with USB keyboard or mouse. In the other thread yo write that this is possible with a P35 board. Is there still another fix?

Ooohhh....I thought P35 is ASUS motherboard!? Is it? :blink: EDIT: Oh, I see....sorry I'm a bit confused today... :D

@ kizwan
does your Applesystemprofiler show the highspeed ports as built-in? Search your logs for Sleepcapability. If your ports are unloaded at sleep then you need the fix too.
.......................

My high speed ports detected as built-in in system profiler. In the logs file there is no message regarding usb device will be unloaded across sleep (or any other error regarding usb). I have not try yet your solution but will try it soon. My problem is that it can't sleep because internal webcam which connected to the highspeed port will cause it to wake. Even though it go to sleep halfway but when it wake up I got the message that my external HDD was not properly ejected/removed. I was hoping your solution can fix this (also sleep). FYI, it have ICH7 chipset. It can go to sleep if I removed the high speed device from DSDT, which it will detected as external device, but this will make my laptop unstable.

kizwan

#96
suri2001

suri2001

    InsanelyMac Protégé

  • Members
  • Pip
  • 44 posts
@tuxianer:
Hallo landsmann! :D

@ Here's to the crazy ones.
The misfits.
The rebels.
The troublemakers.
The round pegs in the square holes.
The ones who see things differently:
The DSDT geniuses. ;)

the _DTGP method is already in my dsdt, or do i have to move it up under the wak one?
the problem is im not into coding and DSDT is different than c/p terminal and plist commands/edits.
i never know where one "section" ends and these bloody ({ make me mad }).
and often when i copy sth i get invalid character warnings when compiling...

for me understanding my girlfriend is even easier than getting this DSDT with sleep and usb sorted, god damn!
i know that i am supossed to just learn how to bloody do it myself, but thats i think way beyond my scope. having said that and after days of trying to sort it out myself, could i kindly ask anyone to help me out and fix my dsdt?

i have no clue about the amount of time involved, so if im asking for too much, i apologize up front for this then rude question, but hey, im just in despair!

Attached Files

  • Attached File  dsdt.txt   185.82KB   7 downloads


#97
keeza

keeza

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 189 posts
  • Gender:Male
  • Location:Sydney Australia
Apex hoping you can help me.

Your fix is the only one I've been able to find to fix USB unmount on UD3P.

I have a solid install working (except for USB unmount and auto sleep).

But I want to fix USB.

Yes I'm a noob. Posted Image

I have decompiled using DSDT Patcher and have a txt file ready to edit.

I have made the changes that you suggested to the txt file but I don't know the steps to re-compile. Please help me with the missing pieces of info - I've spent all day trying to work it out.

Once recompiled it goes in the root or Extra folder?

Appreciate your or anyones help.

Keeza

@tuxianer:
Hallo landsmann! :D

@ Here’s to the crazy ones.
The misfits.
The rebels.
The troublemakers.
The round pegs in the square holes.
The ones who see things differently:
The DSDT gods. ;)

the _DTGP method is already in my dsdt, or do i have to move it up under the wak one?
the problem is im not into coding and DSDT is different than c/p terminal and plist commands/edits.
i never know where one "section" ends and these bloody ({ make me mad }).
and often when i copy sth i get invalid character warnings when compiling...

for me understanding my girlfriend is even easier than getting this DSDT with sleep and usb sorted, god damn!
i know that i am supossed to just learn how to bloody do it myself, but thats i think way beyond my scope. having said that and after days of trying to sort it out myself, could i kindly ask anyone to help me out and fix my dsdt?

i have no clue about the amount of time involved, so if im asking for too much, i apologize up front for this then rude question, but hey, im just in despair!


I know the feeling!Posted Image

#98
tuxianer

tuxianer

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 155 posts
@kizwan Asus have P35 boards too. This is only the intel northbridge chipset name.

#99
hchinasky

hchinasky

    InsanelyMac Protégé

  • Members
  • PipPip
  • 93 posts
  • Location:Spain
Finally it seems that your patch worked in my lenovo n500 with ich9 chipset (still testing). It sleeps and wake up ok and all usb ports showed as built in.
Now waiting for a new iopcifamiliy driver for SL cause still having this message:

AppleUSBEHCI[0x4284000]: unable to get filterInterruptEventSource

or can this be solved with a dsdt patch?

thanks

#100
di524up

di524up

    InsanelyMac Protégé

  • Members
  • Pip
  • 35 posts

OK, this should work:

USBE:

Device (USBE)
			{
				Name (_ADR, 0x001D0007)
				Method (_S3D, 0, NotSerialized)
				{
					If (LEqual (OSFL, 0x02))
					{
						Return (0x02)
					}

					Return (0x03)
				}

				Name (_PRW, Package (0x02)
				{
					0x0D, 
					One
				})

				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x06)
						{
							"device-id",
							Buffer (0x04)
							{
								0x3A, 0x3A, 0x00, 0x00
							},
								 "AAPL,clock-id",
								 Buffer (0x01)
								 {
									 0x01
								 },
								 "device_type",
								 Buffer (0x05)
								 {
									"EHCI"
								 }

						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
 
			}



USE2:
Device (USE2)
			{
				Name (_ADR, 0x001A0007)
				Method (_S3D, 0, NotSerialized)
				{
					If (LEqual (OSFL, 0x02))
					{
						Return (0x02)
					}

					Return (0x03)
				}

				Name (_PRW, Package (0x02)
				{
					0x0D, 
					One
				})

				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x06)
						{
							"device-id",
							Buffer (0x04)
							{
								0x3C, 0x3A, 0x00, 0x00
							},
								 "AAPL,clock-id",
								 Buffer (0x01)
								 {
									 0x02
								 },
								 "device_type",
								 Buffer (0x05)
								 {
									"EHCI"
								 }

						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}

			}




I tested it, it compiles fine here. Good Luck!


Similar to tuxianer's experience, it does not work for me on GA-P35-DS4. Monitor goes into sleep, not the machine.
Attached File  dsdt.txt   189.63KB   10 downloads





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy