x86 하드웨어 기반 Mac OS X 2008–2024 기술 아카이브
InfiniteMac OSx86 › Snow Leopard 10.6 › Leopard용 AppleHDA.kext 사운드 드라이버를 Snow Leopard로 포…
478,935 reads · 2009-09-08 – 2010-11-14
설치 가이드 Snow Leopard 10.6 DSDT ALC889a / Audio

Leopard용 AppleHDA.kext 사운드 드라이버를 Snow Leopard로 포팅하는 방법 (바이너리 Byte-Flip 및 Plist 구조 이식 가이드)

Mormegil이 집필한 정통 오디오 드라이버 엔지니어링 가이드입니다. HexEdit를 사용하여 AppleHDA 실행 바이너리에 리틀 엔디안(Byte-Flip) 방식의 Codec ID 패치를 적용하고, Leopard의 HDAConfigDefault, Layouts 및 PathMaps 구조를 Snow Leopard로 이식하는 절차를 설명합니다.

주 저자
@mormegil 게시일: 2009-09-08
소속 컬렉션
Snow Leopard 10.6
아카이브 기록 규모
누적 조회 478,935회 · 선별된 필드 노트 80건 (원본 게시물 117건에서 추출) · 2009-09-08 – 2010-11-14
참여 및 검증 멤버 (39)
@mormegil (27)@mimayin (14)@Pietruszka (6)@airwalk776 (6)@msf5042 (6)@Jedric (5)@dan10 (4)@calabuig (4)@Snow (3)@Gurruwiwi (3)@blkhockeypro19 (3)@ping99 (3)@max.1974 (3)@xxxslayeriiixxx (2)@thorazine74 (2)@vincenzo32 (2)+23 more
관련 하드웨어 참조
Mac USB Audio DACs ↗ Workstation Coolers & Thermal Gear ↗ SATA III & NVMe SSDs ↗
한국어 전문 번역 기술 문서 · 터미널 명령어, Kext 파일명, ACPI 노드 및 부트 플래그는 원문 그대로 보존됩니다영문 원본 보기 (Original English) →

최근 기존 Leopard에서 사용하던 AppleHDA.kext를 Snow Leopard용으로 변환하고 싶어 하는 분들로부터 수많은 요청을 받았습니다.
이 가이드는 이미 Leopard에서 완벽하게 작동하거나 최소한 본인의 용도에 충분히 부합하게 작동하는 AppleHDA.kext를 보유하고 있다는 전제하에 진행됩니다.

수정 참고: 또한 이 가이드는 이미 DSDT를 통해 오디오 디바이스 주입(HDEF)을 마쳤다고 가정합니다. 아직 하지 않으셨다면 snow 님의 DSDT 오디오 가이드 →를 먼저 확인하십시오.
만약 본인의 DSDT 안에서 AZAL이나 HDEF 항목을 전혀 찾을 수 없다면, 이 방법 →을 참고하여 수동으로 코드를 삽입하십시오.

필수 준비물:

1. Snow Leopard의 순정(Vanilla) AppleHDA.kext
2. 정상 작동이 검증된 기존 AppleHDA.kext (반드시 Leopard에서 작동이 확인된 파일이어야 합니다!)
3. PlistEdit Pro (cid-8b65993ef55cf014.skydrive.li ve.com/browse.aspx/.Public/OSx86/Snow%20Leopard/Applications%20for%20OSx86%20%7C5aplikacje%7C6?view=details)
4. HexEdit 헥스 에디터 (hexedit.sourc eforge.net/)

1) 우선 별도의 바이너리 패치 없이도 순정 상태에서 네이티브로 지원되는 것으로 알려진 오디오 코덱 목록은 다음과 같습니다:

Name          Codec ID (dec)   Codec ID (hex)
AD1984        299112836        0x11D41984
AD1988        299112843        0x11D4198B
STAC9220    -2088470912        0x83847680
ALC262        283902562        0x10ec0262
ALC885        283904133        0x10ec0885

만약 본인의 코덱 ID가 위 목록 중 하나와 일치한다면 1단계 바이너리 패치는 건너뛰어도 됩니다.
일치하지 않는다면, 순정 Snow Leopard AppleHDA.kext를 우클릭하여 '패키지 내용 보기(Show Package Contents)'를 선택한 뒤 다음 경로로 이동합니다:

(SL)AppleHDA.kext/Contents/MacOS/

HexEdit로 AppleHDA 바이너리 본체를 엽니다. 위 목록에 있는 기본 코덱 ID 중 하나를 본인의 실제 코덱 ID로 치환할 것입니다.
이 예제에서는 0x10ec0885(ALC885) 코덱을 0x10ec0888(ALC888)로 바꾸어 보겠습니다.

Command+F를 눌러 검색 창을 띄운 뒤 8508ec10(10ec0885를 바이트 역순(Byte-Flip)으로 뒤집은 리틀 엔디안 표기)을 검색하고, 이를 8808ec10(10ec0888의 바이트 역순 표기)으로 바꿉니다.
"Replace All(모두 바꾸기)"을 클릭하면 총 4곳이 치환되는 것을 확인할 수 있습니다. 완료되면 저장 후 HexEdit를 종료합니다.

2) 다음은 plist 파일 수정입니다. Snow Leopard Kext 내부에 있는 두 개의 plist 파일을 편집해야 합니다.

첫 번째로 편집할 파일 경로는 다음과 같습니다:

(SL)AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist

Plist 편집기로 이 파일을 열고 다음 노드로 이동합니다:

IOKitPersonalities/HDA Hardware Config Resource/HDAConfigDefault/

그리고 HDAConfigDefault 아래에 있는 기존 하위 항목들을 모두 삭제합니다.

이제 기존 Leopard에서 정상 작동하던 AppleHDA의 버전에 따라 아래 두 파일 중 해당하는 하나를 엽니다:

(Leo)AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/Info.plist
(Leo)AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist

내부 트리를 탐색하여 코덱 설정 구조가 있는 곳을 찾습니다.

본인의 CodecID가 포함된 키(위 그림에서 0번 항목)를 우클릭하여 복사(Copy)합니다.
이때 사용 중인 LayoutID 값도 함께 메모해 두십시오. 일반적으로 12로 되어 있을 것입니다.

다시 앞서 열어 둔 Snow Leopard용 plist 창으로 돌아와서, HDAConfigDefault 항목을 클릭하고 하위 항목으로 붙여넣기(Paste as Child)를 수행합니다. 저장 후 창을 닫습니다.

3) 다음으로 편집해야 할 두 번째 파일 경로는 다음과 같습니다:

(SL)AppleHDA.kext/Contents/PlugIns/AppleHDAPlatformDriver.kext/Contents/Info.plist

파일을 열고 다음 경로로 이동합니다:

IOKitPersonalities/HDA Platform Resource/

그리고 그 아래의 Layouts 및 PathMaps 내부에 있는 기존 하위 항목들을 모두 삭제합니다.

마찬가지로 기존 Leopard용 AppleHDA의 버전에 따라 아래 두 파일 중 해당하는 하나를 엽니다:

(Leo)AppleHDA.kext/Contents/Info.plist
(Leo)AppleHDA.kext/Contents/PlugIns/AppleHDAPlatformDriver.kext/Contents/Info.plist

내부 트리를 탐색하여 Layouts 섹션을 찾습니다.

Layouts 아래에서 본인의 LayoutID(예: 12)가 들어 있는 키(그림의 0번 항목)를 우클릭하여 복사합니다.
이때 내부에서 참조하고 있는 PathMapID 값을 확인해 두십시오. 이 예제에서는 9입니다.
또한 내부에 기재된 CodecID 값이 본인의 코덱과 정확히 일치하는지도 확인합니다.
이제 Snow Leopard용 plist 창으로 돌아가 Layouts를 클릭하고 하위 항목으로 붙여넣기(Paste as Child)를 합니다.

다시 Leopard용 plist로 돌아가서 이번에는 PathMaps 섹션을 찾습니다.

PathMaps 아래에서 앞서 확인한 PathMapID(이 예제에서는 9)를 가진 키(0번 항목)를 우클릭하여 복사합니다.
Snow Leopard용 plist로 돌아와 PathMaps를 클릭하고 하위 항목으로 붙여넣기(Paste as Child)를 수행한 뒤 저장하면 모든 포팅 과정이 완료됩니다.

저자 후속 업데이트 및 기술 개정 이력

주 저자 후속 기술 보충: @mormegil

저자 업데이트 #1 @mormegil 2009-09-08

이 plist 구성을 쓰시는 게 가장 좋습니다. 앞으로는 제가 개별적으로 패치된 AppleHDA 통파일을 업로드하지는 않을 예정입니다.

저자 업데이트 #2 @mormegil 2009-09-09

2단계에서 CodecID 키 아래에 있는 본인의 코덱 ID(10진수 값)를 검색하세요. 해당 항목을 찾았으면 그 안에서 사용 중인 LayoutID 값을 확인하시고, 만약 12가 아니라면 12로 변경하십시오.

다시 한 번 검색해서 본인의 코덱 항목이 단 한 번만 등장하는지 확인하세요. 사용하지 않는 나머지 레이아웃 항목들은 모두 지워서 plist를 깔끔하게 유지하셔도 안전합니다.

저자 업데이트 #3 @mormegil 2009-09-10 ↳ Re: @Pietruszka
@Pietruszka모든 PathMaps와 Layouts를 복사해 넣었는데 작동하지 않네요… 알려주신 조언대로 다시 시도해 보겠습니다... 도움 주셔서 감사합니다. 추신: 만약 그래도 안 되면 Leopard에서 정상 작동하던 AppleHDA와 10.6용 새 파일을 여기에 올려도 될까요?

DSDT에 HDEF 오디오 패치는 적용하셨나요?

저자 업데이트 #4 @mormegil 2009-09-10 ↳ Re: @arm1tage
@arm1tage패치된 DSDT를 적용했는데도 제 시스템(Dell E6500, IDT 오디오, 바이트 역순 헥스값: 8508EC10)에서는 작동하지 않네요. 게다가 네트워크 환경설정에 정체불명의 '새로운 인터페이스 감지됨 - PCI 직렬 어댑터 (3)'라는 항목이 새로 생겼습니다...

8508EC10이라는 코덱 주소는 IDT가 아니라 Realtek의 ALC885/ALC889a 코덱 ID입니다. Linux Live CD로 부팅해서 본인 노트북의 실제 코덱 덤프를 직접 추출해 확인하셔야 합니다.

저자 업데이트 #5 @mormegil 2009-09-10 ↳ Re: @Gurruwiwi
@GurruwiwiMormegil 님, 그동안 도와주신 덕분에 모은 정보들을 바탕으로 가이드를 따라 진행했더니 상세 부팅 시 뜨던 수많은 "assertion "0"" 에러들이 딱 한 줄만 빼고 전부 사라졌습니다! 이제 시스템이 멈추거나 커널 패닉(KP)을 일으키지도 않고 가끔 부팅 로그에 두 줄 정도만 뜹니다. 제 plist 구조를 가이드와 최대한 비슷하게 맞추려고 항목 하나를 지웠다가 생긴 에러인 걸…

10.5 Leopard에서는 해당 Kext로 사운드가 정상 작동하고 있나요?

저자 업데이트 #6 @mormegil 2009-09-10

HexEdit를 사용하신 거 맞죠? 정상적으로 저장했다면 .txt 파일이 생성되지 않아야 합니다.

어쨌든 앞서 본문에서도 강조했듯 이 가이드는 이미 Leopard에서 정상 작동이 검증된 AppleHDA.kext가 있다는 전제하에 진행됩니다. 먼저 Leopard로 부팅하셔서 InsanelyMac 포럼 등을 검색해 구할 수 있는 모든 완성형 Kext들을 하나씩 테스트해 보며 본인 코덱에서 완벽히 작동하는 Kext를 먼저 찾으세요. 본인의 코덱에 맞는 올바른 ConfigData, Layout, PathMap 세트가 들어 있는 plist를 확보하는 것이 우선입니다.

