Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

2103 Posts in 252 Topics- by 1651 Members - Latest Member: ADESTSAPENGAW

March 10, 2010, 05:58:13 AM
netkas.org forumGeneral CategoryPC EFIALC889A (DS3) 10.5.3 and EFI
Pages: [1]
Print
Author Topic: ALC889A (DS3) 10.5.3 and EFI  (Read 7240 times)
sWORDs
Newbie

Offline Offline

Posts: 37


« on: June 15, 2008, 03:47:55 PM »

Since 10.5.2 I'm having trouble to add audio via EFI. I've had this with a 883 on Asus P5K (P35) and with a 889a on Gigabyte P35-DS3.

It only works after modifying AppleHDA.kext with AppleHDAPatcherv1.20 or using HDAenabler (+ patcher for 889a, else outputs are not correctly mapped). After reading this post I understand that for 10.5.2 HDEF is needed instead of AZAL and that Taruga found that Realtek 885 (so 889A should work too, codec dump of 889A gives 885) is added in 10.5.2. However using EFI it keeps coming up as AZAL.

Further more, when using HDAenabler it shows up in the Profiler Audio (Built In):


And when using HDAenabler + AppleHDAPatcherv1.20 it even shows Available Devices:

Speaker works for rear front line output.

When comparing the IO you can see that the PinConfigurations is added and eventhough it isn't correct, it atleast makes the rear lineout/HP and digital out working:



So I think the outputs can be corrected by modifying the patched AppleHDA.kext.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<!-- Patched by Taruga's AppleHDA Patcher  v1.20 -->
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>AppleHDA</string>
<key>CFBundleGetInfoString</key>
<string>1.4.0a22, Copyright Apple Inc. 2005-2007</string>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHDA</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Apple HDA Driver</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.4.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.4.0a23</string>
<key>IOKitPersonalities</key>
<dict>
<key>HDA Driver</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHDA</string>
<key>CodecInfo</key>
<array>
<dict>
<key>AnalogOut</key>
<dict>
<key>SignalProcessing</key>
<dict>
<key>Volume</key>
<dict>
<key>SoftwareVolume</key>
<dict/>
</dict>
</dict>
</dict>
<key>CodecID</key>
<integer>283904133</integer>
<key>ForceWakeToIdle</key>
<true/>
</dict>
</array>
<key>IOClass</key>
<string>AppleHDADriver</string>
<key>IOProviderClass</key>
<string>AppleHDACodec</string>
<key>InputSampleLatency</key>
<integer>30</integer>
<!-- Realtek -->           
<key>Layouts</key>
<array>
<dict>
<key>LayoutID</key>
<integer>12</integer>
<key>PathMapRef</key>
<array>
<dict>
<key>CodecID</key>
<array>
<integer>283904133</integer>
</array>
<key>Headphone</key>
<dict>
<key>AmpPostDelay</key>
<integer>150</integer>
<key>AmpPreDelay</key>
<integer>150</integer>

</dict>
<key>Inputs</key>
<array>
<string>LineIn</string>
<string>Mic</string>
<string>SPDIFIn</string>
</array>
<key>IntSpeaker</key>
<dict>
<key>AmpPostDelay</key>
<integer>150</integer>
<key>AmpPreDelay</key>
<integer>150</integer>
<key>MaximumBootBeepValue</key>
<integer>64</integer>

<key>MuteGPIO</key>
<integer>0</integer>
</dict>
<key>LineIn</key>
<dict/>
<key>LineOut</key>
<dict>
<key>AmpPostDelay</key>
<integer>150</integer>
<key>AmpPreDelay</key>
<integer>150</integer>

</dict>
<key>Mic</key>
<dict/>
<key>Outputs</key>
<array>
<string>IntSpeaker</string>
<string>Headphone</string>
<string>LineOut</string>
<string>SPDIFOut</string>
</array>
<key>PathMapID</key>
<integer>1</integer>
<key>SPDIFIn</key>
<dict/>
<key>SPDIFOut</key>
<dict/>
</dict>
</array>
</dict>
</array>
<key>OutputSampleLatency</key>
<integer>30</integer>
<key>PathMaps</key>
<array>
<dict>
<key>PathMap</key>
<array>

