Jump to content

fluid | fixed

AppleHDA: ALC880 / ICH7 working, Guide to adapt


46 replies to this topic

#1
macdanger

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
Hi guys,

after being desperate on trying every hint and hack, every kext and following the guide of Taruga. I still had no luck. The AppleHDAControler seemed to load but not the AppleHDADriver.
So I decided to do a little 2 weeks research by myself, and eventually it works!

I can't upload, so the kext can be found here:
http://www.mediafire.com/?3fgnmmiv0yb

Disclaimer:
• This kext is based on Apples current Audio Update for 10.4.10 (kext version 1.3.3). It may work on older systems or not.
• Another thing: it seems to be very difficult to write a generic driver for the audio codecs, because the pathmaps seem to differ depending on the number of jacks you have on your board.
• One last thing: you should mute your speakers while the initialization (at booting the OSX) there are some cracking noise. Until now, I couldn't find out how to suppress this.

First, thanks to Taruga who has made a very good guide for AppleHDA hacking.

Things to do:
• If someone could help me, I would pack this one into an Installer package. Maybe skippyretard will add a package to his thread...
• not all jacks the codec supports are in the pathmap right now, because I only have 4 rear jacks to test
• 5.1 sound? I can't imagine how one could realize 5.1 sound with only 3 analogue jacks and one spdif, but this maybe possible somehow :-)

What is supported:
• commell LV-677 utilizing an intel 945GM/ICH7 with 3 Jacks (Line-in, Mic, Line-out) and SPDIF-out (optical)
• As the codec is documented I guess at least all boards with ICH7 and Realtek ALC880 Codec should work.

What's working by now:
• line-out with full volume and balance control
• spdif out
• line-in with gain control
• mic with gain control and ambient noise reduction. Mic is pre-amp'ed

What do you need:
• ALCInject
• this AppleHDA.kext
• luck :-)

The easiest way to install this:
• Use one of the alc88x packages to install ALCInject (e.g. http://forum.insanelymac.com/index.php?sho...&hl=alc883)
• Change the string DAAAAA== to NAAAAA==
• remove AppleAzaliaAudio.kext and AppleHDA.kext from your /System/Library/Extensions folder
• copy the AppleHDA.kext to your /System/Library/Extensions folder
• repair permissions, restart and cross fingers :-)


Documentation used:
• a self created codec dump of my sound codec using knoppix (cat /proc/asound/codec#0 >codec.dump)
• Taruga's HDA guide http://forum.insanelymac.com/index.php?sho...9&hl=alc883
• Documentation (Datasheet) from Realtek: http://www.realtek.com.tw/downloads/downlo...;Downloads=true

For the ones who want to adapt this kext to other codecs, here is what I've done:
• AppleHDA binary:
As described in Toruga's guide you have to patch the binary to match your codec. In my case exchanging the 2 occurrences of the original ALC885 codec (0x10EC0885) didn't work. So I tried something else. I changed the 3 occurrences of the sigmatel codec (0x83847680, search for 80768483) to the one of the realtek acl880 (0x10EC0880, insert 8008EC10).
• AppleHDAControler plist:
The original AppleHDAController plist already contained an entry for ICH7 but the codec ID was a Sigmatel (0x83847680, decimal: -2088470912 or 2206496384). So I changed this to the realtek alc880 (0x10EC0880, decimal: 283904128).
• ALCInject:
I tried all LayoutID's and injected them with ALCInject. I found only one that at least loaded the AppleHDADriver and gave some cracking noise to the speakers. Now I knew, I'm almost there :-). It was LayoutID 52 (0x34)
• AppleHDA plist:
I copied the Pathmap of LayoutID 52 (pathmap 18) to a new pathmap 19 and pointed the Layout 52 to it. Then I did some trial and error and used Taruga's Guide and my linux codec#0 dump to add more and more parts of the codec.

Greetings MacDanger

#2
SamuelDB

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
Hi, does it work with alc882m (from asus n4l-vm dh) ?

#3
macdanger

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
nope, ALC880 only, but it maybe possible to adapt the methode i described. The thing is, it may be alot of work :-) Did you try the AppleHDA patcher here in this forum?

#4
maxoid

    InsanelyMac Protégé

  • Members
  • Pip
  • 18 posts
Macdanger,

Well done. It's great to know that someone could do one more successful step to get sound working.

I'm trying to do the same on AD1986a codec (0x11d41986) + ICH7M controller (0x808627d8).
Unfortunately, without any success yet.

Could you post some more details on the steps you've made (including modification of all Info.plist files)?
I've noticed in your kext some changes that are not described in the tutorial.
For example, you have changed almost all codec IDs in AppleHDA.kext Info.plist and also LayoutIDs in Info.plist of AppleHDAController.kext

Thanks in advance.
MaX

#5
Loccy

    InsanelyMac Protégé

  • Members
  • Pip
  • 46 posts
I am going to try this on my ALC262, and see if I have any joy, but can someone explain what

Quote

Change the string DAAAAA== to NAAAAA==

means?

#6
maxoid

    InsanelyMac Protégé

  • Members
  • Pip
  • 18 posts
Loccy,

