Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
Sign in to follow this  
aximusnl

Steps to take to get AppleHDA to work

3 posts in this topic

Recommended Posts

I'm stuck on getting AppleHDA to work with my sound card (IDT 92HD81B1X5).

Details:
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
Subsystem: Hewlett-Packard Company Device [103c:1659]

Codec: IDT 92HD81B1X5
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x111d7605
Subsystem Id: 0x103c1659
Revision Id: 0x100105

I know step one is to fix the DSDT, so i've added:

Method (_DSM, 4, NotSerialized)
								{
									Store (Package (0x08)
										{
											"codec-id",
											Buffer (0x04)
											{
												0x05, 0x76, 0x1D, 0x11
											},
				
											"layout-id",
											Buffer (0x04)
											{
												0x37, 0x01, 0x00, 0x00
											},
				
											"device-type",
											Buffer (0x0F)
											{
												"IDT 92HD81B1X5"
											 },
				
										}, Local0)
									DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
									Return (Local0)
								}

This is where i get stuck and i'm having the following questions:

  • The layout-id in the code above is a 'guess'. How do i determine the layout-id?
  • How do i create the integer version of the layout-id (byte reverse the hex -> to decimal?)
  • Should i modify AppleHDA.kext from Lion (10.7.1) or should i use a legacy version?
  • In AppleHDA.kext/Contents/Plugins/AppleHDAController.kext/Contentents/Info.plist:
    <dict>
    
    			  <key>CodecAddressMask</key>
    
    									<data>
    
    									AQAAAA==
    
    									</data>
    
    									<key>LayoutID</key>
    
    									<integer>16392</integer>
    
    									<key>PCIVendorDeviceID</key>
    
    									<integer>282987200</integer>
    
    								</dict>
    I suppose i have to change this, but do I also have to change the 'AQAAA==' part, and how do i determine this?
  • What else do i need to change or what other steps are there to take. For example pin-layout?

Any help is welcome, thanks in advance!

Complete output of "cat /proc/asound/card0/codec#0"

 

 

Codec: IDT 92HD81B1X5
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x111d7605
Subsystem Id: 0x103c1659
Revision Id: 0x100105
No Modem Function Group found
Default PCM:
rates [0x5e0]: 44100 48000 88200 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1
GPIO: io=3, o=0, i=0, unsolicited=1, wake=1
IO[0]: enable=1, dir=1, wake=0, sticky=0, data=0, unsol=0
IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Power-Map: 0x00
Node 0x0a [Pin Complex] wcaps 0x400583: Stereo Amp-In
Amp-In caps: N/A
Amp-In vals: [0x00 0x00]
Pincap 0x0001173c: IN OUT HP EAPD Detect
Vref caps: HIZ 50 GRD 80
EAPD 0x2: EAPD
Pin Default 0x40f000f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x00: VREF_HIZ
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 3
0x13* 0x14 0x1c
Node 0x0b [Pin Complex] wcaps 0x400581: Stereo
Pincap 0x0001001c: OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x0221101f: [Jack] HP Out at Ext Front
Conn = 1/8, Color = Black
DefAssociation = 0x1, Sequence = 0xf
Pin-ctls: 0x00:
Unsolicited: tag=01, enabled=1
Power: setting=D0, actual=D0
Connection: 3
0x13 0x14* 0x1c
Node 0x0c [Pin Complex] wcaps 0x400583: Stereo Amp-In
Control: name="Front Mic Jack Mode", index=0, device=0
ControlAmp: chs=0, dir=In, idx=0, ofs=0
Control: name="Mic Capture Volume", index=0, device=0
ControlAmp: chs=3, dir=In, idx=0, ofs=0
Amp-In caps: N/A
Amp-In vals: [0x00 0x00]
Pincap 0x00011734: IN OUT EAPD Detect
Vref caps: HIZ 50 GRD 80
EAPD 0x2: EAPD
Pin Default 0x02a11020: [Jack] Mic at Ext Front
Conn = 1/8, Color = Black
DefAssociation = 0x2, Sequence = 0x0
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=02, enabled=1
Power: setting=D0, actual=D0
Connection: 3
0x13* 0x14 0x1c
Node 0x0d [Pin Complex] wcaps 0x400501: Stereo
Pincap 0x00010050: OUT EAPD Balanced
EAPD 0x2: EAPD
Pin Default 0x40f000f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Power: setting=D0, actual=D0
Connection: 3
0x13* 0x14 0x1c
Node 0x0e [Pin Complex] wcaps 0x400583: Stereo Amp-In
Amp-In caps: N/A
Amp-In vals: [0x00 0x00]
Pincap 0x00010034: IN OUT EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x40f000f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x00:
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 3
0x13 0x14* 0x1c
Node 0x0f [Pin Complex] wcaps 0x400583: Stereo Amp-In
Amp-In caps: N/A
Amp-In vals: [0x00 0x00]
Pincap 0x00010034: IN OUT EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x92170110: [Fixed] Speaker at Int Front
Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 3
0x13 0x14* 0x1c
Node 0x10 [Pin Complex] wcaps 0x400500: Mono
Pincap 0x00000010: OUT
Pin Default 0x40f000f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x00:
Power: setting=D0, actual=D0
Connection: 1
0x1a
Node 0x11 [Pin Complex] wcaps 0x400483: Stereo Amp-In
Control: name="Internal Mic Capture Volume", index=0, device=0
ControlAmp: chs=3, dir=In, idx=0, ofs=0
Amp-In caps: N/A
Amp-In vals: [0x00 0x00]
Pincap 0x00000024: IN Detect
Pin Default 0xd5a30130: [Both] Mic at Int Top
Conn = ATAPI, Color = Unknown
DefAssociation = 0x3, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Node 0x12 [Vendor Defined Widget] wcaps 0xf00503: Stereo Amp-In
Amp-In caps: N/A
Amp-In vals: [0x00 0x00]
Power: setting=D0, actual=D0
Connection: 1
0x20
Node 0x13 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
Control: name="Speaker Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=63
Control: name="Speaker Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Device: name="STAC92xx Analog", type="Audio", device=0
Amp-Out caps: N/A
Amp-Out vals: [0x64 0x64]
Converter: stream=5, channel=0
Power: setting=D0, actual=D0
Delay: 13 samples
Node 0x14 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
Control: name="Headphone Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=63
Control: name="Headphone Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: N/A
Amp-Out vals: [0x64 0x64]
Converter: stream=5, channel=0
Power: setting=D0, actual=D0
Delay: 13 samples
Node 0x15 [Audio Input] wcaps 0x1d0541: Stereo
Device: name="STAC92xx Analog", type="Audio", device=0
Converter: stream=1, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1
0x17
Processing caps: benign=0, ncoeff=0
Node 0x16 [Audio Input] wcaps 0x1d0541: Stereo
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1
0x18
Processing caps: benign=0, ncoeff=0
Node 0x17 [Audio Selector] wcaps 0x300d0d: Stereo Amp-Out R/L
Control: name="Capture Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Control: name="Capture Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1
Amp-Out vals: [0x08 0x08]
Power: setting=D0, actual=D0
Connection: 7
0x0c 0x0e 0x0f 0x1b 0x11* 0x12 0x0a
Node 0x18 [Audio Selector] wcaps 0x300d0d: Stereo Amp-Out R/L
Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1
Amp-Out vals: [0x80 0x80]
Power: setting=D0, actual=D0
Connection: 7
0x0c* 0x0e 0x0f 0x1b 0x11 0x12 0x0a
Node 0x19 [Audio Selector] wcaps 0x300501: Stereo
Power: setting=D0, actual=D0
Connection: 3
0x13* 0x14 0x1c
Node 0x1a [Audio Mixer] wcaps 0x200500: Mono
Power: setting=D0, actual=D0
Connection: 1
0x19
Node 0x1b [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
Amp-In vals: [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97]
Power: setting=D0, actual=D0
Connection: 6
0x0c 0x0e 0x0f 0x13 0x14 0x0a
Node 0x1c [Audio Selector] wcaps 0x30050d: Stereo Amp-Out
Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=1
Amp-Out vals: [0x9f 0x9f]
Power: setting=D0, actual=D0
Connection: 1
0x1b
Node 0x1d [Audio Output] wcaps 0x4061d: Stereo Digital Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x5e0]: 44100 48000 88200 96000 192000
bits [0xe]: 16 20 24
formats [0x5]: PCM AC3
Power: setting=D0, actual=D0
Delay: 4 samples
Node 0x1e [Audio Output] wcaps 0x4061d: Stereo Digital Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x5e0]: 44100 48000 88200 96000 192000
bits [0xe]: 16 20 24
formats [0x5]: PCM AC3
Power: setting=D0, actual=D0
Delay: 4 samples
Node 0x1f [Pin Complex] wcaps 0x400781: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x40f000f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x00:
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 1
0x1d
Node 0x20 [Pin Complex] wcaps 0x400781: Stereo Digital
Pincap 0x00000034: IN OUT Detect
Pin Default 0x40f000f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x00:
Unsolicited: tag=00, enabled=0
Power: setting=D0, actual=D0
Connection: 1
0x1e
Node 0x21 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out
Control: name="Beep Playback Switch", index=0, device=0
ControlAmp: chs=1, dir=Out, idx=0, ofs=0
Control: name="Beep Playback Volume", index=0, device=0
ControlAmp: chs=1, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1
Amp-Out vals: [0x00]
Power: setting=D0, actual=D0
Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono

Share this post


Link to post
Share on other sites
I'm stuck on getting AppleHDA to work with my sound card (IDT 92HD81B1X5).

...

 

I've answered some of my own questions:

  • You use the legacy AppleHDA.kext (10.6.3 if i'm not mistaking)
  • The layout-id you use in DSDT had to correspond with the one you're going to use in the kext. And is indeed byte reversed.
  • The driver itself has to be binary patched

I still have no idea how to get the layout right... driver is recognized now, all is working except output. Rather critical if you ask me :(

Share this post


Link to post
Share on other sites

I've answered some of my own questions:

  • You use the legacy AppleHDA.kext (10.6.3 if i'm not mistaking)
  • The layout-id you use in DSDT had to correspond with the one you're going to use in the kext. And is indeed byte reversed.
  • The driver itself has to be binary patched

I still have no idea how to get the layout right... driver is recognized now, all is working except output. Rather critical if you ask me :)

Try this Kext:http://www.osx86.net/view/3371-applehda.ketxt_for_idt_92hd81b1x5.html

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×