Jump to content

The Most "Perfect" way to get sound on 10.6.4....(ACL1200 and all others based on ACL888)


gsam_fan
 Share

48 posts in this topic

Recommended Posts

after a lot of research .... a lot of attempts-errors ... with a lot of methods that exist , on a lot of desktops and laptops , with various ACL codecs .. ..... ... .. I made my own method :)

 

 

(not exactly.. took all the 'good' staff and put it tougether) :P

thnks to a lot of people that worked it out...in this forum

 

but why ? , i have sound (partially)

Voodoo has problems.. glintses , low output , mic level , SPDIF , HDMI...

Apple updates breaks sound...

Various kexts are out there but partially works... you try a new one to fix Line-In and you break mic.... :wacko:

 

How? Is it easy for me?

There is no "magic" kext out there... you have to make one for your system...and it is hard

 

What i get?

update with no fear... and see no error at boot with -v flag .....:P

watch a movie with 7.1 :angel:......all out-in works great

 

 

LET'S GO...!!

 

Step 1: patch AppleHDA (inside AppleHDA.kext/Contents/MacOS/)

no matter what version , works fine with 10.6.4 , no need for rollback to 10.6.2

 

 

by use of HexEdit find and replace 85 08 EC 10 <-------> 88 08 EC 10

this will modify codec 885 to codec 888 to load properly AppleHDA so later we can "play" with PinConfigs

after every update..the most difficult thing to get sound back working..is to patch again only :)

 

Step 2: patch DSDT.aml to inject HDEF device and codec

this is my DSDT for ACL1200

 