그렇게 검증된 Leopard용 Kext를 확보하신 뒤에야 비로소 Snow Leopard로의 포팅을 시작하실 수 있습니다.

저자 업데이트 #7 @mormegil 2009-09-10 ↳ Re: @Pietruszka
@Pietruszka여전히 작동하지 않네요… 2단계에서 제 CodecID가 두 군데 검색되길래 두 개 다 복사해 넣어봤는데 안 되고, 하나씩만 넣어봐도 안 됩니다. LayoutID를 662에서 12로 바꿔봤는데도 안 되네요. 이제 도무지 뭘 어떡해야 할지 모르겠습니다. 포기해야 할까 봐요… 더 이상 해볼 수 있는 게 없네요…

그 AppleHDA가 10.5 Leopard에서 정상 작동했던 파일이 확실한가요? 그리고 현재 DSDT에 주입한 layout-id 값은 몇으로 되어 있나요?

10.5에서 시스템 프로파일러(System Profiler) > 오디오 항목을 열었을 때 "Audio ID"가 몇 번으로 표시되는지 확인해 보세요.

저자 업데이트 #8 @mormegil 2009-09-18

DSDT 안에서 기존 AZAL이나 HDEF 항목을 찾을 수 없다면 아래 HDEF 코드를 직접 추가해 주시면 됩니다:

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            }, 

                            "PinConfigurations", 
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

DSDT에서 Device (PCI0)를 찾은 뒤 그 바로 아래에 다음과 같은 형태가 되도록 삽입하십시오:

       Device (PCI0)
        {
            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            }, 

                            "PinConfigurations", 
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }
            .
            .
            .
저자 업데이트 #9 @mormegil 2009-09-20

Device ID: 0x1458A002
Audio ID: 12

Device ID: 0x10438277
Audio ID: 12

두 출력 결과에서 뭔가 다른 점이 보이지 않으시나요?

저자 업데이트 #10 @mormegil 2009-09-20

본문 가이드를 제대로 읽어보긴 하신 건가요? 순정 Snow Leopard Kext 안에 원래 어떤 값이 들어 있는지는 전혀 중요하지 않습니다. 이 가이드의 핵심은 이미 작동이 검증된 Leopard용 Kext에서 설정값을 그대로 복사해 이식하는 것입니다.

0x1458A002는 본인의 코덱 ID(Codec ID)가 아닙니다. 본인의 코덱 ID가 뭔지조차 구분하지 못하시면 도와드릴 방법이 없습니다.
저자 업데이트 #11 @mormegil 2009-09-21 ↳ Re: @vincenzo32
@vincenzo32안녕하세요 여러분, 이 포럼에 남기는 첫 게시글이네요. 혹시 ASUS Z53Ja 노트북의 Realtek ALC660/861 코덱에도 이 가이드를 그대로 적용할 수 있을지 여쭙고 싶습니다. 감사합니다.

기존 Leopard용 Kext가 정상 작동하기만 한다면 어떤 코덱이든 상관없이 이 방법으로 포팅이 가능합니다.

저자 업데이트 #12 @mormegil 2009-09-23 ↳ Re: @blkhockeypro19
@blkhockeypro19DSDT도 제대로 패치하고 가이드를 문제없이 끝까지 따라 했습니다. 그런데 재부팅하면 다음과 같은 에러들이 뜹니다: 9/21/09 6:46:35 PM kernel NVDANV50HAL loaded and registered. 9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAWidgetSTAC9220.cpp" at line 113 goto Exit 9/21/09…

그래서 실제로 소리는 나오나요, 안 나오나요?

저자 업데이트 #13 @mormegil 2009-09-26 ↳ Re: @ping99
@ping99이 가이드를 따라 Snow Leopard 순정 AppleHDA를 패치했습니다. 그런데 재부팅할 때마다 아래와 같은 sound assertion 에러가 뜹니다. Sep 25 18:22:03 Ping-Tsengs-Mac-Pro kernel[0]: Previous Shutdown Cause: 3 Sep 25 18:22:04 Ping-Tsengs-Mac-Pro kernel[0]: VoodooPS2SynapticsTouchPad loaded Sep 25 18:22:05 Ping-Tsengs-Mac-Pro…

현재 Snow Leopard를 32비트와 64비트 중 어느 모드로 구동 중이신가요? 부트로더는 어떤 버전을 쓰시나요? 그리고 AppleHDA 실행 바이너리에 헥스 패치는 적용하셨나요?

첨부하신 코덱 덤프와 커널 패닉(KP) 증상을 보니 노트북을 사용 중이신 것 같네요. 혹시 기존에 완벽히 검증된 Leopard용 Kext가 있는 게 아니라 처음부터 직접 패치를 시도하고 계신 건가요? 만약 그렇다면 이 가이드는 님께 맞지 않습니다. 처음부터 핀 구성을 짜야 하는 경우에는 이곳 ↗의 가이드를 참고하셔야 합니다.

올려주신 plist 구조 자체는 얼핏 정상으로 보입니다. 다만 ConfigData와 Layout, PathMap 항목을 조금 쳐내서 다이어트할 필요가 있어 보입니다. 노트북 사운드 칩셋치고는 너무 많은 포트가 매핑되어 있거든요.

저자 업데이트 #14 @mormegil 2009-09-26 ↳ Re: @blkhockeypro19
@blkhockeypro19소리가 전혀 안 납니다 =\

그 원본 Kext를 님의 실제 시스템(Leopard)에 직접 설치해서 소리가 제대로 나는지 두 눈으로 직접 확인하셨던 파일이 맞나요?

저자 업데이트 #15 @mormegil 2009-09-26

그렇다면 애초에 베이스로 삼은 구형 Leopard용 Kext부터가 온전히 작동하지 않는 반쪽짜리 파일이었으니 이 가이드의 포팅 과정 문제가 아니군요. 백지상태에서 처음부터 핀 구성을 잡고 패치하는 작업은 수많은 시행착오(Trial and Error)가 필요해서 제가 직접 도와드리기는 어렵습니다.

THe KiNG 님의 가이드를 참고해 여러 가지 포트 매핑 조합을 직접 넣어보며 테스트하셔야 합니다. 기본적인 입출력에 꼭 필요한 최소한의 포트만 남기도록 ConfigData를 줄여보시거나, 아니면 바퀴를 처음부터 다시 발명할 필요 없이 Leopard에서 완벽히 작동하는 검증된 Kext를 먼저 검색해 찾아보시는 걸 추천합니다.

아울러 64비트 모드로 부팅 중이시라면 Chameleon RC3 사용은 피하십시오. RC3는 64비트 EFI 지원이 불완전하여 부팅 시 Sound Assertion 에러를 유발하는 버그가 있습니다.

저자 업데이트 #16 @mormegil 2009-10-27

네, 맞습니다. Layout ID 값은 DSDT와 plist 양쪽에서 서로 일치하기만 한다면 몇 번을 쓰든 상관없습니다. 예를 들어 DSDT에 주입한 layout-id가 79 03 00 00(바이트 역순) => 00 00 03 79(16진수) => 889(10진수)로 되어 있다면, plist 안에서도 동일하게 LayoutID 889를 사용하시면 됩니다.

@airwalk: 그 값이 본인의 실제 코덱 ID가 확실한가요? 직접 Linux에서 코덱 덤프를 떠보셨나요? 제가 알기로 ALC889는 내부적으로 ALC885와 동일한 코덱 ID(0x10ec0885)를 공유하는 경우가 많습니다. 바이너리 헥스 편집을 하지 않은 순정 바이너리 상태로도 한 번 테스트해 보세요.

저자 업데이트 #17 @mormegil 2009-10-29

음.. 님 말씀이 맞네요.

혹시 DSDT 안에도 ConfigData(PinConfigurations) 값을 직접 주입해 두셨나요? 그 문제이거나 아니면 PathMaps 구성이 잘못되었을 가능성이 있습니다. 확인차 여쭙는데, AppleHDAPlatformDriver.kext 내부의 "Layouts" 항목에서 참조하는 PathMapID 번호와 실제 "PathMaps" 아래에 복사해 넣은 PathMapID 번호가 정확히 일치하나요?

저자 업데이트 #18 @mormegil 2009-11-11 ↳ Re: @Snow
@Snow안녕하세요 Mormegil 님, 오랜만입니다! 잘 지내시죠? 이번에 10.6.2 업데이트를 올렸더니 오디오가 먹통이 되어서, 제가 살짝 수정해 본(하지만 여전히 작동하지 않는) 10.6.2용 AppleHDA Kext를 한 번 봐주실 수 있을까 해 연락드렸습니다. media fire.com/file/mikkmb25bzz/AppleHDA.zip 고맙습니다 친구! 추신: 당장은 10.6.1 버전 AppleHDA를 롤백해서 쓰는 중입니다.

잘 지냅니다 친구! 저도 방금 10.6.2 업데이트를 마쳤습니다. AppleHDA만 다시 손봐주면 나머지는 전부 멀쩡하네요.

어차피 제 코덱용으로도 새로 작업해야 해서, 하는 김에 님 보드용(ALC889a)도 함께 패치해 두었습니다.

ALC889A용으로 패치된 10.6.1/10.6.2 호환 AppleHDA:
media fire.com/file/gm25ymjzhjw/AppleHDA_889a.zip

저자 업데이트 #19 @mormegil 2009-11-19

DSDT의 Device (HDEF) 코드는 딱 이 기본 형태만 들어가면 됩니다: AppleHDA를 Snow Leopard로 포팅하는 방법 →

올려주신 plist 자체는 정상입니다. 다만 첫 번째 plist(HardwareConfigDriver) 안에 들어 있는 ConfigData 값과 DSDT에 주입된 PinConfigurations 값이 서로 다릅니다. 두 값 모두 테스트해 보시되, 반드시 plist 안에만 넣고 DSDT 안의 PinConfigurations는 빈 버퍼(Buffer (Zero) {})로 비워두십시오.

저자 업데이트 #20 @mormegil 2009-11-20

ConfigData가 들어 있는 다른 쪽 Leopard용 plist 파일도 함께 올려주실 수 있나요?

저자 업데이트 #21 @mormegil 2009-11-20

시스템 프로파일러에 모든 오디오 포트가 정상적으로 뜬다고 하셨으니 DSDT 패치는 완벽하게 적용된 상태입니다.

올려주신 Leopard용 plist와 Snow Leopard용 plist도 모두 대조해 봤는데 수치들이 정확히 일치합니다.

유감스럽게도 제가 여기서 더 이상 도와드릴 수 있는 부분이 없을 것 같습니다. 미안합니다.

Kext를 올바른 경로에 설치하고 권한 복구 및 캐시 재구성(Rebuild Cache)을 확실히 거치신 게 맞는지 다시 한 번 점검해 보세요.

저자 업데이트 #22 @mormegil 2010-06-27

그동안 개인 사정으로 바빠서 자주 들르지 못했습니다. 너그러이 양해해 주시길 바랍니다.

ALC888 사용자분들을 위해 제가 작업한 10.6.4용 AppleHDA.kext를 공유합니다: (mega upload.com/?d=D1HV9A4K)

커뮤니티 실측 및 기술 필드 노트

총 117개의 원본 스레드 응답 중 기술적 가치가 높은 80개의 필드 노트 수록

필드 노트 #1 @infinitek 2009-09-08

좋은 가이드 감사합니다… 혹시 작업하신 ALC888용 패치된 AppleHDA 파일을 공유해 주실 수 있을까요...?

필드 노트 #2 @Pietruszka 2009-09-09

기존 Leopard용 AppleHDA.kext 안에 번호가 0번 하나만 있는 게 아니라 0번부터 23번까지 여러 개가 들어 있을 때는 어떻게 해야 하나요?

