Realtek ALC889a 내장 사운드 아날로그 5.1채널 서라운드 완벽 활성화 가이드 (DSDT + AppleHDA 패치)
DSDT에서 AZAL 디바이스를 HDEF(layout-id 12)로 변경하고, AppleHDA 하위 플러그인 Info.plist를 교체한 뒤 '오디오 MIDI 설정'에서 통합 출력 장치를 구성하여 Snow Leopard에서 Realtek ALC889a의 3포트 아날로그 5.1채널 서라운드 사운드를 구현하는 가이드입니다.
- 주 저자
-
@Snow
게시일: 2009-08-23
- 소속 컬렉션
- Snow Leopard 10.6
- 아카이브 기록 규모
- 누적 조회 497,008회 · 선별된 필드 노트 183건 (원본 게시물 219건에서 추출) · 2009-08-23 – 2010-05-25
- 참여 및 검증 멤버 (29)
- @mormegil (57)@Gurruwiwi (53)@Snow (25)@ajacocks (13)@Elventanis (13)@terrorgen (7)@will1384 (7)@megavolkan (6)@Trograin (6)@monsieur.d (5)@X58-Agility (3)@CyCLoBoT (2)@vladrxpx (2)@hops (2)@MiniHack (2)@wind99 (2)+13 more
- 관련 하드웨어 참조
- Mac USB Audio DACs ↗ Workstation Coolers & Thermal Gear ↗ SATA III & NVMe SSDs ↗
Snow Leopard(또는 Leopard)에서 5.1채널 사운드를 성공적으로 구현하신 분이 계신지 궁금합니다.
디지털 광출력(SPDIF)이 아니라 후면의 아날로그 단자 3개를 통한 일반 아날로그 5.1채널 서라운드 출력 말입니다.
성공하신 분이 계신다면 구현 방법(DSDT, Kext)을 공유해 주시면 감사하겠습니다.
업데이트(UPDATE): 의견을 주신 모든 분들, 특히 세심한 가이드와 파일을 제공해 준 Mormegil 님 덕분에 완벽히 해결되었습니다! 정말 고맙습니다 형제여!
- 2009년 9월 14일 업데이트: 비교 분석용으로 제가 수정한 AppleHDA Kext를 첨부합니다. 동일한 하드웨어 구성을 쓰시는 분들은 별도 재수정 없이 그대로 작동할 수도 있습니다.
media fire.com/?f0mmm25zrja
- 2009년 9월 8일 업데이트: Mormegil 님이 기존 Leopard용 AppleHDA Kext를 Snow Leopard용으로 직접 컨버팅하는 가이드를 작성해 주셨습니다: AppleHDA를 Snow Leopard로 포팅하는 방법 →
- 2009년 9월 4일 업데이트: 많은 ALC889a 사용자분들이 사운드 활성화에 어려움을 겪고 계셔서, 제 시스템에서 오디오를 완벽하게 잡은 전체 과정을 단계별로 정리해 공유하는 것이 도리라고 생각했습니다. 물론 제 시스템 사양을 기준으로 작성된 절차입니다.
시작하기 (START)
먼저 다음 필수 도구 파일들을 다운로드합니다:
dsdt.aml 파일을 디컴파일하기 위한 iaslme: media fire.com/?jnjrdtmfm3k
아직 없으신 분들을 위한 KextUtility: media fire.com/?njgtzhzwm0j
비교 참고용 파일:
오디오 패치 전 제 원본 dsdt.aml: media fire.com/?xm2yn2xguyo
오디오 패치 적용 후 제 dsdt.aml: media fire.com/?zzgmmgmhdbo
인내심을 갖고 전폭적인 지원을 아끼지 않은 Mormegil 님께 다시 한 번 경의를 표합니다!
PART I: DSDT 패치하기
- dsdt.aml 파일을 마우스로 끌어 iaslme 아이콘 위에 놓으면 dsdt.dsl 텍스트 파일로 디컴파일됩니다.
- 텍스트 편집기(TextEdit 등)로 dsl 파일을 엽니다.
- Command + F를 눌러 검색 창을 띄운 뒤 AZAL을 입력합니다.
- 검색된 AZAL을 HDEF로 변경합니다.
제 시스템의 경우:
변경 전:
Notify (\_SB.PCI0.AZAL, 0x02)
변경 후:
Notify (\_SB.PCI0.HDEF, 0x02)
- 다시 한 번 AZAL을 검색하면 이번에는 “Device (AZAL)” 정의 블록이 나타납니다(적어도 제 보드에서는 그렇습니다).
아래의 원본 코드를:
Device (AZAL)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
}
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,14,15}
})
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFB, One, IRQV)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (One, Local0, IRQV)
Return (BUFB)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQ1)
FindSetRightBit (IRQ1, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
다음과 같이 변경합니다:
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)
}
}
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,14,15}
})
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFB, One, IRQV)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (One, Local0, IRQV)
Return (BUFB)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQ1)
FindSetRightBit (IRQ1, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
PART II: AppleHDA 패치하기
- /System/Library/Extensions 경로에서 순정 AppleHDA.kext를 데스크탑으로 복사합니다.
- 복사한 Kext를 우클릭하고 '패키지 내용 보기(Show Package Contents)'를 선택한 다음 Contents/PlugIns 폴더로 이동합니다.
- AppleHDAHardwareConfigDriver.kext를 우클릭하고 다시 '패키지 내용 보기'를 선택합니다.
- Contents 폴더로 들어가서 기존 Info.plist를 아래 파일로 교체합니다(드래그해서 넣고 대치 확인 클릭):
media fire.com/?rttltqjqxn4
다시 상위 PlugIns 폴더로 돌아가서 이번에는 AppleHDAPlatformDriver.kext의 '패키지 내용 보기'를 선택합니다.
Contents 폴더로 이동하여 Info.plist를 아래 파일로 교체합니다:
media fire.com/?zhnmdm0izzy
- 열린 창들을 모두 닫고 수정이 완료된 AppleHDA.kext를 KextUtility 아이콘 위에 끌어다 놓아 설치합니다.
- 재부팅한 뒤 확실한 적용을 위해 KextUtility, 터미널 또는 디스크 유틸리티로 권한 복구를 한 번 더 수행합니다.
- 만약 Snow Leopard가 불안정해지거나 커널 패닉(KP)을 일으킨다면 32비트 안전 모드(-x -x32)로 부팅한 뒤 KextUtility를 다시 실행해 보십시오.
이제 기본 오디오 출력이 정상 작동할 것입니다.
PART III: 5.1채널 서라운드 구성하기
- Spotlight에서 "오디오 MIDI 설정(Audio MIDI Setup)"을 검색해 실행합니다.
- 좌측 하단의 + 버튼을 클릭하여 통합 장비(Aggregate Device)를 생성합니다.
- 생성된 장비 이름을 더블 클릭하여 ALC889a로 이름을 변경합니다.
- 우측 패널에서 3개의 내장 라인 출력 스트림(Built-in Line Output)을 모두 체크합니다.
- 볼륨 밸런스를 맞추거나 조정하려면 ALC889a 항목을 펼친 뒤 우측 탭의 슬라이더를 사용해 3개의 라인 출력 레벨을 조절합니다:
제 기억이 맞다면 제 시스템에서는 기본값이 -12dB로 잡혀 있었습니다.
- 우측 하단의 '스피커 구성...(Configure Speakers...)' 버튼을 클릭합니다.
- '다중 채널(Multichannel)' 탭을 선택하고 바로 옆 드롭다운 메뉴에서 '5.1 서라운드(5.1 Surround)'를 선택합니다.
- 상단의 모든 스트림을 활성화한 뒤 각 스피커 채널에 맞는 스트림 번호를 매핑합니다(제 경우에는 5번과 6번을 좌/우 후면(Rear)으로, 3번과 4번을 각각 센터(Center)와 서브우퍼(Sub)로 맞바꾸어 지정해야 했습니다).
- 하단의 적용/완료 버튼을 눌러 저장한 뒤 QuickTime X에서 5.1채널 영화를 재생해 테스트해 봅니다.
- QuickTime에서 다중 채널 디코딩을 완벽히 활용하려면 Perian(per ian.org/) 코덱 팩을 설치하고 오디오 출력을 Multi-Channel Output으로 설정하는 것을 권장합니다.
이상으로 모든 설정이 끝났습니다! 모든 채널이 정상 작동할 것이며, 만약 작동하지 않는다면 시스템 사양이 저와 완전히 다르거나 DSDT 패치가 올바르게 적용되지 않았거나 중간 과정에서 실수가 있었을 가능성이 높습니다.
행운을 빕니다!
끝 (THE END)
저자 후속 업데이트 및 기술 개정 이력
주 저자 후속 기술 보충: @Snow
가이드 공유 고맙습니다. 다만 제가 진짜로 알고 싶은 건 ALC889a에서 아날로그 단자로 5.1채널 출력이 가능한지 여부입니다.
아날로그 5.1채널이 안 된다면 굳이 내장 사운드를 켤 생각이 없거든요.
만약 불가능하다면 KX 드라이버가 64비트를 지원할 때까지 기다리면서 당분간은 Presonus 1394 파이어와이어 인터페이스(스테레오)를 그냥 쓰려고 합니다.
아이고, 안 좋은 소식이군요. 제 Audigy 2 ZS용 KX 드라이버는 5.1채널을 완벽 지원할 뿐 아니라 음질도 ALC889a보다 훨씬 뛰어납니다. 다만 KX 드라이버의 64비트 지원까지는 시간이 꽤 오래 걸릴 것 같아서 대안으로 ALC889a 5.1채널 세팅법을 백방으로 찾아보고 있는 중입니다.
그거 정말 반가운 소식이네요!
제 ALC889a에서도 이 방법을 그대로 쓸 수 있을까요?
이 Kext만 넣으면 되나요? 별도의 DSDT 패치나 다른 추가 Kext는 필요 없는지요?
그리고 64비트 커널에서도 호환되는 거죠?
아, 고맙습니다 형제님. 제 기존 DSDT는 Pista(SleepEnabler 제작자) 님이 대신 컴파일해 주신 거라, 결국 제가 직접 DSDT 패치 방법을 공부해서 손봐야겠네요.
파일과 상세한 정보 정말 감사드립니다! 지금 바로 올려주신 가이드를 살펴보겠습니다.
좋습니다, 고마워요! 내일 바로 시도해 보겠습니다.
결과가 나오면 다시 후기 남기겠습니다. 지금 제게 유일한 걸림돌은 DSDT인데, iasl에서 제대로 컴파일이 안 되고 아예 aml 파일조차 뱉어내질 않네요.
내일 다시 잡고 씨름해 보겠습니다. 다시 한 번 감사드립니다!
드디어 DSDT에 DTGP 메소드 부분을 추가했더니 정상적으로 컴파일되었습니다.
재부팅 후 몇 차례 커널 패닉(KP)과 부팅 실패를 겪었지만, 권한 복구 및 mkext 캐시 재구성을 거친 끝에 x64 모드로 부팅하는 데 성공했습니다.
이제 라인 출력(Line-out) 3개가 모두 잡혀서 통합 출력 장치를 만들었는데, 정작 소리는 전혀 나지 않네요.
혹시 제 dsdt.aml에 문제가 있는지 확인 후 다시 컴파일해 주실 수 있을까요?
업데이트: 음, 아무래도 안 되겠습니다. OSx86에서 웬만한 삽질은 해봤지만 이 영역은 제 수준을 넘어서네요. 제가 직접 코드를 만져서는 평생 성공 못 할 것 같으니 ㅋㅋ 부디 고수분께서 제 시스템에 맞는 DSDT나 AppleHDA를 제대로 컴파일해 주셨으면 좋겠습니다.
혹시 몰라 ALC889a 코덱 덤프 파일(제 시스템에서 직접 뽑은 건 아니고 다른 곳에서 구한 파일)도 함께 첨부해 두었습니다.
세상에나, 방금 다시 테스트해 보다가 배경에서 미세한 화이트 노이즈 같은 게 들리는 것 같아 볼륨을 좀 크게 올려봤더니(기존에 쓰던 Presonus FW 인터페이스가 기본 출력이 훨씬 컸던 모양입니다) 소리가 아주 잘 나옵니다! 완전 초보 같은 삽질을 했네요 ㅋㅋ
어쨌든 스테레오 출력은 정상 작동하는 걸 확인했으니, 5.1채널 서라운드 세팅도 마저 테스트해 보고 다시 결과 공유하겠습니다.
드디어 5.1채널 완벽하게 작동합니다! 파일과 세심한 가르침 정말 고맙습니다 형제여!
제 시스템에서는 이 스트림 매핑이 정확한 설정인 것 같습니다. PinConfiguration 값을 살짝 수정하면 기본 설정 상태에서도 바로 순서가 맞겠지만, 사실 지금 구성이 직관적으로는 더 이해하기 편하네요.
아, 오디오 MIDI 설정에서 처음 잡히는 기본 스트림 매핑 상태 말씀이시군요. 저는 기본 상태에서 리어(Rear)와 센터/서브우퍼(Center/Sub) 위치가 뒤바뀌어 있어서 서로 맞바꿔 줘야 했습니다.
어차피 3/4번이 리어, 5/6번이 센터/서브우퍼로 매핑되는 편이 구조상으로도 더 자연스럽긴 합니다.
이제 Windows 쪽에서도 사운드 출력을 온보드 사운드로 다시 바꿔놔야겠네요. 안 그러면 게임할 때 무음으로 해야 하니까요. 나중에 KX 드라이버 64비트 버전이 나오면 그때 가서 Audigy 2 ZS를 다시 꽂아볼까 싶기도 하지만, 그냥 아예 처분해 버리고 케이스 내부 공간이나 넓힐까 싶기도 합니다 ㅎㅎ
참고로 Leopard에서도 똑같이 작동하게 하려면 지금 작업한 dsdt.aml과 AppleHDA 내부 plist 파일들을 그대로 덮어쓰기만 하면 될까요?
그리고 QuickTime X에서도 5.1채널을 바로 출력할 수 있는 방법이 있는지, 아니면 여전히 VLC 플레이어를 써야 하는지도 궁금합니다.
다시 한 번 감사드리며, 경의를 표합니다!
작은 특이사항 하나 발견: 기본 출력 음량이 너무 작아서 볼륨을 꽤 많이 올려야 하는데, 그러다 보니 화이트 노이즈가 조금씩 들리기 시작합니다(아날로그 연결 특성상 어느 정도는 어쩔 수 없는 부분 같긴 합니다).
업데이트: 오디오 MIDI 설정 패널에서 3개 라인 출력의 dB 값을 모두 0dB로 올려주니 음량 문제가 말끔히 해결되었습니다! 앞으로는 질문을 올리기 전에 먼저 해결책을 좀 더 찾아보고 안 될 때만 글을 올려야겠네요. 5.1채널이 터졌다는 사실에 너무 신이 났던 모양입니다 ㅎㅎ
좋습니다, 점심 먹고 나서 바로 시도해 보겠습니다.
그리고 QuickTime에서의 5.1채널 출력 문제는 Perian 환경설정에서 오디오 출력 옵션을 Multi-Channel Output으로 변경하니 완벽하게 해결되었습니다.
덧붙이자면 방향감(포지셔널 사운드) 분리도 역시 상당히 훌륭합니다.
질문이 하나 더 있는데, 현재 com.apple.Boot.plist에 넣어 쓰고 있는 8800GT용 EFI 스트링을 DSDT에 직접 주입하는 방식으로 바꾸면 기능상 차이점이 있을까요? 만약 그렇다면 어떤 식으로 작업하면 될까요?
이따 뵙겠습니다!
업데이트: 혹시 제 Leopard용 AppleHDA를 공유해 드리면 수정해 주실 수 있을까요? 내부 코드가 워낙 방대해서 제가 건드렸다가 망칠까 봐 걱정되네요. 예전에 일부 작업해 둔 게 있는 것 같기도 한데 가물가물합니다.
컴파일 에러(Error)가 1개라도 뜨면 aml 파일 자체가 생성되지 않으니 그대로 진행하시면 안 됩니다.
혹시 DTGP 관련 에러인가요? (세션 로그 파일을 확인해 보세요.) 만약 맞다면 몇 페이지 앞으로 돌아가서 DTGP 메소드 추가 코드를 찾아 넣어주시면 해결됩니다.
올려주신 dsl 파일을 제가 직접 수정해 보려고 했는데 오히려 에러가 6개로 더 늘어나 버리네요. 안타깝지만 이 파일은 제가 도와드리기 어려울 것 같습니다.
Gurru 님, 본문 첫 번째 글에 간단한 단계별 가이드를 정리해 추가해 두었으니 처음부터 차근차근 다시 따라해 보시고 결과를 알려주세요. 혹시 가이드 내용 중 보완하거나 수정해야 할 부분이 있다면 말씀해 주시고요.
행운을 빕니다!
이 부분은 저보다 훨씬 해박한 Mormegil 님께 맡겨두겠습니다 ㅎㅎ
그런데 Mormy 님께 질문이 하나 있습니다. 제 DSDT에는 이미 사전 패치된 코드가 많이 들어가 있다고 하셨는데, 다른 사용자분들이 제 가이드를 보고 따라 할 때 해당 섹션 전체를 그대로 교체하기만 하면 도움이 될까요? 아니면 메인보드나 시스템마다 구조가 달라서 그대로 쓰면 안 되는 걸까요?
@Gurru 님, 해당 섹션 전체를 통째로 교체해 보세요. 다만 첫 번째로 누락되었다고 하신 부분에 대해서는 저도 잘 모르겠습니다. 디바이스 ID가 없으면 작동하지 않을 수도 있거든요.
나중에 또 뵙겠습니다!
가이드 제목과 본문에 명시되어 있듯 이 방법은 ALC889a 전용이며, 같은 889a 코덱을 쓰는 분들 중에서도 환경에 따라 문제를 겪는 경우가 있어 다른 코덱은 당장 제가 도와드리기 어렵습니다.
가상 머신(VM)의 경우, 저는 Snow Leopard 64비트 환경에서 Parallels 5를 사용해 Windows 7 64비트를 아무 문제 없이 쾌적하게 돌리고 있습니다(Aero 인터페이스가 가끔 제 멋대로 켜졌다 꺼졌다 하는 사소한 현상만 빼면요).
가상 머신이 필요했던 주된 이유인 ConvertXtoDVD로 영상 2개를 인코딩해 봤는데 결과물도 완벽했습니다.
올려주신 파일은 한 번 들여다보겠지만, 저도 이 분야는 초보라 성공을 장담하긴 어렵습니다.
Snow Leopard 64비트에서 구동 중인 Parallels 5 (Windows 7 64비트)
아무래도 다른 분들께는 가이드가 제대로 작동하지 않는 것 같으니 본문 가이드를 내리는 게 나을지도 모르겠네요. 그게 아니라면 성공한 분들은 아무도 피드백을 안 남기고 계신 거겠지만요.
Morm 님 생각은 어떠신가요? 제가 가이드를 올린 이후로 본의 아니게 님께 풀타임 A/S 업무를 떠안겨 드린 꼴이 된 것 같아서요 ㅎㅎ
정확합니다 Mormegilski 님!
바로 이 슬라이더들을 조절하시면 됩니다:
본문 가이드에도 해당 설명을 추가해 두었습니다.
@terrorgen아... 통합 장치로 묶으니 키보드 볼륨 키로 음량을 조절하는 즐거움을 잃어버렸네요...
맞습니다!
다행히 저는 유선 볼륨/베이스 리모컨이 달린 Creative T5400 스피커를 쓰고 있어서 키보드 볼륨 조절이 없어도 큰 불편은 없네요.
@Cee작성자분이나 다른 분께서 이 AppleHDA.kext 파일을 다시 업로드해 주실 수 있나요? 컴퓨터 4대(맥 3대, PC 1대)에서 압축 해제를 시도해 봤는데 전부 실패합니다.
media fire.com/?f0mmm25zrja
저는 마이크를 전혀 쓰지 않아서 그 부분은 도와드리기가 어렵네요. 미안합니다.
@Cee작성자분이나 다른 분께서 이 AppleHDA.kext 파일을 다시 업로드해 주실 수 있나요? 컴퓨터 4대(맥 3대, PC 1대)에서 압축 해제를 시도해 봤는데 전부 실패합니다.
앗, 저는 다른 유저분이 올리신 AppleHDA.kext를 재업로드해 달라고 요청하신 줄 알았습니다.
제가 새로 올린 링크는 제 시스템(ALC889a 전용)에 맞춰 수정된 버전입니다. 착오가 있었다면 양해 바랍니다.
커뮤니티 실측 및 기술 필드 노트
총 219개의 원본 스레드 응답 중 기술적 가치가 높은 183개의 필드 노트 수록
DSDT를 수정해 오디오를 활성화하는 꽤 흥미로운 가이드가 있어 공유합니다. 한 번 살펴보세요:
media fire.com/?sharekey=dd89f674cb6ef1d6d6baebe61b361f7c8fd90959baf93af1c95965eaa7bc68bc
음... 설명이 상당히 자세하네요.
이전에 DSDT에 HDEF 패치를 넣어봤을 때는 실패했었는데, 이번에는 이 가이드대로 다시 시도해 봐야겠습니다.
좋은 정보 알려주셔서 감사합니다.
실제 리얼 맥 자체가 아날로그 5.1채널 오디오 출력을 지원하지 않는 걸로 압니다. 따라서 5.1채널을 쓰려면 디지털(광/동축) 출력으로 가는 수밖에 없을 겁니다.
저는 다음 가이드를 참고해서 온보드 ALC888 사운드를 잡았습니다: http://www.projectosx.com/forum/index.php?showtopic=465… ↗
현재 전면 아날로그, 후면 디지털 출력, 마이크, 라인 입력까지 모두 정상 작동합니다. 로지텍 Z-5500 스피커 시스템을 물려 쓰고 있어서 광출력만으로도 충분하네요. AC3/DTS 트랙이 들어간 HD 영화들도 아무 문제 없이 감상하고 있습니다.
맞아요, 제 X-Fi 사운드카드도 KX 드라이버 지원이 안 돼서 정말 아쉽습니다. 만약 지원됐다면 굳이 내장 사운드를 살리려고 이렇게 삽질하지도 않았을 텐데 말이죠. 이 메인보드를 산 이래 BIOS에서 내장 사운드를 켜본 적이 단 한 번도 없었는데, 솔직히 디지털 광출력 음질이 생각보다 꽤 훌륭해서 놀랐습니다.
앞서 했던 제 말을 취소합니다! 제 메인보드의 내장 ALC888에서 아날로그 5.1채널을 완벽하게 구현하는 데 성공했습니다!
1. AppleHDA.kext를 수정하여 3개의 라인 출력(녹색, 검은색, 주황색 단자)이 모두 개별 출력 포트로 인식되도록 설정합니다.
2. '오디오 MIDI 설정(Audio MIDI Setup)'을 실행합니다.
3. 새로운 '통합 장비(Aggregate Device)'를 추가합니다.
4. 방금 잡힌 3개의 라인 출력(Line Out)에 해당하는 체크박스 3개를 모두 선택합니다.
5. '스피커 구성(Configure Speakers)'을 클릭합니다.
6. 3개의 스트림을 모두 선택합니다.
7. '다중 채널(Multichannel)' -> '5.1 서라운드'를 선택합니다.
8. 모든 스피커 채널이 올바른 포트에 매핑되었는지 확인합니다.
9. '시스템 환경설정 > 사운드'에서 출력 장치를 방금 만든 '통합 장비(Aggregate Device)'로 선택합니다.
10. 완료!
참고용으로 제가 수정한 ALC888용 AppleHDA.kext를 첨부합니다.
ALC889a는 핀 구성(Pin Configuration)이 조금 다를 수 있어서 그 부분은 확신할 수 없습니다. 하지만 ALC889a 코덱은 OS X에서 네이티브로 지원하는 ALC885의 변형 모델로 인식되기 때문에, 별도의 AppleHDA 바이너리 헥스 패치는 전혀 할 필요가 없을 겁니다.
HDAEnabler나 별도의 오디오 인젝터 Kext도 필요 없습니다. 오디오 주입을 위해 DSDT만 패치해 주시고, 아래 두 개의 plist 파일만 수정하시면 됩니다:
AppleHDA.kext/Contents/Plugins/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist
AppleHDA.kext/Contents/Plugins/AppleHDAPlatformDriver.kext/Contents/Info.plist
제가 앞서 링크해 드린 THe KiNG 님의 가이드를 참고해 보세요. 충분히 직접 수정하실 수 있을 겁니다. 우선 제가 님의 코덱(ALC885, Address 3)에 맞춰 두 plist 파일을 간단히 수정해 보았습니다. 파일명을 Info.plist로 바꾼 뒤 각각의 하위 Kext 폴더 안에 덮어씌우시면 됩니다.
그리고 Snow Leopard 리테일 빌드 10A432에 기본 포함된 순정 AppleHDA.kext를 기반으로 작업한 것이므로 당연히 64비트 모드와 완벽히 호환됩니다.
저는 제 GA-P35-DS3L (Rev 2.0) 보드의 사운드 문제를 해결했습니다.
아래 스레드의 드라이버를 사용했습니다(본인의 코덱 ID에 맞는 버전을 찾아 쓰시면 됩니다):
http://www.insanelymac.com/forum/index.php?showtopic=14… ↗
그리고 검색하다가 아래 스레드도 발견했는데, 이미 해결해서 직접 테스트해 보지는 않았습니다:
DSDT 컴파일이 안 될 때
@snow... iaslme에서 구체적으로 어떤 에러 메시지가 뜨나요? 만약 _WAK, Local0, 또는 DTGP 관련 에러라면 DSDT 내부의 적절한 위치에 해당 메소드들을 추가해 주면 해결됩니다. 저 같은 경우 Windows용 ACPI Patcher에서 해당 패치 옵션들을 체크해 DSDT를 생성하는 편이 훨씬 간편했습니다.
아무튼 이번 주말에 제 DSDT에 여러 가지 핀 구성(Pin Configurations) 값을 직접 넣어보면서 DSDT만으로 5.1채널 구현이 가능한지 테스트해 볼 생각입니다.
저도 처음에는 DSDT 안에 PinConfigurations 값을 직접 구겨 넣으려다가 애를 먹었는데, 가이드를 정독하고 나서야 굳이 그럴 필요가 없다는 걸 알게 되었습니다. 어차피 AppleHDA의 plist에 들어 있는 PinConfigurations 값이 DSDT 값을 덮어쓰기(Override) 때문입니다. 따라서 dsdt.dsl 안의 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)
}
}
시스템 프로파일러(System Profiler)와 시스템 환경설정 > 사운드 항목에는 장치들이 어떻게 표시되나요? 통합 장비(Aggregate Device)로 묶기 전에 개별 라인 출력 포트를 선택했을 때는 소리가 정상적으로 나오는지 먼저 확인해 보세요.
성공하셨다니 다행이네요! 그런데 말씀하신 '기본 설정(default settings)'이라는 게 정확히 어떤 걸 의미하나요?
아, 맞습니다. 저도 똑같았어요. 무슨 이유에서인지 기본 상태에서는 채널 매핑 순서가 뒤바뀌어 잡히더군요.
그리고 네, dsdt.aml 파일은 Leopard에서도 그대로 재사용하셔도 됩니다. 하지만 AppleHDA.kext는 10.5.8의 구조가 구버전이라 그대로 쓰실 수 없고, Leopard용 AppleHDA 내부 파일에 직접 값을 이식하셔야 합니다:
AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist에는 LayoutID 12에 해당하는 ConfigData 블록을 복사해 붙여넣으시고,
AppleHDA.kext/Contents/PlugIns/AppleHDAPlatformDriver.kext/Contents/Info.plist에는 Layouts 아래에 LayoutID 12 블록을, PathMaps 아래에 PathMapID 9 블록을 각각 복사해 붙여넣으시면 됩니다.
이 스레드를 계속 정독하며 따라오고 있었는데, 고수분들의 도움이 절실히 필요합니다!
저 역시
이 스레드를 계속 정독하며 따라오고 있었는데, 고수분들의 도움이 절실히 필요합니다!
저 역시 ALC889a 칩셋을 사용하고 있습니다.
현재 Chameleon 2 RC1을 사용해 Snow Leopard 10A432를 설치했으며, 오디오와 SD 카드 리더기만 잡으면 완벽한 해킨토시가 완성되는 상태입니다.
진단에 도움이 될 만한 경과를 먼저 간략히 설명드리겠습니다.
지난주에 노트북용 새 하드 디스크를 구입해 Snow Leopard 클린 설치만 8~10번 넘게 반복했는데, 갈수록 커널 패닉(KP)이 심해졌습니다. 일요일이 되어서야 새로 산 하드 자체가 불량이라는 걸 깨달았죠. 아예 포맷조차 제대로 안 되더군요. 그래도 주말 동안 비디오 EFI 스트링 테스트, AHCI 설정 등 많은 것들을 성공시켰고, 초반 몇 번의 시도에서는 오디오까지 완벽하게 잡았었습니다! SPDIF 광출력은 물론이고 내장 마이크만 빼면 외장 마이크까지 완벽히 작동했거든요. 그 정도만 다시 살릴 수 있어도 더할 나위 없이 만족할 텐데 말입니다.
게다가 서브우퍼까지 제대로 인식되어 음악을 들을 때 저음역대도 훨씬 풍부했습니다. 당시에는 오디오 MIDI 설정의 존재를 몰라서(순수하게 MIDI 악기 연결용인 줄로만 알았습니다!) 들어가 보지도 않았는데도 소리가 잡음이나 팝 노이즈 하나 없이 아주 맑고 우렁찼습니다.
그러다 시스템이 다시 깨져서 재설치를 해야 했고, 결국 불량 하드가 수명을 다했습니다. 문제가 워낙 잦았던 터라 뭔가 하나 성공할 때마다 백업을 떠두긴 했는데, 그때는 "warmd" 관련 KP가 터지기 직전이라 백업할 시간조차 없었습니다. 영구적인 KP가 터지기 전에 살려보려고 정신없이 드라이버를 받다 보니 다운로드 폴더가 온갖 파일로 뒤죽박죽이 되었고, 결과적으로 그때 정확히 어떤 Kext로 사운드를 잡았는지 기억이 나질 않습니다. 다만 어렴풋한 느낌으로는 electro 님의 Windows Live SkyDrive 자료실에 올라와 있던 AppleAzalia Kext였던 것 같습니다. 일요일에 하드가 완전히 뻗어서 포맷조차 불가능해졌지만요.
cid-8b65993ef55cf014.skydrive.li ve.com/browse.aspx/.Public/OSx86/Snow%20Leopard/Drivers%20kext%20|5Sterowniki|6/==%20%20Sound%20|5d%C5%BAwi%C4%99k|6%20==?view=details
목록의 첫 번째에 있는 ALC883 (Azalia) 파일이거나, 아니면 최신 VoodooHDA 중 하나가 사운드 카드를 깨웠던 것 같은데, 워낙 밤늦은 시간이라 피곤에 절어 있어서 정확한 기억이 없습니다.
어쨌든 새 하드 디스크로 교체한 뒤 Snow Leopard를 새로 깔았고, 현재 그래픽, 이더넷, 웹캠, 블루투스, ICH9M이 모두 완벽 작동하며 smbios.plist도 MacBookPro5,1에 맞게 세팅해 바위처럼 탄탄하게 돌아갑니다!
이 상태는 루트(/)나 /Extra 폴더 어느 곳에도 dsdt.aml을 넣지 않은 상태에서 구현된 것입니다.
어제 하루 동안 무려 5시간에 걸쳐 다음 작업만 무한 반복했습니다...
/Extra/Extensions(E/E)에 임의의 오디오 Kext 설치 -> 권한 복구 -> -v 플래그로 재부팅하며 로그 정밀 관찰,
/System/Library/Extensions(S/L/E)에 임의의 오디오 Kext 설치 -> 권한 복구 -> -v 플래그로 재부팅하며 로그 정밀 관찰.
여기서 임의의 Kext란 제가 구할 수 있었던 64비트 Snow Leopard용으로 컴파일된 모든 오디오 Kext를 말합니다!
하지만 결과는 허탕이었습니다. 순정 AppleHDA.kext 상태에서는 시스템 프로파일러에 다음과 같이 뜹니다:
Device ID: 0x10250146
Audio ID: 0
주목할 점은 이 Device ID가 다른 데스크탑 보드 사용자분들의 ID와 다르다는 것입니다!
전에는 10.5.7에서 쓰던 dsdt.aml 파일을 루트나 /Extra에 넣지 않고 있었기에, 혹시나 싶어 양쪽 경로에 모두 복사해 넣은 뒤 모든 Kext에 대해 설치 -> 권한 복구 -> 재부팅 과정을 다시 반복해 보았습니다.
그랬더니 다른 Kext들을 넣었을 때는 시스템 프로파일러에 다음과 같이 바뀝니다:
DEVICE ID: 0x1458A002
Audio ID 줄은 아예 사라지고 저 한 줄만 덩그러니 뜹니다.
반쯤 포기하고 이더넷부터 잡자 싶어 랜카드를 먼저 살려낸 뒤, 다른 버전의 VoodooHDA를 하나 더 시도해 봤는데... 세상에, 수만 가지 Kext를 거친 끝에 갑자기 소리가 터졌습니다! 내장/외장 마이크 입력은 안 되지만(환경설정에 'Mic' 항목 자체는 뜹니다), S/L/E에 순정 AppleHDA가 남아 있는 상태에서 함께 설치했는데 시스템 프로파일러에는 위처럼 뜬 채로 소리가 잘 나왔습니다!
너무 기쁜 나머지 순정 S/L/E 상태를 유지하고 바로 백업 이미지를 뜨려고 해당 VoodooHDA를 /Extra/Extensions로 옮겼습니다.
그런데 재부팅하니 소리가 안 나더군요. 그래서 다시 똑같은 Kext를 S/L/E로 되돌려 놓았는데... 그래도 소리가 안 납니다! 도대체 이게 무슨 조화일까요!?
대부분의 Kext는 상세 부팅(-v) 중에 로드되는 기미조차 보이지 않습니다. E/E에 넣었을 때 의존성(dependency) 에러를 뱉던 일부 Kext들도 막상 S/L/E로 옮기면 부팅 로그에 아무런 흔적도 남기지 않습니다.
도대체 왜 방금 전까지 작동하던 Kext가 다음 부팅에서는 먹통이 되는 걸까요? 물론 매번 권한 복구와 캐시 재구성은 철저히 했습니다.
원칙적으로 순정 AppleHDA는 무조건 지워야 하는 건가요? (지워보기도 했습니다.)
그리고 dsdt.aml을 꼭 사용해야 할까요? (DSDT 패치는 보기만 해도 너무 복잡해 보여서 아직 직접 수정해 보진 못했습니다!)
게다가 무엇보다 저를 미치게 만드는 건, Snow Leopard USB 설치 디스크로 부팅해서 시스템 프로파일러를 열어보면 아무 패치도 없는데 아래와 같이 모든 장치가 멀쩡히 잡혀 나온다는 사실입니다:
Device ID: 0x1458A022
Audio ID: 12
Available Devices:
Internal Microphone:
Connection: Internal
Speaker:
Connection Internal
External Microphone:
Connection: 1/8-inch Jack
제 lspci 정보는 다음과 같습니다:
(ICH9 Family) HD Audio Controller [8086:293e] (rev 03) 00:1c.0 PCI bridge [0604]: Intel Corporation 82801I
결국 DSDT 패치의 길로 가야 하나 싶다가도, 분명히 이전에 DSDT 수정 없이도 사운드를 잡았던 적이 있는데 왜 유독 지금 Snow Leopard가 이렇게 까다롭게 구는지 이해가 안 갑니다. DSDT 패치는 코드만 봐도 위압감이 들어서 엄두가 안 나네요.
순정 AppleHDA로 부팅할 때 뜨는 상세 부팅(-v) 메시지는 다음과 같습니다:
보시다시피 "sound assertion "0""이라는 에러가 뜨는데, 이게 시스템 프로파일러에 찍히는 Audio ID: 0과 관련이 있는 걸까요?
예전에 DSDT 패치 없이도 소리가 났었는데 왜 지금 와서 DSDT 패치가 필요한 건지 궁금합니다.
긴 글을 읽어주셔서 감사드리며, 최대한 많은 단서를 드리고 싶어 자세히 적었습니다.
방금 THe KiNG 님의 튜토리얼을 따라 해 보려고 했는데...
첫 단계부터 막히네요. Graphviz가 Snow Leopard에서는 설치되지 않습니다.
간단합니다.
제가 Snow Leopard용으로 만들어 올린 2개의 plist 파일을 받아 본인의 SL용 순정 AppleHDA 내부에 덮어씌우시거나(먼저 파일명을 Info.plist로 변경해야 합니다),
아니면 이곳 ↗으로 가보세요. tmongkol 님의 통합 plist, 일명 LegacyHDA.kext를 쓰시는 게 훨씬 수월할 겁니다. 2009년 8월 6일 자 최신 패키지를 찾아서 받으세요. 님이 쓰시는 오디오 칩셋은 이미 분석 자료가 완벽히 정리되어 있기 때문에 굳이 THe KiNG 님의 가이드를 처음부터 끝까지 따라 하실 필요가 없습니다.
그다음 단계가 DSDT입니다. 생각하시는 것만큼 전혀 복잡하지 않습니다. 마찬가지로 tmongkol 님의 스레드에 fassl 님이 만든 DSDT Patcher 링크가 있습니다. 그걸 받아서 한 번 실행해 주면 기본 dsdt.aml이 생성됩니다.
생성된 파일을 디컴파일합니다:
iasl -d dsdt.aml
dsdt.dsl 파일 안에 HDEF 코드를 삽입한 뒤 다시 컴파일합니다:
iasl -ta dsdt.dsl
드디어 제 EP45-DQ6 메인보드에서 사운드를 잡는 데 성공했습니다! 그런데 한쪽 스피커에서 나오는 소리가 다른 쪽보다 유독 크게 들리는 현상이 있네요. 저는 일반 2.1채널 스피커를 쓰고 있는데, 혹시 비슷한 증상을 겪어보신 분 계신가요?
Mormegil 님,
도움 말씀 정말 감사드립니다!
알려주신 방법들을 전부 시도해 봤지만 여전히 작동하질 않네요. 가까스로 안정적이고 완벽하게 돌아가는 Snow Leopard 환경을 구축했는데 오디오만 먹통입니다. 불과 이틀 전 처음 Kext들을 테스트해 볼 때만 해도 소리가 아주 잘 났었기에 더더욱 미칠 노릇이네요.
우선 DSDT Patcher GUI 1.02에서 강제 컴파일(Force Compile)과 New HPET 옵션을 켜서 새로운 dsdt.aml을 생성했습니다.
그리고 그 파일로부터 dsdt.dsl 파일을 추출했습니다.
몇 가지 가이드를 보고 따라 해 보려 했는데, 예를 들어 "AZAL을 검색해서 HDEF로 바꾸라"고 되어 있지만 제 DSDT에는 애초에 AZAL이라는 항목 자체가 없습니다. 또 "이 코드를 저 코드 위에 덮어쓰라"고 되어 있는 가이드도 어디서부터 어디까지 덮어써야 기존 필수 코드를 날리지 않는지 감이 잡히질 않습니다.
게다가 또 다른 문제가 있는데, 한 가이드를 참고해 코드를 일부 수정한 뒤 테스트해 보려고 dsdt.dsl을 저장하고 iaslME.app으로 드래그했더니, 작업이 완료되었다는 메시지와 함께 1 Error(에러 1개는 괜찮은 건가요?)가 뜨면서 정작 결과물인 dsdt.aml 파일이 어디에도 생성되지 않습니다. 처음에 aml을 dsl로 디컴파일할 때는 이 앱으로 잘 됐었거든요.
혹시 제 파일을 한 번 살펴봐 주실 수 있으실까요?
DSDT 안에 기존 AZAL이나 HDEF 항목이 없다면 코드를 새로 삽입해 주셔야 합니다. 제 보드도 똑같았어요. "Device (HDEF)" 코드 블록 전체를 복사해서 "Device (PCI0)" 바로 아래(즉, PCI0의 하위 디바이스로) 붙여넣으시면 됩니다. THe KiNG 님의 가이드를 다시 한 번 찬찬히 읽어보세요.
여러분,
약간의 진전은 있었지만 아직 완전히 해결하진 못했습니다.
THe KiNG 님의 튜토리얼 PDF에 나온 것과 토씨 하나 틀리지 않고 똑같이 HDEF 하위 코드를 교체해 넣었습니다.
한 줄 한 줄 서너 번씩 검수한 뒤 dsdt.dsl을 저장하고 iaslMe 아이콘 위로 드래그했더니 다음과 같이 뜹니다:
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a
/Users/bigbang/Desktop/DSDT dsl to aml/dsdt.dsl 9592: [*** iASL: Read error on source code temp file /Users/bigbang/Desktop/DSDT dsl to aml/Sessions/2009-09-03-125900/dsdt.src ***]
Error 4095 - syntax error, unexpected $end ^
ASL Input: /Users/bigbang/Desktop/DSDT dsl to aml/dsdt.dsl - 9593 lines, 326239 bytes, 4052 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
All done.
Enjoy ...
하지만 "Sessions" 폴더 안을 열어보면 aml 파일은 없고 아래 내용만 적힌 log.txt 파일 하나만 달랑 들어 있습니다:
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20080926 [Oct 4 2008]
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a
/Users/bigbang/Desktop/DSDT dsl to aml/dsdt.dsl 9592: [*** iASL: Read error on source code temp file /Users/bigbang/Desktop/DSDT dsl to aml/Sessions/2009-09-03-125900/dsdt.src ***]
Error 4095 - syntax error, unexpected $end ^
ASL Input: /Users/bigbang/Desktop/DSDT dsl to aml/dsdt.dsl - 9593 lines, 326239 bytes, 4052 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
제가 도대체 뭘 잘못한 걸까요?
코드를 붙여넣은 제 dsdt.dsl 파일을 첨부합니다...
경고(Warnings)는 무시하고 문법 에러(Errors)들을 모두 수정하여 강제 컴파일해 드렸습니다.
Snow 님과 Mormegil 님, 정말 감사합니다! 하지만 안타깝게도 그 파일을 적용했더니 시스템이 완전히 망가져 버렸습니다.
컴파일해 주신 dsdt.aml을 루트에 복사하고 재부팅(-v만 적용)했더니 부팅 도중 AppleHDA에서 커널 패닉(KP)이 터졌습니다.
다시 상세 모드(-v)로 재부팅했더니 이번에는 부팅 중 KP는 안 났지만 AppleHDA가 "assertion 0" 에러 코드들을 뿜어냈고, 데스크탑 화면으로 진입한 직후 "warm" KP가 터지며 뻗어버렸습니다. 뻗기 직전에 시스템 프로파일러를 얼핏 확인했는데, Device ID: 0x10250146, Audio ID: 12로 잡히고 모든 오디오 포트가 목록에 나타나긴 했습니다.
반면 Leopard나 Snow Leopard 설치 USB로 부팅했을 때는 다음과 같이 표시됩니다:
DEVICE ID: 0x1458A002
Audio ID: 12
아무래도 이 Device ID의 차이가 중요한 단서인 것 같습니다.
어쨌든 다시 재부팅을 시도했더니, 데스크탑 진입 직전 화면이 잠시 까맣게 변했다가 켜져야 하는 타이밍에... 5초 간격으로 검은 화면과 파란 화면만 무한 반복해서 깜빡거리며 멈춰버립니다. 이전에 Snow Leopard 설치를 시도했을 때 겪었던 증상과 똑같습니다.
결국 Leopard로 부팅한 뒤 Snow Leopard 하드를 외장 케이스에 물려 루트에 넣었던 dsdt.aml을 삭제하고, 강제 종료 과정에서 파일 시스템이 깨졌을까 봐 디스크 검사도 돌렸는데 디스크 자체는 멀쩡했습니다.
다시 Snow Leopard로 -x, -x32, 그리고 -x -x32 플래그를 주어 부팅해 봤지만 증상은 똑같습니다.
결국 설치된 시스템이 완전히 깨져버렸네요. 그나마 초기 베이스 이미지를 백업해 둔 게 천만다행입니다!
제가 이전에 여기에 올렸던 첫 번째와 두 번째 dsl 파일은 THe KiNG 님의 첫 번째 튜토리얼을 보고 HDEF 항목 아래쪽만 살짝 수정해 본 것이었고, 나머지 부분은 겁이 나서 건드리지 않았었습니다.
이번 게시물에는 GUI Patcher 1.02에서 강제 컴파일과 newHPET 옵션만 주고 방금 새로 뽑은, 전혀 손대지 않은 순정 상태의 dsl 파일을 첨부합니다.
도대체 왜 그 dsdt.aml 파일 하나 때문에 시스템이 통째로 망가진 걸까요? 그리고 그 파일이 무슨 변화를 일으켰길래 파일을 삭제했는데도 Snow Leopard가 복구되지 않는 걸까요?
일단 백업 이미지를 다시 복원한 뒤 이 dsdt.aml로 깨끗한 상태에서 다시 테스트해 보겠습니다...
참고로 com.apple.Boot.plist에 그래픽 EFI 스트링을 넣어 쓰고 있는데, DSDT에서는 그래픽 관련 수정을 전혀 하지 않았음에도 이런 화면 깜빡임 먹통 증상이 재발해서 어떻게 복구해야 할지 막막합니다.
혹시 짐작 가는 원인이 있으신가요?
제 생각엔 DSDT 때문이 아닌 것 같습니다. 아마 사용 중이신 그래픽 EFI 스트링이 문제일 가능성이 높습니다. Leopard에서 잘 작동하던 그래픽 EFI 스트링이 Snow Leopard에서는 문제를 일으키는 경우가 종종 있다고 들었거든요. 그리고 제가 이 스레드에 올린 plist 파일들을 적용하신 게 맞나요? 파일명을 Info.plist로 바꿔서 원본을 덮어쓰고 디스크 권한 복구 등도 모두 거치셨는지요?
방금 새로 복원한 Snow Leopard에서 글을 씁니다.
제 그래픽 EFI 스트링은 별도의 추가 Kext 없이도 Snow Leopard에서 매번 완벽하게 작동했었습니다. 오직 새 DSDT를 적용한 직후에만 그래픽이 미쳐 날뛰며 먹통이 되더군요.
다만 지난번 시도 때는 님이 올려주신 Info.plist를 올바른 버전의 AppleHDA에 적용했었는지 조금 자신이 없습니다. 일단 DSDT만 먼저 넣고 부팅해서 변화를 확인한 뒤에 제대로 수정한 AppleHDA를 넣으려고 했었거든요. 게다가 DSDT만 단순 복사해 넣었을 때는 권한 복구도 돌리지 않았었습니다.
그래서 지금 복원된 Snow Leopard 상태에서 순정 AppleHDA를 가이드대로 수정하고, 님이 컴파일해 주신 dsdt.aml을 넣어 다시 테스트해 보려고 합니다.
만약 제가 올린 손대지 않은 원본 dsdt.dsl을 직접 수정해 다시 컴파일해 주실 수 있다면 정말 감사하겠습니다. 제가 코드를 잘못 건드려 에러를 유발했을까 봐 불안해서, 고수분이 직접 봐주신 파일이라면 훨씬 안심하고 테스트할 수 있을 것 같거든요.
우선은 지금 있는 파일로 깨끗한 순정 부팅 환경에서 호환성 테스트를 먼저 진행해 보겠습니다.
정말 고맙습니다~~~!
업데이트 1:
만세! 재부팅에 무사히 살아남았습니다! - 아직 소리는 안 나지만, 적어도 시스템 프로파일러에서 Audio ID가 0이 아닌 12로 정상 인식됩니다. 상세 부팅(-v) 중에는 오디오 Kext 관련 메시지가 전혀 뜨지 않네요. 님이 주신 plist로 순정 AppleHDA를 수정해 넣은 상태인데, 이제 3페이지에 올려주셨던 ALC889a용 패치 버전(1.7.1a2)을 적용해 보겠습니다.
업데이트 2: 아뇨, 결과는 완전히 똑같습니다. 여전히 시스템 환경설정에는 입출력 오디오 장치가 하나도 뜨지 않고, 상세 부팅 로그에도 아무런 경고나 메시지가 없습니다. Legacy Kext라는 건 내부에 바이너리 없이 plist만 들어 있는 더미 Kext 맞죠? 이제 순정 AppleHDA + LegacyHDA 조합으로 테스트해 보러 갑니다...
tmongkol 님의 Legacy Kext를 사용하신다면, 내부 plist를 열어서 "LayoutID" 항목을 모두 찾아 12로 변경해 주셔야 합니다. 그리고 HDAEnabler는 쓰실 필요 없습니다.
자꾸 번거롭게 해 드려 죄송합니다... 다시 Leopard로 돌아왔습니다. 다른 조합을 시도해 봤는데 부팅 중 KP가 터졌고, 복구 모드로 들어가 권한 복구를 시도할 때마다 "repair package" 스레드에서 무조건 패닉이 나버려서 완전히 꼬여버렸습니다. Kext Utility를 돌려가며 세 번째 재부팅 만에 겨우 KP 없이 부팅은 마쳤지만 Snow Leopard 시스템은 이미 날아갔네요.
다시 포맷하고 백업 이미지를 복원해야겠습니다. 그래도 죽기 직전에 모든 오디오 포트가 시스템 프로파일러에 매핑되어 뜨는 것까지는 확인했습니다! 희한하게도 포트 매핑이 정상적으로 잡혀서 표시되기만 하면 그 직후에 Snow Leopard가 KP를 일으키며 뻗어버리는 것 같습니다.
다시 처음부터 시도해 보려고 합니다. 거의 다 온 것 같은데 확실히 하기 위해 여쭙니다. 님이 컴파일해 주신 DSDT + Legacy Kext + HDAEnabler 미사용 + 순정 AppleHDA 조합으로 가면 되는 거죠?
저도 GA-P35-DS3R 보드를 사용하고 있습니다.
Snow Leopard를 설치해서 다른 건 다 잘 돌아가는데 사운드만 먹통입니다. 입출력 오디오 장치가 아예 하나도 잡히질 않네요.
이 문제를 해결하려면 어디서부터 시작해야 할지 방향을 좀 잡아주실 수 있을까요?
물론이죠, 바로 이 스레드의 1번 게시물(본문 가이드)에 모든 방법이 나와 있습니다. 본문에 적힌 단계들을 따라 해 보셨나요?
Mormegil 님,
클린 재설치 후 님이 주신 DSDT와 순정 AppleHDA, 그리고 LegacyHDA Kext를 적용했습니다. 이제 시스템 프로파일러에서 모든 장치가 다음과 같이 나타납니다:
Intel High Definition Audio:
Device ID: 0x10250146
Audio ID: 12
Available Devices:
Internal Microphone:
Connection: Internal
Speaker:
Connection: Internal
External Microphone:
Connection: 1/8-Inch Jack
하지만 여전히 소리는 나지 않으며(시스템 환경설정에는 출력 장치가 안 뜹니다), LayoutID를 수정하지 않았을 때와 결과가 똑같습니다.
LegacyHDA의 plist 내부를 보니 일부 LayoutID가 889로 되어 있던데, 이것들도 전부 12로 바꿔야 하나요? 일단 저는 모두 12로 바꿔서 넣었습니다.
정말 멋진 가이드네요!
질문이 하나 있습니다: 이 방법을 쓰면 별도의 Legacy Kext는 전혀 필요 없는 건가요?
제 DSDT를 다시 한 번 점검하러 가봐야겠습니다!
Show 153 additional community field notes (#31–#183)
So you downloaded tmongkol's legacy kext. There should be a few in the package. Only choose one. Then, edit all LayoutID's from 889 or 885 to 12.
Yes, I have, I only tried the 3out2in HDA and analog for 889 and 885.
And yeah, one at the time, since they are all named the same
Once I tried all layouID's ( "0", "65647 something", and "889"'s)
In Snow's dsl he has two HDEF entires, I only have one.
Where he reads
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USBE, 0x02)
Notify (\_SB.PCI0.USE2, 0x02)
Notify (\_SB.PWRB, 0x02)
Notify (\_SB.PCI0.HDEF, 0x02)
I have;
Method (_L0D, 0, NotSerialized)
{
}
The other entry is exactly the same
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)
}
}
So should I copy this in and recomplie?
And should I try with or without legacy?
(In the donwloaded tutorial folder containing the legacy kext archives, there is an HDAenabler there...)
Your dsdt is fine. Don't touch it anymore. Make sure to change ALL LayoutIDs! Or just use the plists I made and you don't have to change anything.
Edit: I meant all LayoutID so long as they're 889 or 885. This confusion can be totally avoided to be honest if tmongkol hadn't messed up with layoutid's to make it look "good". It only changes the number in Sys Profile. Thats the number 12 you see btw.
I tried that!
I just found out something.
In Snow's file he has
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)
}
}
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,14,15}
})
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFB, One, IRQV)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (One, Local0, IRQV)
Return (BUFB)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQ1)
FindSetRightBit (IRQ1, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
While I only have
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 seem to be missing alot of code! And what about the first entry I seem to be missing too?
Are you sure mormegil?
That's because those code were there originally in his stock dsdt while yours didn't. Just like mine.
If you can see the ports in SysProf and still no sound, then your configdata is correct but your pathmaps are not right. You might have a different variant of the same codec. Are you on a laptop? You sure your codec is 889a (885 address 3)?
It's fine since you're showing before and after injecting the code. It just shows the important fact that dsdt is system specific and just blindly adding code into it will result in compilation errors etc.
Yup, check it out.
First I'll try mormegil's compile with patched AppleHDA.
For learning sake, I tried to copy Snow's entry code, but I cant recompile no matter what
I am sure its a .dsl file, it outputs one error, says done, but no aml to be found. Lust be missing something... back to testing
off to try plist into vanilla HDA
Yep, laptop here,
I did follow Snow's tutorial in the first page, if I patch vanilla AppleHDA, I loose system profiler devices.
Just tripled checked with google, and linux folk normally take no prisoners...
laps pecs.com/wiki/acer+aspire+6935g#sound
Sound
Sound Controller Realtek ALC889A High Definition Audio
Speakers 2 plus Subwoofer
Internal Microphone Yes
Headphone Port Yes
Microphone Port Yes
Line In Port Yes
S/PDIF In Port No
S/PDIF Out Port Yes, shared with headphone out
I wished there were karma point in this forum, you guys certainly deserve it!
Think I know what's wrong. Just checked the plists I made for Snow and the legacy kexts. Turns out they are for different codecs! Both are 889a but the former is address 3 and the latter is address 2. You need to be certain first which of the two is yours. I've made 2 sets now.
SL 889a 1.7.4 AppleHDA plists:
Dudes!
Just found out more relevant info.
Check this out...
patched with address 3, no verbose message, system profiler looses ports.
patched with address 2, assertion "0" errors in boot, sys profiler shows 1 digital port
Then I saw that the plist mormegil provided had different icons. One is plain white, the other has image. I open the ones that have image with text edit, select save as, name in info.plist and UNCHECK the box that says "If no extension is provided name .txt"
Now this makes a blanc icon plist. I checked, and before it was not .txt, but icon different.
Re-patch address 3 plists, repair, reboot, first boot KP with AppleHDA dependancies, second boot assertion "0", no sound but system profiler does show all ports! This is the first non-vanilla kext that does this! Well done.
Still no sound, but one step closer!
Since you're on a lappy, the only way to properly write your own plists is to create your own codec dump in linux or find one on the internet. Try searching acer laptop forums for example.
The thing is, all the codec dumps we've been using are those for desktop models. Which means 4 analog outs, 2 analog ins at the back and possibly digital ins/outs too. Plus internal ports for connecting to the front connector. Your laptop definitely do not have all these ports and so your layout/pathmaps might be different. So which set is showing all ports correctly in Sys Prof?
What if a port shares 2 connection?
I'll look for my codec dump.
UPDATE: I found this, possible codec dump. The susbsytem is 0x10250146 which maches what my system profiler Device ID number.
its for the same chip, and from a close acer model to mine. Is this the sort of thing you need? never seen a codec dump before. I'll keep searching for my exact dump, it must be around.
Tried posting code, too long. here is the link.
74.125.39.104/search?q=cache:VoaIl_R4ekkJ:pastebin.ca/raw/1027475+Vendor+Id:+0x10ec0889+Subsystem+Id:+0x10250146&hl=de&ct=clnk&cd=1
Ok, I think this might do it.
A codec dump for acer 6920g -
00:1b.0 0403: 8086:284b (rev 03)
and has the same DeviceID / sybsystem as me.
Mormegil, up for some more of your black magic? :
And if you show me how, I'll be glad to take it from there... but this one HAS to work damn it ! The specs are almost identical to my model !
If you're certain it matches yours, just go through King's guide. He'll guide you step by step. You will understand things more clearly by reading it.
forgot to upload dump...
I'm at work now, so I'll only be able to try later on.
Ahh! You have a true 889 codec as opposed to the fake 889 (renamed 885). All the above plists are useless for you then. Also, your pinconfig are different as I expected and you might have to hex edit your binary.
Try this out
SL 1.7.4 AppleHDA.kext for acer 6920g alc889:
Back to no Audio devices listed.
So far, only vanilla AppleHDA and patched with the first two plist you did for Snow (which I guess are the one he updated the first post with) wake up the ports...
isnt this just frustrating
Sorry. Nothing much I can do if I don't have your actual codec dump. Will be much easier if we put the guessing out of the picture.
aaaarggg...
tried dumping with voodoohdahelper..
got "dylib" error, which I know I fixed before, fixed it again, ran the dump again, no dylib errors but still
error: IORegistryEntryGetPath returned 0x10000003
I cant find my wifiway linux distro anywhere, so back to google for now...
Why wont voodoo work for me ?
EDIT: Hey ! I found a cool little app that assists in extracting and patching DSDT, containing LOADS of fixes... check it out
osx 86.es/?p=610
english below spanish section
Try this:
AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist/IOKitPersonalities/HDA Hardware Config Resource/HDAConfigDefault/10/ConfigData
Change ALL the first HEX value to 3. For example 21871C40 to 31871C40.
If that doesnt work, try 0. For example 21871C40 to 01871C40.
I certainly will !
But I just tried that app and copied in the HDEF fix, and for the first time EVER I managed to compile a DSDT.aml, zero errors ! (first mpart exactly like you did, second with the missing code that Snow has and I dont that I "complained" about before")
Look what turned up.
Let me just reboot back with vanilla then Voodoo...
New dsdt with both your address 2 and 3 patch bring back "your dsdt" mappings, except audio ID read 889 not 12.
What do you say, keep trying this new dsdt or the one you made?
going to attempt your latest suggestions on your address 2 patched kext...
Mormegil, sorry, got confused. trying to follow your path... after info.plist, I open with text edit and only find
<key>CFBundleVersion</key>
<string>1.7.4a1</string>
<key>IOKitPersonalities</key>
<dict>
<key>HDA Platform Resource</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHDAPlatformDriver</string>
<key>CommonPeripheralDSP</key>
<array>
<dict>
Slighty confused, because I cannot find the rest you mention
Sorry. I've fixed the path. And use my dsdt pls. The one you created is useless. I know it shows up all nice in Sys Prof but you're basically telling it what to show on the screen. I doubt you really have all that ports on your laptop. Showing up in Sound Preferences is all that matters.
ps. that dsdt app is bloody awesome!
thnx for the guide !
one question..
I've made a mistake and installed VoodooHDA kext.. sound wokrs..but, microphone doesn't.. being its a beta version of the kext..
is there a way to delete this kext, and do it all over again? (setting up audio) and how do i remove already installed kext ?
thnx !
Delete the kext from folder, then go to spotlight and write "disk utility", choose system drive and click Repair Permissions.
I followed the steps on Page 1 but I noticed that I have more sound coming out of one speaker than the other. I only have 2 speakers an a subwoofer. Does that sound normal or am I doing something wrong with getting the ALC889a to work?
Morm,
Tried both with 3 and 0... just to double check, mind taking a look if I did it right?
back no audio devices listed is system profiler.
because your path still confuses me (yep, read your PM). You seen, inside the plist, ther is no "/HDAConfigDefault/10/ConfigData"
take a look... I went and changed all hex to start with zero in this one, all the way to the bottom.
I noticed some had minus signs before them, this one doesnt becaus I just did it to show you, I replaced S/L/E with vanilla so I had to do it again quick to show you
This is the "0" one
string>????</string>
<key>CFBundleVersion</key>
<string>1.7.4a1</string>
<key>IOKitPersonalities</key>
<dict>
<key>HDA Hardware Config Resource</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHDAHardwareConfigDriver</string>
<key>HDAConfigDefault</key>
<array>
<dict>
<key>AFGLowPowerState</key>
<data>
AwAAAA==
</data>
<key>CodecID</key>
<integer>083904133</integer>
<key>ConfigData</key>
<data>
AYccQAGHHXABhx4hAYcfAQGnHDABpx0BAace
EwGnH5ABlxwQAZcdMQGXHoEBlx8BAVccUAFX
HUEBVx4BAVcfAQH3HCAB9x3hAfcexQH3HwEB
5xxgAecd4QHnHkUB5x8BAUcc8AFHHQABRx4A
AUcfQAFnHPABZx0AAWceAAFnH0ABdxzwAXcd
AAF3HgABdx9AAbcc8AG3HQABtx4AAbcfQAHH
HPABxx0AAcceAAHHH0AB1xzwAdcdAAHXHgAB
1x9A
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>0</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>0206496384</integer>
<key>ConfigData</key>
<data>
ALccQAC3HXAAtx4hALcfAQDHHDAAxx0BAMce
EwDHH5AA9xwQAPcdMAD3HoEA9x8BAKccUACn
HUAApx4BAKcfAQEXHCABFx3gARcexQEXHwEB
BxxgAQcd4AEHHkUBBx8BANccDwDXHQAA1x4A
ANcfQADnHA8A5x0AAOceAADnH0ABVxwPAVcd
AAFXHgABVx9AAbccDwG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>0</integer>
</dict>
<dict>
<key>Codec</key>
<string>Cirrus Logic CS4206</string>
<key>CodecID</key>
<integer>069697542</integer>
<key>ConfigData</key>
<data>
ABcgAAAXIQAAFyJrABcjEACXHFAAlx1wAJce
IQCXHwEApxxBAKcdYQCnHhAApx+QALccQAC3
HWEAtx4QALcfkADHHCAAxx0BAMcegQDHH5EA
1xwQANcdAQDXHqAA1x+QAOcc8ADnHQAA5x4A
AOcfQAD3HDAA9x0BAPcexQD3HwEBBxxgAQcd
AQEHHkUBBx8BAScc8AEnHQABJx4AAScfQAFX
HPABVx0AAVceAAFXH0A=
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>0</integer>
</dict>
<dict>
<key>Codec</key>
<string>Wolfson WM8800</string>
<key>CodecID</key>
<integer>051708928</integer>
<key>ConfigData</key>
<data>
ABcgAAAXIQAAFyIAABcjAAEXHFABFx1AARce
KwEXHwEBJxxAAScdAQEnHhABJx+QATccQQE3
HQEBNx4QATcfkADXHBAA1x0BANceoADXH5AA
xxwgAMcdMADHHosAxx8BAPccYAD3HeAA9x5L
APcfAQEHHDABBx3gAQceywEHHwEA5xzwAOcd
AADnHgAA5x9AAWcc8AFnHQABZx4AAWcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>0</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>0088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>2</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>0088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANccQQDX
HQEA1x4QANcfkADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>4</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>0088470912</integer>
<key>ConfigData</key>
<data>
AKccQACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxwwAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccUAEHHeABBx5L
AQcfAQEXHPABFx0AARceAAEXH0ABVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>6</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>0088470912</integer>
<key>ConfigData</key>
<data>
AKccQACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxwwAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccUAEHHeABBx5L
AQcfAQEXHPABFx0AARceAAEXH0ABVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>7</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>-0088470912</integer>
<key>ConfigData</key>
<data>
AKccQACnHUAApx4rAKcfAQC3HPAAtx0AALce
AAC3H0AAxxwwAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwQAPcdMAD3HosA9x8BAQccUAEHHeABBx5L
AQcfAQEXHCABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>8</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>-0088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANccQQDX
HQEA1x4QANcfkADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>10</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>083904133</integer>
<key>ConfigData</key>
<data>
AZcdMAH3HeE=
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>12</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>-0088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>14</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>-0088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>15</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>083904133</integer>
<key>ConfigData</key>
<data>
AUcc8AFHHQABRx4AAUcfQAFXHDABVx1AAVce
AAFXHwEBZxzwAWcdAAFnHgABZx9AAXcc8AF3
HQABdx4AAXcfQAGHHBABhx1AAYceIAGHHwEB
lxwgAZcdMAGXHoABlx8BAaccUAGnHQEBpx4Q
AacfkAG3HPABtx0AAbceAAG3H0ABxxzwAccd
AAHHHgABxx9AAdcc8AHXHQAB1x4AAdcfQAHn
HHAB5x3gAeceRQHnHwEB9xxgAfcd4AH3HsUB
9x8B
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>36</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>083904133</integer>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>63</integer>
<key>MikeyAFGLowPowerState</key>
<data>
AQAAAA==
</data>
</dict>
<dict>
<key>CodecID</key>
<integer>083904133</integer>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>64</integer>
<key>MikeyAFGLowPowerState</key>
<data>
AQAAAA==
</data>
</dict>
<dict>
<key>CodecID</key>
<integer>069697542</integer>
<key>ConfigData</key>
<data>
AMcdMA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>77</integer>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
AwAAAA==
</data>
<key>CodecID</key>
<integer>069697542</integer>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>06392</integer>
</dict>
</array>
<key>IOClass</key>
<string>AppleHDAHardwareConfigDriver</string>
<key>IOMatchCategory</key>
<string>AppleHDAHardwareConfigDriver</string>
<key>IOProviderClass</key>
<string>AppleHDAHardwareConfigDriverLoader</string>
<key>PostConstructionInitialization</key>
<array>
<dict>
<key>CodecID</key>
<integer>083904133</integer>
<key>Layouts</key>
<array>
<integer>36</integer>
<integer>38</integer>
<integer>52</integer>
<integer>53</integer>
</array>
<key>widgets</key>
<array>
<dict>
<key>MicAttributes</key>
<integer>28</integer>
<key>MicInfo</key>
<string>Sampled on rising edge</string>
<key>NodeID</key>
<integer>39</integer>
<key>PinConfigDefault</key>
<integer>2426405136</integer>
</dict>
</array>
</dict>
<dict>
<key>Codec</key>
<string>Cirrus Logic CS4206</string>
<key>CodecID</key>
<integer>069697542</integer>
<key>Layouts</key>
<array>
<integer>0</integer>
</array>
<key>widgets</key>
<array>
<dict>
<key>NodeID</key>
<integer>22</integer>
<key>PinConfigDefault</key>
<integer>2073742064</integer>
</dict>
</array>
</dict>
<dict>
<key>Codec</key>
<string>Wolfson WM8800</string>
<key>CodecID</key>
<integer>051708928</integer>
<key>Layouts</key>
<array>
<integer>67</integer>
<integer>73</integer>
</array>
<key>widgets</key>
<array>
<dict>
<key>MicInfo</key>
<string>WM8800 External Microphone Virtual Pin Complex</string>
<key>NodeID</key>
<integer>24</integer>
<key>PinConfigDefault</key>
<integer>08020848</integer>
</dict>
</array>
</dict>
</array>
</dict>
</dict>
<key>OSBundleCompatibleVersion</key>
<string>1.0.0d1</string>
Thanks for the guide, i have sound output now but input doesn't work. I can use my mic on leopard on the same input jack (red one) but on snow leo i've tried all ports on the board. None have worked.
My board is GA EP45-DQ6
Is there anyone have a solution for this?
<dict> <key>CodecID</key> <integer>083904133</integer> <key>ConfigData</key> <data> AZcdMAH3HeE= </data> <key>FuncGroup</key> <integer>1</integer> <key>LayoutID</key> <integer>12</integer> </dict>
You only need to change this part since your layoutid in dsdt is set to 12. All other layouts can be deleted if you want to. Do it to the patched kext I made! Not the vanilla.
And change ConfigData, not CodecID. Use PlistEditPro (cid-8b65993ef55cf014.skydrive.li ve.com/browse.aspx/.Public/OSx86/Snow%20Leopard/Applications%20for%20OSx86%20%7C5aplikacje%7C6?view=details) to edit plists. ConfigData should be in the form 21871C40 21871D90 … Not "AZcdMAH3HeE=" like you see above.
AAAAAH !
Got it ! Plist editor is a MUST ! thanks for the tip! Rebooting with "0" them "3"... be right back
Sooooooooo close...
MORM !
"3" did nothing but...
"0" DID ! (weird, but...)
During verbose boot it trigger double the errors assertion"0"
I have different port mapping in sys profiler (my system spec precisely!) , but I now have options in system preferences and audio icon displays there is sound!
One unknown mapped output
But there isnt any sound looool ! nothing... I'm x32 now, will try 64, then boot into linux to try to get dump.
You ROCK !
:-& F*CK man...
I just rebooted into x64, nothing, back to normal port mapping, no sound.
So I wanted to aggregate device (never done it, wanted to try and see), so I reboot into x32
GONE ! nothing, just like before... nothing in system preferences...
What is going on?
Ah finally it worked I had to manually do your ConfigData from scratch using the codec dump you linked. Glad I did everything right. All ports properly mapped and all.
Booting into x64 has nothing to do with dsdt or applehda.
and btw, the unknown output might be your HDMI audio
Right, but I have NO SOUND !
Plus, I went into a linux live CD, got the dumps, reboot x32 and now the mapping is again different showing only digital out, and again nothing in system prefenrences.
anyways, here is the dump.
used
cat /proc/asound/card0/codec#2 > ~/Desktop/code_dump2.txt
because codec 1 brought back only
Codec: LSI ID 1040
Address: 1
Vendor Id: 0x11c11040
Subsystem Id: 0x10250146
Revision Id: 0x100200
Modem Function Group: 0x1
You've got it once. I take it the problem is solved. Just retrace your steps.
That's only the hdmi portion btw. Try codec0.
Man, I did nothing except normal reboot ...
I go get the codecs
Just like others here, I'm trying to fix a silent 10.6 machine. My machine is a Clevo M570RU-U, with an ICH8M, and a Realtek 883 codec. I've been through TheKing's procedure to create a patched AppleHDA.kext, adapted to Snow Leopard with the excellent information in this thread. The machine runs 10.6 32bit, since I need functional VMware Fusion.
I tried the easy solution of VoodooHDA.kext, but that does nothing for me, and 'voodoohelper -dump' returns the 'error: IORegistryEntryGetPath returned 0x10000003' error that indicates that Voodoo HDA found no devices functional.
My issue is that I don't see any audio devices, in System Profiler, and, of course, there are no input or output devices available under System Preferences/Sound. This machine never ran 10.5, so I don't have exiting functional codecs to work from.
I am attaching the source for my dsdt.aml, and all the items that were necessary to follow TheKing's document, and the resultant Info.plist files. I'm also attaching the codec dumps. Last, I'm attaching a screen capture from my System Profiler, Audio section.
If anyone has time, and is willing to take a look, it would be greatly appreciated.
@GurruwiwiMan, I did nothing except normal reboot ... I go get the codecs
The prob might be with codec address (the leading hex that I asked you to change). One time it works with 3 and next it works with 0. Try this:
/* Sample */ "ConfigData", Buffer (0xA0) { /* 0000 */ 0x21, 0x87, 0x1c, 0x40, 0x21, 0x87, 0x1d, 0x90, /* 0008 */ 0x21, 0x87, 0x1e, 0xA1, 0x21, 0x87, 0x1f, 0x01, /* 0010 */ 0x21, 0x97, 0x1c, 0x50, 0x21, 0x97, 0x1d, 0x90, /* 0018 */ 0x21, 0x97, 0x1e, 0xA1, 0x21, 0x97, 0x1f, 0x02, /* 0020 */ 0x21, 0xa7, 0x1c, 0x60, 0x21, 0xa7, 0x1d,…
Insert it in your dsdt above "layout-id". It's for my codec (alc888). You'll have to convert your "ConfigData" in plist into it. Just separate them into bytes and add "0x" in front.
Example: 21871c40 -> 0x21, 0x87, 0x1c, 0x40
Also
Buffer (0xA0)
needs to be changed. Mine has a total of 160 bytes if you count above. So 160 (decimal) = A0 (hex)
Lastly
Method (_DSM, 4, NotSerialized) { Store (Package (0x08)
Increase the size "0x08" if you're getting compile error.
What this does is hopefully set your codec address in dsdt so it stays fixed. Try codec address 0 thru 3 and report back.
@: ajacocks
Why are your kexts empty?
Your codec 10ec0883 is not natively supported. You'll have to patch the AppleHDA binary. You want to replace a supported codec such as 10ec0885 (alc885,889a).
So open up the AppleHDA binary in AppleHDA.kext/Contents/MacOS with hex edit.
Search for "8508ec10" (byte-flip of "10ec0885") and replace with "8308ec10" (byte-flip of "10ec0883").
There should be 4 instances in the SL kext.
Holy sh...
Ok, off to work on that right now!
EDIT: LOL.. morm, I just booted into SL to start editing DSDT again, did nothing at all except pop in the SL HDD, no sound, but audio is fully mapped, and present in system preferences, active audio icon in taskbar !
Tried playing around with agg.devices... no sound. Seems the built in audio's master volume is completely down and greyed out.
Going to try to edit that hex in, hope I do it right...
If they are in sound pref then there should be sound! Have you tried plugging a headphone or mic to test? Internal speakers might be too soft to hear.
edit: My master volume in aggregate device is also greyed out for every port. Doesn't really matter.
Quick question. Do I just copy the one you pasted into my dsdt then modify ConfigData to match it, or the other way around?
mormegil,
Ahhh...thanks for filling me in, about the codec. Is there nothing else that needs doing, to patch the codec, other than changing the identifier from 10ec0885 to 10ec0883? That seems very simple. I'll give that a shot, though, and see what happens.
EDIT: No luck with the edited codec, either. I think something's wrong with my DSDT.aml, though, since the System Profiler still shows no device information, as in that picture that I uploaded. Do you see anything that I missed?
My kexts aren't really empty, I just left out everything but the Info.plist files, to save space in the upload. I have uploaded my entire AppleHDA.kext file, attached to this post. How do my changes look? I used layout 12, as the guide suggested.
@ Gurruwiwi
Doesn't matter. As long as it appears as above but with your configdata instead.
@ ajacocks
You seem to be doing fine with King's guide. I see all the required files in your attached package.
Once you're done patching the binary, you'll have to fix the plists. Your codec id in decimal should be changed to 283904131.
Your dsdt is fine. All it does is inject your audio. As long as you see an audio device in Sys Profiler it's all good.
Edit: I just saw the pic u uploaded. It's supposed to be that way if you haven't got the working plists.
Morm, while I was waiting I ran a small test. I think it can be useful for others to know, to not judge a KP on its own.
I cyclically rebooted in verbose, changing nothing. There is a sort of a pattern.
First reboot from "mapped - sound- but no audio heard" status
- KP
- 1x set of "Assertion "0"" errors during boot - no mapping
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
- 1x set of "Assertion "0"" errors during boot - no mapping
- 1x set of "Assertion "0"" errors during boot - no mapping
- KP
- 1x set of "Assertion "0"" errors during boot - no mapping
- 1x set of "Assertion "0"" errors during boot - no mapping
- KP
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
- KP
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
Seems something is being re-set... could it be a similar CMOS reset bug?
Going to try the DSDT and ConfigData, just waiting for your input as it looks like a hell of a lot of work...
EDIT: You posted while I was typing. Going to try it now.
Forgot to mention. When audio is mapped, I tried plugging in headphones and microfphone. Mic does nothing, but headphone makes system profiler hang. It does seem to try switching devices, but nothing happens. Beach ball spins round, OS stops responding, have to force quit profiler, but it struggles to do it. Once removed it manages to force quit, and OS response is back
OK, I made all the changes, mormegil, to AppleHDA.kext, including replacing 8508ec10 with 8308ec10. However, I still have no sound.
I noticed something interesting in my system.log, though:
9/6/09 11:11:55 AM com.apple.kextd[10] Can't load /System/Library/Extensions/AppleHDA.kext - no code for running kernel's architecture.
9/6/09 11:11:55 AM com.apple.kextd[10] Failed to load /System/Library/Extensions/AppleHDA.kext - (libkern/kext) requested architecture/executable not found.
9/6/09 11:11:55 AM com.apple.kextd[10] Load com.apple.driver.AppleHDA failed; removing personalities.
That's rather odd. I never changed any executables in the .kext file. Any idea what's going on, here? I'm running 32bit 10.6.
EDIT: I replaced AppleHDA.kext from my 10.6 install DVD, and that error went away. The failed sound assertions are back, of course, since this is a stock kext. I'm going to try putting the Info.plist files back, first, then hex editing the AppleHDA file, to see which broke it.
That applehda.kext you posted earlier. Is that patched or not? and why do you have info.plist in root of AppleHDAHardwareConfigDriver.kext/AppleHDAPlatformDriver.kext? It shdn't be there. Should be under Contents.
Ok
got my configdata to text pad, then copied to dsdt format, had to add 4 lines from your quote above, so I just followed the line numbering. Could that imply I need a higher hex "buffer" values, if mine is 4 lines longer its not going to be 160byte. How to calculate this and transform to hex value?
Mind taking a look to see if I did it right? Plus, when you say "above layout-id", you did mean after right?
Tried recompiling, got 27 errors!
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"layout-id",
Buffer (0xA0)
{
/* 0000 */ 0x01, 0x87, 0x1c, 0x40, 0x01, 0x87, 0x1d, 0x90,
/* 0008 */ 0x01, 0x87, 0x1e, 0xA1, 0x01, 0x87, 0x1f, 0x02,
/* 0010 */ 0x01, 0x97, 0x1c, 0x50, 0x01, 0x97, 0x1d, 0x11,
/* 0018 */ 0x01, 0x97, 0x1e, 0x11, 0x01, 0x97, 0x1f, 0x41,
/* 0020 */ 0x01, 0xa7, 0x1c, 0x60, 0x01, 0xa7, 0x1d, 0x30,
/* 0028 */ 0x01, 0xa7, 0x1e, 0x81, 0x01, 0xa7, 0x1f, 0x02,
/* 0030 */ 0x01, 0xb7, 0x1c, 0x70, 0x01, 0xb7, 0x1d, 0x11,
/* 0038 */ 0x01, 0xb7, 0x1e, 0x11, 0x01, 0xb7, 0x1f, 0x41,
/* 0040 */ 0x01, 0x47, 0x1c, 0x10, 0x01, 0x47, 0x1d, 0x01,
/* 0048 */ 0x01, 0x47, 0x1e, 0x13, 0x01, 0x47, 0x1f, 0x99,
/* 0050 */ 0x01, 0x57, 0x1c, 0x20, 0x01, 0x57, 0x1d, 0x10,
/* 0058 */ 0x01, 0x57, 0x1e, 0x21, 0x01, 0x57, 0x1f, 0x02,
/* 0060 */ 0x01, 0x67, 0x1c, 0x30, 0x01, 0x67, 0x1d, 0x11,
/* 0068 */ 0x01, 0x67, 0x1e, 0x11, 0x01, 0x67, 0x1f, 0x41,
/* 0070 */ 0x01, 0x77, 0x1c, 0x80, 0x01, 0x77, 0x1d, 0x11,
/* 0078 */ 0x01, 0x77, 0x1e, 0x11, 0x01, 0x77, 0x1f, 0x41,
/* 0080 */ 0x01, 0xe7, 0x1c, 0x90, 0x01, 0xe7, 0x1d, 0x11,
/* 0088 */ 0x01, 0xe7, 0x1e, 0x45, 0x01, 0xe7, 0x1f, 0x02,
/* 0090 */ 0x01, 0xf7, 0x1c, 0xa0, 0x01, 0xf7, 0x1d, 0x11,
/* 0098 */ 0x01, 0xf7, 0x1e, 0x11, 0x01, 0xf7, 0x1f, 0x41,
/* 0100 */ 0x01, 0x27, 0x1c, 0xb0, 0x01, 0x27, 0x1d, 0x01,
/* 0108 */ 0x01, 0x27, 0x1e, 0xA3, 0x01, 0x27, 0x1f, 0x99,
/* 0110 */ 0x01, 0x17, 0x1c, 0xc0, 0x01, 0x17, 0x1d, 0x11,
/* 0118 */ 0x01, 0x17, 0x1e, 0x56, 0x01, 0x17, 0x1f, 0x18
},
{
0x0C, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Mormegil,
Thanks for taking so much time to help me.
I went back, and fixed the locations of the Info.plist files, and re-hexedited the AppleHDA file. I now get the AppleHDA.kext to load, but I get the following exceptions in my system.log:
9/6/09 11:42:27 AM kernel Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
9/6/09 11:42:27 AM kernel Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
I'll update this post, in a second, with the Info.plist files replaced with the ones that you sent me. What did you change?
Attached is the appleHDA.kext that caused those assertions to fail.
@ Gurru
Read again what I wrote. What you have done is completely replace your layoutid with your configdata. I said copy the WHOLE code into your dsdt. Not replace stuff. Wheres the "ConfigData" header?
Looks like I have to do everything for you then:
Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x0B) { "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "ConfigData", Buffer (0xC0) { /* 0000 */ 0x01, 0x87, 0x1c, 0x40, 0x01, 0x87, 0x1d, 0x90, /* 0008 */ 0x01, 0x87, 0x1e, 0xA1, 0x01, 0x87, 0x1f, 0x02, /* 0010 */ 0x01, 0x97, 0x1c, 0x50,…
Mormegil,
AAH...I see what you mean about the misplaced Info.plist file in AppleHDAPlatform. I must have typoed a replacement, at some point. Anyway, I replaced those Info.plist files with the ones that you sent, and rebooted. I still get those assertion failures.
Attached current AppleHDA.kext file.
@mormegil@ Gurruwiwi Doesn't matter. As long as it appears as above but with your configdata instead.
Morm, please bear with me... this is all brand new territory for me.
I did ask you precisely that, and you replied the quote above!
Ok... so I copy exactly what you pasted into my dsdt
Question: Did I place it right like my example above?
Then do what with configdata? Right now it reads like this; its the "0" mod I made. from yesterday that woke up the right port mapping
01871C40 01871D90 01871EA1 01871F02 01971C50 01971D11 01971E11 01971F41 01A71C60 01A71D30 01A71E81 01A71F02 01B71C70 01B71D11 01B71E11 01B71F41 01471C10 01471D01 01471E13 01471F99 01571C20 01571D10 01571E21 01571F02 01671C30 01671D11 01671E11 01671F41 01771C80 01771D11 01771E11 01771F41 01E71C90 01E71D11 01E71E45 01E71F02 01F71CA0 01F71D11 01F71E11 01F71F41 01271CB0 01271D01 01271EA3 01271F99 01171CC0 01171D11 01171E56 01171F18
Today is the day man, it has to be! :
And I am learning like hell with you, I dont want you to do everything for me, I'm loving this experience! I'll surely pass this on to the little league, leaving you big boys to plow away into new territory!
@ajacocks
Is your sound working?
@gurru
have you compiled yet? What configdata? in your plist?
Waiting for you input if the example above is correct. You say "place about layout-id" but I think you may have meant "below"
yes, that config data from info.plist inside applehda/AppleHDAHardwareConfigDriver/plist/etc etc
I assume that is the "configdata header" you asked for just now...?
Man, you last quote (dsdt correctly pasted by you) right now didnt load ! I only just saw it! Going to compile.
@mormegilInsert it in your dsdt above "layout-id". It's for my codec (alc888). You'll have to convert your "ConfigData" in plist into it. Just separate them into bytes and add "0x" in front.
…
mormegil,
No, my sound isn't working. I have no input and no output devices listed in the Audio part of System Preferences.
I also get those assertion failures that I pasted in, above, when a sound tries to play.
Thanks so much for continuing to help!
@GurruwiwiWaiting for you input if the example above is correct. You say "place about layout-id" but I think you may have meant "below" yes, that config data from info.plist inside applehda/AppleHDAHardwareConfigDriver/plist/etc etc I assume that is the "configdata header" you asked for just now...?
I meant this:
"ConfigData", Buffer (…
from the code I pasted initially
@ajacocksmormegil, No, my sound isn't working. I have no input and no output devices listed in the Audio part of System Preferences. I also get those assertion failures that I pasted in, above, when a sound tries to play. Thanks so much for continuing to help!
Is the codec dump made by yourself or did you download it? You're on a lappy too yeah?
Yes,... and you pasted BELOW layout-id..
Oh please, lets not make a big deal out of this... You know what you are doing, I dont! I'm just following your lead. I am your dsdt bitch right now
repalced the whole hdef section with what you asked. Does not recompile and produces 47 errors. Here is the log and the dsl file I made, and my "clean" dsdt.dsl
You'll be as famous as fassl and netkas man loool... this is a huge deal with many laptop alc889a !
@GurruwiwiYes,... and you pasted BELOW layout-id.. Oh please, lets not make a big deal out of this... You know what you are doing, I dont! I'm just following your lead. I am your dsdt bitch right now repalced the whole hdef section with what you asked. Does not recompile and produces 47 errors. Here is the log and the dsl file I made, and my…
it's fine. no errors. only warnings which can be ignored.
But I cant compile, no output aml with iaslme app... tried 3 times
What about my codec dump, didnt you need it? Codec 0 was the right one
@mormegilIs the codec dump made by yourself or did you download it? You're on a lappy too yeah?
Yep, this is a laptop...a 17" desktop replacement. I made the codec dump myself, using a Ubuntu 9.04 x64 livecd, following TheKing's instructions.
@ajacocksYep, this is a laptop...a 17" desktop replacement. I made the codec dump myself, using a Ubuntu 9.04 x64 livecd, following TheKing's instructions.
try this set
mormegil,
Thanks, but no luck that way, either:
9/6/09 3:09:51 PM kernel Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
9/6/09 3:09:51 PM kernel Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
I did notice that System Profiler lists the audio device as ID 12. I'm assuming that came from my DSDT, but I hadn't noticed it. (attached picture)
You're having similar issues as me, same "goto" lines etc.
Going to try kings tutorial once more, now that I've got my correct codecs, but I always seem to have issues recompiling dsdt... Why wont iaslme let me recompile?
Morm,
Following Kings guide, I'm already stuck. Downloaded graphviz and codecgraph, followed everything exactly (not really a big deal) - but when I type in the terminal the "/codecgraph codec_dump.txt" it brings back
Codec: Realtek ALC889
Generating codec_dump.txt.svg
Format: "svg" not recognized. Use one of:
Big-Bang-MacBook-Pro:codecgraph bigbang$
Whats wrong ?
Guru,
What version of codecgraph are you using? When I try it, it works fine:
[~/Documents/codec/codecgraph-20090522]
ajacocks@telemachus$ ./codecgraph ~/Documents/codec/CodecDump/card0-codec#0.txt
Codec: Realtek ALC883
Generating card0-codec#0.txt.svg
[~/Documents/codec/codecgraph-20090522]
ajacocks@telemachus$ file card0-codec#0.txt.svg
card0-codec#0.txt.svg: XML 1.0 document text
[~/Documents/codec/codecgraph-20090522]
ajacocks@telemachus$ ls -l card0-codec#0.txt.svg
-rw-r--r-- 1 ajacocks staff 114569 Sep 6 16:51 card0-codec#0.txt.svg
The one from king's guide, and the only one available in the developer's download page.
Could you do it form me please?
Oh man, that was super! On to the next part, windows and voodoohelper dumps
Update: Again... I had forgotten about it. voodoohelper can't dump. Says;
error: IORegistryEntryGetPath returned 0x10000003
:
morm ?
@GurruwiwiOh man, that was super! On to the next part, windows and voodoohelper dumps Update: Again... I had forgotten about it. voodoohelper can't dump. Says; error: IORegistryEntryGetPath returned 0x10000003 : morm ?
I've fixed your dsdt. Dunno if it'll work
could you plz re-upload AppleHDA.kext about alc888
sorry to bothering you.
I read the your post about alc888 (this post, #8)
I downloaded attached file, but that file was broken.
It's not extract properly.
so, could you plz re-upload AppleHDA.kext about alc888?
Mormegil,
Does the fact that voodoohelper can't dump, for me either, mean anything? I'm not quite sure where else to go from here.
So i tried the new dsdt Morm... and it broke my install again. Don't understand why, I deleted the new dsdt, then applehda, the put it back in, tried old dsdt... nothing. KP's mid way from "unkown" process, or gets passed that, and blue/black blinking before desktop. Will have to restore yet again and try again fresh with the new dsdt. Whats up with this ?!?
@sangmanhsorry to bothering you. I read the your post about alc888 (this post, #8) I downloaded attached file, but that file was broken. It's not extract properly. so, could you plz re-upload AppleHDA.kext about alc888?
I tried downloading it and it extracts fine. Try it again.
@ajacocksMormegil, Does the fact that voodoohelper can't dump, for me either, mean anything? I'm not quite sure where else to go from here.
Do you have voodoohda installed all this time? When you're using patched applehda? same goes to gurru
Can't remember, but will try it. Install voodoo, repair, reboot and run helper right?
I''ve restored install with new dsdt.
With vanilla, either device ID=0 or no device ID.
With the latest appleHDA address 0, the reboot cycle is the same. Kp, device ID 12 with good mappin (mic, heaphone etc, but not my spec) or just only digital port, then KP etc etc - I never saw my spec mapping though
I'll try address 3 although it did nothing last time.
Morm, I've been trying with patched appleHDA using my previous "generic codec dumped" dsdt right?
Dont I have to patch a new one now that the dsdt comes from my correct linux codec dump?
@mormegilDo you have voodoohda installed all this time? When you're using patched applehda? same goes to gurru
Mormegil,
No, I don't. I just have tried voodoohda, in the past, in the effort to get it to make a dump.
I just tried installing 2 or 3 different voodooHDA, and booted in 32 just to be sure (many arent 64bit ready), and voodoohelper still puts out the same error. On the way my card "woke up" like before, but now sound, so it seems the new dsdt does not seem to be a "step back"
I am still puzzled why after a couple of repairs, if I change dsdt, it breaks my install... any theories? lol
Morm, going back to guessing, is AppleHDA that still needs fine tuning for my system?
@ajacocksMormegil, No, I don't. I just have tried voodoohda, in the past, in the effort to get it to make a dump.
K.. I thought it was voodoohda that was ----ing around when you have a patched applehda. Never use them together!
Well, I've seriously run out of ideas why it's not working for you guys. Definitely something weird going on when it comes to laptops.
And Gurru, I suggest you put your restore disk away and get to the root of the problem. You're going nowhere by just restoring your install at the first sign of KP.
Morm,
I greatly appreciate your help, I do.
But, though dsdt n00b, I'm certainly not OSX illiterate, on the contrary. Been at this since early Tiger. I know what a KP is and how to handle them, and I am telling you that, possibly exactly because of this weird alc889a behaviour, there is a reset going on that has nothing to do with your dsdt applHDA etc... but it doesnt like dsdt being changed, and when I f*cking need to restore its because I cannot bring the system back up. safe boot too.
What would you do, if suddenly, right after nvdresman blacks out and brings up your desktop, it instead flashed black and blue in 5-10 second interval, having just a little white cursor at the top left, where you can actually type from your keyboard strange characters (that dont match what you type) right into a pitch black screen?
And the reboot cycles, which are far from typical ? either a kext works, or it doesnt, or it KP's... never heard of a kext that did all three !
Even removing all video kexts, removing com.boot.apple.plist strings, removing dsdt, nothing works to bring my system back up.
I have explained this phenomena before, and that is the only reason I have to restore from a CCC image. It takes 7 minutes, fix UUID, and back to action.
And this system is rock solid, except when tampering with audio. I've thrown at it highly intensive tasks (protools fully loaded with plugins with reason rewiring) and it behaves like a charm. HD video, while having Ubuntu and Windows 7 both running, each on their own screen (spaces). I've tested a for 4-5 days periods non-stop and it is rock solid. Oh, and playing Trackmania virtualized in Win 7.
this to my own disbelief, how smooth and stable. 64bit SL is unbelievable!
I have no issues whatsoever to fix, except audio.
The video f*cks up, and nothing brings it back, if there is please tell me.
There is something definitely going on, and I suspect a sort of CMOS rest bug, similar at least.. look at my reboot cycles. My gfx must crash, possibly because of hdmi audio trying to be used or something on one of those resets...?
Plus, I am still using an AppleHDA which you kindly patched, based on generic alc889a info, now that I finally manage to get my very own codec dumps, why cant we make an appleHDA for my system?
We are so close, why would you jump ship now? I mean, this is the place for exactly this, if you dont feel like sharing anymore, that is absolutely fair, this is a time consuming affair, prone to not working until it does. Just say the word, but please dont imply that I am idiot enough to restore at a sign of a simple KP.
I went back to vanilla AppleHDA and "erratic" reboot issues happen no more. No ports are being mapped, audio device 12, no KP's, asserrtion"0" errors, and in 15 reboots between 32 and 64... no issues whatsoever.
I would again, guess, a good appleHDA patch for my system might fix this thing.
@mormegilI tried downloading it and it extracts fine. Try it again.
hi m8, i tried downloading it and it doesn't download properly...
if you could, can you please PM me the kexts?
@terrorgenhi m8, i tried downloading it and it doesn't download properly... if you could, can you please PM me the kexts?
Use this plist and follow this guide →
referring to the guide, the LayoutID i got from AppleHDAHardwareConfigDriver.kext was 12, but in the plist it was 888. Should I just change it?
Yes. You should be using layout 12 in your dsdt.
I finished editing applehda.kext, put into /E/E of my boot thumb drive, reboot with -x32.
Doesn't work...
yes i did...
anyways, I got sound working by installing it into /S/L/E of the SL drive (I use a flash drive to boot SL)
now it's time to make 5.1 working
THANKS for all your hard work!
Let it run. It covers hdef injection into dsdt which I didn't. Only thing you should change is your dsdt code.
The code starting from Name (BUFA, ResourceTemplate is not part of HDEF. You can delete them, they might cause confusion.
mormegil, snow...
I am setting up 5.1 using Audio MIDI Setup, but it only works for a while...
now the volume control is greyed out and when I tried to adjust the volume it says something like the device has no output controls... any ideas?
It's meant to be that way. You control the individual channel volumes using Audio MIDI setup.
man... lost the pleasure to adjust volume from the keyboard...
mormegil,
Thanks so much for taking so much time to help me. I'm still not sure what I was doing wrong with the codec patching, but my solution turned out to be voodooHDA 0.2.2 64bit, installed in /System/Library/Extensions, and rebuilding the Extensions.mkext. I'm not sure which of the above did the trick, but one of them did, and my laptop is no longer silent.
For purposes of documentation, I have a Clevo M570RU-U, with an Intel 965 chipset, and a Realtek ALC883 codec.
I have a microphone. After applying the 5.1 patch sound is ok but i have no sound input. Internal microphone source in sound settings shows "None". I've tried all ports including output ports as well. None working.
I use an EP45-DQ6 board with ALC889a chip.
Thank you SO MUCH mormegil…
I have been struggling for 4 days to get my sound configured. Been changing my dsdt file over and over even if System Profiler showed me all the channels, just because I couldn't get sound to work with any of the thousands AppleHDA.kext's I have tried. Some of them even messed up my system so badly I couldn't logon anymore, so I have reinstalled it 5 times these last 4 days.
Even if System Profiler showed correct info, no device could be found when trying to configure sound.
I have tried replacing info.plist (both) as of this guide and didn't work. Then I saw on the above link How to port AppleHDA to SL → that it is not just to edit info.plist but also changing some binary with hexedit is needed, hence why it didn't work.
What made my day was actually when I scrolled down this page and saw you had posted your AppleHDA.kext saying "Here's my modified AppleHDA.kext as reference". I downloaded it, used Kext Utility, repaired permissions and rebooted. Never thought anything would fix my sound but when system was booted I suddenly noticed my wonderful lovely little sound icon in the bar had CHANGED
Now... Where do I send you the money?
@mormegilI take back my word. Got full analog 5.1 to work on my onboard alc888! 1. Tweak AppleHDA.kext to detect 3 Line Outputs: Green, Black, Orange. 2. Run Audio Midi Setup 3. Add new Aggregate Device 4. Click on the 3 check boxes corresponding to the 3 Line outs 5. Click on Configure Speakers 6. Select all 3 streams 7. Select Multichannel…
Thank you so much for posting this! I had not been able to get the ALC888 chipset on my Gigabyte GA-965P-DS3 to work under 10.5. All I had to do was drop your kext onto the Kext Utility, reboot, and now I have sound under 64-bit 10.6. Your work is appreciated!
@mormegilI take back my word. Got full analog 5.1 to work on my onboard alc888! Here's my modified AppleHDA.kext as reference
Can you / or anyone else upload this AppleHDA.kext again ?
I tried to unzip it on 4 machines ( 3 macs , pc ) and all of them failed
Well at least someone tell me how to re-map microphone input to the regular red mic-in port?
@megavolkanWell at least someone tell me how to re-map microphone input to the regular red mic-in port?
Got the same problem. Was very happy about finally getting sound to work, but noticed my microphone didn't work. Found a solution just today that it actually works (although I have no idea why this works for my mic, it sounds like it shouldn't), if I plug it in on the other side of green "entry" which is a lightblue I think (not at home atm), then I plug it back into the pink/red for microphone and it works.
I accidentally found it out as I thought I should try to use microphone in all other entries and see if it for some odd reason works (I am no sound guru, those who are probably are laughing at me now as I suppose its impossible ).
However this is not a solution Im happy about, replug the mic to lightblue then back where it should be each time I turn on my comp… Also, this "replugging" for some odd reason messes up the volume, so when I speak it just gets louder and louder until the other person on skype throws his/her headset of
Still searching for the magical solution.
@CeeCan you / or anyone else upload this AppleHDA.kext again ? I tried to unzip it on 4 machines ( 3 macs , pc ) and all of them failed
After trying several unzip programs, Stuffit Expander was the one that successfully extracted the kext for me.
@hopsAfter trying several unzip programs, Stuffit Expander was the one that successfully extracted the kext for me.
the link above works with the default unzip program in Mac
I got an error in safari after downloaded, saying something about not able to extract Stuffit archive. I too had to install Stuffit. But no big deal, theres a trial
Got microphone working and with reported perfect sound from several people I forced to talk to me through Skype
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"codec-id",
Buffer (0x04)
{
0x88, 0x08, 0xEC, 0x10
},
"layout-id",
Buffer (0x04)
{
0x78, 0x03, 0x00, 0x00
},
"device-type",
Buffer (0x07)
{
"ALC888"
},
"PinConfigurations",
Buffer (0x28)
{
/* 0000 */ 0x50, 0x41, 0x01, 0x01, 0x50, 0x40, 0x21, 0x02,
/* 0008 */ 0x30, 0x01, 0x10, 0x90, 0x20, 0x60, 0x01, 0x01,
/* 0010 */ 0x70, 0x20, 0x01, 0x01, 0xA0, 0x90, 0xA1, 0x02,
/* 0018 */ 0x10, 0x30, 0x81, 0x01, 0x40, 0x90, 0xA1, 0x01,
/* 0020 */ 0x60, 0x61, 0x4B, 0x01, 0xF0, 0x01, 0xCB, 0x01
},
"reg",
Buffer (0x28)
{
/* 0000 */ 0x00, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0xD8, 0x00, 0x02,
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
},
"platformFamily",
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Found this one at: http://www.insanelymac.com/forum/lofiversion/index.php/… ↗
Replaced my Device HDEF with this code, then used kexttool to once again try a kext from the package:
http://www.insanelymac.com/forum/index.php?act=attach&a… ↗
Which I found on:
http://www.insanelymac.com/forum/index.php?showtopic=14… ↗
I used the kext called "3out2in HDA headphone" in the subfolder "series of LegacyHDA 888 (ALC888)". I have not tried the others but have no need as its fully working for me now
Still had mormegils AppleHDA and not the default SL AppleHDA (as I threw it away when mormegils worked for sound atleast). So no idea if osx AppleHDA works, but this one does.
Now it looks like:
Internal Microphone---|---Built-in Microphone
Line In--------------|---Built-in Line input
Digital In------------|--- Built-in Digital Input
I also got a new checkbox which I didn't have in Leopard, saying "Use ambient noise reduction" and it was checked by default.
Finally finished hunting.
Wow thanks man i'll try it when i'm home tonight. Just to make sure, this should be done in dsdt.aml right? Just to make sure you know
@TrograinI got an error in safari after downloaded, saying something about not able to extract Stuffit archive. I too had to install Stuffit. But no big deal, theres a trial Got microphone working and with reported perfect sound from several people I forced to talk to me through Skype Device (HDEF) { Name (_ADR, 0x001B0000) Method (_PRW, 0,…
Yes, dsdt.aml. Its for ALC888. Good luck and hope it works just as good for you as it worked on my computer.
Hey, i've tried to insert the code into my dsdt but i cannot compile dsdt.dsl file with iaslme
it always gives error:
/Users/volkan/Desktop/Hackintosh/dsdt.dsl 5584:
Error 4063 -
and something followed like:
Object does not exist ^ (\_SB.MEM._CRS._Y0E._BAS)
i even tried the windows version iasl.exe gave the same errors.
Any ideas? I've attached the dsl and the log file.
Not sure tbh.
I tried iaslme with my dsdt.dsl and it worked, then tried yours and it didn't work. Have never used iaslme before to compile but using Macloader_SL. I tried to compile your dsdt.dsl in that one and it did generate me an dsdt.aml. Wether its working I can't say.
Attaching the dsdt.aml I compiled out of your dsdt.dsl, and also attaching my own dsdt.dsl if you want to look at it.
could anyone help me for adi1988 card? this guide is for alc soundcard, and since i have a different on i can't find the relevant sections in my dsdt.dsl file. thanks.
Sorry, not me. I don't have one of those cards. The dsdt info is specific to the card you got, so might be good to see if you can find a thread with people having same card, as they can test etc. Or maybe someone here got one of those too… not me though
Anyone has headphones working
I followed the steps as described in the first post and got sound working (don't need 5.1). Also, everything shows just fine on System Profiler.
The problem is that although "Headphones" shows in System Profiler, I can't choose it as output.
My motherboard is a Gigabyte P35C-DS3R, using Snow Leopard 10.6.1 (the same thing happened in 10.6)
I don't need a pre-made solution. If someone could at least point me to where I should edit (DSDT, plist, etc), it would be much appreciated.
System profiler is just cosmetics. What you see in Sound Preferences is all that matters.
@mormegilSystem profiler is just cosmetics. What you see in Sound Preferences is all that matters.
Thanks. Any hint of what I have to edit to get headphones to work?
I have 3 line outs and 1 Digital out. The first line out works fine with the speakers that are connected in the back panel.
I used to have speakers AND headphones working in Leopard (10.5.6) with patched AppleHDA. I know I can't use Leopard's AppleHDA, but can I somehow copy its setup (considering that now I have a patched DSDT and patched AppleHDA according to this thread)?
your msi p35 neo run 10.6 in vanilla? The mine won't boot… I've modded bios for leopard and work's great. 10.6 boot only with SnowOSX Universal (432) 3.5 but don't recognize the disk... do you have a tutorial?
Grazie..
@monsieur.dI have 3 line outs and 1 Digital out. The first line out works fine with the speakers that are connected in the back panel. I used to have speakers AND headphones working in Leopard (10.5.6) with patched AppleHDA. I know I can't use Leopard's AppleHDA, but can I somehow copy its setup (considering that now I have a patched DSDT and…
Anyway, by headphone do you mean the front jack? If so, have you tried plugging in a headphone? It might have jack-sensing enabled. Plugging in a headphone to front port will mute line out at the back. Try this and check in sound pref if one of your outputs change into 'headphone' once you plug it in.
Yes, by headphones I mean the front jack.
I tried connecting the headphones both in the headphone out and the mic in and nothing happened.
I'll try your guide and post back. thanks
Thanks for the orientation. All I needed to do was to edit the "plist" files using the plists I had working under Leopard.
Now I have "Headphones" (front jack) in the sound preferences and it works just fine.
D
Configdata/ pinconfig
I have a quick question about what I do and do not need to include in my HDEF mod.s in the DSDT.
On the initial pages and guide in first post, it seems that Pinconfig/Configdata is not needed in the DSDT itself as it will read that from the plists in AppleHDA.kext. However, in later posts I see a lot of DSDTs with that data inserted. So…if the AppleHDA is correct does the DSDT really need these info.s also? If the answer is no, then this will give me one less variable to work with in my experiments.
Thanks for the excellent guide by the way and I promise not to be a serial re-poster about this. Just want to get this one point clear.
@MiniHackI have a quick question about what I do and do not need to include in my HDEF mod.s in the DSDT. On the initial pages and guide in first post, it seems that Pinconfig/Configdata is not needed in the DSDT itself as it will read that from the plists in AppleHDA.kext. However, in later posts I see a lot of DSDTs with that data inserted.…
You DON'T need pinconfig in dsdt. You DO however need Configdata in plist.
Thank you
Thanks Mormegil and Snow. I now have working audio in Snow Leopard from DSDT and modded AppleHDA.kext with my Zotac board…took a while, but finally figured things out.
ALC882 Not Working
Mormegil and Snow, i've been following your posts and replies and i respect your work.
While following I tried very hard to fix my ALC882 on my ASUS Z96Js laptop but got nothing.
Can you guys help me out or guide me in any ways possible.
I have attached my DSDT + CODEC DUMP from linux.
My current system is as follows.
Snow Leo 10.6.2
ALC882 with
1 - 1/8" headphone/speaker jack in front
1 - 1/8" line-in jack in front
1 - Internal Speakers
1 - Internal Mic
out guys, i will be very thankful
ALC889a Sound issue on P55 UD4P
I was wondering if anyone could help me figure out how to fix the audio on my Snow Leopard 10.6.2 install. My hardware is listed below. I tried using VoodooHDA, LegacyHDA and modified AppleHDA. The best I can get is either the Back speakers to work or the Sub and Center speaker to work. I would like to enable the 5.1 sound, as I have the speakers connected via 3 pins to the PC. Based on what I have read in this forum, there might be hope for me yet, but I need some guidance.
If you need additional information please let me know and I will provide.
Gigabyte P55 UD4P
i7 860 Overclocked at 3.5
Kingston Memory 8GB (2000)
BFG Geforce GTS 250 Video Card
LG SATA Internal DVD Writer
Here is how I got mine working, not sure if its going to work for
you, might give it a try, also I never had much luck with surround
sound on Realtek, not even using Windows
(1) Find and download "Taruga’s AppleHDA Patcher version 1.20"
(2) Find and download "VoodooHDA.kext"
(3) Make your own CODEC Dump in Linux buy typing this into the Terminal
"cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt"
and use that file,
if you get nothing, try changing "codec#0" to "codec#1"
keep going up in numbers till you get the info.
Like
"cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt"
"cat /proc/asound/card0/codec#1 > ~/Desktop/codec_dump.txt"
"cat /proc/asound/card0/codec#2 > ~/Desktop/codec_dump.txt"
(Hint) the Ubuntu Install CD works just fine for this
(4) Find and download "Kext Utility"
(5) Drag "VoodooHDA.kext" onto "Kext Utility" to install
(6) Make a backup copy of "AppleHDA.kext", its in "/System/Library/Extensions"
(7) Drag "codec_dump.txt" onto "AppleHDA Patcher" to install
@will1384Here is how I got mine working, not sure if its going to work for you, might give it a try, also I never had much luck with surround sound on Realtek, not even using Windows (1) Find and download "Taruga’s AppleHDA Patcher version 1.20" (2) Find and download "VoodooHDA.kext" (3) Make your own CODEC Dump in Linux buy typing this into…
Thanks Will, I will try that later on tonight. I will need to install ubuntu first though, as I currently don't have an install of that anywhere. No big deal. I will report back on how that goes.
@ElventanisThanks Will, I will try that later on tonight. I will need to install ubuntu first though, as I currently don't have an install of that anywhere. No big deal. I will report back on how that goes.
One of the things I love about Ubuntu is you don't even have to install it,
it works as a Live CD, just boot the CD, and it takes you to the desktop,
from there you have a usable GUI and even have access to Firefox, and
it seams to auto-detect and setup most network hardware, it great for
fixing things
Will, when try the cat command in Ubuntu, I did not see the codec#0 etc. After navigating down the directories I see ac97#0-0
Not sure why I am seeing that cause I have the HD Audio connected. Should I change the commands above to this instead? thx
It should work just by typing, and you can always copy and paste
"cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt"
and changing the "codec#0" part as needed like "codec#1"
"cat /proc/asound/card0/codec#1 > ~/Desktop/codec_dump.txt"
just keep going up in numbers, I just tried on a EP31 motherboard
I had to up go to "codec#2" like this
"cat /proc/asound/card0/codec#2 > ~/Desktop/codec_dump.txt"
You might have to delete the empty TXT files after an unsuccessful
attempt, maybe some how there not being overwritten buy the new
file each time
I am going to try a PC with non Realtek sound next, but it should work
the same way
I tried this using Ubuntu installed in a Virtual Machine via Sun Virtual Box. Maybe that is the reason I am having the issue. I will try to boot off the Ubuntu CD directly and see if that makes a difference I suppose.
When I type the commands, I actually get an error message that the directory/codec#1 etc does not exist. So the dump file is useless, cause the command errors out.
@ElventanisI tried this using Ubuntu installed in a Virtual Machine via Sun Virtual Box. Maybe that is the reason I am having the issue. I will try to boot off the Ubuntu CD directly and see if that makes a difference I suppose. When I type the commands, I actually get an error message that the directory/codec#1 etc does not exist. So the dump…
Virtual Machine wont work, the Virtual Machine sets up a fake environment,
Linux has to be running directly on your hardware.
@will1384Virtual Machine wont work, the Virtual Machine sets up a fake environment, Linux has to be running directly on your hardware.
ok, thanks for the confirmation, I will try it again later on today after booting in from the Ubuntu live cd and report back.
I did try the steps on Post #1 of this thread last night since those files were already created etc, but I did not have any luck.
Also, I have not been able to find the 1.2 version of the Taruga software either. I need to keep looking for that.
I was testing my connectors last night, and sound is only coming thru the orange connector at this point, the green and black and sending no sound. If I switch out the green connector to the orange port, the sound switches to a different speaker. So it looks like the ports are not even enabled in my current config.
@ElventanisI was testing my connectors last night, and sound is only coming thru the orange connector at this point, the green and black and sending no sound. If I switch out the green connector to the orange port, the sound switches to a different speaker. So it looks like the ports are not even enabled in my current config.
I believe the CODEC Dump should fix that, as it also has the input
and output jacks info, also Google is your friend on finding stuff,
look over here for Taruga’s AppleHDA Patcher version 1.20
@will1384I believe the CODEC Dump should fix that, as it also has the input and output jacks info, also Google is your friend on finding stuff, look over here for Taruga’s AppleHDA Patcher version 1.20 AppleHDA Solution - Work in progress, Main Thread (http://www.insanelymac.com/forum/index.php?showtopic=32… ↗)
Will, I think I have everything you mentioned now. I have to run some quick errands and I will try the rest later on. Couple of questions for you in case you see this before I get back.
1. If I am patching the AppleHDA do I still need the VoodooHDA enabler?
2. My current DSDT file has pinconfiguration entries in it in the HDEF section. do I leave them there or should I remove them? I am thinking I need to remove them since the AppleHDA is being patched, but wanted to confirm.
From Ubuntu I had to use codec#2 to get the dump file.
Thanks again, for helping me thru this.
@Elventanis1. If I am patching the AppleHDA do I still need the VoodooHDA enabler?
Yes
@Elventanis2. My current DSDT file has pinconfiguration entries in it in the HDEF section. do I leave them there or should I remove them?
Patching AppleHDA and using VoodooHDA will work, with or with out
the DSDT audio section, if the DSDT audio section is correct leave
it alone, using AppleHDA and VoodooHDA seams to ignore anything
in your DSDT
I had a chance try this a little bit before I left for party, which sucks by way, lol.
The sound seems to be coming from the front speakers. I will test further when I get back home.
I already got further than I had before. Thank u again foe all your help and guidance. Thx
Will, here is the update on how this went.
1. I am getting sound from the Front Center, Front Left, Front Right and the Sub Woofer.
2. The Rear Left and Right do not have any sound at this point.
Based on your previous information about Surround Sound for Mac, I am assuming that is normal.
Just wanted to say Thank You again for getting this fixed for me.
If Apple releases 10.6.3 and I upgrade to that, I am assuming I may need to patch the AppleHDA again right?
I will read other parts of this thread and see if I can get anything from the rear speakers.
On the 1st post, there was some information about Spotlighting the Audio/Midi and messing around with the speaker setup. Any ideas on how I get to this screen to see what is possible?
Thank you again
Will, I figured out how to get to the Midi/Audio Setup. The 5.1 channel sound is not enabled there, so still need to do some digging I suppose.
Anyhow, when I did the AppleHDA Patching, it showed me some information and reported that I had Realtek 885, as opposed to to 889a. If I go into the About Mac, and more information, the Audio is saying 885 there as well. Is that normal? Thx
@mormegilALC889a might have different pin configuration so I'm not sure about that. However, it looks like your codec is a variant of the ALC885 which has native OSX support so I think you don't need to do any binary patching. You don't need HDAenabler or any audio injector. Just patch dsdt for audio injection. Then edit the two plist files:…
@Mormegil
I came across your posts here on how to enable the 5.1 sound for Snow Leopard. With the Help of Will on this forum, I was able to successfully get Sound working on my ALC889a, but I don't have the option to enable 5.1 in the Audio/Midi config. My back speakers are currently not working.
I am using the VoodooHDA kext as well. What do I need to change in my info.plist that would allow me to enable the 5.1 sound. Would you be able to guide me on this. Thx
@ElventanisWill, here is the update on how this went. 1. I am getting sound from the Front Center, Front Left, Front Right and the Sub Woofer. 2. The Rear Left and Right do not have any sound at this point. Based on your previous information about Surround Sound for Mac, I am assuming that is normal. Just wanted to say Thank You again for…
I got digging for info myself, come to find out that there are quite a few different versions of VoodooHDA,
made by different people, based on the original file made by some one else, one of them that works for me,
although no surround, is the file here
VoodooPS2 and VoodooHDA (now 0.2.2 with prefPane) drivers for snow leopard 32/64 bit ↗
and another,
Voodoohda Driver, Fully working! ↗
and some people had say removing "AppleHDA.kext" helps, just make sure to
keep a backup
UPDATE
I just removed "AppleHDA.kext" and the file that gets created buy AppleHDA Patcher, "ALCinject.kext"
leaving only "VoodooHDA.kext" and ran "Kext Utility" to clean up, and rebooted, the sound works, still
no surround sound, but one less step
and found another "VoodooHDA.kext", seams to work well and the volume is slightly higher
VoodooHDA (32-/ 64-bit, recompiled by Prasys) (k exts.com/view/70-voodoohda_%2832--_64-bit,_recompiled_by_prasys%29.html)
Thats Weird, So the Voodoo Kext fixes this without having the AppleHDA etc. I will try it later on I suppose.
From everything I have been reading, it seems that we have to get the 3 colored outputs to register with teh Mac to get the 5.1 sound working. When we do that we should have 3 line outs available with 2 channels each. That should be the 5 speakers plus the Sub. I am thinking there has to be a tweak out there somewhere to make all those lines work.
I am going to test today, byt removing the 3 lines and adding them one at a time to see which ones are working. I am assuming only one is working still or maybe 2. The Green one seems to be the problem one based on what I read.
I will post something for prasys as well as see if he can give me some more information. Thx
Will, I played around with setup and no luck with the 5.1 sound yet. I tried the 2 versions of Voodoo, and other than what you mentioned about the volume, there was no real difference.
I removed the Voodoo Kext file and the sound no longer worked. Put that together with your note about removing AppleHDA and ALCInject, I suppose I am wondering what the AppleHDA patcher actually provided?
I had a posted a couple of questions out there on another forum, but so far I have not got anything back. If I get any more progress I will update this again. I will keep checking daily so if you have any further break thrus I will look out for them. Thx
Will
Here is another update. I removed the AppleHDA and ALCInject, and my sound switched back to the rear speakers again. I had nothing coming out from the front speakers.
I then tried some LegacyHDA and HDAenabler kexts, unfortunately after a restart I had no output devices at all. So that was a no go.
I put all the working files back in and the front speakers are back up and running.
In looking at the various 5.1 setups out there, I am thinking we are not able to do this cause our output device is showing up as
Line Out / Line Out / Line Out / Line Out
I think it should be listed as
Line Out
Line Out
Line Out
Line Out
in the Audio section of System Preferences.
If it was listed this way, we may be able to create an aggregate sound section that puts all these together to allow us to enable 5.1 sound
Let me know if that makes sense. I am thinking there has to be information out there on how to fix this somewhere.
ALC889A in AMD GA-MA78-S2H
Did someone sucess with alc889a in AMD ga-ma78-s2h?
i already try with legacy, applehda, and voodo..
still not happen anything.
@wind99Did someone sucess with alc889a in AMD ga-ma78-s2h? i already try with legacy, applehda, and voodo.. still not happen anything.
Νο. Only managed sound in Leopard with alcinject. In Snow Leopard I get sound only via VoodooHDA but the preference pane is still inaccessible (kp when I select the Input tab).
Ya, same with me.
i only get the tab.
there is no sound in voodo. i only get the preferences. but not appear the sound.
do you have the sound when u using voodo?
@wind99Did someone sucess with alc889a in AMD ga-ma78-s2h? i already try with legacy, applehda, and voodo.. still not happen anything.
I've tried everything too. So I would appreciate help too :\
AppleHDA automatic patcher for ALC889a
hi mormegil, ive made a launchable bash script to patch AppleHDA
automaticly. Thanks so much for writing this guide its been really
useful, and the result sounds much better than LegacyHDA + HDAEnabler.
(no squeaky noise)
get it here: media fire.com/?zj3moonzmeq
If the plists ever need updating, it will be easy to update them in my
script, because they are not hardcoded. Also, the script will automaticly
label the patched AppleHDA red. The script wont install the kext, as i thought
that would be a bit too intrusive, so use kextutility or kexthelper.
theres a similiar post at http://www.insanelymac.com/forum/index.php?s=&showt… ↗
with more details.
@ANARCHiNTOSHhi mormegil, ive made a launchable bash script to patch AppleHDA automaticly. Thanks so much for writing this guide its been really useful, and the result sounds much better than LegacyHDA + HDAEnabler. (no squeaky noise) get it here: media fire.com/?zj3moonzmeq If the plists ever need updating, it will be easy to update them in my…
I followed up on your work over at "insanely...", very impressed. I am working with your instructions right now to get my sound working. Looking forward to some sweet sounds :
Needless to say I didn't get my sound working. Because I am going to use this computer for professional editing I went and picked up a "TASCAM US-122 MK II".
also, someone told me that i'd have to re-do this every time mac updates applehda
is there a way to get 5.1 on alc889a without having to edit or remove the applehda file. it's my understanding that some mac updates use the applehda file.
출처 및 기여자 이력 (등록된 기여자 29명 · 원본 스레드 #3746)
| 사용자명 | 기여 역할 | 게시물 수 | 활동 기간 |
|---|---|---|---|
| @mormegil | 핵심 기여자 | 57 | 2009-08-25 → 2009-09-23 |
| @Gurruwiwi | 핵심 기여자 | 53 | 2009-09-01 → 2009-09-07 |
| @Snow | 주 저자 | 25 | 2009-08-23 → 2009-09-15 |
| @ajacocks | 핵심 기여자 | 13 | 2009-09-06 → 2009-09-09 |
| @Elventanis | 핵심 기여자 | 13 | 2009-12-11 → 2009-12-14 |
| @terrorgen | 핵심 기여자 | 7 | 2009-09-08 → 2009-09-14 |
| @will1384 | 핵심 기여자 | 7 | 2009-12-11 → 2009-12-13 |
| @megavolkan | 핵심 기여자 | 6 | 2009-09-05 → 2009-09-16 |
| @Trograin | 핵심 기여자 | 6 | 2009-09-12 → 2009-09-16 |
| @monsieur.d | 핵심 기여자 | 5 | 2009-09-18 → 2009-09-19 |
| @X58-Agility | 핵심 기여자 | 3 | 2010-04-21 → 2010-04-24 |
| @CyCLoBoT | 기여 멤버 | 2 | 2009-09-02 → 2009-09-05 |
| @vladrxpx | 기여 멤버 | 2 | 2009-09-03 → 2009-09-05 |
| @hops | 기여 멤버 | 2 | 2009-09-12 → 2009-09-14 |
| @MiniHack | 기여 멤버 | 2 | 2009-09-22 → 2009-09-24 |
| @wind99 | 기여 멤버 | 2 | 2010-01-08 → 2010-01-10 |
| @dannymichel | 기여 멤버 | 2 | 2010-05-25 |
| @vista00 | 기여 멤버 | 1 | 2009-08-23 |
| @DocShadow | 기여 멤버 | 1 | 2009-08-24 |
| @mangohead | 기여 멤버 | 1 | 2009-08-27 |
| @wwbsox | 기여 멤버 | 1 | 2009-08-27 |
| @sangmanh | 기여 멤버 | 1 | 2009-09-06 |
| @Cee | 기여 멤버 | 1 | 2009-09-13 |
| @lemn | 기여 멤버 | 1 | 2009-09-16 |
| @mrctll | 기여 멤버 | 1 | 2009-09-18 |
| @killer567 | 기여 멤버 | 1 | 2009-12-04 |
| @gorg | 기여 멤버 | 1 | 2010-01-08 |
| @sethyr | 기여 멤버 | 1 | 2010-02-06 |
| @ANARCHiNTOSH | 기여 멤버 | 1 | 2010-02-24 |