ApexDE Posted September 2, 2009 Share Posted September 2, 2009 @ nathan Your UHCI USB Devices need to be patched with the device-id injection too. Check out http://www.insanelymac.com/forum/index.php...t&p=1247462 I posted the USBE and USE2 sections there, patch USB0-5 as described in post #1 there Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Share Posted September 2, 2009 @ nathan Your UHCI USB Devices need to be patched with the device-id injection too. Check out http://www.insanelymac.com/forum/index.php?showtopic=168014 Ahhh I see. UHCI currently shows as Expansion Slot, so this should fix that, too? This looks a little complicated, so I need to read and see if I can figure it out. Thanks. Link to comment Share on other sites More sharing options...
ApexDE Posted September 2, 2009 Share Posted September 2, 2009 Absolutely Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Share Posted September 2, 2009 OK my UHCI devices are called USB instead of UHC 1-6, except there is no USB6. In between 1-3 and 4-5 is US31. Then I have USBE after USB5. All of the device id's match up with that post you linked. Should I leave out USB6 or add it? Here is what I have so far, with USB6 added. OK my UHCI devices are called USB instead of UHC 1-6, except there is no USB6. In between 1-3 and 4-5 is US31. Then I have USBE after USB5. All of the device id's match up with that post you linked. Should I leave out USB6 or add it? Here is what I have so far, with USB6 added. I tried to compile and got lots of errors. I changed USB1-6 to USB0-5 and now it compiles. Am I good to go now? dsdt.dsl.txt Link to comment Share on other sites More sharing options...
ApexDE Posted September 2, 2009 Share Posted September 2, 2009 @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. Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Share Posted September 2, 2009 @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. Link to comment Share on other sites More sharing options...
ApexDE Posted September 2, 2009 Share Posted September 2, 2009 @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. Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Share Posted September 2, 2009 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. dsdt.dsl.txt Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Share Posted September 2, 2009 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? Link to comment Share on other sites More sharing options...
tuxianer Posted September 2, 2009 Share Posted September 2, 2009 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. DSDT.txt Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Share Posted September 2, 2009 @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. Link to comment Share on other sites More sharing options...
tuxianer Posted September 2, 2009 Share Posted September 2, 2009 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. Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Share Posted September 2, 2009 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 }) } dsdt2.dsl.txt Link to comment Share on other sites More sharing options...
ApexDE Posted September 2, 2009 Share Posted September 2, 2009 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. Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Share Posted September 2, 2009 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! Link to comment Share on other sites More sharing options...
tuxianer Posted September 2, 2009 Share Posted September 2, 2009 ok so thi should be correct: DSDT.txt Link to comment Share on other sites More sharing options...
ApexDE Posted September 2, 2009 Share Posted September 2, 2009 @ nathan @ tuxguy That's OK. Gigabyte BIOS' nightmare Link to comment Share on other sites More sharing options...
tuxianer Posted September 2, 2009 Share Posted September 2, 2009 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? Link to comment Share on other sites More sharing options...
kizwan Posted September 3, 2009 Share Posted September 3, 2009 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? EDIT: Oh, I see....sorry I'm a bit confused today... @ kizwandoes 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 Link to comment Share on other sites More sharing options...
suri2001 Posted September 3, 2009 Share Posted September 3, 2009 @tuxianer: Hallo landsmann! @ 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! dsdt.txt Link to comment Share on other sites More sharing options...
keeza Posted September 3, 2009 Share Posted September 3, 2009 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. 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! @ 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! Link to comment Share on other sites More sharing options...
tuxianer Posted September 3, 2009 Share Posted September 3, 2009 @kizwan Asus have P35 boards too. This is only the intel northbridge chipset name. Link to comment Share on other sites More sharing options...
hchinasky Posted September 3, 2009 Share Posted September 3, 2009 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 Link to comment Share on other sites More sharing options...
di524up Posted September 3, 2009 Share Posted September 3, 2009 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. dsdt.txt Link to comment Share on other sites More sharing options...
di524up Posted September 3, 2009 Share Posted September 3, 2009 Finally got it to work Link to comment Share on other sites More sharing options...
Recommended Posts