그중 어느 항목을 복사해야 하나요?

도움에 감사드립니다.

필드 노트 #3 @Pietruszka 2009-09-09

모든 PathMaps와 Layouts를 복사해 넣었는데 작동하지 않네요… 알려주신 조언대로 다시 시도해 보겠습니다...

도움 주셔서 감사합니다.

추신: 만약 그래도 안 되면 Leopard에서 정상 작동하던 AppleHDA와 10.6용 새 파일을 여기에 올려도 될까요?

필드 노트 #4 @Pietruszka 2009-09-10

네, DSDT 패치는 이미 적용했습니다.

그래도 여전히 제 시스템에서는 작동하질 않네요... 아마 제가 중간에 뭔가를 잘못했나 봅니다…

어쨌든 도와주셔서 감사합니다.

필드 노트 #5 @arm1tage 2009-09-10

패치된 DSDT를 적용했는데도 제 시스템(Dell E6500, IDT 오디오, 바이트 역순 헥스값: 8508EC10)에서는 작동하지 않네요. 게다가 네트워크 환경설정에 정체불명의 '새로운 인터페이스 감지됨 - PCI 직렬 어댑터 (3)'라는 항목이 새로 생겼습니다...

필드 노트 #6 @Gurruwiwi 2009-09-10

Mormegil 님, 그동안 도와주신 덕분에 모은 정보들을 바탕으로 가이드를 따라 진행했더니 상세 부팅 시 뜨던 수많은 "assertion "0"" 에러들이 딱 한 줄만 빼고 전부 사라졌습니다! 이제 시스템이 멈추거나 커널 패닉(KP)을 일으키지도 않고 가끔 부팅 로그에 두 줄 정도만 뜹니다. 제 plist 구조를 가이드와 최대한 비슷하게 맞추려고 항목 하나를 지웠다가 생긴 에러인 걸로 기억하는데, 지운 항목 안에 codecAddressMaskData라는 키가 들어 있었습니다. 현재 뜨는 상세 부팅 에러 라인 전체는 다음과 같습니다:

Sound assertion "0 == codecAddressMaskData" failed in "/sourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDAcontroller.cpp" at line 1159 goto Exit

오늘 밤 처음부터 다시 차근차근 작업해 볼 생각인데, 순정 기본값을 그대로 남겨두면 안 될 것 같긴 하지만 일단 테스트해 보겠습니다.

혹시 제 오디오 칩셋에 해당하는 이 마스크 값을 어디서 찾을 수 있는지 아시나요?

필드 노트 #7 @Gurruwiwi 2009-09-10

네, 10.5에서는 작동하지만 VoodooHDA로 잡고 쓰고 있습니다.

방금 처음부터 전 과정을 다시 진행해 봤는데, 지난번에는 제가 뭔가를 잘못 건드렸던 게 확실합니다. 이번에는 순정 AppleHDA 원본을 확실히 챙겨서 시작했더니 아까 말한 codecAddress 관련 항목은 아예 나오지도 않더군요.

Linux에서 직접 추출한 제 보드 고유의 코덱 덤프를 바탕으로 작업했고, 유일하게 임의로 추측해서 넣은 값은 PathMapID를 9로 지정한 것뿐입니다. 나머지는 100% 제 실제 시스템 데이터입니다.

그런데 안타깝게도 재부팅했더니 커널 패닉(KP)이 터져버렸습니다.

참고: 단계를 다시 밟으면서 발견한 특이한 점인데, AppleHDA/Contents/MacOS/AppleHDA 바이너리를 HexEdit로 열어 바이트 역순 코덱 ID를 치환하고 저장하면 텍스트 파일(AppleHDA.txt)이 생기고 원본 바이너리 이름은 끝에 물결표가 붙은 "AppleHDA~"로 바뀌더군요. 그래서 두 번째 시도 때는 바이너리를 바탕화면의 별도 폴더로 복사해 빼낸 뒤 편집/저장하고, 생성된 파일에서 "~"를 지워 원래 이름으로 바꾼 다음 다시 MacOS 폴더 안으로 덮어씌웠습니다(순수 바이너리 파일만). 이 현상이 문제와 관련이 있는지는 모르겠지만 참고 삼아 공유합니다.

필드 노트 #8 @Gurruwiwi 2009-09-10

네, 본문에 링크해 주신 바로 그 HexEdit를 사용했습니다. 총 4곳을 모두 치환한 뒤 File -> Save를 눌렀습니다.

어쩌면 제가 Finder에서 "모든 숨김 파일 보기" 옵션을 켜두어서 백업 파일이 보인 걸지도 모르겠네요. 하지만 실제로 유닉스 실행 파일 끝에 "~"가 붙으며 이름이 바뀌었었습니다.

조언해 주신 대로 먼저 Leopard에서 작동하는 AppleHDA를 찾아 테스트해 보겠습니다. 미처 그 생각은 못 했네요! 감사합니다!

필드 노트 #9 @Pietruszka 2009-09-10

여전히 작동하지 않네요…

2단계에서 제 CodecID가 두 군데 검색되길래 두 개 다 복사해 넣어봤는데 안 되고, 하나씩만 넣어봐도 안 됩니다.

LayoutID를 662에서 12로 바꿔봤는데도 안 되네요.

이제 도무지 뭘 어떡해야 할지 모르겠습니다.

포기해야 할까 봐요…

더 이상 해볼 수 있는 게 없네요…

필드 노트 #10 @Pietruszka 2009-09-11

장치 ID(Device ID): 0x1458A002 (devID)
Audio ID: 662

아, 제가 뭔가를 잘못 이해하고 있었던 것 같습니다(제 불찰입니다)... 아까 저에게 DSDT 패치를 했냐고 물어보셨었죠?

네, DSDT 패치(RTC, CMOS 초기화 방지, LAN, 7600GS 그래픽)는 해두었지만... 사운드(HDEF) 패치는 넣지 않았습니다. Leopard에서는 DSDT 사운드 패치 없이 그냥 수정된 AppleHDA.kext만 덮어씌우면 바로 소리가 났었거든요.

이전에는 필요 없었는데 Snow Leopard에서는 반드시 DSDT에 사운드 패치를 넣어야만 작동하는 건가요?

영어가 서툴러 죄송합니다.

어쨌든 도와주셔서 정말 감사합니다.

필드 노트 #11 @Pietruszka 2009-09-11

도와주신 모든 말씀 진심으로 감사드립니다…

알려주신 대로 DSDT에 HDEF 패치를 추가하고,

다른 포럼에서 구한 alc662.kext(/Extra에 배치)를 함께 사용했더니 드디어 소리가 잘 나옵니다!

필드 노트 #12 @tokyovigilante 2009-09-16

정말 환상적인 가이드입니다, 대단히 감사합니다! 그동안 제 ASUS P5K-E 보드의 AD1988B 사운드를 단순 plist 인젝터 Kext로만 잡고 쓰고 있었는데, 이 가이드대로 직접 포팅했더니 드디어 SPDIF 광출력까지 완벽하게 작동합니다. 최고네요!

필드 노트 #13 @lemn 2009-09-16

안녕하세요, 가이드를 따라 패치된 AppleHDA.kext를 만들었습니다.
그런데 kextload로 로드해 보면 오디오 장치가 하나도 나타나지 않습니다.
제 사운드 칩셋은 ADI 1988입니다. 링크된 DSDT 패치 가이드를 따라 DSDT를 수정해 보려 했는데, 그 가이드는 다른 코덱(ALC889) 기준이라 제 dsdt.dsl 파일 안에서는 가이드에 나온 코드 섹션들을 찾을 수가 없네요.
어떻게 해야 할지 도움 부탁드립니다. 감사합니다.

필드 노트 #14 @Ezhoon 2009-09-18 ↳ Re: @mormegil

아래의 HDEF 코드를 ALC883 코덱에서도 그대로 사용할 수 있나요?

@mormegilDSDT 안에서 기존 AZAL이나 HDEF 항목을 찾을 수 없다면 아래 HDEF 코드를 직접 추가해 주시면 됩니다: Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } DSDT에서…
필드 노트 #15 @Jedric 2009-09-20

제 시스템에서는 작동하지 않네요.

DSDT는 에러 없이 정상적으로 패치되었습니다.

하지만 Snow Leopard 부팅 시 다음과 같은 에러들이 쏟아집니다:

Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: DSMOS has arrivedSound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Sep 19 23:31:33 Mac-Pro kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit

Snow Leopard에서의 인식 상태 (소리 안 남):
Intel High Definition Audio:

Device ID: 0x1458A002
Audio ID: 12
Available Devices:
Line Out:
Connection: 1/8-Inch Jack
External Microphone:
Connection: 1/8-Inch Jack
External Microphone:
Connection: 1/8-Inch Jack
Headphone:
Connection: 1/8-Inch Jack
S/P-DIF Out:
Connection: RCA

Leopard에서의 인식 상태 (소리 정상 작동):
Intel High Definition Audio:

Device ID: 0x10438277
Audio ID: 12
Available Devices:
Headphone:
Connection: 1/8 inch Jack
Speaker:
Connection: Internal
Line In:
Connection: 1/8 inch Jack
S/P-DIF In:
Connection: Optical
S/P-DIF Out:
Connection: Optical
Microphone:
Connection: Internal

필드 노트 #16 @Jedric 2009-09-20

네, 저도 그 차이를 발견했기 때문에 위에 두 결과를 비교해서 올린 것입니다. 무슨 이유에서인지 Snow Leopard에서는 제 오디오 Device ID가 항상 0x1458A002로 감지됩니다.

Snow Leopard 순정 AppleHDA.kext 내부를 샅샅이 검색해 봤지만 1458A002(16진수)나 이에 해당하는 341352450(10진수) 값은 어디에서도 찾을 수 없었습니다.

필드 노트 #17 @rachaf 2009-09-20

제 오디오 사양은 IDT 92HD71B7 @ Intel 82801IB ICH9이며,
Codec ID = 0x111D76B2입니다.

제 PIN CONFIG 값은 다음과 같습니다:
<00571C10 00571D01 00571E56 00571F18 00771C21 00771D01 00771E56 00771F58 00971C22 00971D01 00971E56 00971F58 00B71C23 00B71D01 00B71E56 00B71F58 00D71C24 00D71D01 00D71E56 00D71F58>

이전에 다음 스레드에 올라온 패치된 AppleHDA Kext를 받아서 테스트해 보았습니다:
(해결됨) 새로운 AppleHDA Kext 패치하기 →

소리는 나지만 부팅할 때 커널 패닉(KP)이 빈번하게 발생하며 (Sound assertion "0 == pathMa…AppleHDA/AppleHDADriver.cpp…"),

결정적으로 잠자기에서 깨어난 후(Wake from Sleep) 오디오가 먹통이 됩니다.

어떻게 수정해야 할지 명확히 알려주실 수 있을까요?

서툰 영어 실력 양해 부탁드립니다.

필드 노트 #18 @Jedric 2009-09-21

네, 가이드를 정독하고 그대로 따라 했으며, 이 작업이 Leopard의 Layout, PathMaps, CodecID 구성을 Snow Leopard로 이식하는 과정이라는 점도 정확히 이해하고 있습니다.

그리고 0x1458A002가 제 코덱 ID가 아니라는 것도 잘 압니다. 제 실제 하드웨어 코덱 ID는 0x10ec0883(ALC883)입니다.

제가 말씀드리고자 했던 핵심은, 순정 AppleHDA.kext 내부 어디에도 들어 있지 않은 0x1458A002라는 값이 도대체 왜 Snow Leopard 시스템 프로파일러에 떡하니 찍혀 나오는지가 의아하다는 것이었습니다.

0x1458A002를 구글링해 보니 기가바이트 보드의 ALC889A 서브시스템 ID로 나오더군요.

현재 Leopard에서는 제가 직접 뽑은 코덱 덤프를 Taruga Patcher 1.20에 넣어 생성한 AppleHDA.kext로 사운드를 잘 쓰고 있습니다.

