#1
|
|||
|
|||
OHCI built-in fix
Hi,
I see there are DSDT fixes that make OS X detect EHCI and UHCI controllers as "built-in" and make you able to wake up your hackintosh by eg. clicking or pressing a key on keyboard. My question is if there are any DSDT fixes for OHCI controller, which is present on nVidia and AMD based motherboards. Some MacBooks were based on nv chipset, so I think it shouldn't be that hard. Anyway, I can't figure it out myself - I've tried but it only made my OHCI controllers disappear from OS X and I don't like it Thanks Gone Linux. |
#2
|
|||
|
|||
Yes!!!
i saw this first on a tonymac dsdt file for sata. To make the sata device register using apple naming conventions and standards for port names etc, they just deleted all the code around the DEVICE entries leaving just device names and physical locations in brackets So following this exmaple for usb, delete all the code underneath each usb device entry in your dsdt, leaving just the device name and locations as follows (i renamed the usb devices prior to this mod using replace) also make sure you use your ADR Values and not mine!!! 0000 = 1st device in group 0001 = 2nd device in group some groups are big some are small. rename the devices (optional) based on ioreg data. You will end up with something like this :- Device (OHC1) { Name (_ADR, 0x00020000) } Device (OHC2) { Name (_ADR, 0x00020001) } Device (EHC1) { Name (_ADR, 0x00020002) } the os should then take over at boot to fill in the gaps! try it and let me know what you think. Do not remove any other usb related code as this is still needed for correct power management etc (i think) If anyone is reading, please let me if this is a bad idea. I copied someone else. I run the sata hack on another machine and its works fine. Good luck and let me know if this works for you. I think this method can be applied to many different devices for internal location etc Cheers lemonsoda Last edited by lemonsoda; 08-20-2010 at 07:33 PM. |
#3
|
|||
|
|||
re nvidia macs, try and get the io reg and dsdt dumps from the models you discussed. Maybe you can use the same code (with a little tweaking) I heard some guy use a mac dsdt just removing smc and fixing pci devices etc. see tip in post 17 on this subject. http://www.insanelymac.com/forum/ind...ic=145792&st=0 Sounds like a serious but fun undertaking and a worthwhile experiment as you will end up with a mac -efi at the end of it!! just make sure you dont apply cpu voltage changes in dsdt unless they are your entries!! cheers LS
Last edited by lemonsoda; 08-17-2010 at 09:32 PM. |
#4
|
|||
|
|||
I've tried leaving only the "Name( ... )| as you said, but no effect.
I've also tried making the "OHC" device look more like the one in nv based MacBook Code:
Device (OHC1) { Name (_ADR, 0x00120000) Method (_S3D, 0, NotSerialized) { Return (0x03) } Method (_S4D, 0, NotSerialized) { Return (0x03) } Method (_DSM, 4, NotSerialized) { Store (Package (0x03) { "AAPL,device-internal", 0x60, Buffer (0x01) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Gone Linux. |
#5
|
|||
|
|||
thx for feedback,
I was having some issues with text fomatting before. scripts weren't enabled! What i suggsted should have worked, at least for internal usb device location in ioreg. Did you leave the Device (OHC1) bracket below, and the name section below it in as well? if it was just name with the device part it would not have worked. Device (OHC1) { Name (_ADR, 0x00020000) } for a sleep fix i think you need to add PWRB OR SLPB button (desktop or laptop) devices on the L0 locations (if they are not already there, I haven't tried wake by keyboard on amd) Try that first, if you are still having issues, try having a look at some other dsdt of the same board. You could do a google search. I did come across an old nvidia dsdt which he fixed his sleep issues, not sure if internal but he uses the injecion thing. I dont have amd to test! http://osx86.net/f84/dsdt-for-a8n-sl...working-t6299/ good luck with that and let me know how you get on. Cheers, LS ps do you have legacy usb enabled? this is not good. called either usb: storage, kb or mouse on amd in bios make sure this is disbaled. If you dont have many options in bios, you can get a chamelon patch that force disables it, i know that some nvdia chipset hand an issue with that, so you could try this :- http://forum.voodooprojects.org/index.php?topic=866.0 not sure if this made it into the main branch. anv's latest one has it but it kp's on amd!! find a better one with integated patch or patch chamelon source yourself and build you own version!!! as you know, these are options, not definite fixes! Last edited by lemonsoda; 08-20-2010 at 07:57 PM. |
#6
|
|||
|
|||
I've downloaded AppleUSBOHCI sources, and it looks like it generally checks if there's "AAPL,clock-id" present. If it's not it turns off power management for this OHCI controller and shows it as expansion card instead of built-in. Just like with EHCI controllers. The problem is that, when I add "AAPL,clock-id" into OHCI's DSM method OSX stops detecting this controller (when I add it to one of EHCI controllers everything is fine)
Code:
Device (OHC1) { Name (_ADR, 0x00120000) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } Method(_DSM, 4, NotSerialized) { Store (Package (0x0B) { "device-id", Buffer (0x04) { 0x97, 0x43, 0x00, 0x00 }, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,current-available", 0x0FA0, "AAPL,current-extra", 0x044C, "AAPL,current-in-sleep", 0x0FA0, Buffer (One) { 0x00 } }, Local0) DTGP(Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Gone Linux. |
#7
|
|||
|
|||
Hi mate,
does sleep work by just modding ehci? take a look at this post, it only has clock id on the ehci ports http://osx86.net/f84/uhci-ehci-built...sdt-fix-t3849/ otherwise you could take another look at that nvidia mac dsdt? does that use ohci? also have another look at the a8n post i linked to a few posts ago, that seems to implement something on all usb devices as im sure you know, you can also look in ioreg to see how the devices appear to the os, then you know which ones are which! Cheers, LS Last edited by lemonsoda; 08-22-2010 at 11:21 AM. |
#8
|
|||
|
|||
just seen this, it has the offset for legacy usb fix for mcp79 (i think)
http://www.projectosx.com/forum/inde...381&#entry9381 hope that might be useful Cheers |
#9
|
||||
|
||||
Does anyone fix the problem with ohci? Because i canīt get it working.....
Thx & Greetz |
#10
|
|||
|
|||
Yes this works
Code:
Device (OHC1) // OHCI { Name (_ADR, 0x00040000) Method (_S1D, 0, NotSerialized) { Return (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_DSM, 4, NotSerialized) { Store (Package () { "AAPL,device-internal", 0x00, Buffer (One) {0x00} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } 💡 Deploy cloud instances seamlessly on DigitalOcean. Free credits ($100) for InfMac readers. |