info from linux dump (/proc/asound/cards/card#0/codec#0

Codec: Realtek ALC1200
Address: 0				<-------- notice that this is address #0 …the most common "problem" with all LegacyHDA.kext … see later Step 3: PinConfig
Function Id: 0x1
Vendor Id: 0x10ec0888
Subsystem Id: 0x104382fe
Revision Id: 0x100101

			Device (HDEF)
		{
			Name (_ADR, 0x001B0000)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0A)
					{
						"built-in", 
						Buffer (One)
						{
							0x01
						}, 

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

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

						"device-type", 
						Buffer (0x11)
						{
							"Realtek ALC1200"
						}, 

						"PinConfigurations", 
						Buffer (0x38)
						{
							/* 0000 */	0x40, 0x01, 0x43, 0x99, 0x10, 0x40, 0x01, 0x01, 
							/* 0008 */	0x12, 0x10, 0x01, 0x01, 0x11, 0x60, 0x01, 0x01, 
							/* 0010 */	0x14, 0x20, 0x01, 0x01, 0x50, 0x98, 0xA1, 0x01, 
							/* 0018 */	0x60, 0x9C, 0xA1, 0x02, 0x5F, 0x30, 0x81, 0x01, 
							/* 0020 */	0x20, 0x4C, 0x21, 0x02, 0xF0, 0x11, 0x33, 0x59, 
							/* 0028 */	0x01, 0xE6, 0x15, 0x40, 0x30, 0x71, 0x44, 0x01, 
							/* 0030 */	0xF0, 0x11, 0x11, 0x41
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			Method (_PRW, 0, NotSerialized)
			{
				Return (GPRW (0x0D, 0x04))
			}
		}

info:

built-in:0x01 means build-in = yes

 

codec-id:0x88, 0x08, 0xEC, 0x10 is to "pass" hardware check of AppleHDA that we patched in Step 1

 

layout-id: 0x78, 0x03, 0x00, 0x00 is to set to layout-id=888 into Info.plist of Legacy1200HDA.kext (reverse dec data and convert it to hex….. 78 03 00 00 (hex) <-----> 00 00 03 78 (hex) <----> 0888 (dec).Here is the "Big" secret of my method , use a layout-id that don't exist into AppleHDA.kext....don't mess up pinconfigs and layouts of a native apple USE YOUR OWN... your mics will work... you'll have all outputs....you'll have HDMI,SPDIF e.t.c.

 

device-type is cosmetic

 

PinConfigurations is cosmetic……… but not exactly

….we bypass PinConfigs with Legacy1200HDA.kext , if for same reason Legacy1200HDA.kext & AppleHDA.kext won't load then we can see Audio info in "About this Mac"

note that this is "system wide" and when we'll be finished with "pefrect" LegacyHDA.kext we will copy-paste PinConfigs from Legacy1200HDA.kext to HDEF of DSDT.aml

….. if we don't "pass" a PinConfig for a node into Legacy1200HDA.kext the PinConfig of DSDT.aml will be used for this node so it is a good idea for start is to set the "PinConfigurations" to 'Zero' of DSDT.aml:

							"PinConfigurations", 
						Buffer (0x00)
						{
						}

or to set to 01f71cf0 01f71d11 01f71e11 01f71f41 <---------> 0x41 , 0x11 , 0x11 , 0x0f , this is the universal disable code of pins (see Intel HD audio pages , how to disable a pin throughout verbs )

							"PinConfigurations", 
						Buffer (0x38)
						{
							/* 0000 */	0x41, 0x11, 0x11, 0x0f, 0x41, 0x11, 0x11, 0x0f, 
							/* 0008 */	0x41, 0x11, 0x11, 0x0f, 0x41, 0x11, 0x11, 0x0f,
							/* 0010 */	0x41, 0x11, 0x11, 0x0f, 0x41, 0x11, 0x11, 0x0f,, 
							/* 0018 */	0x41, 0x11, 0x11, 0x0f, 0x41, 0x11, 0x11, 0x0f, 
							/* 0020 */	0x41, 0x11, 0x11, 0x0f, 0x41, 0x11, 0x11, 0x0f, 
							/* 0028 */	0x41, 0x11, 0x11, 0x0f, 0x41, 0x11, 0x11, 0x0f, 
							/* 0030 */	0x41, 0x11, 0x11, 0x0f
						}

 

 

if you have no device HDEF feel free to add one ..under EHC2 device

 

notes:

we will work with LegacyHDA.kext and DSDT-pinconfigs compinations

we will start first with speakers ,headphones & line-outs , so disable line-ins HDMI ,SPDIF from LegacyHDA.kext or DSDT. This is done to make "our lives easy" to Step 3... this will avoid conflicts between pins and nodes... fixing analog-out is the first most important step

example:

pin 18 (Mic at Ext Rear)

LegacyHDA.kext

from to

01871c50 01871d98 01871ea1 01871f01 <---------------> 01871cf0 01871d11 01871e11 01871f41

DSDT

from to

0x50, 0x98, 0xA1, 0x01 <-----------------> 0x41, 0x11, 0x11, 0x0f

 

--------------------------------------------<END OF PART 1>--------------------------------------------

if you are still here ... this was the easy part..!!! :blink:

the next part is the LegacyHDA.kext "especially" for your system ...made ....from zero..!!!!!!

Link to comment
Share on other sites

Step 3:

 

LegacyHDA.kext

 

 

first of all we will need to "know as better" with your codec...this is very importand!!!

tools we will need: codegraph and graphviz (they exist for linux and mac..make your choice)

files we will need: codec* form linux , verbs** from Wdos , verbit*** from Mac

 

*i am UBUNTUist...and there are 2 ways to get your codec....stock kernel..and backports-modules-alsa,GET THEM BOTH... on a laptop with acl888s internal digital mic didn't work with stock kernel !!!

**get the verbs from a working Wdos (google it how to..this is not the right place to post it)

*** a nice script to get verbs and correct it , old one but this will give you an idea whats is "going on" , but don't trust it ...it is "very-very old method" to convert verbs

 

nice link we will use it a lot:Dec<--->Hex<--->Bin

 

 

 

 

my case of ACL1200 on P5Q SE

enable green LineOut and green HeadPhones:

HDA Hardware Config Resource into LegacyHDA.kext

 

in the codegraph_analog-outs we see that:

pin (Dec)20 or Hex(0x14) is the main Lineout

pin (Dec)27 or Hex(0x1b) is the headphones

 

after same tests i changes their verbs to (****)

 

****for reference see attachments at the end of post

01471c10 01471d40 01471e01 01471f01 ----------> 01471c20 01471d01 01471e13 01471f99

01b71c20 01b71d4c 01b71e21 01b71f02 ----------> 01b71c2f 01b71d40 01b71e21 01b71f02

 

Line-Out Ext Rear --------> Speakers Internal (13) & (99),color unknown - no jack detect (01), Default Association 2 , Sequence 0 (master)

Hp-Out Ext Front,green no jack detect (4c) -------> jack detect (40) , Default Association 2, Sequence f (slave - last in order)

 

 

i am using the LegacyHDA.kext from monster2.0.3

 

open Info.plist with PlistEditor (part of Xcode) and go to IOKitPersonalities--->HDA Hardware Config Resource--->ConfigData

in the Value area delete all and add my verbs only for Lineout-green & HP-green

<01471c20 01471d01 01471e13 01471f99 01b71c2f 01b71d40 01b71e21 01b71f02>

 

notice samething?... oh yes there is an 0 in front of every verb ...this is Code Address #0... most people they have Code Address #2 because they use layout-id:12 ( 0x0c , 0x00 ,0x00 ,0x00 into DSDT) of a native mac... :P....

this is why they get "sound glintses" and error messages at boot...but not me :)

this is why they have to rollback to 10.6.2...but not me :D

 

samething else...notice that i use Speaker for master Line-Out ?

oh yes... this is to enable dsp and to have 7.1 at MidiSetup...Yoooooo!!! :gun:

 

go to IOKitPersonalities--->HDA Hardware Config Resource--->LayoutID

in the Value area set to 888

codegraph_analog_outs.tiff

PinConfig.tiff

PinConfig_bin.tiff

IntelHD.zip

varius.zip

Lin_out_Green_Ext_Rear___HP_Ext_Front_PinConfigs.tiff

Link to comment
Share on other sites

if you are still here you are a hero..... :D

it is difficult but the worst part of it is gone.... :)

 

lets continue...easy staff from now on...

 

 

my case of ACL1200 on P5Q SE

mixers and nodes for green LineOut and green HeadPhones:

HDA Platform Resource into LegacyHDA.kext

 

go back and take a look at "stock" setup of nodes connection of 0x14 and 0x1b.

0x14 connect to node 0x0c (this is node 12) and to 0x02 (this is mixer 2)

0x1b connect to node 0x0c (this is node 12) and to 0x02 (this is mixer 2)

 

i like to use HP "stand alone" and don't want to have jack detect (i use 7.1 and i switch to HP from SystemPreference)

 

the new route for HP is:

0x1b<------->0x26<------->0x25

27<----------->38<---------->37

 

Master Line-Out (green) & HP-Out(green)...perfect !!! :D

use the Legacy1200HDA.kext into /E/E and use the original 10.6.4 AppleHDA.kext patched for 888

see the attachment

Legacy1200HDA.tiff

Legacy1200HDA.kext.zip

Lin_out_Green_Ext_Rear___HP_Ext_Front_route.tiff

Link to comment
Share on other sites

"clear" analog 7.1 Surround with no INputs, no HDMI ,no SPDIF and no HP

 

what i found so far:

into pinconfigs it makes a Big Deference every bit you change,

for example the order of color-sequence of a 5.1,

from M$ pages about programming HDaudio:

Pink		 Microphone input
Blue		 Line input
Green	  Front-left and front-right speakers
Orange	Center speaker and subwoofer
Black	   Back-left and back-right speakers
Gray		Side-left and side-right speakers
White	   Pin connecting to analog RCA jacks
Green	  Front panel headphones

For the sake of uniformity, system integrators should follow the recommended color coding where possible. However, the previously described UAA guidelines for unique colors in each association and in each physical location must be strictly observed, even when these guidelines conflict with the recommended color coding. For example, if the rear panel on a system chassis has two line-input jacks, only one of the two jacks can be blue because each jack in that location must have a unique color.
If a pin widget represents an internal connection (such as to a microphone or speakers integrated into a laptop computer), then set the Color field for the pin widget to the color code Unknown.
The color codes are defined in the Intel High Definition Audio Specification.
.......
....
...
..

The following list includes all of the speaker configurations that are recognized by the UAA HD Audio class driver, version 1.1:
Quadraphonic speakers
Sequence numbers (0, 2) represent a four-speaker configuration with speakers that are located at the FL, FR, BL, and BR positions.
Sequence numbers (0, 4) represent a four-speaker configuration with speakers that are located at the FL, FR, SL, and SR positions.

5.1 surround sound speakers
Sequence numbers (0, 1, 2) represent a six-speaker configuration with speakers that are located at the FL, FR, FC, LFE, BL, and BR positions.
Recommended for Windows Vista: Sequence numbers (0, 1, 4) represent a six-speaker configuration with speakers that are located at the FL, FR, FC, LFE, SL, and SR positions.

7.1 home theater speakers
Sequence numbers (0, 1, 2, 4) represent an eight-speaker configuration with speakers that are located at the FL, FR, FC, LFE, BL, BR, SL, and SR positions.

7.1 wide configuration speakers (obsolete)
Sequence numbers (0, 1, 2, 3) represent an eight-speaker configuration with speakers that are located at the FL, FR, FC, LFE, BL, BR, FLC, and FRC positions.
Sequence numbers (0, 1, 3, 4) represent an eight-speaker configuration with speakers that are located at the FL, FR, FC, LFE, FLC, FRC, SL, and SR positions.
...........
......
...
.
.
Dynamic Multi-Pin Rendering Devices
As mentioned previously, the UAA guidelines require jack-presence detection in the Speaker or Line Out pin widget that connects to the first speaker jack—the jack that plays the first two channels of an audio stream. The Speaker or Line Out pin widgets that play the additional channels in a multichannel stream can, as an option, provide jack-presence detection as well, but the UAA HD Audio class driver does not use the jack-presence detection information from these other pins to manage the dynamic behavior of the device.
In the case of a multi-pin rendering device that consists entirely of Speaker or Line Out pin widgets, the UAA HD Audio class driver registers the device only if the first speaker jack is plugged in. When the user unplugs the first speaker jack, the UAA driver detects the change and removes the device from the audio user interface. When the user plugs the first speaker jack in again, the UAA driver detects the change and registers the device again.
.........
....
.
.

 

Mac configure in-out a "little" deferent from M$... all the 'reference" verbs ( position,color,jack-detect e.t.c. ) ar "set" to " Unknown" and the system "takes it over" whenever its needed ....on the other hands M$ is more "static".

For example see the ioreg from a native mac under HDEF----> pinconfigs , you will see a lot of 0 ( "Unknown" ).

Well we don't have native so.. we need to stick to static and be " as much as possible dynamic "

only with a lot of test we will find a "nice" config....

what i mean is let's say that your config seams to be ok ...unplug a jack plug it to the next one to test it...and then you say to your self...where did the sound go?...then plug it in again and its a mic now!!!!!... this is what i call dynamic...hahahaha

 

That's enough for now,

so...this is for me...

it sure works on P5Q SE... ;)

 