그런데 Leopard 시스템 프로파일러에서는 제 오디오가 다음과 같이 표시됩니다:
Device ID: 0x10438277 - 구글링해 보니 이건 ASUS 보드의 ADI 1988b 서브시스템 ID더군요(참 기묘합니다).

방금 문득 아이디어가 하나 떠올랐는데요...

실제 코덱 ID인 0x10ec0883 대신, Leopard에서 인식되고 있는 값인 0x10438277을 넣어서 한번 테스트해 볼까 합니다.

필드 노트 #19 @thorazine74 2009-09-21 ↳ Re: @Jedric
@Jedric네, 가이드를 정독하고 그대로 따라 했으며, 이 작업이 Leopard의 Layout, PathMaps, CodecID 구성을 Snow Leopard로 이식하는 과정이라는 점도 정확히 이해하고 있습니다. 그리고 0x1458A002가 제 코덱 ID가 아니라는 것도 잘 압니다. 제 실제 하드웨어 코덱 ID는 0x10ec0883(ALC883)입니다. 제가 말씀드리고자 했던 핵심은, 순정 AppleHDA.kext 내부…
0x1458A002는 PCI 벤더/디바이스 ID나 코덱 ID가 아니라 코덱의 서브시스템 벤더 및 디바이스 ID(Subsystem Vendor & Device ID)입니다. Apple의 시스템 프로파일러는 코덱 식별을 위해 코덱 ID 대신 이 서브시스템 ID를 표시합니다.
다만 님의 시스템에서 왜 0x1458A002가 뜨는지는 의문이네요. 0x1458A002는 기가바이트(Gigabyte, 0x1458) P35 메인보드들의 오디오 서브시스템 ID이므로, 만약 ASUS 보드를 쓰신다면 DSDT나 인젝터 plist 어딘가에서 그 값을 잘못 주입(Inject)하고 있지 않은 한 절대 뜰 리가 없거든요.
반면 0x10438277은 ASUS(0x1043) 메인보드의 서브시스템 ID가 맞습니다(코덱 칩은 Realtek이 만들지만 이를 보드에 탑재한 제조사는 ASUS이니까요). 따라서 시스템 프로파일러에 찍히는 Device ID만 보고 판단해서는 안 되며, 정확한 코덱 ID를 확인하려면 반드시 Linux 코덱 덤프를 확인하셔야 합니다.
필드 노트 #20 @vincenzo32 2009-09-21

안녕하세요 여러분, 이 포럼에 남기는 첫 게시글이네요. 혹시 ASUS Z53Ja 노트북의 Realtek ALC660/861 코덱에도 이 가이드를 그대로 적용할 수 있을지 여쭙고 싶습니다. 감사합니다.

필드 노트 #21 @vincenzo32 2009-09-21

제 코덱이 흔치 않은 변종이라 plist 편집에 어려움을 겪고 있습니다. 사양서에는 ALC660으로 표기되어 있는데 막상 코덱 덤프를 떠보면 0x10ec0861(바이트 역순 6108ec10)로 찍혀 나옵니다.

필드 노트 #22 @thorazine74 2009-09-22 ↳ Re: @vincenzo32
@vincenzo32제 코덱이 흔치 않은 변종이라 plist 편집에 어려움을 겪고 있습니다. 사양서에는 ALC660으로 표기되어 있는데 막상 코덱 덤프를 떠보면 0x10ec0861(바이트 역순 6108ec10)로 찍혀 나옵니다.

Realtek은 내부 하드웨어 ID가 동일한 칩셋을 두고도 마케팅상 서로 다른 상용 모델명을 붙여 판매하는 경우가 흔합니다. 가장 대표적인 사례가 하드웨어 ID가 0x10EC0885(ALC885)로 찍히는 초기형 ALC889A죠. 무조건 마케팅 모델명이 아닌 코덱 덤프에 찍힌 실제 16진수 하드웨어 ID 값을 기준으로 작업하시면 됩니다.

필드 노트 #23 @Jedric 2009-09-22 ↳ Re: @thorazine74
@thorazine740x1458A002는 PCI 벤더/디바이스 ID나 코덱 ID가 아니라 코덱의 서브시스템 벤더 및 디바이스 ID(Subsystem Vendor & Device ID)입니다. Apple의 시스템 프로파일러는 코덱 식별을 위해 코덱 ID 대신 이 서브시스템 ID를 표시합니다. 다만 님의 시스템에서 왜 0x1458A002가 뜨는지는 의문이네요. 0x1458A002는 기가바이트(Gigabyte, 0x1458) P35…

제 Linux 코덱 덤프 파일을 확인해 보니 다음과 같이 나옵니다:
Codec: Realtek ALC883
Address: 0
Vendor Id: 0x10ec0883
Subsystem Id: 0x1043829e

Codec: Realtek ALC883
Address: 0
Vendor Id: 0x10ec0883
Subsystem Id: 0x1043829e
Revision Id: 0x100002
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x11: Stereo
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x04 [Audio Output] wcaps 0x11: Stereo
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x05 [Audio Output] wcaps 0x11: Stereo
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Amp-In caps: ofs=0x08, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x00 0x00]
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Amp-In caps: ofs=0x08, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x00 0x00]
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 1
     0x22
