Codeye,
I am using the retail method to boot into OSX on a eee901. After setting everything up, I had the same problem as everyone else and could not get sound to work. I abandon OSX for awhile and put Ubuntu on a 16GB SD card and started looking at the alsa code to see what made it work. Like all of you I got frustrated at looking at the codec dumps and finally downloaded the alsa sound driver code and recompiled it with some debugging info at the read and write codec so I could see how it was setting things up. At the same time, I just got an Acer AspireOne from BB and started to do the samething on the ALC268 which already had a modify AppleHDA.kext. After looking at the pin config on the ALC268 AppleHDA.kext, I notice it was not default pin verbs that was in it, but a complete setup_preset from the Linux alsa realtek driver. So, I replace the ALC268 verbs for ALC269 verbs, but nothing happen. At that time, I notice on this discussion that comatron had sound working using the AppleAzalia.kext so I download audio_kexts_eeepc.zip and installed it and suddenly had sounds from internal speaker, but would lose it when it goes to sleep or reboots. To get it back, I would have to remove the AppleAzalia.kext and reinstall the AppleHDA.kext with the new verbs reboot and then re-install AppleAzalia.kext reboot again and internal speaker sound would appear again.
Here is the listing of the verbs that got dumped from Ubuntu:
[ 56.369545] hda_codec: snd_hda_codec_read verbs 000 0 f00 0 = 10ec0269
[ 56.369602] hda_codec: snd_hda_codec_read verbs 000 0 f00 1 = 0
[ 56.369664] hda_codec: snd_hda_codec_read verbs 000 0 f00 2 = 100004
[ 56.369724] hda_codec: snd_hda_codec_read verbs 000 0 f00 4 = 10001
[ 56.369801] hda_codec: snd_hda_codec_read verbs 001 0 f00 5 = 101
[ 56.369851] hda_codec: snd_hda_codec_read verbs 001 0 f00 4 = 20023
[ 56.369912] hda_codec: snd_hda_codec_read verbs 002 0 f00 9 = 1d
[ 56.369973] hda_codec: snd_hda_codec_read verbs 003 0 f00 9 = 1d
[ 56.370014] hda_codec: snd_hda_codec_read verbs 004 0 f00 9 = f00000
[ 56.370056] hda_codec: snd_hda_codec_read verbs 005 0 f00 9 = f00000
[ 56.370098] hda_codec: snd_hda_codec_read verbs 006 0 f00 9 = 211
[ 56.370140] hda_codec: snd_hda_codec_read verbs 007 0 f00 9 = 10011b
[ 56.370181] hda_codec: snd_hda_codec_read verbs 008 0 f00 9 = 10011b
[ 56.370222] hda_codec: snd_hda_codec_read verbs 009 0 f00 9 = f00000
[ 56.370264] hda_codec: snd_hda_codec_read verbs 00a 0 f00 9 = f00000
[ 56.370305] hda_codec: snd_hda_codec_read verbs 00b 0 f00 9 = 20010b
[ 56.370347] hda_codec: snd_hda_codec_read verbs 00c 0 f00 9 = 20010b
[ 56.370389] hda_codec: snd_hda_codec_read verbs 00d 0 f00 9 = 20010b
[ 56.370431] hda_codec: snd_hda_codec_read verbs 00e 0 f00 9 = 20010a
[ 56.370473] hda_codec: snd_hda_codec_read verbs 00f 0 f00 9 = f00000
[ 56.370514] hda_codec: snd_hda_codec_read verbs 010 0 f00 9 = 211
[ 56.370555] hda_codec: snd_hda_codec_read verbs 011 0 f00 9 = 400380
[ 56.370596] hda_codec: snd_hda_codec_read verbs 012 0 f00 9 = 400001
[ 56.370639] hda_codec: snd_hda_codec_read verbs 013 0 f00 9 = f00000
[ 56.370701] hda_codec: snd_hda_codec_read verbs 014 0 f00 9 = 40010d
[ 56.370743] hda_codec: snd_hda_codec_read verbs 015 0 f00 9 = 40018d
[ 56.370785] hda_codec: snd_hda_codec_read verbs 016 0 f00 9 = 40010c
[ 56.370826] hda_codec: snd_hda_codec_read verbs 017 0 f00 9 = f00000
[ 56.370867] hda_codec: snd_hda_codec_read verbs 018 0 f00 9 = 40018f
[ 56.370909] hda_codec: snd_hda_codec_read verbs 019 0 f00 9 = 40018f
[ 56.370950] hda_codec: snd_hda_codec_read verbs 01a 0 f00 9 = 40018f
[ 56.370992] hda_codec: snd_hda_codec_read verbs 01b 0 f00 9 = 40018f
[ 56.371034] hda_codec: snd_hda_codec_read verbs 01c 0 f00 9 = f00000
[ 56.371076] hda_codec: snd_hda_codec_read verbs 01d 0 f00 9 = 400000
[ 56.371117] hda_codec: snd_hda_codec_read verbs 01e 0 f00 9 = 400380
[ 56.371158] hda_codec: snd_hda_codec_read verbs 01f 0 f00 9 = f00000
[ 56.371200] hda_codec: snd_hda_codec_read verbs 020 0 f00 9 = f00040
[ 56.371242] hda_codec: snd_hda_codec_read verbs 021 0 f00 9 = f00000
[ 56.371283] hda_codec: snd_hda_codec_read verbs 022 0 f00 9 = f00000
[ 56.371325] hda_codec: snd_hda_codec_read verbs 023 0 f00 9 = 300101
[ 56.371367] hda_codec: snd_hda_codec_read verbs 024 0 f00 9 = 20010b
[ 56.371408] hda_codec: snd_hda_codec_read verbs 001 0 f20 0 = 1043831a
[ 56.371421] hda_codec: snd_hda_codec_write verbs 020 0 500 4 = 0
[ 56.371492] hda_codec: snd_hda_codec_read verbs 020 0 c00 0 = 8849
[ 56.371500] hda_codec: snd_hda_codec_write verbs 020 0 500 4 = 0
[ 56.371509] hda_codec: snd_hda_codec_write verbs 020 0 400 849 = 0
[ 56.371515] hda_codec: Unknown model for ALC269, trying auto-probe from BIOS...
[ 56.371521] hda_codec: custom ALC269, setting ALC269_AUTO...
[ 56.371574] hda_codec: snd_hda_codec_read verbs 011 0 f1c 0 = 411111f0
[ 56.371616] hda_codec: snd_hda_codec_read verbs 012 0 f1c 0 = 99a30920
[ 56.371658] hda_codec: snd_hda_codec_read verbs 014 0 f1c 0 = 99130110
[ 56.371720] hda_codec: snd_hda_codec_read verbs 015 0 f1c 0 = 121401f
[ 56.371762] hda_codec: snd_hda_codec_read verbs 016 0 f1c 0 = 411111f0
[ 56.371804] hda_codec: snd_hda_codec_read verbs 018 0 f1c 0 = 1a19830
[ 56.371845] hda_codec: snd_hda_codec_read verbs 019 0 f1c 0 = 411111f0
[ 56.371886] hda_codec: snd_hda_codec_read verbs 01a 0 f1c 0 = 411111f0
[ 56.371928] hda_codec: snd_hda_codec_read verbs 01b 0 f1c 0 = 411111f0
[ 56.371970] hda_codec: snd_hda_codec_read verbs 01e 0 f1c 0 = 411111f0
[ 56.371977] ALSA /usr/src/alsa/alsa-driver-1.0.17/pci/hda/hda_codec.c:3062: autoconfig: line_outs=1 (0x14/0x0/0x0/0x0/0x0)
[ 56.371988] ALSA /usr/src/alsa/alsa-driver-1.0.17/pci/hda/hda_codec.c:3066: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 56.371999] ALSA /usr/src/alsa/alsa-driver-1.0.17/pci/hda/hda_codec.c:3070: hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[ 56.372009] ALSA /usr/src/alsa/alsa-driver-1.0.17/pci/hda/hda_codec.c:3071: mono: mono_out=0x0
[ 56.372017] ALSA /usr/src/alsa/alsa-driver-1.0.17/pci/hda/hda_codec.c:3079: inputs: mic=0x12, fmic=0x18, line=0x0, fline=0x0, cd=0x0, aux=0x0
[ 56.372029] hda_codec: line_out_pins 14
[ 56.372044] hda_codec: hp_pins 15
[ 56.372304] hda_codec: snd_hda_codec_read verbs 002 0 f00 a = e0560
[ 56.372365] hda_codec: snd_hda_codec_read verbs 002 0 f00 b = 1
[ 56.372406] hda_codec: snd_hda_codec_read verbs 007 0 f00 a = e0160
[ 56.372448] hda_codec: snd_hda_codec_read verbs 007 0 f00 b = 1
[ 56.372653] hda_codec: snd_hda_codec_write verbs 001 0 705 0 = 0
[ 56.401410] hda_codec: snd_hda_codec_read verbs 001 0 f05 0 = 400
[ 56.409418] hda_codec: snd_hda_codec_read verbs 001 0 f05 0 = 0
[ 56.409430] hda_codec: snd_hda_codec_write verbs 020 0 500 4 = 0
[ 56.409494] hda_codec: snd_hda_codec_read verbs 020 0 c00 0 = 849
[ 56.409502] hda_codec: snd_hda_codec_write verbs 020 0 500 4 = 0
[ 56.409511] hda_codec: snd_hda_codec_write verbs 020 0 400 849 = 0
[ 56.409520] hda_codec: snd_hda_codec_write verbs 007 0 300 7000 = 0
[ 56.409528] hda_codec: snd_hda_codec_write verbs 00b 0 300 7080 = 0
[ 56.409544] hda_codec: snd_hda_codec_write verbs 00b 0 300 7180 = 0
[ 56.409558] hda_codec: snd_hda_codec_write verbs 00b 0 300 7280 = 0
[ 56.409567] hda_codec: snd_hda_codec_write verbs 00b 0 300 7380 = 0
[ 56.409581] hda_codec: snd_hda_codec_write verbs 00b 0 300 7480 = 0
[ 56.409589] hda_codec: snd_hda_codec_write verbs 002 0 300 b000 = 0
[ 56.409604] hda_codec: snd_hda_codec_write verbs 003 0 300 b000 = 0
[ 56.409612] hda_codec: snd_hda_codec_write verbs 00c 0 300 7000 = 0
[ 56.409627] hda_codec: snd_hda_codec_write verbs 00c 0 300 7100 = 0
[ 56.409641] hda_codec: snd_hda_codec_write verbs 00d 0 300 7000 = 0
[ 56.409649] hda_codec: snd_hda_codec_write verbs 00d 0 300 7100 = 0
[ 56.409664] hda_codec: snd_hda_codec_write verbs 00e 0 300 7000 = 0
[ 56.409672] hda_codec: snd_hda_codec_write verbs 00e 0 300 7100 = 0
[ 56.409686] hda_codec: snd_hda_codec_write verbs 014 0 707 40 = 0
[ 56.409695] hda_codec: snd_hda_codec_write verbs 015 0 707 c0 = 0
[ 56.409709] hda_codec: snd_hda_codec_write verbs 016 0 707 40 = 0
[ 56.409724] hda_codec: snd_hda_codec_write verbs 018 0 707 24 = 0
[ 56.409732] hda_codec: snd_hda_codec_write verbs 019 0 707 24 = 0
[ 56.409747] hda_codec: snd_hda_codec_write verbs 01a 0 707 20 = 0
[ 56.409755] hda_codec: snd_hda_codec_write verbs 01b 0 707 20 = 0
[ 56.409769] hda_codec: snd_hda_codec_write verbs 014 0 300 b000 = 0
[ 56.409778] hda_codec: snd_hda_codec_write verbs 015 0 300 b000 = 0
[ 56.409792] hda_codec: snd_hda_codec_write verbs 016 0 300 b080 = 0
[ 56.409807] hda_codec: snd_hda_codec_write verbs 018 0 300 b080 = 0
[ 56.409815] hda_codec: snd_hda_codec_write verbs 019 0 300 b080 = 0
[ 56.409830] hda_codec: snd_hda_codec_write verbs 01a 0 300 b080 = 0
[ 56.409838] hda_codec: snd_hda_codec_write verbs 01b 0 300 b080 = 0
[ 56.409853] hda_codec: snd_hda_codec_write verbs 014 0 701 0 = 0
[ 56.409861] hda_codec: snd_hda_codec_write verbs 015 0 701 0 = 0
[ 56.409875] hda_codec: snd_hda_codec_write verbs 024 0 300 7000 = 0
[ 56.409890] hda_codec: snd_hda_codec_write verbs 024 0 300 7180 = 0
[ 56.409898] hda_codec: snd_hda_codec_write verbs 024 0 300 7280 = 0
[ 56.409913] hda_codec: snd_hda_codec_write verbs 024 0 300 7380 = 0
[ 56.409921] hda_codec: snd_hda_codec_write verbs 014 0 70c 2 = 0
[ 56.409935] hda_codec: snd_hda_codec_write verbs 015 0 70c 2 = 0
[ 56.410327] hda_codec: snd_hda_codec_read verbs 01d 0 f1c 0 = 4005822d
[ 56.410336] hda_codec: snd_hda_codec_write verbs 014 0 70c 2 = 0
[ 56.410344] hda_codec: snd_hda_codec_write verbs 015 0 70c 2 = 0
[ 56.410352] hda_codec: snd_hda_codec_write verbs 015 0 708 84 = 0
[ 56.410361] hda_codec: snd_hda_codec_write verbs 014 0 707 40 = 0
[ 56.410375] hda_codec: snd_hda_codec_write verbs 014 0 300 b000 = 0
[ 56.410390] hda_codec: snd_hda_codec_write verbs 014 0 701 0 = 0
[ 56.410398] hda_codec: snd_hda_codec_write verbs 015 0 707 c0 = 0
[ 56.410413] hda_codec: snd_hda_codec_write verbs 015 0 300 b000 = 0
[ 56.410421] hda_codec: snd_hda_codec_write verbs 015 0 701 0 = 0
[ 56.410435] hda_codec: snd_hda_codec_write verbs 014 0 707 40 = 0
[ 56.410444] hda_codec: snd_hda_codec_write verbs 014 0 300 b000 = 0
[ 56.410458] hda_codec: snd_hda_codec_write verbs 014 0 701 0 = 0
[ 56.410617] hda_codec: snd_hda_codec_read verbs 012 0 f00 c = 20
[ 56.410626] hda_codec: snd_hda_codec_write verbs 012 0 707 20 = 0
[ 56.410680] hda_codec: snd_hda_codec_read verbs 018 0 f00 c = 3734
[ 56.410688] hda_codec: snd_hda_codec_write verbs 018 0 707 24 = 0
[ 56.410696] hda_codec: snd_hda_codec_write verbs 018 0 300 b080 = 0
[ 56.410765] hda_codec: snd_hda_codec_read verbs 015 0 709 0 = 0
[ 56.410826] hda_codec: snd_hda_codec_read verbs 015 0 f09 0 = 0
[ 56.410834] hda_codec: snd_hda_codec_write verbs 014 0 707 40 = 0
[ 56.410871] hda_codec: snd_hda_set_vmaster_tlv
[ 56.410931] hda_codec: snd_hda_codec_read verbs 001 0 f00 12 = 0
[ 56.411452] hda_codec: snd_hda_codec_read verbs 014 0 b00 a000 = 0
[ 56.411513] hda_codec: snd_hda_codec_read verbs 014 0 b00 8000 = 0
[ 56.411575] hda_codec: snd_hda_codec_read verbs 002 0 f00 12 = 3403f
[ 56.411636] hda_codec: snd_hda_codec_read verbs 002 0 b00 a000 = 0
[ 56.411678] hda_codec: snd_hda_codec_read verbs 002 0 b00 8000 = 0
[ 56.411929] hda_codec: snd_hda_codec_read verbs 007 0 f00 d = 80032e11
[ 62.540827] hda_codec: snd_hda_mixer_amp_tlv
[ 62.540865] hda_codec: snd_hda_mixer_amp_volume_put
[ 62.540871] hda_codec: hda_codec_amp_update
[ 62.540876] hda_codec: put_vol_mute
[ 62.540886] hda_codec: snd_hda_codec_write verbs 002 0 300 a03c = 0
[ 62.540891] hda_codec: hda_codec_amp_update
[ 62.540895] hda_codec: put_vol_mute
[ 62.540903] hda_codec: snd_hda_codec_write verbs 002 0 300 903c = 0
[ 62.541004] hda_codec: snd_hda_codec_read verbs 015 0 b00 a000 = 0
[ 62.541066] hda_codec: snd_hda_codec_read verbs 015 0 b00 8000 = 0
[ 62.541129] hda_codec: snd_hda_codec_read verbs 00b 0 f00 d = 80051f17
[ 62.541173] hda_codec: snd_hda_mixer_amp_tlv
[ 62.541186] hda_codec: snd_hda_mixer_amp_volume_put
[ 62.541191] hda_codec: hda_codec_amp_update
[ 62.541233] hda_codec: snd_hda_codec_read verbs 00b 0 b00 2000 = 80
[ 62.541238] hda_codec: hda_codec_amp_update
[ 62.541296] hda_codec: snd_hda_codec_read verbs 00b 0 b00 0 = 80
[ 62.541320] hda_codec: snd_hda_mixer_amp_switch_put
[ 62.541325] hda_codec: hda_codec_amp_update
[ 62.541329] hda_codec: hda_codec_amp_update
[ 62.541379] hda_codec: snd_hda_codec_read verbs 00b 0 b00 2001 = 80
[ 62.541420] hda_codec: snd_hda_codec_read verbs 00b 0 b00 1 = 80
[ 62.541461] hda_codec: snd_hda_codec_read verbs 00b 0 b00 2002 = 80
[ 62.541502] hda_codec: snd_hda_codec_read verbs 00b 0 b00 2 = 80
[ 62.541544] hda_codec: snd_hda_codec_read verbs 00b 0 b00 2003 = 80
[ 62.541585] hda_codec: snd_hda_codec_read verbs 00b 0 b00 3 = 80
[ 62.541627] hda_codec: snd_hda_codec_read verbs 00b 0 b00 2004 = 80
[ 62.541669] hda_codec: snd_hda_codec_read verbs 00b 0 b00 4 = 80
[ 62.541732] hda_codec: snd_hda_codec_read verbs 018 0 f00 d = 270300
[ 62.541774] hda_codec: snd_hda_mixer_amp_tlv
[ 62.541787] hda_codec: snd_hda_mixer_amp_volume_put
[ 62.541793] hda_codec: hda_codec_amp_update
[ 62.541838] hda_codec: snd_hda_codec_read verbs 018 0 b00 2000 = 0
[ 62.541843] hda_codec: hda_codec_amp_update
[ 62.541897] hda_codec: snd_hda_codec_read verbs 018 0 b00 0 = 0
[ 62.541947] hda_codec: snd_hda_mixer_amp_tlv
[ 62.541960] hda_codec: snd_hda_mixer_amp_volume_put
[ 62.541966] hda_codec: hda_codec_amp_update
[ 62.542024] hda_codec: snd_hda_codec_read verbs 007 0 b00 2000 = 0
[ 62.542030] hda_codec: hda_codec_amp_update
[ 62.542088] hda_codec: snd_hda_codec_read verbs 007 0 b00 0 = 0
[ 62.542111] hda_codec: snd_hda_mixer_amp_switch_put
[ 62.542116] hda_codec: hda_codec_amp_update
[ 62.542120] hda_codec: hda_codec_amp_update
[ 62.542206] hda_codec: snd_hda_mixer_amp_volume_put
[ 62.542212] hda_codec: hda_codec_amp_update
[ 62.542216] hda_codec: put_vol_mute
[ 62.542223] hda_codec: snd_hda_codec_write verbs 002 0 300 a039 = 0
[ 62.542229] hda_codec: hda_codec_amp_update
[ 62.542233] hda_codec: put_vol_mute
[ 62.542240] hda_codec: snd_hda_codec_write verbs 002 0 300 9039 = 0
[ 95.041936] hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x31
[ 95.042520] hda_codec: snd_hda_codec_write verbs 002 0 706 50 = 0
[ 95.047765] hda_codec: snd_hda_codec_write verbs 002 0 200 31 = 0
[ 95.836276] hda_codec_cleanup_stream: NID=0x2
[ 95.836309] hda_codec: snd_hda_codec_write verbs 002 0 706 0 = 0
[ 117.228656] hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x4011
[ 117.228675] hda_codec: snd_hda_codec_write verbs 002 0 706 50 = 0
[ 117.235714] hda_codec: snd_hda_codec_write verbs 002 0 200 4011 = 0
[ 117.236027] hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x4011
[ 117.236065] hda_codec: snd_hda_codec_write verbs 002 0 706 50 = 0
[ 117.246693] hda_codec: snd_hda_codec_write verbs 002 0 200 4011 = 0
[ 117.271706] hda_codec_setup_stream: NID=0x7, stream=0x1, channel=0, format=0x4011
[ 117.271729] hda_codec: snd_hda_codec_write verbs 007 0 706 10 = 0
[ 117.279673] hda_codec: snd_hda_codec_write verbs 007 0 200 4011 = 0
[ 117.279725] hda_codec_setup_stream: NID=0x7, stream=0x1, channel=0, format=0x4011
[ 117.279735] hda_codec: snd_hda_codec_write verbs 007 0 706 10 = 0
[ 117.287622] hda_codec: snd_hda_codec_write verbs 007 0 200 4011 = 0
[ 118.349219] hda_codec_cleanup_stream: NID=0x7
[ 118.349248] hda_codec: snd_hda_codec_write verbs 007 0 706 0 = 0
[ 118.349315] hda_codec_cleanup_stream: NID=0x7
[ 118.349330] hda_codec: snd_hda_codec_write verbs 007 0 706 0 = 0
[ 118.352101] hda_codec_cleanup_stream: NID=0x2
[ 118.352130] hda_codec: snd_hda_codec_write verbs 002 0 706 0 = 0
[ 118.352200] hda_codec_cleanup_stream: NID=0x2
[ 118.352217] hda_codec: snd_hda_codec_write verbs 002 0 706 0 = 0
[ 118.491579] hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x4011
[ 118.491598] hda_codec: snd_hda_codec_write verbs 002 0 706 50 = 0
[ 118.496677] hda_codec: snd_hda_codec_write verbs 002 0 200 4011 = 0
[ 118.496745] hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x4011
[ 118.496755] hda_codec: snd_hda_codec_write verbs 002 0 706 50 = 0
[ 118.504693] hda_codec: snd_hda_codec_write verbs 002 0 200 4011 = 0
[ 127.215768] hda_codec_cleanup_stream: NID=0x2
[ 127.215799] hda_codec: snd_hda_codec_write verbs 002 0 706 0 = 0
[ 127.215866] hda_codec_cleanup_stream: NID=0x2
[ 127.215882] hda_codec: snd_hda_codec_write verbs 002 0 706 0 = 0
And what I initially used to get sound out from speaker:
AC VERB DEC_PIN OPERATION
------- --------- --------------------------------------------------------
# startup
#00170500 - 1 SET_POWER_STATE
#02050004 - 32 SET_COEF_INDEX
#02040849 - 32 SET_PROC_COEF
#02050004 - 32 SET_COEF_INDEX
#02040849 - 32 SET_PROC_COEF
00170500 02050004 02040849 02050004 02040849
# mute input amps
00737000 - 07(AMP_IN) {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}
00b37080 - 11(MIXER) {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
00b37180 - 11(MIXER) {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
00b37280 - 11(MIXER) {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)},
00b37380 - 11(MIXER) {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},
00b37480 - 11(MIXER) {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
00737000 00b37080 00b37180 00b37280 00b37380 00b37480
# setup output mixers 0x0c - 0x0e
0023b000 - 02(AMP_OUT) {0x02, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
0033b000 - 03(AMP_OUT) {0x03, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
0023b000 0033b000
00c37000 - 12(MIXER) {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
00c37100 - 12(MIXER) {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
00d37000 - 13(MIXER) {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
00d37100 - 13(MIXER) {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
00e37000 - 14(MIXER) {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
00e37100 - 14(MIXER) {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
00c37000 00c37100 00d37000 00d37100 00e37000 00e37100
01470740 - 20(PC_AOUT) {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
015707c0 - 21(PC_AOUT) {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
01670740 - 22(PC_AOUT) {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
01870724 - 24(PC_AIN) {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
01970724 - 25(PC_AOUT) {0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
01a70720 - 26(PC_AIN) {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
01b70720 - 27(PC_AIN) {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
01470740 015707c0 01670740 01870724 01970724 01a70720 01b70720
0143b000 - 20(PC_AOUT) {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
0153b000 - 21(PC_AOUT) {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
0163b080 - 22(PC_AOUT) {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
0183b080 - 24(PC_AIN) {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
0193b080 - 25(PC_AOUT) {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
01a3b080 - 26(PC_AIN) {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
01b3b080 - 27(PC_AIN) {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
0143b000 0153b000 0163b080 0183b080 0193b080 01a3b080 01b3b080
01470100 - 20(PC_OUT) {0x14, AC_VERB_SET_CONNECT_SEL, 0x00},
01570100 - 21(PC_OUT) {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
01470100 01570100
/* FIXME: use matrix-type input source selection */
/* Mixer elements: 0x18, 19, 1a, 1b, 1d, 0b */
/* Input mixer1: unmute Mic, F-Mic, Line, CD inputs */
02437000 - 36(MIXER) {0x24, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
02437180 - 36(MIXER) {0x24, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
02437280 - 36(MIXER) {0x24, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)},
02437380 - 36(MIXER) {0x24, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},
02437000 02437180 02437280 02437380
01470c02 - 20(PC_OUT) {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2},
01570c02 - 21(PC_OUT) {0x15, AC_VERB_SET_EAPD_BTLENABLE, 2},
01470c02 - 20(PC_OUT) {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2},
01570c02 - 21(PC_OUT) {0x15, AC_VERB_SET_EAPD_BTLENABLE, 2},
01570884 - 21(PC_OUT) {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
01470c02 01570c02 01470c02 01570c02 01570884
01470740 - 20(PC_OUT) {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
0143b000 - 20(PC_OUT) {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
01470100 - 20(PC_OUT) {0x14, AC_VERB_SET_CONNECT_SEL, 0x00},
01470740 0143b000 01470100
015707c0 - 21(PC_OUT) {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
0153b000 - 21(PC_OUT) {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
01570100 - 21(PC_OUT) {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
015707c0 0153b000 01570100
01470740 - 20(PC_OUT) {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
0143b000 - 20(PC_OUT) {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
01470100 - 20(PC_OUT) {0x14, AC_VERB_SET_CONNECT_SEL, 0x00},
01470740 0143b000 01470100
01270720 - 18(PC_IN) {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
01870724 - 24(PC_IN) {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
0183b080 - 24(PC_IN) {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
01470740 - 20(PC_AOUT) {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
01270720 01870724 0183b080 01470740
01570101 - 21(PC_OUT) {0x15, AC_VERB_SET_CONNECT_SEL, 0x01},
02370105 - 35(ASELECT) {0x23, AC_VERB_SET_CONNECT_SEL, 0x05},
0023b026 - 02(AMP_OUT) {0x02, AC_VERB_SET_AMP_GAIN_MUTE, 0xb026 },
00837019 - 08(AMP_IN) {0x08, AC_VERB_SET_AMP_GAIN_MUTE, (0x7019 | (0x00 << 8))},
01270720 - 18(PC_IN) {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
01870888 - 24(PC_IN) {0x18, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_MIC_EVENT},
01570884 - 21(PC_OUT) {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
01570101 02370105 0023b026 00837019 01270720 01870888 01570884
I was trying to upload the files into the wiki but getting permission errors.
UPDATE: I have uploaded the kext into rapidshare: http://rapidshare.com/files/157602713/eee901kext4sound.zip.html
There are two AppleHDA.kext available in the zip file, AppleHDA269from268 was the original AppleHDA.kext from the 268 mod from Taruga's ALC268FIX Installer, and AppleHDA2691016 is a modified AppleHDA.kext uploaded by snickersmd on October 16. For the AppleHDA2691016 version, I had to add layout 12 into the Layouts in PostConstructionInitialization in the AppleHDAController.kext for the AppleAzalia.kext to work, but it kills the AppleHDA.kext (HDA generic codec driver does not load for some reason). Also, I have included a perl script to decipher the base64 encoded ConfigData… I don't really like to figure out all of those hex using Property List Editor… Use the following example to decode:
./decodeinfo.pl AppleHDA269from268/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/Info.plist | less