<!-- Mic Back -->
<array>
<array>
<array>
<dict>
<key>Amp</key>
<dict>
<key>Channels</key>
<array>
<dict>
<key>Bind</key>
<integer>1</integer>
<key>Channel</key>
<integer>1</integer>
</dict>
<dict>
<key>Bind</key>
<integer>2</integer>
<key>Channel</key>
<integer>2</integer>
</dict>
</array>
<key>MuteInputAmp</key>
<true/>
<key>PublishMute</key>
<true/>
<key>PublishVolume</key>
<true/>
<key>VolumeInputAmp</key>
<true/>
</dict>
<key>NodeID</key>
<integer>9</integer>
<key>ProcessingState</key>
<true/>
</dict>
<dict>
<key>NodeID</key>
<integer>34</integer>
<key>Boost</key>
<integer>1</integer>
</dict>
<dict>
<key>NodeID</key>
<integer>24</integer>
<key>VREF</key>
<integer>80</integer>
</dict>
</array>
</array>
</array>

<!-- Line In -->
<array>
<array>
<array>
<dict>
<key>Amp</key>
<dict>
<key>Channels</key>
<array>
<dict>
<key>Bind</key>
<integer>1</integer>
<key>Channel</key>
<integer>1</integer>
</dict>
<dict>
<key>Bind</key>
<integer>2</integer>
<key>Channel</key>
<integer>2</integer>
</dict>
</array>
<key>MuteInputAmp</key>
<true/>
<key>PublishMute</key>
<true/>
<key>PublishVolume</key>
<true/>
<key>VolumeInputAmp</key>
<true/>
</dict>
<key>NodeID</key>
<integer>8</integer>
</dict>
<dict>
<key>NodeID</key>
<integer>35</integer>
</dict>
<dict>
<key>NodeID</key>
<integer>26</integer>
</dict>
</array>
</array>
</array>

<!-- SPDIF IN -->
<array>
<array>
<array>
<dict>
<key>NodeID</key>
<integer>10</integer>
</dict>
<dict>
<key>DetectAssistant</key>
<integer>10</integer>
<key>DetectDelegate</key>
<integer>32</integer>
<key>NodeID</key>
<integer>31</integer>
</dict>
</array>
</array>
</array>

<!-- SPEAKER -->
    <array>
<array>
<array>
<dict>
<key>NodeID</key>
<integer>20</integer>
</dict>
<dict>
<key>Amp</key>
<dict>
<key>Channels</key>
<array>
<dict>
<key>Bind</key>
<integer>1</integer>
<key>Channel</key>
<integer>1</integer>
</dict>
<dict>
<key>Bind</key>
<integer>2</integer>
<key>Channel</key>
<integer>2</integer>
</dict>
</array>
<key>MuteInputAmp</key>
<true/>
<key>PublishMute</key>
<true/>
<key>PublishVolume</key>
<true/>
<key>VolumeInputAmp</key>
<false/>
</dict>
<key>NodeID</key>
<integer>12</integer>
</dict>
<dict>
<key>NodeID</key>
<integer>2</integer>
</dict>
</array>
</array>
</array>

<!-- HP -->
<array>
<array>
<array>
<dict>
<key>NodeID</key>
<integer>27</integer>
</dict>
<dict>
<key>Amp</key>
<dict>
<key>Channels</key>
<array>
<dict>
<key>Bind</key>
<integer>1</integer>
<key>Channel</key>
<integer>1</integer>
</dict>
<dict>
<key>Bind</key>
<integer>2</integer>
<key>Channel</key>
<integer>2</integer>
</dict>
</array>
<key>MuteInputAmp</key>
<true/>
<key>PublishMute</key>
<true/>
<key>PublishVolume</key>
<true/>
<key>VolumeInputAmp</key>
<false/>
</dict>
<key>NodeID</key>
<integer>38</integer>
</dict>
<dict>
<key>NodeID</key>
<integer>37</integer>
</dict>
</array>
</array>
</array>