Node 0x0a [Audio Input] wcaps 0x100391: Stereo Digital
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Connection: 1
     0x1f
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 10
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17
Node 0x0c [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0
  Amp-Out vals:  [0x19 0x19]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 2
     0x04 0x0b
Node 0x0f [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 2
     0x05 0x0b
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x083e: IN OUT HP Detect
  Pin Default 0x01014010: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
  Pin-ctls: 0x40: OUT
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x083e: IN OUT HP Detect
  Pin Default 0x01011012: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Black
  Pin-ctls: 0x40: OUT
  Connection: 5
     0x0c 0x0d* 0x0e 0x0f 0x26
Node 0x16 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x083e: IN OUT HP Detect
  Pin Default 0x01016011: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Orange
  Pin-ctls: 0x40: OUT
  Connection: 5
     0x0c 0x0d 0x0e* 0x0f 0x26
Node 0x17 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x083e: IN OUT HP Detect
  Pin Default 0x01012014: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Grey
  Pin-ctls: 0x40: OUT
  Connection: 5
     0x0c 0x0d 0x0e 0x0f* 0x26
Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x08173e: IN OUT HP Detect
  Pin Default 0x01a19840: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
  Pin-ctls: 0x24: IN
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x08173e: IN OUT HP Detect
  Pin Default 0x02a19c50: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Pink
  Pin-ctls: 0x24: IN
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x08173e: IN OUT HP Detect
  Pin Default 0x0181304f: [Jack] Line In at Ext Rear
    Conn = 1/8, Color = Blue
  Pin-ctls: 0x20: IN
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x08173e: IN OUT HP Detect
  Pin Default 0x02214c20: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
  Pin-ctls: 0xc0: OUT HP
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x1c [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x0820: IN
  Pin Default 0x593301f0: [N/A] CD at Int ATAPI
    Conn = ATAPI, Color = Unknown
  Pin-ctls: 0x00:
Node 0x1d [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x0820: IN
  Pin Default 0x4005e601: [N/A] Line Out at Ext N/A
    Conn = Optical, Color = White
  Pin-ctls: 0x00:
Node 0x1e [Pin Complex] wcaps 0x400300: Mono Digital
  Pincap 0x0810: OUT
  Pin Default 0x01441130: [Jack] SPDIF Out at Ext Rear
    Conn = RCA, Color = Black
  Pin-ctls: 0x00:
  Connection: 1
     0x06
Node 0x1f [Pin Complex] wcaps 0x400200: Mono Digital
  Pincap 0x0820: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
  Pin-ctls: 0x00:
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Amp-Out caps: N/A
  Amp-Out vals:  [0x00 0x00]
  Connection: 11
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b
Node 0x23 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Amp-Out caps: N/A
  Amp-Out vals:  [0x00 0x00]
  Connection: 11
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b
Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x25 [Audio Output] wcaps 0x11: Stereo
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x26 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 2
     0x25 0x0b

도대체 제가 뭘 잘못하고 있는지 모르겠습니다. 오늘 아침에 다시 시도해 봤는데 여전히 0x1458A002로 잡힙니다. Snow Leopard 클린 설치 상태이고 어디에서도 0x1458A002를 주입하고 있지 않습니다. DSDT도 새로 추출한 순정 파일에 Mormegil 님이 범용(Generic) 코드라고 올려주신 오디오 주입 코드만 딱 추가했고 에러 없이 컴파일되었습니다.

IORegistryExplorer 상에서는 codec-id가 0x10ec0883으로 정상 표시됩니다.

필드 노트 #24 @Jedric 2009-09-22

첨부한 스크린샷은 Leopard에서의 IORegistry 화면입니다. 설명해 주신 대로 Snow Leopard와 Leopard에서 표시되는 subsystem-id 및 subsystem-vendor-id 값이 서로 다르게 잡히고 있습니다.

필드 노트 #25 @blkhockeypro19 2009-09-22

DSDT도 올바르게 패치하고 가이드에 나온 절차를 문제없이 모두 따라 했습니다. 그런데 재부팅하면 다음과 같은 에러들이 발생합니다:

9/21/09 6:46:35 PM kernel NVDANV50HAL loaded and registered.
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAWidgetSTAC9220.cpp" at line 113 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAFunctionGroup.cpp" at line 116 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAFunctionGroupSTAC9220.cpp" at line 55 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != err" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDACodecGeneric.cpp" at line 205 goto ExitError
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAWidgetSTAC9220.cpp" at line 113 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAFunctionGroup.cpp" at line 116 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAFunctionGroupSTAC9220.cpp" at line 55 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != err" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDACodecGeneric.cpp" at line 205 goto ExitError
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAWidgetSTAC9220.cpp" at line 113 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAFunctionGroup.cpp" at line 116 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAFunctionGroupSTAC9220.cpp" at line 55 goto Exit
9/21/09 6:46:36 PM kernel Sound assertion "0 != err" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDACodecGeneric.cpp" at line 205 goto ExitError
9/21/09 6:46:36 PM kernel DSMOS has arrived

혹시 무엇이 문제인지 아시나요? Leopard에서 가져온 STAC9227용 Kext를 기반으로 작업했습니다.

필드 노트 #26 @ping99 2009-09-25

Snow Leopard에서 Conexant CX20561 코덱 Sound Assertion 발생

이 가이드를 따라 Snow Leopard 순정 AppleHDA를 패치했습니다. 그런데 재부팅할 때마다 아래와 같은 sound assertion 에러가 뜹니다:

Sep 25 18:22:03 Ping-Tsengs-Mac-Pro kernel[0]: Previous Shutdown Cause: 3
Sep 25 18:22:04 Ping-Tsengs-Mac-Pro kernel[0]: VoodooPS2SynapticsTouchPad loaded
Sep 25 18:22:05 Ping-Tsengs-Mac-Pro kernel[0]: VoodooPS2Trackpad: Synaptics TouchPad v7.0
Sep 25 18:22:05 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Sep 25 18:22:05 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
Sep 25 18:22:05 Ping-Tsengs-Mac-Pro kernel[0]: DSMOS has arrivedSound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Sep 25 18:22:05 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
Sep 25 18:22:05 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Sep 25 18:22:05 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
Sep 25 18:22:06 Ping-Tsengs-Mac-Pro kernel[0]: com_psystar_RealtekR1000: Ethernet address 00:1f:16:57:9c:45
Sep 25 18:22:06 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == entry" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 2976 goto Exit
Sep 25 18:22:08: --- last message repeated 2 times ---
Sep 25 18:22:07 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == entry" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 3009 goto Exit
Sep 25 18:22:09: --- last message repeated 15 times ---
Sep 25 18:22:07 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == entry" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 2976 goto Exit
Sep 25 18:22:09: --- last message repeated 1 time ---
Sep 25 18:22:07 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == fPathControls" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAPath.cpp" at line 1273 goto Exit
Sep 25 18:22:07 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAPath.cpp" at line 1194 goto Exit
Sep 25 18:22:07 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != pathSet->getWidgetAmplifierGainRange ( &zeroValue, &minValue, &maxValue, &minDB, &maxDB, kPATH_CONTROL_SPATIAL_CHANNELID_Master )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 278 goto handler
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == fPathControls" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAPath.cpp" at line 1273 goto Exit
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAPath.cpp" at line 1097 goto Exit
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == fPathControls" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAPath.cpp" at line 1273 goto Exit
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAPath.cpp" at line 1194 goto Exit
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 4954 goto Exit
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != result" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 4906 goto Exit
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != readVolumeSettingFromCache ( pathSet, hdaSpatialChannnelID, &cachedVolumeMuteSetting )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 2103 goto Exit
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != createVolumeControlForActivePathSet ( hdaSpatialChannnelID, direction )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 2273 goto Exit
Sep 25 18:22:08 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 != createVolumeAndMuteControlsForActivePathSet ( kPathDirectionInput )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 7684 goto Exit
Sep 25 18:22:10 Ping-Tsengs-Mac-Pro kernel[0]: ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out
Sep 25 18:22:58 Ping-Tsengs-Mac-Pro kernel[0]: Sound assertion "0 == entry" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDAEngine.cpp" at line 3009 goto Exit
Sep 25 18:24:40 Ping-Tsengs-Mac-Pro kernel[0]: IOHIDSystem::relativePointerEventGated: VBL too high (20863126), capping to 20000000

가끔은 부팅 중 커널 패닉(KP)이 발생해 데스크탑으로 진입하지 못할 때도 있는데, 그럴 때 -v -f 플래그로 재부팅하면 데스크탑으로 들어가지고 헤드폰, 내장 스피커, 라인 출력(자동 전환 포함)까지 잘 작동합니다. 다만 마이크 녹음은 작동하지 않습니다. 일단 한 번 부팅에 성공하고 나면 그 뒤로는 일반 부팅으로도 잘 들어가지만 로그에는 여전히 Sound Assertion이 찍힙니다.

그러다가 새로운 Kext를 설치하거나 KextUtility를 한 번이라도 돌리면 다음번 재부팅 때 어김없이 또 KP가 터집니다.

제가 패치한 드라이버들과 Linux에서 추출한 코덱 덤프, 그리고 Windows 레지스트리에서 뽑은 PinConfigurations 파일을 첨부합니다.

마이크 녹음 기능이 꼭 필요한 상황이라 고수분들의 도움을 간절히 부탁드립니다.

필드 노트 #27 @ping99 2009-09-26

안녕하세요 Mormegil 님, 친절한 답변 정말 감사드립니다.
네, 제 머신은 Compaq CQ60-202TX 노트북이 맞으며, 현재 Chameleon 2 RC3를 사용해 64비트 Snow Leopard를 구동 중입니다. PC-EFI 10.3으로도 바꿔봤지만 증상은 똑같았습니다. 바이너리 패치는 AppleHDA 내부의 6202EC10(ALC262)을 제 코덱인 5150F114(Linux 덤프 기준 0x14f15051)로 치환했습니다. 이 스레드에 언급된 다른 기본 코덱 ID들을 5150F114로 치환해 보기도 했지만 결과는 마찬가지였습니다.
Leopard에서는 패치되어 작동하는 Kext(이 파일 역시 녹음은 안 됨)를 갖고 있어서 본 가이드를 따라 그대로 Snow Leopard로 이식한 것입니다. 최근에야 Linux에서 코덱 덤프를 뜨고 codecgraph와 verbit을 돌려 동사(Verb) 값을 뽑아내는 법까지는 배웠는데, Layout과 PathMap을 수동으로 어떻게 구성해 넣어야 하는지를 모르겠습니다. 혹시 작성 방법을 알려주실 수 있을까요?

필드 노트 #28 @blkhockeypro19 2009-09-26 ↳ Re: @mormegil
@mormegil그 원본 Kext를 님의 실제 시스템(Leopard)에 직접 설치해서 소리가 제대로 나는지 두 눈으로 직접 확인하셨던 파일이 맞나요?

네, Leopard에서 약 1년 동안이나 계속 실사용해 오던 바로 그 Kext입니다. 틀림없이 작동합니다 =P 그리고 부트로더는 PC-EFI v10.3을 쓰고 있는데 이건 괜찮은가요?

필드 노트 #29 @xbx2usr 2009-10-13

SigmaTel STAC9274D 포팅에 성공하신 분 계신가요?

유익한 가이드 정말 감사합니다!
내용이 알차고 따라 하기 쉽게 잘 정리되어 있네요.

어제 이 가이드를 보고 STAC9274D용 AppleHDA 포팅을 시도해 봤는데 아쉽게도 실패했습니다.

Snow Leopard용 AppleHDA 바이너리에서 STAC9220 항목을 다음과 같이 수정했습니다:

STAC9220 0x83847680
에서
STAC9274D 0x83847621로 치환.

제 DSDT도 해당 codec-id를 가리키고 있고, Snow Leopard 시스템 프로파일러에도 핀 구성 정보가 정상적으로 표시됩니다.
기존 Leopard Kext의 Audio LayoutID가 12가 아닌 4로 되어 있었는데, DSDT의 layout-id도 "4"로 맞춰주었으니 Layout 4 관련 블록들을 그대로 SL Kext에 복사해 넣으면 작동할 거라 생각했습니다.

물론 혹시나 싶어 LayoutID를 12로 바꾸고 DSDT 역시 12(0x0C)로 수정해서도 테스트해 봤지만, 예상대로 결과는 나아지지 않았습니다.

혹시 이 코덱(STAC9274D)으로 포팅에 성공하셔서 Kext를 공유해 주실 분 계신가요?
현재 VoodooHDA로는 소리가 나지만 잠자기(Sleep) 문제 때문에 순정 AppleHDA가 절실합니다.

필드 노트 #30 @leclercqr 2009-10-15

Jedric 님과 동일한 증상 (0x1458A002 인식 문제)

Jedric → 님 (또는 도와주실 수 있는 모든 고수분들께),

저도 님과 비슷하게 시스템 프로파일러에서 Device ID가 "0x1458A002"로 잡히는 문제를 겪고 있습니다.

혹시 그 후로 진전이 있으셨나요? 어찌 되었든 현재 사용 중이신 DSDT 사본을 공유해 주실 수 있다면 제가 겪고 있는 컴파일 에러들을 디버깅하는 데 큰 도움이 될 것 같습니다(혹시 도와주실 분이 계실까 봐 제 DSDT도 첨부합니다. HDEF 코드 수정 전 버전은 HPET, RTC, DTGP, USB 수정이 모두 정상 적용되어 오디오와 AHCIinject.kext가 필요한 SATA만 빼면 Snow Leopard가 완벽히 작동합니다 [AHCI 패치는 나중에 추가할 예정입니다]).

그런데 이 스레드에 올라온 '범용(generic)' HDEF 코드로 교체하고 컴파일하면 다음과 같은 에러들이 쏟아집니다:

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 374: Notify (\_SB.PCI0.HDEF, 0x02) Error 4063 - Object does not exist ^ (\_SB.PCI0.HDEF) /Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5116: Return (BUFA) Error 4063 - Object does not exist ^ (BUFA) /Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5159: Return (BUFA) Error…

현재 제가 사용 중인 compiled_working_DSDT 파일(다른 방식의 HDEF 코드가 들어가 있으며 시스템 프로파일러에 다음과 같이 인식됨):
"Intel High Definition Audio:

Device ID: 0x1458A002
Audio ID: 12
Available Devices: "

그리고 이 스레드의 HDEF 코드로 변경했다가 위와 같은 컴파일 에러가 발생한 added_hdef_compile_erros_dsdt 파일을 함께 첨부합니다.

어떤 조언이라도 주신다면 정말 감사하겠습니다. 직접 DSDT 패치를 공부하기 시작한 지 이제 막 일주일밖에 안 된 초보라 가파른 학습 곡선을 오르며 헤매고 있는 점 너그러이 양해 부탁드립니다.

Show 50 additional community field notes (#31–#80)
Field Note #31 @airwalk776 2009-10-26

mormegil…

It shouldnt matter but as long as all the locations that state layout ID are 889 vs your 12 it should still work right ?

my dsdt is coded with layout-id as 79 03 00 00

and a codec-id of 89 08 EC 10

so I followed all your steps, hexedit found all 4 locations with 8508ec10 and replaced with 8908ec10

edited the two plists as show in the post.

still no go. the 1.5.7a24 AppleHDA and my dsdt file I get audio in SL. but the edited AppleHDA from a SL install does not work.

Any ideas? thanks

Field Note #32 @msf5042 2009-10-26

mormegil-
I have been going down the same paths as airwalk over and over. Here are two messages that I get over and over on boot:

Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" & Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp"
Field Note #33 @msf5042 2009-10-27

mormegil-
airwalk and I have the same setup. check my linux dump below. we are 889, not 889a.

Field Note #34 @airwalk776 2009-10-28

mormegil...

I am 100 % sure this is the correct codecID since the codec dump I have ( taken by using a linux live dvd) Vendor Id: 0x10ec0889 ie...283904137

which is what is coded in the working applehda.

take a look a these dumps I have from when I patched the applehda for 10.5.6 (these dumps are from my board not downloaded from someone else)

Codec: Realtek ALC889
Address: 2
Vendor Id: 0x10ec0889
Subsystem Id: 0x10de0175
Revision Id: 0x100004

Then based on the dump I generated the verbs.

Question could this be caused by config data not matching pathmaps data?

BTW I tested without changing the hex values and no luck.

Field Note #35 @airwalk776 2009-10-29

yeap its the same pathmapid in both places.

I'll double check the dsdt.

Field Note #36 @msf5042 2009-10-29

Airwalk did the AppleHDA leopard kext you're using ever list all of the audio configs in system profile?

Field Note #37 @msf5042 2009-10-29

the reason I was asking that airwalk is because I never had leopard on this board so I have been using your leopard kext that you posted on another forum and after comparing my modified SL kext with some of the others I have seen here I realize that I have significantly less child nodes in my modified sections than other people do...

Field Note #38 @airwalk776 2009-10-29

when using the old applehda I think its version 1.5.7… I allways get system profiler to show the ports correctly.

see screenshot of this applehda 1.5.7 running in SL and it looked the same in Leopard also.

Field Note #39 @airwalk776 2009-11-03

mormegil-

I tried another approach, using lagacyapplehda files I port the same config to the lagacy files and put it in /extra/extensions and put the stock applehda in /S/L/E. in doing so I was able to set the system profiler to show all the ports but in system prefs. there are no inputs and outputs to select from.

any thoughts ?

Field Note #40 @Snow 2009-11-10

Alright Mormegil, been a while m8, all good with you?

Since the 10.6.2 update messed up my audio I was wondering if you could take a look at my already slightly (but apparently non working) modded AppleHDA kext.

media fire.com/file/mikkmb25bzz/AppleHDA.zip

bud

ps. using AppleHDA v10.6.1 for now

Field Note #41 @airwalk776 2009-11-11

ok everyone with the evga x58 mobo here is the solution to get HDA working in 64 bit mode.

voodoohda.kext haha just kidding…

1st thank you to everyone that helped in getting this done.

2nd remove and voodoohda you have

what is accomplished. 32 and 64 bit audio using stock applehda.kext in /S/L/E

you must have your dsdt.aml patched with the following info

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

"layout-id",
/**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x04)
{
0x79, 0x03, 0x00, 0x00

Install the stock applehda.kext in /S/L/E ( I used the one from 10.6.2 update) using kext utilities 2.3.2

and install the attached LegacyHDA.kext in /Extra/Extensions using kext utilities 2.3.2 update mkext.

it will give you 4 outs and 2 ins.

testing in 32 and 64 bit mode. the advantage of doing it this way (at least for me) is that I dont have any modified kexts in /S/L/E.

give it a shot and report back.

Good Luck

Field Note #42 @msf5042 2009-11-11

i will test it out and report back in a few, you're the man airwalk

Field Note #43 @msf5042 2009-11-11

Confirmed working. Hopefully netkas has an epiphany that he should make evga x58 boards sleep sometime soon. In the meantime lets plug away, did you ever have sleep working in 10.5?

Field Note #44 @Snow 2009-11-12

Muchos Gracias Hombre

Installing right away.

Update: working perfectly after rebuilding Aggregate device bro, thx again

Field Note #45 @Valaris 2009-11-15

OMG! it works

i got ALC262 (VAIO FW139E/H), confirming that this work! BTW i have installed the following kext as well: ALCInject.kext and HDAEnabler.kext.

Thank you very much mormegil!

atleast my sound works, though i have no mic and HDMI output but hey its better than none. ^_^

Field Note #46 @chadp1a 2009-11-15

p6860fx laptop no sound still :(

Could someone I own a gateway p6860fx laptop. I followed this excellent guide in attempts to get my sound working. I hex edited the applehda using B0 76 1D 11 which matches the Subsystem Id from the codec#1 in this below linux audio dump. It also matches the Vendor ID from the codec#2 linux dump below.

I have pasted my linux dump and DSDT audio patch. Could someone please advise me to maybe why my audio still doesn't work. Sound was fine in Leopard and I modified a Vanilla Snow AppleHDA kext per the guide here.

Linux Dump

Codec: LSI ID 1040
Address: 1
Vendor Id: 0x11c11040
Subsystem Id: 0x107b0690
Revision Id: 0x100200
Modem Function Group: 0x1


Codec: IDT 92HD71B8X
Address: 2
Vendor Id: 0x111d76b0
Subsystem Id: 0x107b0692
Revision Id: 0x100101
No Modem Function Group found
Default PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1
GPIO: io=8, o=0, i=0, unsolicited=1, wake=1
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Power-Map: 0x01
Analog Loopback: 0x00
Node 0x0a [Pin Complex] wcaps 0x400183: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Connection: 3
     0x10 0x11* 0x17
Node 0x0b [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x03a11020: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
Node 0x0c [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
Node 0x0d [Pin Complex] wcaps 0x400183: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000014: OUT Detect
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 3
     0x10* 0x11 0x17
Node 0x0e [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x40f000f1: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x1
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
Node 0x0f [Pin Complex] wcaps 0x400183: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000014: OUT Detect
  Pin Default 0x40f000f2: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x2
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 3
     0x10 0x11 0x17*
Node 0x10 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Amp-Out caps: N/A
  Amp-Out vals:  [0x64 0x64]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x11 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Amp-Out caps: N/A
  Amp-Out vals:  [0x7f 0x7f]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x12 [Audio Input] wcaps 0x1d0541: Stereo
  Converter: stream=0, channel=0
  SDI-Select: 0
  Power: setting=D3, actual=D3
  Delay: 13 samples
  Connection: 1
     0x1c
  Processing caps: benign=0, ncoeff=0
Node 0x13 [Audio Input] wcaps 0x1d0541: Stereo
  Converter: stream=0, channel=0
  SDI-Select: 0
  Power: setting=D3, actual=D3
  Delay: 13 samples
  Connection: 1
     0x1d
  Processing caps: benign=0, ncoeff=0
Node 0x14 [Pin Complex] wcaps 0x400102: Mono Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x80]
  Pincap 0x00000010: OUT
  Pin Default 0x40f000f3: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x3
  Pin-ctls: 0x00:
  Connection: 1
     0x16
Node 0x15 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
     0x10* 0x11 0x17
Node 0x16 [Audio Mixer] wcaps 0x200100: Mono
  Connection: 1
     0x15
Node 0x17 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97]
  Connection: 5
     0x10 0x11 0x27 0x1a 0x1b
Node 0x18 [Pin Complex] wcaps 0x40000d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x90a6012e: [Fixed] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0x2, Sequence = 0xe
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
Node 0x19 [Pin Complex] wcaps 0x40000d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x40f000f5: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x5
  Pin-ctls: 0x20: IN
Node 0x1a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 3
     0x0b* 0x0c 0x0e
Node 0x1b [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 3
     0x0b* 0x0c 0x0e
Node 0x1c [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1
  Amp-Out vals:  [0x09 0x09]
  Connection: 4
     0x1a* 0x17 0x18 0x19
Node 0x1d [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1
  Amp-Out vals:  [0x80 0x80]
  Connection: 4
     0x1b* 0x17 0x18 0x19
Node 0x1e [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x044513a0: [Jack] SPDIF Out at Ext Right
    Conn = Optical, Color = Black
    DefAssociation = 0xa, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Connection: 1
     0x24
Node 0x1f [Pin Complex] wcaps 0x400701: Stereo Digital
  Pincap 0x00010010: OUT EAPD
  EAPD 0x0:
  Pin Default 0x40f000f8: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x8
  Pin-ctls: 0x00:
  Power: setting=D0, actual=D0
  Connection: 2
     0x24* 0x25
Node 0x20 [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x90451360: [Fixed] SPDIF Out at Int N/A
    Conn = Optical, Color = Black
    DefAssociation = 0x6, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x25
Node 0x21 [Audio Output] wcaps 0x40211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Delay: 4 samples
Node 0x22 [Audio Output] wcaps 0x40211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Delay: 4 samples
Node 0x23 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x24 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
     0x21* 0x1c 0x1d
Node 0x25 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
     0x22* 0x1c 0x1d
Node 0x26 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1
  Amp-Out vals:  [0x00]
Node 0x27 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40f000f7: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x7
  Pin-ctls: 0x00:
Node 0x28 [Volume Knob Widget] wcaps 0x600000: Mono
  Volume-Knob: delta=1, steps=127, direct=1, val=127
  Connection: 2
     0x10 0x11

DSDT Patch

Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x06)
                        {
                            "codec-id", 
                            Buffer (0x04)
                            { 
                               0xB0, 0x76, 0x1D, 0x11
                            },                             
                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            }, 

                            "PinConfigurations", 
                            Buffer (Zero) {}
                        }, Local0)
                     Return (Local0)
                }
            }
Field Note #47 @miliuco 2009-11-18

Thanks, mormegil, your AppleHDA kext works well in my system (EP35-DS3r with ALC889a).
I attach a AppleHDA.kext > Contents > Resources > Spanish.lproj folder to include into the kext for anybody who likes to see device names in spanish instead of english.
Thanks again.

Field Note #48 @mimayin 2009-11-19

I can't get this to work, I've spent hours and hours trying I have a Foxconn Blackops with ALC885. Patched DSDT as such:

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D,
                        0x05
                    })
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0A)
                        {

                            "built-in",
                            Buffer (0x01)
                            {
                                0x01
                            },

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

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

                            "device-type",
                            Buffer (0x011)
                            {
                                "ALC885"
                            },

                            "PinConfigurations",
                            Buffer (0x28)
                            {
                                /* 0000 */ 0x10, 0x40, 0x01, 0x01, 0x64, 0x10, 0x01, 0x01,
                                /* 0008 */ 0x71, 0x60, 0x01, 0x01, 0x82, 0x20, 0x01, 0x01,
                                /* 0010 */ 0x30, 0x90, 0xA1, 0x01, 0x20, 0x90, 0xA1, 0x02,
                                /* 0018 */ 0x40, 0x30, 0x81, 0x01, 0x50, 0x40, 0x21, 0x02,
                                /* 0020 */ 0xF0, 0x71, 0x44, 0x01, 0x90, 0x71, 0x45, 0x11
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Also tried the 889A version of the above (and updated layout id to 889 for that, in DSDT and plists) to no avail.

Layout ID is correct (12) for ALC885 in both DSDT and plists.

On boot I always get:

Nov 19 11:04:04 localhost kernel[0]: Sound assertion "0 != setupHostInterrupt ()" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 312 goto Exit

I have taken the Layout and PathMap settings from my working Leopard AppleHDA.kext, but clearly something isn't right.

Working Leopard kext plist:

82.113.155.91/leopard-info.plist

Hacked SL plists:

AppleHDAHardwareConfigDriver-info.plist (82.113.155.91/AppleHDAHardwareConfigDriver-info.plist)
AppleHDAPlatformDriver-info.plist (82.113.155.91/AppleHDAPlatformDriver-info.plist)

edit: fixed links!

If anyone can give me a clue as to where I might be going wrong I'd be very grateful, this is driving me nuts I can get sound with VoodooHDA but only through the headphone socket, no lineout

Field Note #49 @mimayin 2009-11-19

Tried adding HDAEnabler.kext to /Extra/Extensions as a potshot but it still fails.

Nov 19 11:57:34 localhost kernel[0]: HDAEnabler: Copyright (c) 2008 by Kabyl
Nov 19 11:57:34 localhost kernel[0]: HDAEnabler: 05/05/2008 Added SPAudio support:Taruga
Nov 19 11:57:34 localhost kernel[0]: HDAEnabler: Copyright (c) 2008 by Kabyl
Nov 19 11:57:34 localhost kernel[0]: HDAEnabler: 05/05/2008 Added SPAudio support:Taruga
Nov 19 11:57:34 localhost kernel[0]: Sound assertion "0 != setupHostInterrupt ()" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 312 goto Exit
Nov 19 11:57:34 localhost kernel[0]: Sound assertion ""ERROR: EFI ROM did not publish 'hda-gfx' associative property!\n"" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDA/AppleHDACodecGeneric.cpp" at line 331 goto ExitError
Field Note #50 @mimayin 2009-11-19

Still not working Pretty sure DSDT is correct now:

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id",
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Device shows up in system profiler with the correct device and layout id, but still AppleHDA.kext won't load, still gives the same error.

Any ideas? kext plists are unchanged from my first post

Field Note #51 @mimayin 2009-11-19

Interestingly enough, if I leave DSDT with AZAL in it rather than HDEF like this:

            Device (AZAL)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D,
                        0x05
                    })
                }
            }

VoodooHDA works, but I only get the headphone socket rather than the line-in. But if I patch DSDT (as in previous post), VoodooHDA kernel panics immediately on load.

I'm lost.. i've spent over 3 days messing around with this, i'm almost ready to give up and buy an Xmod

Field Note #52 @mimayin 2009-11-20

leo-HDAController-info.plist (82.113.155.91/leo-HDAController-info.plist)

I did actually try putting this block into HDAController/Info.plist in the snow leopard AppleHDA.kext last night:

      <key>HDAConfigDefault</key>
      <array>
        <dict>
          <key>CodecID</key>
          <integer>283904133</integer>
          <key>ConfigData</key>
          <data>
          AUccEAFHHUABRx4RAUcfAQFXHBIBVx0gAVce
          AQFXHwEBZxwRAWcdYAFnHgEBZx8BAXccFAF3
          HRABdx4BAXcfAQGHHDABhx2ZAYceoQGHHwEB
          lxw/AZcdkAGXHqEBlx8CAaccMQGnHTEBpx6B
          AacfAQG3HB8Btx1AAbceIQG3HwIBxxwyAccd
          AQHHHjMBxx+ZAdccAAHXHQEB1x4AAdcfQAHn
          HGAB5x0BAeceRQHnH4EB9xwAAfcdAQH3HgAB
          9x9A
          </data>
          <key>FuncGroup</key>
          <integer>1</integer>
          <key>LayoutID</key>
          <integer>12</integer>
        </dict>
      </array>

But still didn't work

Field Note #53 @dan10 2009-11-20

mymayin,

Try this, download the LegacyHDA file Airwalk posted here How to port AppleHDA to SL →
modify it using your working Leo data, you know HDAController, Layouts and Pathmaps. Put the LegacyHDA in your Extra folder and trash your extensions.mkext and rebuild it with mkextTool, replace your modify AppleHDA with a vanilla file from SL. It should work and it's a better solution because it maintains AppleHDA untouched no need to modify it every time you update your OS. Don't forget to remove any other audio file i.e. VoodooHDA and any other enabler. Build your DSDT the way he did it don't put the pin configuration, keep it simple for now "codec-id" and "layout-id". Good Luck

Field Note #54 @mimayin 2009-11-20

Still not working

I think my DSDT might be wrong somehow, I don't see any devices in Profiler->Audio, just the device id and layout id (both are correct).

it says Devices: but the listing is blank.

Vanilla AppleHDA.kext is failing to load.

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id",
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

I tried adding the codec-id in there and increasing Store(Package) size to 0x08 but that didn't help either

Field Note #55 @dan10 2009-11-20

So you put the legacyHDA.kext in Extra and rebuild the extensions.mkext reboot and still nothing, that's odd.
Did you add this to your DSDT? DTGP code, read The King's guide, you probably did because the compiler would complain if you didn't.
http://www.projectosx.com/forum/index.php?showtopic=465… ↗

Are you using Chameleon? what version is it?

Field Note #56 @mimayin 2009-11-20

Yeah I did all that, I'm using Chameleon 2.0RC1. I'll see if there's a later version..

Field Note #57 @mimayin 2009-11-20

still no luck with pc-efi 10.5, same errors on boot

Nov 20 21:16:46 localhost kernel[0]: Sound assertion "0 != setupHostInterrupt ()" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 312 goto Exit
Field Note #58 @mimayin 2009-11-20

I noticed I don't have anything pointing to AZAL or HDEF in the _GPE section of the DSDT. Could this be the problem?

eg: http://www.insanelymac.com/forum/index.php?showtopic=18… ↗

there the guy has:

        Method (_L05, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.HDEF, 0x02)
        }