1st LineOut is set to Speaker so any jack-detection of other jack don't effect it

LinuOut 2~4 have a jack-detection for 2.1<---->5.1<------>7.1...if you unplug the first jack (Black) you "unplug them all"

the "color" and the "sequence" of LinOuts is set to match to 7.1 SRS

 

if anyone wants to test it here it is

 

p.s. 'crystal sound" for sure..... :D

Legacy1200HDA.kext.zip

7_1_Surround_noHeadPhones_noINputs.tiff

Link to comment
Share on other sites

  • 4 weeks later...

Hello Wizard,

Can you please look into this-

My board DP55KG has ALC889 which apparently is configured differently than ALC889 on Gigabyte boards. Presently I have only rear jack stereo out working (green jack). None of the others are working. No even the Mic. The front header also is not working.

I tried reading and following The King's post and your's too. but I am getting stuck trying to generate verbs.txt and get "ERROR: This doesn't appear to be an alsa codec dump file" using the verbit script posted by the King. I am attaching the codec dump txt file (both hex & dec) and also the pathmap svg (again hex & dec)

I do not have a native Windows install, & virtual would be useless getting verbs out.

So..

I will really appreciate anything you can do to help.

Thank you very much.

Archive.zip

Link to comment
Share on other sites

I just tried this on my P5Q Pro system and it works very nice. Still testing (using an Audigy 2 card currently)

 

 

 

