Jump to content

ALC885 on nForce 680i


iLeopod
 Share

20 posts in this topic

Recommended Posts

Hi all,

I'm looking for a full working solution for my sound card (im using Snow Leopard).

Codec: Realtek ALC885
Address: 0
Vendor Id: 0x10ec0885
Subsystem Id: 0x10ece601
Revision Id: 0x100101

Motherboard is a EVGA nForce 680i.

At the moment i got only analog out working (Patched DSDT and LegacyHDA in /E/E). I know that this is not a very popular codec but it's very similar to the ALC 889A. On Leopard all was working with Apple HDA PATCHER. So if you could help me please reply.

 

If you need i have attached a CodecDump

ALC_885_Codec.txt

Now Working!!!!

 

Working:

 

Speaker

Hp

Rear Mic

Line in

Digital out

Line out

 

Not Working:

Front mic

 

Download:Kexts

 

LegacyHDA ⇒ /Extra/Extensions or /System/Library/Extensions/

You must use included AppleHDA. (⇒ /System/Library/Extensions/)

 

You also need audio injection

 

on DSDT:

 

need DTGP method

	Device (HDEF)
		{
			Name (_ADR, 0x000F0001)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package ()
					{

						"built-in", 
						Buffer (One)
						{
							0x00
						}, 


						"subsystem-id", 
						Buffer (0x04)
						{
							0x0A, 0x00, 0x00, 0x00
						}, 

						"subsystem-vendor-id", 
						Buffer (0x04)
						{
							0x6B, 0x10, 0x00, 0x00
						}, 


						"codec-id", 
						Buffer (0x04)
						{
							0x85, 0x08, 0xEC, 0x10
						}, 

						"platformFamily", 
						Buffer (One)
						{
							0x00
						}, 

						"layout-id", 
						Buffer (0x04)
						{
							0x75, 0x03, 0x00, 0x00
						}, 

						"device-type", 
						Buffer (0x0F)
						{
							"Realtek ALC885"
						}, 

						"PinConfigurations", 
						Buffer (Zero) {}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

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

		}

 

Further Information about Analog Multichannel:

[How TO] 5.1 Surround Sound by consolation

[How to] Have sound on all of your speakers by macgirl

How to get 5.1 audio out of AAC-surround-encoded audio

 

 

Credits: Tagura THeKiNG and all others and tmongkol for his good collection.

 

Regards

iLeopod

 

The attachments at the end are old!

ALC885_for_nForce_680i.zip

HDAEnabler.kext.zip

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...
  • 4 months later...
  • 4 weeks later...

ATM i'm trying to use a actual AppleHDA. The Intel ones are working with the newest AppleHDA. The differences are obviously the IDs and the Address. Dose any one know what ids are checked by AppleHDA (Vendor/Product/Subsystem/SubsystemVendor/Revision)

Link to comment
Share on other sites

  • 1 month later...

Is the original post still valid for 10.6.6?

 

Also, how does it coincide with your DSDT found here:

http://www.insanelymac.com/forum/index.php?showtopic=246639

 

I've noticed that the HDEF section is completely different in your DSDT in the thread above versus what you see here.

 

I tried your DSDT with the two kexts above but do not get any audio.

 

I'm going to try changing the DSDT to match the original post and see if it works.

Link to comment
Share on other sites

First:

This topic is not up to date with the DSDT one.

 

Thank u for your feedback.

 

The DSDTs i offer on the other thread a testing. The most important thing is the layout Id with must match the one in the Legacy HDA if u use this version from this topic its 12 -> 0xC -> 0x0C, 0x00, 0x00, 0x00.

 

 

I have currently a other version with Layout ID 885 therefore the 0x75, 0x03, 0x00, 0x00 in some of the DSDT samples .

 

The with The other ID is try to load a 10.6.6 Apple HDA , but no success up to now.

 

If your Layout ID are matching install the 10.6.2 Apple HDA. But please these it with the actual before maybe its a problem with the bios there is a new out there but i can only flash with OEM bioses so i must stay on v. P32.(see in DSDT header : Ailenware {censored}).

 

I will send u also my newest legacy hda based on the work of the guys on the 889A thread( with layout ID 885 so u need nothing to change).

 

When u got it working please post feedback about Digital out .

Link to comment
Share on other sites

I'm using the P33 BIOS. I do have P32 downloaded so I could roll back to it maybe.

 

I have these BIOS's saved: P28, P29, P30, P32, P33

 

I am missing P31, which is supposed to be the most stable BIOS for this motherboard.

 

 

 

What changes do you make to AppleHDA to have it look for and/or work with other devices?

 

I'm a little confused on which AppleHDA to use with the ALC885.kext you sent. Do I use the AppleHDA linked at the top of the thread?

 

Thanks.

Link to comment
Share on other sites

First try it without to see if the newer BIOS make a difference, If u get no audio u must use the AppleHDA.kext (Don't know wheres the problem the ALc 889A witch are based on alc 885 work with latest Apple HDA).

 

According to Bios please could u dump your unmodified DSDT to check if there exist differences. I would not recommend to downgrade. I can not use the files from evga Site maybe i should exchange may bios chip.

Link to comment
Share on other sites

Here is my unmodified DSDT.

 

Edit:

I just compared your original DSDT to mine and there are some interesting differences.

 

I have \_S1 where you have \_SS1

 

I also have these extra sections not in your original:

 

		OperationRegion (RTC3, SystemIO, 0x72, 0x02)
	Field (RTC3, ByteAcc, NoLock, Preserve)
	{
		CMI,	8, 
		CMD,	8
	}

	IndexField (CMI, CMD, ByteAcc, NoLock, Preserve)
	{
				Offset (0x83), 
		OSFG,   8
	}

	IndexField (CMI, CMD, ByteAcc, NoLock, Preserve)
	{
				Offset (0x84), 
		IOEN,   8
	}

	Method (PFLG, 0, NotSerialized)
	{
		Store (TRP3, Local0)
		If (LNotEqual (Local0, 0x00))
		{
			Store (0xAA, OSFG)
		}
	}

	OperationRegion (IOAP, SystemMemory, 0xFEC00000, 0x20)
	Field (IOAP, DWordAcc, NoLock, Preserve)
	{
		INDX,   32, 
				Offset (0x10), 
		IOD1,   32
	}

	Method (IRQV, 1, NotSerialized)
	{
		Store (INDX, Local0)
		Store (Arg0, INDX)
		Store (IOD1, Local1)
		Store (Local0, INDX)
		And (Local1, 0xFF, Local1)
		Return (Local1)
	}

 

			And (IOEN, 0x01, Local0)
		If (LEqual (Local0, 0x00))
		{
			If (PICF)
			{
				If (CondRefOf (\_OSI, Local0))
				{
					If (\_OSI ("Windows 2006"))
					{
						If (LAnd (LEqual (IRQV (0x3E), 0xFF), LOr (LEqual (IRQV (0x14), 
							0xD1), LEqual (IRQV (0x20), 0xD1))))
						{
							Store (0x03FF, TRP3)
						}
					}

					If (\_OSI ("Linux"))
					{
						Store (0x00, TRP3)
					}
				}
			}
		}

 

		If (LEqual (Arg0, 0x04))
	{
		PFLG ()
	}

 

			Device (DLDT)
		{
			Name (_ADR, 0x01)
			OperationRegion (TRP, PCI_Config, 0xC0, 0x10)
			Scope (\)
			{
				Field (\_SB.PCI0.DLDT.TRP, ByteAcc, NoLock, Preserve)
				{
					TRP0,   32, 
					TRP1,   32, 
					TRP2,   32, 
					TRP3,   32
				}
			}
		}

 

			Name (BUFS, ResourceTemplate ()
		{
			Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
			{
				0x00000014,
				0x00000015,
			}
		})
		Name (BUFM, ResourceTemplate ()
		{
			Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
			{
				0x00000016,
				0x00000017,
			}
		})

 

 

And finally, while you have "BUFF", I have "BUFM"

 

 

 

I don't know if these differences are related to what tools were used to extract the DSDT or what.

unmodified_dsdt.dsl.txt

Link to comment
Share on other sites

Here's what I did. I compared your unmodified DSDT, your modified DSDT, and my unmodified DSDT and kind of merged them all together to create an updated, modified DSDT specifically for my board.

 

Using your ALC885.kext and the 10.6.2 AppleHDA.kext, audio works just fine.

 

Other than an occasional spinlock when both cores are enabled, everything seems pretty solid and stable so far.

 

Edit:

I added in a single graphics card (GTX 470) to the DSDT file so I don't have to use an EFI string.

 

I actually have dual GTX 470's that I use in SLI in Windows, but I cannot seem to get the second graphics card working in OS X. It doesn't really matter since I don't really need the second one in OS X.

 

The problem I get when I add in a GFX0 section for the second graphics card is that when it boots, it will eventually just stop loading and never display the login window. If I remove the GFX0 section from the second card then it boots fine.

imk_680i_dsdt.dsl.txt

imk_singlegfx_680i_copy.dsl.txt

post-233475-1300678010_thumb.png

post-233475-1300678018_thumb.png

post-233475-1300678025_thumb.png

Link to comment
Share on other sites

Aquamac wrote on his Forum about dual GFX efi strings:

THIS MAY NOT WORK ON MOTHERBOARDS WITH NVIDIA CHIPSETS!

Im not sure if it could work with DSDT entry but may be try GFX1 for first and GFX2 for second card.

 

 

I see u have HDA-GFX / HDAU. Do u have patch the binary and got HDMI audio?

Link to comment
Share on other sites

I tried GFX0+GFX1 and GFX1+GFX2 and got nowhere with either. It's not that important since OS X doesn't support SLI and I don't have four monitors.

 

As for the HDAU part, I just added it for the sake of having it in. I did not test it or HDMI audio out at all.

Link to comment
Share on other sites

I moved my PC to the living-room to test digital out. Its working!! You see grey speaker ( i mean it was black like the other outputs in Leopard) icon in menu bar but this is because a PCM signal level couldn't be changed.

Link to comment
Share on other sites

  • 2 months later...

Hi ileopod ...

 

i have ALC885 4 OUT 2 IN the sound is work for me but i have 2 problem ...

 

1- my Line IN doesn't work

2- i have 5.1 speaker i can't get all 6 pieces work at the same as Surround

 

so i need to ...

 

inject my DSDT with right Device id and all codes need to make my 5.1 speaker work

the right kexts for my ALC885

 

this is my Audio now ...

 

binaudio.png

 

thanks

Link to comment
Share on other sites

I've updated the first post with my newest files. Use DSDT injection to get no sound assertion errrors. Also added links about analog multichannel.

 

To get Line In you need to change your input to the second entry.

Link to comment
Share on other sites

 Share

×
×
  • Create New...