whereas my _GPE section looks like:

    Scope (_GPE)
    {
        Method (_L00, 0, NotSerialized)
        {
            Notify (\_TZ.THRM, 0x80)
        }

        Method (_L03, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB0, 0x02)
        }

        Method (_L04, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB1, 0x02)
        }

        Method (_L0C, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB2, 0x02)
        }

        Method (_L0E, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB3, 0x02)
        }

        Method (_L05, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB4, 0x02)
        }

        Method (_L20, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB5, 0x02)
        }

        Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.EHC1, 0x02)
            Notify (\_SB.PCI0.EHC2, 0x02)
            Notify (\_SB.PCI0.IGBE, 0x02)
        }

        Method (_L0B, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.HUB0, 0x02)
        }

        Method (_L08, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.PX40.UAR1, 0x02)
            Notify (\_SB.PCI0.PX40.UAR2, 0x02)
        }

        Method (_L09, 0, NotSerialized)
        {
            If (LNotEqual (VID0, 0xFFFF))
            {
                If (LEqual (And (RSR0, One), One))
                {
                    Store (0xFF, RSR0)
                    Store (0x80, PMC0)
                    Notify (\_SB.PCI0.PEX0, 0x02)
                }
            }

            If (LNotEqual (VID1, 0xFFFF))
            {
                If (LEqual (And (RSR1, One), One))
                {
                    Store (0xFF, RSR1)
                    Store (0x80, PMC1)
                    Notify (\_SB.PCI0.PEX1, 0x02)
                }
            }

            If (LNotEqual (VID2, 0xFFFF))
            {
                If (LEqual (And (RSR2, One), One))
                {
                    Store (0xFF, RSR2)
                    Store (0x80, PMC2)
                    Notify (\_SB.PCI0.PEX2, 0x02)
                }
            }

            If (LNotEqual (VID3, 0xFFFF))
            {
                If (LEqual (And (RSR3, One), One))
                {
                    Store (0xFF, RSR3)
                    Store (0x80, PMC3)
                    Notify (\_SB.PCI0.PEX3, 0x02)
                }
            }

            If (LNotEqual (VID4, 0xFFFF))
            {
                If (LEqual (And (RSR4, One), One))
                {
                    Store (0xFF, RSR4)
                    Store (0x80, PMC4)
                    Notify (\_SB.PCI0.PEX4, 0x02)
                }
            }

            If (LNotEqual (VID5, 0xFFFF))
            {
                If (LEqual (And (RSR5, One), One))
                {
                    Store (0xFF, RSR5)
                    Store (0x80, PMC5)
                    Notify (\_SB.PCI0.PEX5, 0x02)
                }
            }
        }
    }