<!-- LINE OUT 1 -->
<array>
<array>
<array>
<dict>
<key>NodeID</key>
<integer>21</integer>
</dict>
<dict>
<key>Amp</key>
<dict>
<key>Channels</key>
<array>
<dict>
<key>Bind</key>
<integer>1</integer>
<key>Channel</key>
<integer>1</integer>
</dict>
<dict>
<key>Bind</key>
<integer>2</integer>
<key>Channel</key>
<integer>2</integer>
</dict>
</array>
<key>MuteInputAmp</key>
<true/>
<key>PublishMute</key>
<true/>
<key>PublishVolume</key>
<true/>
<key>VolumeInputAmp</key>
<false/>
</dict>
<key>NodeID</key>
<integer>13</integer>
</dict>
<dict>
<key>NodeID</key>
<integer>3</integer>
</dict>
</array>
</array>
</array>

<!-- SPDIF OUT -->
<array>
<array>
<array>
<dict>
<key>NodeID</key>
<integer>30</integer>
</dict>
<dict>
<key>NodeID</key>
<integer>6</integer>
</dict>
</array>
</array>
</array>

</array>
<key>PathMapID</key>
<integer>1</integer>
</dict>
</array>
<key>SampleOffsetPad</key>
<integer>260</integer>
</dict>
<key>HDA Generic Codec Driver</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHDA</string>
<key>IOClass</key>
<string>AppleHDACodecGeneric</string>
<key>IOHDACodecFunctionGroupType</key>
<integer>1</integer>
<key>IOProviderClass</key>
<string>IOHDACodecFunction</string>
</dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
<!-- <key>com.apple.driver.DspFuncLib</key>
<string>1.0.0a1</string> -->
<key>com.apple.iokit.IOAudioFamily</key>
<string>1.1fc9</string>
<key>com.apple.iokit.IOHDAFamily</key>
<string>1.0.0d1</string>
<key>com.apple.kpi.bsd</key>
<string>8.0.0b3</string>
<key>com.apple.kpi.iokit</key>
<string>8.0.0b3</string>
<key>com.apple.kpi.libkern</key>
<string>8.0.0b3</string>
<key>com.apple.kpi.mach</key>
<string>8.0.0b3</string>
</dict>
</dict>
</plist>
I did not manage to modify the plist to get more outputs working, but if someone else looks at it here is what I learned:
Mic (Pink)93424
Line in (Blue)83526
Front (Green)20122
Rear (Black)21133
Sub/Center (Orange)22144
Side (Red)23155
Headphones273837
SPDIF IN1031
SPDIF OUT306
For Mic front I only know that the bold value is 25 and 28 is ATAPI and 29 is Ext line out.

How does this translate to <10401101 12200101 11600101 14100101 3099a101 3f90a102 31318101 1f402102 32013399 00010040 60014581 00010040>?

Code:
<dict>
<key>PinConfigurations</key>
<data>
EEARARIgAQERYAEBFBABATCZoQE/kKECMTGBAR9AIQIyATOZAAEAQGABRYEA
AQBA
</data>
<key>built-in</key>
<string>0x00</string>
<key>layout-id</key>
<string>0x0000000c</string>
<key>revision-id</key>
<string>0x00000001</string>
<key>subsystem-id</key>
<string>0x0000a002</string>
<key>subsystem-vendor-id</key>
<string>0x00001458</string>
<key>vendor-id</key>
<string>0x00008086</string>
</dict>

But how to get this working with only a EFI device-string? I can't get it to show up as HDEF. Adding the PinConfigurations to info.plist in HDAenabler removes the need for a modied AppleHDA.kext.
Anyone with a better solution or a working AppleHDA.kext with the correct (+rear,side,sub/center) outputs?

