gsam_fan Posted July 1, 2010 Share Posted July 1, 2010 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) 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.... 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 ..... watch a movie with 7.1 ......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..!!! the next part is the LegacyHDA.kext "especially" for your system ...made ....from zero..!!!!!! Link to comment Share on other sites More sharing options...
gsam_fan Posted July 1, 2010 Author Share Posted July 1, 2010 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... .... 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 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!!! 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 More sharing options...
gsam_fan Posted July 2, 2010 Author Share Posted July 2, 2010 if you are still here you are a hero..... 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 !!! 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 More sharing options...
gsam_fan Posted July 2, 2010 Author Share Posted July 2, 2010 now lets "make same noise" we are done with "master-out" and HP , they have their unique routes and they will never passthrought noise and other staff........(got that last one?... ) move from stereo to 5.1 analog and 7.1 analog 5.1_analoge.tiff legacy1200HDA_nodes_mixer_5.1analoge.tiff legacy1200HDA_pinconfig_5.1analoge.tiff 7.1_analoge.tiff Link to comment Share on other sites More sharing options...
justvisiting Posted July 2, 2010 Share Posted July 2, 2010 I don't have this sound chip, but great job and thanks for sharing Link to comment Share on other sites More sharing options...
gsam_fan Posted July 3, 2010 Author Share Posted July 3, 2010 "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..... Legacy1200HDA.kext.zip 7_1_Surround_noHeadPhones_noINputs.tiff Link to comment Share on other sites More sharing options...
William Parker Posted July 29, 2010 Share Posted July 29, 2010 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 More sharing options...
ramanujan20 Posted July 29, 2010 Share Posted July 29, 2010 Good but seems diffucult Link to comment Share on other sites More sharing options...
Mustang Sally Posted July 29, 2010 Share Posted July 29, 2010 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!! Link to comment Share on other sites More sharing options...
gsam_fan Posted July 31, 2010 Author Share Posted July 31, 2010 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 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" Link to comment Share on other sites More sharing options...
gsam_fan Posted August 1, 2010 Author Share Posted August 1, 2010 I just tried this on my P5Q Pro system here you go.... ACL1200 address #0 LegacyALC1200.kext.tar.gz Link to comment Share on other sites More sharing options...
gsam_fan Posted August 1, 2010 Author Share Posted August 1, 2010 """"""" 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 working on that Link to comment Share on other sites More sharing options...
Mustang Sally Posted August 1, 2010 Share Posted August 1, 2010 here you go.... ACL1200 address #0 thanks gsam_fan can't wait to try it Link to comment Share on other sites More sharing options...
sirbow2 Posted August 2, 2010 Share Posted August 2, 2010 Great Tutorial! , but i still cant get my alc892 to work. Link to comment Share on other sites More sharing options...
William Parker Posted August 2, 2010 Share Posted August 2, 2010 @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 More sharing options...
gsam_fan Posted August 2, 2010 Author Share Posted August 2, 2010 @gsam_fanHello 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 verb.tiff Link to comment Share on other sites More sharing options...
Pink Waters Posted August 3, 2010 Share Posted August 3, 2010 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 More sharing options...
William Parker Posted August 3, 2010 Share Posted August 3, 2010 @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 More sharing options...
neXus5169 Posted August 4, 2010 Share Posted August 4, 2010 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 : 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 More sharing options...
William Parker Posted August 4, 2010 Share Posted August 4, 2010 @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 More sharing options...
neXus5169 Posted August 5, 2010 Share Posted August 5, 2010 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 ExitAug 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 More sharing options...
neXus5169 Posted August 5, 2010 Share Posted August 5, 2010 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 More sharing options...
bourgeois Posted August 7, 2010 Share Posted August 7, 2010 (edited) 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: Why might I not be able to patch my appleHDA.kext as described in the first post? 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 August 7, 2010 by bourgeois Link to comment Share on other sites More sharing options...
William Parker Posted August 9, 2010 Share Posted August 9, 2010 @gsam_fan Hi, I seem to understand most of what you tried here. Your techniques are more "5.1 and 7.1 centric" What about mic. For the life of me i just can't seem to get mic working. Any ideas? Link to comment Share on other sites More sharing options...
frenchieman Posted August 9, 2010 Share Posted August 9, 2010 Just to know if for P5Q-EM & 10.6.4 ALC1200 is working ? tried http://www.fleebailey33.org/2010/02/alc1200-in-future.html no sucess.... Link to comment Share on other sites More sharing options...
Recommended Posts