maybe i should add that in? perhaps using a different unused _L0x?

Field Note #59 @dan10 2009-11-20

There should be 2 instances of AZAL replaced to HDEF. I thing you are close

Field Note #60 @mimayin 2009-11-20

I figured out the missing part, I added HDEF to the _L0D method:

        Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.EHC1, 0x02)
            Notify (\_SB.PCI0.EHC2, 0x02)
            Notify (\_SB.PCI0.IGBE, 0x02)
            Notify (\_SB.PCI0.HDEF, 0x02)
        }

But still no sound with AppleHDA

Field Note #61 @mimayin 2009-11-20

This is too much of a headache, i give up, im buying an Xmod

Field Note #62 @scififan68 2009-11-21

Hey!, thanks for this sweet guide, it really helped me port the applehda kext to work for my alc888!

Field Note #63 @mimayin 2009-11-21

Ok I'm following TheKing's guide, but I'm stuck on how to convert the output from VerbIt to the encoded format used in the ConfigData parameter in Info.plist:

Verbs from Linux Codec Dump File: codec_dump.txt

Codec: Realtek ALC885   Address: 2   DevID: 283904133 (0x10ec0885)

   Jack   Color  Description                  Node     PinDefault             Original Verbs
--------------------------------------------------------------------------------------------------------
    1/8   Green  Line Out at Ext Rear        20 0x14   0x01014410   21471c10 21471d44 21471e01 21471f01
    1/8   Black  Line Out at Ext Rear        21 0x15   0x01011412   21571c12 21571d14 21571e01 21571f01
    1/8  Orange  Line Out at Ext Rear        22 0x16   0x01016411   21671c11 21671d64 21671e01 21671f01
    1/8    Grey  Line Out at Ext Rear        23 0x17   0x01012414   21771c14 21771d24 21771e01 21771f01
    1/8    Pink  Mic at Ext Rear             24 0x18   0x01a19c40   21871c40 21871d9c 21871ea1 21871f01
    1/8    Pink  Mic at Ext Front            25 0x19   0x02a19c50   21971c50 21971d9c 21971ea1 21971f02
    1/8    Blue  Line In at Ext Rear         26 0x1a   0x0181344f   21a71c4f 21a71d34 21a71e81 21a71f01
    1/8   Green  HP Out at Ext Front         27 0x1b   0x02214c20   21b71c20 21b71d4c 21b71e21 21b71f02
  ATAPI Unknown  CD at Int ATAPI             28 0x1c   0x593301f0   21c71cf0 21c71d01 21c71e33 21c71f59
  ATAPI Unknown  Line In at Int ATAPI        29 0x1d   0x598301f0   21d71cf0 21d71d01 21d71e83 21d71f59
   Comb   Black  SPDIF Out at Ext Rear       30 0x1e   0x014b1130   21e71c30 21e71d11 21e71e4b 21e71f01
    1/8   Black  Speaker at Ext Rear         31 0x1f   0x411111f0   21f71cf0 21f71d11 21f71e11 21f71f41
--------------------------------------------------------------------------------------------------------


   Jack   Color  Description                  Node     PinDefault             Modified Verbs
--------------------------------------------------------------------------------------------------------
    1/8   Green  Line Out at Ext Rear        20 0x14   0x01014410   21471c10 21471d40 21471e01 21471f01
    1/8   Black  Line Out at Ext Rear        21 0x15   0x01011412   21571c60 21571d10 21571e01 21571f01
    1/8  Orange  Line Out at Ext Rear        22 0x16   0x01016411   21671c70 21671d60 21671e01 21671f01
    1/8    Grey  Line Out at Ext Rear        23 0x17   0x01012414   21771c80 21771d20 21771e01 21771f01
    1/8    Pink  Mic at Ext Rear             24 0x18   0x01a19c40   21871c40 21871d90 21871ea1 21871f01
    1/8    Pink  Mic at Ext Front            25 0x19   0x02a19c50   21971c50 21971d90 21971ea1 21971f01
    1/8    Blue  Line In at Ext Rear         26 0x1a   0x0181344f   21a71c90 21a71d30 21a71e81 21a71f01
    1/8   Green  HP Out at Ext Front         27 0x1b   0x02214c20   21b71c20 21b71d40 21b71e21 21b71f01
  ATAPI Unknown  Line In at Int ATAPI        29 0x1d   0x598301f0   21d71cf0 21d71d00 21d71e83 21d71f50
   Comb   Black  SPDIF Out at Ext Rear       30 0x1e   0x014b1130   21e71c30 21e71d10 21e71e4b 21e71f01
--------------------------------------------------------------------------------------------------------

How do I convert those hex strings for the ConfigData, which is in this format:

AUccEAFHHUABRx4RAUcfAQFXHBIBVx0gAVce
AQFXHwEBZxwRAWcdYAFnHgEBZx8BAXccFAF3
HRABdx4BAXcfAQGHHDABhx2ZAYceoQGHHwEB
lxw/AZcdkAGXHqEBlx8CAaccMQGnHTEBpx6B
AacfAQG3HB8Btx1AAbceIQG3HwIBxxwyAccd
AQHHHjMBxx+ZAdccAAHXHQEB1x4AAdcfQAHn
HGAB5x0BAeceRQHnH4EB9xwAAfcdAQH3HgAB
9x9A

Field Note #64 @max.1974 2009-12-01

Alc 262 for snow leopard..please

tks for a lot help!
I need ask a very great favor: send me by mail or download link, the compiled kexts that i need replace in Snow Leopard...christian.max (at) pop.com.br

ALC262 SONY VAIO VGN-NS150AE

Im a inexperient user to compiled my on, so sorry my bad english...

Best regards...i hope some mail about that!

TKS!

Field Note #65 @max.1974 2009-12-02

Please My firends...post kext....ALC 262

Please...i need that kext modified...AppleHDA.kext for my ALC262...
I suplies for help...just post or send by mail...im very tired to look around (google)

Field Note #66 @semendemon 2010-01-12

Me Get Realtek ALC889 (Non-A Version) Working in 10.6.2 via DSDT

Hello! I just came across this wonderful thread, and I have tried to patch my DSDT with the code mentioned for the Realtek ALC889 chip, as that is what my motherboard, the Gigabyte GA-X58A-UD7, uses for onboard audio (its little brother, the GA-EX58-UD5, uses the ALC889A).

Since it uses the same model chip as the EVGA motherboards, I believe that I can get it working on this new flagship motherboard from Gigabyte, and thus open the Hackintosh world up to people who are considering buying this motherboard. to help the Hackintosh community. I will come out with a guide for this motherboard as soon as I figure out how to get audio working via DSDT, which will make my current installation a complete vanilla installation.

Just to offer you some background information, I am using the Chameleon v2.0 RC4 bootloader and have already patched my DSDT with ACPI Patcher Beta 5 (under Windows of course). I modified the DSDT that was created by ACPI Patcher with the lines of code for the ALC889 as well as replacing both instances of AZAL found with HDEF, but upon compilation with iASLMe, it gave me one error on the Codec_ID line regarding the length of the statement and 17 optimizations. As such, I removed that line completely and it compiled with zero errors, but still performed 17 optimizations.

correct my DSDT code by providing your entire code or just the excerpts necessary to make corresponding modifications to mine. Also, I still need to get my SATA and ethernet controllers working via DSDT (which both use the same chipsets as the EVGA motherboards), so I can remove my JMicron.kext, AppleIntelPIIXATA per.kext, and RealtekR1000.kext (or RealtekR1000SL.kext), and go fully vanilla.