Thank You for the nice work!!

 

 

don't have much time lately but i'll post you a Legacy kext for you (if you have the same codec)

 

this kext enables seperatly all the back jacks and only sens HP from FrontAudio Panel...but

 

only if you have HDaudio front panel NOT AC97

AC97 jacks don't have hardware sens and they configured as seperatly in-outs

this is an other common problem for lot of people...they don't know what ftont-panel they have (search into BIOS setting for front panel configure HDAudio<--->AC97 and set it correctly , i have AC97 mic+hp front panel and i am searching for a hardware replacement of the jacks...

lets's say that you have AC97 and you configure for jack sens for FrontPanel....you will get to a lot of trable...and pins will get messed after every jack in-out,if so wait for 1-5min to work again.

see this: http://www.tomshardware.co.uk/forum/205234...t-audio-support

i am searching for female-chassis jack with jack sens but can't find in my region

 

a solution for that:

if you have AC97 then the jack sens of HP<----> GreenRear is reverced (it means that HP is GreenRear and GreenRear is HP.......... if you plag GreenRear GreenFront is muted)

 

 

 

Hello Wizard,

Can you please look into this-

My board DP55KG has ALC889 which apparently is configured differently than ALC889 on Gigabyte boards. Presently I have only rear jack stereo out working (green jack). None of the others are working. No even the Mic. The front header also is not working.

I tried reading and following The King's post and your's too. but I am getting stuck trying to generate verbs.txt and get "ERROR: This doesn't appear to be an alsa codec dump file" using the verbit script posted by the King. I am attaching the codec dump txt file (both hex & dec) and also the pathmap svg (again hex & dec)

I do not have a native Windows install, & virtual would be useless getting verbs out.

So..

I will really appreciate anything you can do to help.

Thank you very much.

 

 

 

the script is old as i told...

 

"nano" it into terminal end disable the check-session for code with "#" in front..this will work for you

verbit code:

# Simple check to see if this is a ALSA codec dump file

  # chk=`head -3 $codecfile | cut -f1 -d":" | tr "\n" " " | tr -d " "`

  #if [[ $chk != "CodecAddressVendorId" ]];then

  # echo "ERROR: This doesn't appear to be an alsa codec dump file"

  # head -3 $codecfile

  # exit

  #fi

 

 

 

...or

 

use the "fixed" from post #2 , get the 'varius.zip' ;)

 

 

----------------------------------------------------------------------------------------

 

 

i plan to work with a new 'toy'...but M$ needed

 

search for 'High Definition Audio Tool' into $ Download Center (has x86 and x64 package)

 

this is an alternative to get verbs but not only.... also for other stuff :D like wigets , amps , vendors e.t.c.

 

 

ALSA project has a nice tool also..."hit it on the fly" style ( latest alsa needed)

 

p.s. P5Q SE with QX9770 clocked to 4,2GHz running like "snow"

post-275945-1280555998_thumb.png

Link to comment
Share on other sites

""""""" new findings """"""""""

******* very important *******

from M$ research on HDAudio

 

till now for verbs of jack-detect i used 0 or 1 (on-off) but....

it seems that 2 to f has effect also !

jack-detection is "grouped"

 

what i mean is that a group of pins will be muted by a single jack-detect

(example: HP= 01b71c20 01b71d4c 01b71e21 01b71f02)

i am working on that to find the "logic" used and pass it to OSX

there is no doc out there to explain this so i have to reverse-engineer

i think that the "tech" is out there....M$ don't use it....Aple use it from 10.6.4 and on

 

as i posted before also color is very important...maybe a 4c in combination with color 4c mutes 5.1 analoge and 2-stereo together (pins efected = all rear analoge)

...and maybe....this is why after update 10.6.4 sound is down even if pin-config is ok and worked till 10.6.3

(the older the hardware the better for success on 10.6.4...newer hardware new feutures into pins)

 

very important to anyone wants to try and help:

native Aplehda sets pins to "universal" ( a lot of 0 in verbs... only location and type is fixed ) and takes it over as needed...

so use a lot of 0

a look into sysprofile of a latest mac is a good start i think

 

 

:(:):unsure::unsure::unsure: working on that

Link to comment
Share on other sites

@gsam_fan

Hello Wizard,

Thank you for the tip on correcting the script. Now I do have the verbs.txt and the verbitdebug.txt. files which are attached below. Now what do I do with these?

Thanks for your help. The King's post on this part is incomplete, and is rather challenging for the uninitiated as me. I will really appreciate if you spare time to explain the further course of action. I am sure it will be of help to a lot of others.

Thank you very much.

verbs.txt

verbitdebug.txt

Link to comment
Share on other sites

@gsam_fan

Hello Wizard,

Thank you for the tip on correcting the script. Now I do have the verbs.txt and the verbitdebug.txt. files which are attached below. Now what do I do with these?

Thanks for your help. The King's post on this part is incomplete, and is rather challenging for the uninitiated as me. I will really appreciate if you spare time to explain the further course of action. I am sure it will be of help to a lot of others.

Thank you very much.

 

 

1st to do is to enable Line-outs and HP ...when all that is ok move to the other in-outs.

HP and green Line-out goes together into LegacyKext to have jack-detect trigger.

read again King's and others.... this post is the "finishing touch".

 

also see the pics from post#2 & post#3

1pic=1000words :rolleyes:

verb.tiff

Link to comment
Share on other sites

gsam_fan,

 

thanks for you great work, and your useful insights..

we really appreciate it.

 

but as you may know, this method seems pretty hard for the usual users and even the advanced ones..

I suggest that you consider making some simplified guides for us on how to apply your method to other codecs like the alc888 and alc889. or maybe you can create some legacy kexts templates for those codecs so we can work on them according to your guide...

 

thanks, and keep it up ;)

Link to comment
Share on other sites

@gsam_fan

 

Hello Wizard

Thank you for the pointers. I will indeed try & follow. The prelim looks, at best, very confusing. Will try and see how much I can progress by 1 picture = 1000 words.

But frankly if you can really help me get this done I promise to write a complete & concise, unambiguous step-by-step, how to do this. Then you'll be the HERO! Or do you prefer to remain the Dark Knight?

See even "Pink Waters" in the last post feels the same.

And we all definitely appreciate your efforts here.

Thanks.

Link to comment
Share on other sites

gsam_fan,

 

It's the best tuto I've never seen. Thanks. But no luck it doesn't work on my netbook (MSI U120H)

 

But before, one tricks to patch easily the binary with commandline

 

xxd -p PATH_TO_APPLEHDA_BINARY | sed 's/8508ec/10/8808ec10/g' | xxd -r -p /tmp/AppleHDA.patched

 

You can find below the script I've made to patch the binary.

 

So, I got an ALC888,

 

1° I've added the HDEF Device in my DSDT without any pin configuration (Zero)

 

2° I Patched the AppleHDA located under SLE (10.6.4 original)

 

3° I get my verbs from codegraph, and verbit, plus some custom tweaks

 

4° I patched the Legacy1200HDA you provide in order to make an Legacy888HDA (adding verbs, modify MapPath)

 

I've added this kext to my EFI E/E, and reboot.

 

No luck the sound volume is gray, I can't see any ouput or input in the Preferences panel.

 

System Profiler juste said that I've an HDA with headphone and External Microphone.

 

 

Ioreg seems good as you can see here :

 

ioreg.th.png

 

The only message I got :

kernel.log:Aug 4 16:49:28 localhost kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDADriver.cpp" at line 1666 goto Exit

 

kernel.log:Aug 4 16:49:28 localhost kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDADriver.cpp" at line 203 goto Exit

 

 

You can find attached :

 

  • Legacy888HDA.kext <- based on your Legacy1200HDA, but with modifications

  • codec_dump.txt <- From Linux

  • codec_dump.txt.svg <- From codecgraph

  • codec_dump_decimal.txt <- decimal one

  • codec_dump_decimal.txt.svg <- decimal one

  • my_verbs.txt <- my verbs by verbit and my modifications

  • dsdt.dsl <- for HDEF section, don't care of any other comments, it's fully customised
    ;)

Hope you can help, VoodooHDA does'nt fit all I need...

LegacyHDA.zip

Link to comment
Share on other sites

@gsam_fan

Hello wizard

Please correct me if I am wrong here.

The pathmap svg file depicts the connections which need to be traced and entered into the pathmaps section in the legacyHDA we make. I still am unable to comprehend the format of pathmap in legacyHDA. But I am still at it. Any help here would be appreciated. It looks like zero with tiny arrow beside leading to another zero and yet another. What's the logic behind how many levels deep it has to go before the node ID is entered? Is there a particular sequence leading to 0 1 2 3 4 5 6 7 for pathmap with 6 analog and 1optical SPDIF out & 1 in. Then there is also the RCA coaxial digital out.

Then I assume the hex values to enter in configdata are the modified verbs from verbs.txt not the original verbs. Is this correct? Do I just copy the verbs sequentially from verbs.txt directly into the configdata?

At my first clumsy attempt I do have line out working with several sound assertions at boot complaining about some widgets. But I have sound from 1 of the 4 line outs it shows (on the green jack). Boy! This is one helluva mess! I have 4 line outs all called Line out. I need to differentiate by adding to it orange green blue and so on. Where do I add this?

And I still do not understand why you changed the pathmap connection for headphones?

So friend, my recommendation is we start afresh here with my example and you guiding me, so the the rest can follow with their own chips in a clear concise manner. Shall we start from the beginning on a new thread? Please?

Of the several ways to make life absolutely miserable I have discovered one more.

Cheerio!

Link to comment
Share on other sites

I reply to myself. I maybe found why it's not working.

 

As you can see on my ioreg, the layout-id is wrong, built-in value too. But they are good in my dsdt.

 

I found on my SLE, ALCInject.kext, I don't know why it's here, maybe when I try before to make it work.

 

So I try without this kext, I'll be back soon !

 

EDIT : No way, I don't understand.

 

I've extracted my dsdt and it's clearly good. But in my ioreg I'm stuck with 0c 00 (layout-id 12). I don't knwo why. Something is overriding my values....

 

EDIT 2: Ok I rename the Legacy to LegacyAppleHDA.kext and now in ioreg I've the good values (78 03 codec id), but still no sound. Now in system profiler I got the Layout-id 888 and two line (one out, one in) and some new log messages :

eHDAEngine.cpp" at line 3358 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 == entry" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDAEngine.cpp" at line 3358 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 == fPathControls" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDAPath.cpp" at line 1248 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDAPath.cpp" at line 1072 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 == fPathControls" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDAPath.cpp" at line 1248 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDAPath.cpp" at line 1169 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDAEngine.cpp" at line 5608 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDAEngine.cpp" at line 5558 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 != configureDSPForAppleHDAPathSet ( pathSet, false )" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDAEngine.cpp" at line 646 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDADriver.cpp" at line 1719 goto Exit

Aug 5 09:26:30 localhost kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-187.4.1/AppleHDA/AppleHDADriver.cpp" at line 203 goto Exit

 

 

EDIT 3 : Using the Legacy1200HDA.kext by rename it to LegacyAppleHDA.kext, I've now a black icon and several output (4), it's your configuration, but no luck no sound, when I try to put my verbs, The volume get gray. So something wrong with my verbs.

 

@William Parker

 

As I know the name given is take from your verbs

Link to comment
Share on other sites

Ok, I've something better now.

 

This link is really good (difficult because it's chinesse but usefull, excpetial for MuteGPio)

 

MuteGPIO = VREF [(50/80/100) -> Hex (32/50/64)] + 0100 + NId (hex) -> Decimal 10 base

 

Get the VREF from the codec dump, for some device, with VREF = _HIZ -> MUTEGPIO is 0

 

example :

Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

Pin-ctls: 0x24: IN VREF_80

-> 0x50010018 -> 1342242840

Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

Pin-ctls: 0x24: IN VREF_80

-> 0x50010019 -> 1342242841

Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

Pin-ctls: 0x20: IN VREF_HIZ

-> O

Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

Pin-ctls: 0x40: OUT VREF_HIZ

-> O

 

http://www.pcbeta.com/viewthread-623626.html

 

and my last settings :

 

  Jack   Color  Description				  Node	 PinDefault			 Modified Verbs
--------------------------------------------------------------------------------------------------------
 ATAPI Unknown  Speaker at Int ATAPI		27 0x1b   0x99130110   01b71c10 01b71d01 01b71e13 01b71f90
																	-> Node 27,12,2
																	-> MuteGPIO = 0
1/8   Black  HP Out at Ext Rear		  20 0x14   0x0121141f   01471c20 01471d14 01471e21 01471f01
																	-> Node 20,12,2
 ATAPI Unknown  Mic at Int ATAPI			25 0x19   0x99a3092f   01971c30 01971d09 01971ea3 01971f90
																	-> Node 25,35,8
																	-> MuteGPIO = 1342242841
1/8   Black  Mic at Ext Rear			 24 0x18   0x01a11c20   01871c40 01871d1c 01871ea1 01871f01
																	-> Node 24,34,9
																	-> MuteGPIO = 1342242840
--------------------------------------------------------------------------------------------------------

 

 

I've output and input in Pref Panel but no sound in and no sound out.

 

I still have some error un log file.

 

Verbs seems fine, Layout too, MapRef... not sure

 

I wonder if it is possible to have sound on this machine without voodoohda... (I've compared the verbs with the one voodoohda is patching, they are pretty the same, so why my sound is not getting out my box !)

 

Please free me from voodoohda.kext ! You are the one !

Link to comment
Share on other sites

I like the philosophy of these instructions, and I am not sure where the departure point is for my hardware (ALC889). Once I have hexedit open, I searched for the string to change to 88 09 EC 10, but I didn't find it. This leads me to believe that I have a non-vanilla appleHDA.kext or I am doing something incorrectly.

 

I have a Gigabtye x58a-ud3r rev 1.0 board with an ALC889 audio chipset and an ALC'97 front panel in my case.

I have tried many methods to get audio working, but with no luck thus far. I think my largest problem is a lack of knowledge of how sound works on macs, but I am slowly learning.

 

Summary of things I have tried:

  • tonymac rollback to10.6.2 legacy solution
  • kexts.com ALC889 10.6.4 patched appleHDA.kext
  • ALC unifix
  • manual DSDT patching, which I never got far on

Questions:

  1. Why might I not be able to patch my appleHDA.kext as described in the first post?
  2. What tool do I use to open my DSDT.aml file so I can edit it? (I've never been able to one in human-readable format) Answer: After reading this guide to DSDT I found that I was an idiot and didn't RTFM. I now should be able to mod DSDT knowing Fassl's tool creates a .txt that I will need to recompile.

 

I know there are things I don't know that I would want to know about at this point, and I am feeling stuck with my current level of knowledge and my unpopular motherboard+10.6.4 combo.

 

John

Edited by bourgeois
Link to comment
Share on other sites

 Share

×
×
  • Create New...