InfiniteMac OSx86  


Reply
 
Thread tools Display modes
  #1  
Old 08-15-2010, 09:33 PM
cynargo cynargo is offline
Jaguar
 
Join Date: Jul 2010
Posts: 31
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.
Reply With Quote
  #2  
Old 08-17-2010, 08:42 PM
lemonsoda lemonsoda is offline
Puma
 
Join Date: Jan 2010
Posts: 21
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.
Reply With Quote
  #3  
Old 08-17-2010, 09:29 PM
lemonsoda lemonsoda is offline
Puma
 
Join Date: Jan 2010
Posts: 21
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.
Reply With Quote
  #4  
Old 08-20-2010, 09:44 AM
cynargo cynargo is offline
Jaguar
 
Join Date: Jul 2010
Posts: 31
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)
                }
            }
But that also doesn't work. I guess it needs something more, but I can't figure out what.

Gone Linux.
Reply With Quote
  #5  
Old 08-20-2010, 07:23 PM
lemonsoda lemonsoda is offline
Puma
 
Join Date: Jan 2010
Posts: 21
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.
Reply With Quote
  #6  
Old 08-21-2010, 09:14 PM
cynargo cynargo is offline
Jaguar
 
Join Date: Jul 2010
Posts: 31
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)
		}
            }
Any ideas ?

Gone Linux.
Reply With Quote
  #7  
Old 08-22-2010, 03:32 AM
lemonsoda lemonsoda is offline
Puma
 
Join Date: Jan 2010
Posts: 21
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.
Reply With Quote
  #8  
Old 08-22-2010, 04:16 PM
lemonsoda lemonsoda is offline
Puma
 
Join Date: Jan 2010
Posts: 21
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
Reply With Quote
  #9  
Old 01-13-2011, 11:20 AM
wastez's Avatar
wastez wastez is offline
Panther
 
Join Date: Oct 2010
Posts: 182
Does anyone fix the problem with ohci? Because i canīt get it working.....

Thx & Greetz
Reply With Quote
  #10  
Old 02-02-2011, 03:08 PM
cheops2006 cheops2006 is offline
Cheetah
 
Join Date: Aug 2009
Posts: 2
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)
	                }
                }
Reply With Quote
Reply