Change the string DAAAAA== to NAAAAA== means changing the value of the key layout-id in Info.plist of ALCinject.kext.
You see the value DAAAAA== only if you use a kind of text editor to edit Info.plist which is not the best idea.

If you use Property List Editor (link can be found on this site) the value will be seen in it as <0c000000 > which actually stands for 12 (decimal).
According to Macdanger's tutorial it should be changed to <34000000 >

Regards,
MaX

#7
SamuelDB

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
Yes I tried the Taruga's method with a codec dump but it didn't work. Everytings was visible in the sound pref pane, but no sound. Is there somebody who have a working alc882m on asus n4l-vm ?

#8
Krazubu

    InsanelyMac Legend

  • Retired
  • 846 posts
Hi Macdanger,
It's nice to see a way to extend audio support to many codecs.
Do you know if this method also applies to ICH6 HDA codecs ?

#9
Loccy

    InsanelyMac Protégé

  • Members
  • Pip
  • 46 posts
No joy on the 262 I'm afraid. Kexts wouldn't even load until I'd also changed the IOPCIPrimaryMatch to 0x27d88086. Then I could manually load the kexts but they didn't do very much - no output device found.

#10
macdanger

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
Yes, this extension really only apply to alc880 with the ID 0x10ec0880. It may be possible to compile one kext for all realtek codecs and many chipset vendors, but this is alot of work. When i have the time, i will try to do so. The Problem is that it is not guarantied that every realtek codec may work. Apple has already support for some alc88x codecs in the kext but we don't know if all realtek codecs will get initialized the same way.

Greetings MacDanger

#11
Loccy

    InsanelyMac Protégé

  • Members
  • Pip
  • 46 posts

macdanger said:

When i have the time, i will try to do so.

I don't know if you saw my post a bit further down the forum, but I'm offering money for anyone who can get it going on a 262, if that helps free up your time :D

#12
Taruga

    Retired

  • Retired Developers
  • 454 posts
  • Gender:Male
  • Location:Portugal
Hey Mac Danger, that is very good news !!!

I was getting desperate with some codecs, today I had the opportunity to test an Asus P5GD1-VM with Realtek ALC861, sound output is working atm.
With a little more time I will make it fully working.

So, it seems we have now 2 more sound codecs supported.

ALC861 was a pain in the ass to figure it out !!!!!

#13
emx22333

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts

View PostTaruga, on Aug 30 2007, 12:21 AM, said:

Hey Mac Danger, that is very good news !!!

I was getting desperate with some codecs, today I had the opportunity to test an Asus P5GD1-VM with Realtek ALC861, sound output is working atm.
With a little more time I will make it fully working.

So, it seems we have now 2 more sound codecs supported.

ALC861 was a pain in the ass to figure it out !!!!!

Hi Taruga,
could you explain me how to get sound output working in Asus F3Jc laptop (ALC861) ?

Thanks.

#14
jjduro

    Almocinho grátis é que era

  • Members
  • PipPipPipPipPipPipPip
  • 875 posts
  • Location:Sandes de presunto é bem bom

View Postemx22333, on Aug 30 2007, 09:37 AM, said:

Hi Taruga,
could you explain me how to get sound output working in Asus F3Jc laptop (ALC861) ?

Thanks.

He's working on it. Let's wait and hope. I'm not religious, but I'm going to light a candle to Saint Taruga :censored2:

#15
emx22333

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts

View Postjjduro, on Aug 30 2007, 11:10 AM, said:

He's working on it. Let's wait and hope. I'm not religious, but I'm goig to light a candle to Saint Taruga :)

Another big candle to Saint Taruga, lets see if miracles happen.
:)

#16
jjduro

    Almocinho grátis é que era

  • Members
  • PipPipPipPipPipPipPip
  • 875 posts
  • Location:Sandes de presunto é bem bom

View Postemx22333, on Aug 30 2007, 10:55 AM, said:

Another big candle to Saint Taruga, lets see if miracles happen.
:)

Man, we're starting a cult here! All hail Saint Taruga, defender of the silenced ones - especially the ones with Asus F3Jc laptops and ALC861 sound codecs :)

#17
boyang.yue

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
very thanks for your working! :P

could you try help us to found a way make ALC883 on ICH7 working?

plese

#18
King_Tone

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
  • Gender:Male
  • Location:KingLand

View PostTaruga, on Aug 29 2007, 08:21 PM, said:

ALC861 was a pain in the ass to figure it out !!!!!
:) Wow.... May the Force be with you. Saint Taruga Posted Image

#19
Taruga

    Retired

  • Retired Developers
  • 454 posts
  • Gender:Male
  • Location:Portugal

View Postemx22333, on Aug 30 2007, 09:37 AM, said:

Hi Taruga,
could you explain me how to get sound output working in Asus F3Jc laptop (ALC861) ?

Thanks.

Soon I will post it, I have 2 very different versions of ALC861 codec to work, one is working already, the other (the one you need) is in testing. May a couple of days and it will be ready (or not) :)
Lets keep our fingers crossed.

#20
386dx

    InsanelyMac Protégé

  • Members
  • PipPip
  • 75 posts
Thanks everybody. We just need it as package installer for lazy persons (like me). :P





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2011 InsanelyMac  |   News  |   Forum  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan