![]() |
UHCI/EHCI Built in with dsdt fix
2 Attachment(s)
First the issues, than the fixes.
My usb1 (UHCI) and usb2 (EHCI) ports were showing up in system profiler as "expansion slots". This was causing 2 main problems for me. First, I had to use the power button to wake the computer from sleep. Second, if I had a usb drive plugged in when the computer went to sleep, I would get a "device removal error" when the computer woke from sleep. I combined two different dsdt fixes I found. One fixed UHCI but not EHCI, the other did just the opposite. I combined the dsdt fix for UHCI found here: http://www.insanelymac.com/forum/ind...c=168014&st=20 and the EHCI fix found here: http://www.insanelymac.com/forum/ind...&#entry1240686 Now I can wake the computer from sleep by clicking my USB mouse and I dont have to eject USB drives before putting the computer to sleep. I also do not get the "controller will be unloaded across sleep" error when booting in verbose mode. This works great on ep-35-ds3p, but should work for most ich9 and ich10 gigabyte boards, since device id's were changed to match ich10. Also, pay attention to the usb device with address 0x001D0003, for me it was US31, dont edit this device. |
your links doesn't work ...
|
Thanks. Links got truncated somehow. fixed now.
|
Yeh these are pretty cool fixes, no patching of kexts anymore
|
Apex gets credit for the EHCI fix.
On another note. The SATA fix in the first link works great even for ich9 board like mine. AHCI now shows up as ich10 in system profiler instead of "unknown ahci controller". Dont have an SATA section in my dsdt, but IDE1 had the same address so I added that method there and it works. |
Hi m8,
I have the same issue. Sometimes my keyboard and mouse would not work. I say would because those chameleon commands (USB related) do seem to fix that. I still have the expansion slot issue though and have to wake up from sleep with case power button. I added the content in dsl but get these errors when trying to compile (I already have the DTGP section in my dsdt) Code:
/Users/Snow/Desktop/dsdt.dsl 4032: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) |
1 Attachment(s)
Quote:
Hi I have attached my dsdt its for ga-p35-ds3l, if you search DTGP you should find the code your missing |
Will take a peek, thx a lot m8 ;)
|
Tried it (I had DTGP in the wrong section) but now this error pops up.
bloody dsdt! Code:
Intel ACPI Component Architecture |
dsdt for ep35-ds3p
1 Attachment(s)
@snow
The last error is just a syntax error. Just need to "cross your t's and dot your i's" Probably a missing comma, or spacing. Compare with mine. |
Alright bro, I'll check it out, thx.
|
Alright, found the culprit, I had a wrong } set somewhere so fixed.
Thx for infol all and I'll try the aml on the next reboot. Oh and do I still need this code in my com.apple.boot.plist with this fix? Code:
<key>EHCIacquire</key> |
Thank you! Worked like a charm (though I got 98 syntax errors - will sort them out later).
Offtopic: I use USB Bluetooth Dongle to connect my wireless mighty mouse. The option to enable Bluetooth mouse to wake up computer is grayed out as Bluetooth is detected as external device and not built-in. Maybe somebody knows if there is any chance to set it as built-in via DSDT or efi-string as we do with Ethernet. |
@snow. I dont have those in my com.apple.boot.plist and everything is working.
|
rgr that bro, thx again ;)
|
Alright, it worked for my high speed bus EHCI (shows up as built in) but didn't work for normal USB UHCI (still shows as expansion)
Update: Well, actually, only the bus where my keyboard and mouse are listed shows as expansion but all the other busses (including high speed) show as built-in. Any ideas? |
1 USB bus shows up as expansion so I reckon code for this bus is missing in my dsdt.
Seems the device id code needs to be 37 so shall I just add another bus, like USB6 or? USB-bus: Locatie hostcontroller: Uitbreidingssleuf Besturingsbestand hostcontroller: AppleUSBUHCI PCI-apparaatcode: 0x2937 PCI-revisiecode: 0x0002 PCI-fabrikantcode: 0x8086 Busnummer: 0x1a compared to USB-bus: Locatie hostcontroller: Ingebouwde USB-interface Besturingsbestand hostcontroller: AppleUSBUHCI PCI-apparaatcode: 0x3a36 PCI-revisiecode: 0x0002 PCI-fabrikantcode: 0x8086 Busnummer: 0x5d Thx Update: Got it! Name ADR strings were wrong for USB3 and US31. All ok now. Going to remove the code from boot.plist. Locatie hostcontroller: Ingebouwde USB-interface Besturingsbestand hostcontroller: AppleUSBUHCI PCI-apparaatcode: 0x3a37 PCI-revisiecode: 0x0002 PCI-fabrikantcode: 0x8086 Busnummer: 0x1a I can finally use my sleep button on keyboard now to wake up (just like in windows) Thx for guiding all! |
Gelukwens!
I've tried everything. Just can't get my system to even sleep let alone waking up :( |
@mormegil
Are you using the sleepenabler.kext for snow leopard? Also required would be nullcpupowermanagement.kext as sleep enabler will conflict with powermanagement. I don't have the board you are using but I have read a lot of post from people that do, seems to be pretty good board for osx86. |
Mormegil, double check if you have all the right kexts loaded (SL compability)
fakesmc IOAHCIBlockStorageInjector NullPowerManagement OpenHaltRestart PlatformUUID SleepEnabler proper dsdt! kextutility built proper mkexts? |
[quote=Snow;32957]
Update: Got it! Name ADR strings were wrong for USB3 and US31. All ok now. Going to remove the code from boot.plist. /QUOTE] I forgot about that mine were the wrong way round too. Did you use windows Patcher02Beta5 to create your dsdt.aml? |
Long time ago but I think so yeah.
|
Quote:
Yeah this board has been very compatible with OSX. It applies to all P45 boards I think. SATA and ethernet works out of the box. Sound works great by patching AppleHDA. Now I have suspend-to-ram :D |
I have used ACPI Patcher in windows because it allows you to do more fixes. The names (USB3), (US31) are arbitrary, whats important is the address.
As I said in the original post:"pay attention to the usb device with address 0x001D0003, for me it was US31, dont edit this device." On another note, Has anyone seen an IOATA kexts yet that works in 64bit? Would really like to disable AHCI mode in the bios. |
Quote:
|
Quote:
|
Quote:
|
Update: added my DSDT.aml to original post. Has the USB section edited, and the IDE1 section for the ICH10 device id's.
|
1 Attachment(s)
So, I'm also having the issue of not being able to wake via USB keyboard or mouse. All of my USB are listed as USB, with 1 or 2 being listed as High-Speed USB.
I'm not exactly sure how to go about enabling it... Also, under Serial-ATA, my actual devices show, but it's blank where it should list the chipset (I.e. ICH10, 9, etc...) Is this a DSDT issue or kext issue? please note that I'm not a noobie doobie (I've been installing it since deadmoo)...but I'm at a loss regarding this... Please find my DSDT attached... Specs P31-DS3L (ICH7) ALC 888 e7200 @3.42 |
Alright wwbsox, thx for the update on IDE1, I've got the devices listed as ICH10 now.
Could you tell me where the section for GFX is in your dsdt or tell me how to inject my own 8800GT code? I'm not keen on using those patchers so I prefer the manual method. Thx in advance lad. Pre/Post ICH10 injection: PRE http://a.imagehost.org/0195/Schermaf...m_10_45_07.png POST http://a.imagehost.org/0687/Schermaf...m_10_45_23.png |
Quote:
That's very specific to each card. Depends on how much video ram your card has, what kind of ports you have and more importantly which slot it's in. I've commented what you need to change. Google gfxutil and you should find out how to find your PCI locations. Here is a patch you need to place within the Device (PCI0) section. This is for a 512 8800GT with two DVI ports) Code:
Device (PEGP) |
Dsdt gfx
1 Attachment(s)
@snow Of course you know it is card specific, but I am posting my DSDT with the graphics included. Look for the PEGP section under PCI0. This will give you something to compare it to.
And it looks like kDawgs last post includes the section for the same card you have. Anyways, I used ACPI patcher in windows. Under graphics, select your card and memory amount. For NVCAP I selected dual DVI (dont use anything else). For location PCI 0 check the "use dsdt gfx" box and the PEGP box. Works for me, although I can only use .aml's created by ACPI patcher. Iaslme can decompile and recompile them fine. But if I try to use a .dsl created by ACPI patcher, Iaslme cannot compile it b/c of too many errors? Hmmm.... Good Luck. |
Alright guys, will try kDawgs code first since I have the same card, 8800GT, 512MB and dual DVI's in pci-x slot 0 I think (the first)
If this doesnt work out I"ll prob use ACPI patcher, thing is though, this patcher starts all over and I don't want it to mess with the code I already have. I'll post back with update! Thx Update: where would I find the pci location (ADR) in IORegistryExplorer tool? Update 2: DevicePath = PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0) is what GFXutil reports to me. does that mean ADR string should be: 0x101000000 |
Gfx
@snow
I didnt want to start all over with my DSDT either. So I generated a dsdt with the graphics and copied the entire PEGP section to my current DSDT with the other fixes. Also, I'm pretty sure my card showed up in ioreg as a PCI address 1, but when I selected this address in ACPI patcher, it never added it to the dsdt. Had to choose PCI 0. |
Done!
I pasted the exact same code as kDawgs since my ADR was 0x00010000 and not what I thought before. http://a.imagehost.org/0013/Post_fix.png Thx again all for the help! |
I think I have only 1 issue remaining (until I get me one of those fancy mac keyboards)
I've made my own keyboard layout wit ukelele a long time ago and it matches my belgian point keyboard perfectly but now and then osX decides to load the default keyboard (which is belgian but apple layout) I've tried removing the bundle from S/L/Keyboard Layouts to block the default load but I think I ran into issues. I don't know if its directly related to the removal or to my dsdt patching etc but I lost my keyboard alltogether. Now with putting the bundle back in all is fine. I guess I have to start modding with Quickeys :/ |
Thanks for posting this fix! (Y)
I played with my DSDT for weeks trying to solve this problem. Up to now i've been using Slices modified IOUSBFamily as a work around. |
Quote:
|
1 Attachment(s)
Snow, I also used ACPI Patcher to enable my 9800gt through dsdt, works just fine. Just gotta make sure you get the right settings.
I am wondering if anyone's using this on a P35-DS3L My usb ports also show up as "Expansion Slot", and only 2 are "High-Speed" I cannot wake from sleep with kb/mouse. Most importantly however, sometimes my keyboard isn't detected @ startup. In BIOS, I do have kb usb support (Not mouse), which I always wondered if it was related. EDIT: just checked if I got the "Device Removal" error with a usb flash drive, yup, sure do. I'd like to try this (Never have edited manually). Why is one device with that specific address left alone? Attached is my dsdt.dsl usb portion of my file, In case someone wants to speed up my process =P |
1 Attachment(s)
@EnzoFX
Here you go. |
Thanks a lot wwbsox!
Edit: So far so good =D I can wake on kb/mouse now, I'm ecstatic. Now.. onto my sleep on idle issue. heh. |
What issue are you having with sleep on idle?
|
Well I'm afraid this did not fix my usb keyboard not being detected @ startup, every other restart. =(
If I disable usb kb support in BIOS it won't work in Chameleon selection screen right? haha so no point in trying that =/ My issue with sleep on idle was this: I had the DVD burner causing sleep on idle to fail, as detailed here:http://www.insanelymac.com/forum/ind...&#entry1238915 (The last point is mine, which gives more detail) Before it was a usb drive that was causing it, but I did a fresh reinstall, and I have yet to plug in any DVD drive to the system (install from HDD to HDD), and it fails to go to sleep when it is scheduled to. I believe I hear the drive make a noise at that time, so I think the system does try, but something isn't letting it. and another issue: The screensaver doesn't come up =P No matter what I set the different time intervals to, screensaver, power off display, sleep computer, etc. I use this to work around the init issue my graphics card has. To go into specifics: This only happens when the display is powered off, and I'm still @ the computer, so I immediately move the mouse to bring the screen back on. Again, this only happens when I do it quickly, the monitor doesn't even finish going into standy, before I move the mouse. It is only in this condition, that once the screen comes back on, I get this crazy, pure static like image. It eventually initializes properly and I see my desktop again after a few seconds. Sometimes several. This card has always done that with me. Whether I enabled it through EFI strings or DSDT. If anyone has any input on what I can do to fix this, that'd be very much appreciated, but for now I use the screensaver as a middle-step, so then that becomes the moment where I move the mouse to get the desktop back haha =P. Then if I really am AFK, then it can turn off display, sleep, whatever. |
Quote:
|
And that sticked? dang, odd solution but hey if it works. I'm not going to reinstall though hehe.
btw, I just noticed I have my 8800GT listed in sys prof as PCI card. Everything works and I have input kDawgs code exactly as listed but without checking the proper PCI bus so at PCI0. This is still ok right? Thx http://a.imagehost.org/0301/PCI.png |
Can you re-run set up without installing I'm sure theres a way
|
http://kttns.org/ztux
Bus: PCIe Is the only diff I see... Anyone recommend a fix for my usb-kb not being detected every now and then on startup? I'm on a GA-P35-DS3L, Cham2. GFX, Ether, this USB-fix, Legacy HDA, through DSDT. Edit: I just noticed that I had to re-plug in my Printer to print something =/. What is causing this? My mouse has never been affected... Should I try this strings in Cham's boot.plist? <key>EHCIacquire</key> <string>Yes</string> <key>UHCIreset</key> <string>Yes</string> <key>USBBusFix</key> <string>Yes</string> I'm not exactly sure if they'd conflict with this combined fix in this thread. Anyone? |
@EnzoFX
I have messaged a few others with your mother board and they are not experiencing the same issues. If you'd like, post your dsdt and I will take a look at it. See if I can figure it out. |
DSDT Speed Step
@Everyone with Gigabyte boards
Anybody have working p-states/c-states using dsdt? I am thinking of starting a dsdt speed step thread for gigabyte boards..... unless anyone knows of a good one already. I have not modified my dsdt for speed step...yet. But CPU-I shows it is working somewhat. The multiplier and frequency are throttling up and down, but the voltage remains at the highest p-state (kinda defeats the purpose). |
CPU-I?
How to check speedstep? |