I want to get my audio working for alc275 on my laptop.
I want to avoid using a modified kext (for stability with updates and such).
I have done the following:
Extracted my codec verbs and obtained by pin configuration data.
I also have my dsdt and common edits but am having confusion with HDEF section i have to edit.
Where do i obtain the following info:
codec-id (it is based off of data taken form hardware vender and device id from windows device manager menu and rearranged into hex)
layout-id (it is always 12 in hex as that is defined in apple's audio kext)
device-type (this is where the name of device is given)
I also want to directly put in pin config info, but am unsure how and where to put it and what formatting is needed. Here is my pin config data:
-----------------------------------------------------------------------------------------------
<01271C30 01271D09 01271EA6 01271F90 01371CF0 01371D11 01371E11 01371F41 01471C10 01471D01 01471E17 01471F90 01571C1F 01571D10 01571E21 01571F04 01671CF0 01671D11 01671E11 01671F41 01871C40 01871D58 01871EA1 01871F04 01971CF0 01971D11 01971E11 01971F41 01A71CF0 01A71D11 01A71E11 01A71F41 01B71CF0 01B71D11 01B71E11 01B71F41 01D71C05 01D71D82 01D71E13 01D71F40 01E71C20 01E71D11 01E71E45 01E71F04>
-----------------------------------------------------------------------------------------------
Here is the layout of the HDEF section i am using (replacing relevant data where applicable):
-----------------------------------------------------------------------------------------------
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"codec-id",
Buffer (0x04)
{
0x83, 0x76, 0x84, 0x83 // the hex codec ID (reverse order)
},
"layout-id",
Buffer (0x04)
{
0x02, 0x00, 0x00, 0x00 // the hex layout ID (reverse order)
},
"device_type",
Buffer (0x16) // the hex count + 1 for null terminated ascii string
{
"SigmaTel STAC9221D A2" // the string identifier
},
"PinConfigurations",
Buffer (0x1C) // the actual hex count
{
/* the PinConfigurations data as it appears.
/* 0000 */ 0x10, 0x40, 0x21, 0x02, 0x10, 0x10, 0x01, 0x01,
/* 0008 */ 0x20, 0x30, 0x81, 0x01, 0x10, 0x40, 0x01, 0x01,
/* 0010 */ 0x21, 0x90, 0xa1, 0x01, 0x11, 0x60, 0x01, 0x01,
/* 0018 */ 0x30, 0x21, 0x45, 0x01 /* one entry seems missing */
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
-------------------------------------------------------------------------------------------
Here is the hardware id strings from device manager:
NVIDIA High Definition Audio
----------------------------
HDAUDIO\FUNC_01&VEN_10DE&DEV_0014&SUBSYS_104D4F00&REV_1001
HDAUDIO\FUNC_01&VEN_10DE&DEV_0014&SUBSYS_104D4F00
Realtek High Definition Audio
-----------------------------
HDAUDIO\FUNC_01&VEN_10EC&DEV_0275&SUBSYS_104D4F00&REV_1000
HDAUDIO\FUNC_01&VEN_10EC&DEV_0275&SUBSYS_104D4F00
I have 2 devices listed under device manager, do i have to somehow accomodate both devices in my dsdt?
I have looked at the following posts and am still confused on the "format" of data to put into the dsdt and what i all need to avoid a "hacked" kext:
http://www.projectosx.com/forum/?showtopic=465viewtopic.php?f=19&t=634http://forum.thinkpads.com/viewtopic.php?f=5&t=85344http://osx86.co/f36/various-dsdt-mods-t1960/page3.html