Currently, I have the LegacyHDA.kext posted in this thread and and the vanilla AppleHDA.kext in S/L/E, and under "Audio (Built In)" in System Profiler, I have two devices showing up in the right column as "Intel High Definition Audio":

1. Device ID: 0x1458A102
Audio ID: 12
Available Devices:

2. Device ID: 0x1682AA30
Audio ID: 12
Available Devices:

Before patching my DSDT, I had nothing showing up under "Audio (Built In)" in System Profiler, so this is definitely a sign of progress. Now, I need the help of you wise InfiniteMac users to get this down perfect, as audio still does not get detected or work for me.

I would like to for your assistance and cooperation, and hope to hear from you as soon as possible.

Field Note #67 @abct 2010-01-24

I have the following sound card and on Leopard I had a fully working AppleHDA so I want to port that kext to Snow Leopard.

HDA Codec #0: IDT 92HD71B7
 HDA Codec ID: 0x111d76b2
       Vendor: 0x111d
       Device: 0x76b2
     Revision: 0x03
     Stepping: 0x02
PCI Subvendor: 0x361b103c

I followed the guide and added b2761d11 to the AppleHDA file with Hex editor.
My old kext was using Layout 1 so I didn't change it and kept everything as it was in my old kext.

Finally, I edited the HDA Enabler kext according to the one that I used on Leopard, which uses Layout 1 and also a Config data.

On my system profiler, it is listed as below,

Intel High Definition Audio:

  Device ID:    0x103C361B
  Audio ID:    1
  Available Devices:
  Headphone:
  Connection:    1/8-Inch Jack
  External Microphone:
  Connection:    1/8-Inch Jack
  Speaker:
  Connection:    Internal
  External Microphone:
  Connection:    1/8-Inch Jack
  Internal Microphone:
  Connection:    Internal
  S/P-DIF Out:
  Connection:    RCA

This is also what appeared on Leopard's System Profiler. So everything seems ok but unfourtanely there is no sound. I attached the file I created if anyone is interested in looking at.

I tried to use DSDT for my sound card but I couldn't do it.

Thanks for your help.

Field Note #68 @maxidlabs 2010-01-26

A problem with IDT HDA

Audio according to Windows:
Vendor: 111D
DevID: 76D8

0x293e8086

Snow Leopard 10.6.0
Everything is working but audio is not. However, it works with VoodooHDA although I neither can control volume nor I have mic.

I've read here that it's possible to get it working with working AppleHDA from Leopard. Unfortunately, I don't have any. Probably it's possible to use PinConfig from Windows? I've seen one in the registry.

Field Note #69 @kanedaguy 2010-03-04

I just setup a new hackintosh box using SL 10.6.0 10A432 on a Gigabyte Motherboard GA-945GCM-S2L.

Gigabyte's site says that it uses the ALC662 Codec but my SL install shows me

Device ID: 0x1458A002
Audio ID: 66

and that's how I found this thread. I do not have any files from Leopard, any chance of helping me get some audio going please.

Field Note #70 @kws 2010-03-04

In 32-bit mode ...

you can use Appleazaliaaudio.kext for Output, a small usb-soundcard (Terratec AureonUSB) for Micro if needed. This will prevent the cracking noise during startup (if USB is used for Output) and the sound assertion errors in verbose mode.

Attached is my HDEF-Section from DSDT (GA945GCM-S2L)

Field Note #71 @calabuig 2010-04-21

Hello, I have this problem: I have a Sony Vaio laptop VGN-AR41M and a Realtek ALC262 audio device onboard. I have Iatkos 10.5.7 installed and using AppleHDA patcher and ALC262 dump codec text I have no problem to get sound. I'd like to use Snow Leopard and I tried to follow this guide to use my working AppleHDA Leopard kext in SL, but I have no success. I've injected my DSDT file and I thinks it's ok. In System Profiler, under audio section, I have the sound card output recognized. But under preferences sound I have no output at all.
Could you help me, please? Is there anyone with Realtel ALC262 working under SL with patched AppleHDA?

Field Note #72 @calabuig 2010-04-25

@mormegil

Please, mormegil, could you take a look at the attachments?
I can't get it work it out!

P.S. please rename the attached pdf to rar to open it

Field Note #73 @calabuig 2010-04-28

I'm here again with my problem with ALC262... please, momegil, help me...
I have this error message in the boot sequence:

ALCinject: Starting.
Apr 28 21:48:01 Mac-di-Marco kernel[0]: ALCinject: Setting built-in=<data not shown>
Apr 28 21:48:01 Mac-di-Marco kernel[0]: ALCinject: Setting layout-id=<data not shown>
Apr 28 21:48:02 Mac-di-Marco kernel[0]: Sound assertion "0 == fAudioFunctionGroup" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDACodecGeneric.cpp" at line 202 goto ExitError
Apr 28 21:48:02: --- last message repeated 1 time ---
Apr 28 21:48:02 Mac-di-Marco kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Apr 28 21:48:02 Mac-di-Marco kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
Apr 28 21:48:02 Mac-di-Marco kernel[0]: Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
Apr 28 21:48:02 Mac-di-Marco kernel[0]: Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit

Do you know what would it be the problem?

Field Note #74 @calabuig 2010-04-29

I tried another AppleHDA version and I get a different error:

22:42:59 localhost kernel[0]: kxld[com.apple.driver.AppleHDA]: The super class vtable __ZTV13IOAudioEngine for vtable __ZTV14AppleHDAEngine is out of date. Make sure your kext has been built against the correct headers.
Apr 29 22:42:59 localhost kernel[0]: Can't load kext com.apple.driver.AppleHDA - link failed.
Apr 29 22:42:59 localhost kernel[0]: Failed to load executable for kext com.apple.driver.AppleHDA.
Apr 29 22:42:59 localhost kernel[0]: Kext com.apple.driver.AppleHDA failed to load (0xdc008016).
Apr 29 22:42:59 localhost kernel[0]: Failed to load kext com.apple.driver.AppleHDA (error 0xdc008016)

Any little help?

Field Note #75 @Morpheus___ 2010-05-15

Hey... Glad to hear that there is a possibility for my lost sound in snow leopard

I have a fully working applehda in leopard 10.5.8.
after installation of sl (10.6.2) my sound is gone, so i followed the instructions and did everything like in this thread but it doesn't work. I use hdaenabler + applehda in my leopard and it works very nice. i downloaded a hdaenabler for sl and installed it with my patched applehda for sl - no luck

can anybody help me please?
Here is my working applehda from 10.5.8

Field Note #76 @Fabze 2010-06-08

m1330, stac9228 and this guide here

im one of the people, which lost their sound in SL with the stac9228. i tried voodoohda in sl and all sound outputs/inputs worked except the internal speakers.

then i found this guide and i tried it. so now THANKS.. my internal speakers work now.. but - now my internal and my external mic doesnt work.

my problem is.. i just followed this guide on page 1.. but do really not understand what ive done with this hex numbers and plist editing and so on...

maybe someone can help me!

p.s. i hope u can understand me, because iam german..

Field Note #77 @hassan 2010-06-28

now this is an easy guide, however, I do not have a working applehda.kext, I'm basically starting from scratch. No other guide seems to have a clear method of doing this, I've read Kings guide but that's incomplete and all over the place.

Field Note #78 @steenamaroo 2010-07-14

hi mormegil...

just want to say thanks! cos this is one of the best tutorials out there...

however,,,i'm in the same boat as hassan..i have no leopard applehda to work from...

i do have a working voodoohda and all the info (verbs etc),,,and have tried my best to work from there.

dsdt fix made system profiler display
Intel High Definition Audio:
Audio ID: 12

editing legacyhda and applehda with the info you gave makes system profiler list all the proper devices..
line-out 1/8 jack
line-in 1/8 jack etc etc

BUT, nothing shows in audio/midi setup...and no sound (:(

do i reinstall leopard and start from scratch, or can we make this work from voodoo info and codec dumps?

thanks again!

**EDIT**
i've installed leopard on a spare drive for testing.
the aim is to get a working leopard applehda to work from.

the best i can do is DSDT patch (which enables sys prof output)
and a patched apple hda (which populates system prof output)

problem is,

system prof shows
mic built in
mic external
speakersheadphones
SPDIF OUT!

but in the audio midi setup i only have

mic built in
mic external
speakers/headphones

how can this be? i've tried adding pin configs (from the same source that got my voodoohda working)

voodoo hda the same problem where it would autodetect everything except SPDIF.

Spdif was made to work by adding my own config data.

Field Note #79 @steenamaroo 2010-07-15

would anyone out there be prepared to help me make an applehda.kext for SL from scratch.

i have working pin configs, which are put in the dsdt, so system profiler shows my devices perfectly.

no matter what i do though, i can't get sound with applehda…

pm me if you're interested in helping.

i've given up on encoded output via voodoohda,,since no on at all seems to have it.

Field Note #80 @haze295 2010-11-14

Sorry for bringing up an old thread, but this seems like the best place to ask...

I have a working applehda and want to convert it to 10.6.5 applehda. I found that in 10.6.5 I do not have a MacOS folder and no actual AppleHDA inside.

I was wondering if someone could help me put together a 10.6.5 HDA as I've been stuck trying this tutorial.

Thank you so much,

Haze

교차 검증 및 토론 참여 멤버: @Snow @xxxslayeriiixxx @blkhockeypro19 @ping99 @mstam @mimayin @dan10 @max.1974
출처 및 기여자 이력 (등록된 기여자 39명 · 원본 스레드 #3981)
사용자명기여 역할게시물 수활동 기간
@mormegil주 저자272009-09-08 → 2010-06-27
@mimayin핵심 기여자142009-11-19 → 2009-11-21
@Pietruszka핵심 기여자62009-09-09 → 2009-09-11
@airwalk776핵심 기여자62009-10-26 → 2009-11-11
@msf5042핵심 기여자62009-10-26 → 2009-11-11
@Jedric핵심 기여자52009-09-20 → 2009-09-22
@dan10핵심 기여자42009-11-20
@calabuig핵심 기여자42010-04-21 → 2010-04-29
@Snow핵심 기여자32009-09-08 → 2009-11-12
@Gurruwiwi핵심 기여자32009-09-10
@blkhockeypro19핵심 기여자32009-09-22 → 2009-09-26
@ping99핵심 기여자32009-09-25 → 2009-09-26
@max.1974핵심 기여자32009-12-01 → 2009-12-02
@xxxslayeriiixxx기여 멤버22009-09-08 → 2009-11-15
@thorazine74기여 멤버22009-09-21 → 2009-09-22
@vincenzo32기여 멤버22009-09-21
@steenamaroo기여 멤버22010-07-14 → 2010-07-15
@infinitek기여 멤버12009-09-08
@arm1tage기여 멤버12009-09-10
@tokyovigilante기여 멤버12009-09-16
@lemn기여 멤버12009-09-16
@Ezhoon기여 멤버12009-09-18
@rachaf기여 멤버12009-09-20
@mstam기여 멤버12009-09-29
@xbx2usr기여 멤버12009-10-13
@leclercqr기여 멤버12009-10-15
@Valaris기여 멤버12009-11-15
@chadp1a기여 멤버12009-11-15
@miliuco기여 멤버12009-11-18
@scififan68기여 멤버12009-11-21
@semendemon기여 멤버12010-01-12
@abct기여 멤버12010-01-24
@maxidlabs기여 멤버12010-01-26
@kanedaguy기여 멤버12010-03-04
@kws기여 멤버12010-03-04
@Morpheus___기여 멤버12010-05-15
@Fabze기여 멤버12010-06-08
@hassan기여 멤버12010-06-28
@haze295기여 멤버12010-11-14

언어 선택 · Choose your language