One other thing, I've attached two codec dumps, the first is one I downloaded and it works with hdapatcher, the second is one I copied from ubuntu, but hdapather gives a unsupported codec warning, does anyone know why?
« Last Edit: June 17, 2008, 09:01:31 AM by sWORDs » Logged

Gigabyte DS3, Q6600 3GHz (1333MHz bus), 4x 1GB Kingston DDR2 800, Asus 8500GT 512MB, OptiArc 7200S, 3x Samsung 500GB (dual bootable RAID0), CM Stacker 830, Tagan TG530-U22.
Leo4Allv3 + Kalyway 10.5.3 + 10.5.4 9E6 + Chameleon + GFX/ETH devicestrings + Intel ICH9 ACPI kexts + Taruga 889a HDAenabler.
sWORDs
Newbie

Offline Offline

Posts: 37


« Reply #1 on: June 17, 2008, 09:18:13 AM »

I've linked to this topic from the forums at taruga, so if you find this interesting, you might want to check the replies there too. http://wiki.taruga.net/tiki-view_forum_thread.php?topics_offset=1&topics_sort_mode=commentDate_desc&forumId=3&comments_parentId=744
Logged

Gigabyte DS3, Q6600 3GHz (1333MHz bus), 4x 1GB Kingston DDR2 800, Asus 8500GT 512MB, OptiArc 7200S, 3x Samsung 500GB (dual bootable RAID0), CM Stacker 830, Tagan TG530-U22.
Leo4Allv3 + Kalyway 10.5.3 + 10.5.4 9E6 + Chameleon + GFX/ETH devicestrings + Intel ICH9 ACPI kexts + Taruga 889a HDAenabler.
sWORDs
Newbie

Offline Offline

Posts: 37


« Reply #2 on: June 18, 2008, 11:18:37 PM »

A bit better PinConfigurations with a modified AppleHDA by Taruga which also works without HDAenabler (HDAenabler is included) (HDEF, so also in SystemProfiler), but still no rear, center/sub, side and front marked as internal speaker:

<50 70 21 01 40 01 13 90 20 30 81 01 41 40 01 01 30 e0 c5 01 60 e0 45 01 0f 00 00 40 0f 00 00 40 10 01 a0 90 11 01 a0 90>

But for now this kext is the best way for 889a audio on 10.5.2 and 10.5.3:


I still think adding the extra outputs by modifying pathmap8/layout12 should be possible.
« Last Edit: June 19, 2008, 12:07:14 AM by sWORDs » Logged

Gigabyte DS3, Q6600 3GHz (1333MHz bus), 4x 1GB Kingston DDR2 800, Asus 8500GT 512MB, OptiArc 7200S, 3x Samsung 500GB (dual bootable RAID0), CM Stacker 830, Tagan TG530-U22.
Leo4Allv3 + Kalyway 10.5.3 + 10.5.4 9E6 + Chameleon + GFX/ETH devicestrings + Intel ICH9 ACPI kexts + Taruga 889a HDAenabler.
iSkylla
Newbie

Offline Offline

Posts: 1


« Reply #3 on: June 25, 2008, 03:24:25 PM »

Any luck with ALC888?  I've been playing around with Pin Configurations for a while but I still can't get my head around how to find and input them from an audio dump.
Logged
sWORDs
Newbie

Offline Offline

Posts: 37


« Reply #4 on: June 25, 2008, 04:04:45 PM »

For now using device strings for audio is useless, you will always need a modified AppleHDA, so what's the point?

The best way is using the new leopard kext files from taruga.
Logged

Gigabyte DS3, Q6600 3GHz (1333MHz bus), 4x 1GB Kingston DDR2 800, Asus 8500GT 512MB, OptiArc 7200S, 3x Samsung 500GB (dual bootable RAID0), CM Stacker 830, Tagan TG530-U22.
Leo4Allv3 + Kalyway 10.5.3 + 10.5.4 9E6 + Chameleon + GFX/ETH devicestrings + Intel ICH9 ACPI kexts + Taruga 889a HDAenabler.
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic