Jump to content

SigmaTel High Definition Audio (Intel 945 chipset)


133 posts in this topic

Recommended Posts

Audio's working for me now with 10.4.3 AppleHDA kext. Straight forward replace (ensuring permission is ok).

 

Tested with 2 channel speakers. Headphones work, one of the rear outs work. Haven't tried mic.

 

hello ,

 

can you tell me what step you done...

 

My chipset is Intel 945PM Express, audio DevID is 7661 8384...

 

but i try many times but still no sound ....

 

please help me ...

 

i use 10.4.3(f1111) now .....thanks

Link to comment
Share on other sites

Can someone PM me with a hint on how to get a AppleHDA.kext from 10.4.3. I have an the 10.4.4 image and I'd rather not download a whole 10.4.3 just to get one small file. I have an intel D945GTP microATX board with the sigmatel 9220. I'm getting no sound and no listing that internal audio is available under System Profiler.

 

Everything else is great! Oh except Chess, the built in app. Mine just freezes using the built in Intel 950 graphics.

Link to comment
Share on other sites

Can anyone tell me where to get AppleHDA.kext from the install DVD of Mac os x86 10.4.3?

I checked /System/Library, but there is no Extension folder. I followed all the methods described above and now I can adjust the volume, but still no sound.

Link to comment
Share on other sites

Hi,

 

would also appreciate if someone could e-mail me the 10.4.3 version of AppleHDA.kext or a link (mail.adress@removed.com) as I don't have a 10.4.3 image and would prefer not to download it just for one tiny file.

 

Thanks in advance,

sphere

Link to comment
Share on other sites

I realized one thing after i installed (on XP) the sigmatel drivers provided in bootcamp.

 

The stac9220x5 chipset in the (intel) mac mini/MBP/iMac are not using the same schematics as the PC's built-in stac.

 

The drivers are really different.

 

So the only way to find a solution is to write a new driver, because the pins, verbsinit and widgets are built-in and assign the drivers directly. On OS X side, you'll never find anything related to in the plist.

 

You can compare the Proto.ini and the I5_WHQL.ini (the first one can be find in the boot camp archive and the second in the latest intel drivers for XP) you'll see how they are different.

 

We need now someone skilled in kext programing to write a new driver (based on the apple's one) :(

Link to comment
Share on other sites

i think it's more than just a minor change.

 

the apple driver is using the firmware (EFI) to get access to the built-in speaker, pins assignment is really different.

 

It was easier to see it in the boot camp XP drivers.

Link to comment
Share on other sites

VaiOSX my friend i see your terific post on (another forum :) ) related to XP on mac mini and it was so amazing! really great work on this sigmatel. Now we really need your help here. Thanks.

 

 

 

if someone get the PPC or Intel source of AppleHDA.kext let me know... couldn't find it on open darwin...

Link to comment
Share on other sites

thx zappa :D

 

I would like to help, but i don't own a pc computer with the sigmatel audio codec, but i can try to do something.

 

What i know for now is:

 

• The STAC codec is recognized by the kext.

• The initverbs and pin assignment are handled by the firmware (that's why you can hear the apple chime on real mac at startup).

• The LayoutIDs are used to control the STAC features, but they are not working for PC Mobos.

• The MBP and iMac (intel) are using a different Device_ID (7682) and Mac mini (7680), can be find in the AppleHDA.kext info.plist

 

<key>CodecID</key><integer>2206496386</integer> (in hexa = 83847682)

<key>CodecID</key><integer>2206496384</integer> (in hexa = 83847680)

 

If your Sub_Sys is 0x00000100, your sound card will probably be fully recognized. (it's the apple built-in audio sub system id used for all the today's intel mac).

 

You will get working audio by finding and replacing the NID (nodeID) values in the Info.plist of the AppleHDA.kext

 

you'll find more information about HDA pin's assigment here :

 

http://www.microsoft.com/whdc/device/audio/PinConfig.mspx

 

http://www.microsoft.com/whdc/device/audio/default.mspx

 

One thing you have to consider and check is which .ini file (while installing the sigmatel xp driver) is used on windows and check inside the pins assignment and pins ID (0x0a > line out, 0x0f line in, are the jacks pins id used for the intel mac)

 

these values are important to understand how your sound card is recognized and controlled.

 

I will check and try to give more information later. :D

Link to comment
Share on other sites

[HKR\Settings\pin]

[HKR\Settings\Pin\0A]

CfgDflt = dword: 0x0121E220

[HKR\Settings\Pin\0B]

CfgDflt = dword: 0x400000FF

[HKR\Settings\Pin\0C]

CfgDflt = dword: 0x9017E110

[HKR\Settings\Pin\0D]

CfgDflt = dword: 0x400000FE

[HKR\Settings\Pin\0E]

CfgDflt = dword: 0x400000FD

[HKR\Settings\Pin\0F]

CfgDflt = dword: 0x0181E040

[HKR\Settings\Pin\10]

CfgDflt = dword: 0x1145E030

[HKR\Settings\Pin\11]

CfgDflt = dword: 0x11C5E040

[HKR\Settings\Pin\15]

CfgDflt = dword: 0x400000FC

[HKR\Settings\Pin\1B]

CfgDflt = dword: 0x400000FB

 

This is the description of the Apple's boot camp drivers proto.ini file used for the intel mac.

 

here is the description of the pins used

 

ANALOG LINE OUT = 0A

DIGITAL IN =11

LINE/MIC IN = 0F

DIGITAL LINE OUT = 10

INTERNAL SPEAKER = 0C (not sure)

 

0x4xxxxxxxx means disabled.

 

the boot camp xp drivers are using the GPIO keys instead of initverbs.

 

RenderConverter = hex: 3

SlavedHpConverter = hex: 2

SpdifMaster = hex: 3

SpdifOutConverter = hex: 8

CaptureConverter = hex: 6,9

Link to comment
Share on other sites

Cool!

I don't have this one... ;)

VEN_8384&DEV_7690&SUBSYS_102801CD&REV_1022

Sigmatel STAC9200 for me with ICH7...

 

 

 

I made this change on the HDA kext but don't understant all these params?


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>CFBundleDevelopmentRegion</key>

<string>English</string>

<key>CFBundleExecutable</key>

<string>AppleHDA</string>

<key>CFBundleGetInfoString</key>

<string>1.1.4a9, Copyright Apple Computer, Inc. 2006</string>

<key>CFBundleIdentifier</key>

<string>com.apple.driver.AppleHDA</string>

<key>CFBundleInfoDictionaryVersion</key>

<string>6.0</string>

<key>CFBundleName</key>

<string>Apple HDA Driver</string>

<key>CFBundlePackageType</key>

<string>KEXT</string>

<key>CFBundleShortVersionString</key>

<string>1.1.4</string>

<key>CFBundleSignature</key>

<string>????</string>

<key>CFBundleVersion</key>

<string>1.1.4a9</string>

<key>IOKitPersonalities</key>

<dict>

<key>HDA Driver</key>

<dict>

<key>CFBundleIdentifier</key>

<string>com.apple.driver.AppleHDA</string>

<key>CodecInfo</key>

<array>

<dict>

<key>AnalogOut</key>

<dict>

<key>SignalProcessing</key>

<dict>

<key>Volume</key>

<dict>

<key>SoftwareVolume</key>

<dict/>

</dict>

</dict>

</dict>

<key>CodecID</key>

<integer>2206496400</integer>

<key>DetectAssistants</key>

<array>

<dict>

<key>SPDIF_In</key>

<integer>9</integer>

</dict>

</array>

<key>ForceWakeToIdle</key>

<true/>

</dict>

<dict>

<key>AnalogOut</key>

<dict>

<key>SignalProcessing</key>

<dict>

<key>Volume</key>

<dict>

<key>SoftwareVolume</key>

<dict/>

</dict>

</dict>

</dict>

<key>CodecID</key>

<integer>2206496386</integer>

<key>DetectAssistants</key>

<array>

<dict>

<key>SPDIF_In</key>

<integer>9</integer>

</dict>

</array>

<key>ForceWakeToIdle</key>

<true/>

</dict>

<dict>

<key>AnalogOut</key>

<dict>

<key>SignalProcessing</key>

<dict>

<key>Volume</key>

<dict>

<key>SoftwareVolume</key>

<dict/>

</dict>

</dict>

</dict>

<key>CodecID</key>

<integer>2206496384</integer>

<key>DetectAssistants</key>

<array>

<dict>

<key>SPDIF_In</key>

<integer>9</integer>

</dict>

</array>

<key>ForceWakeToIdle</key>

<true/>

</dict>

<dict>

<key>CodecID</key>

<integer>283904130</integer>

<key>DetectAssistants</key>

<array>

<dict>

<key>SPDIF_In</key>

<integer>10</integer>

</dict>

</array>

</dict>

</array>

<key>ConfigDefault</key>

<array>

<dict>

<key>CodecID</key>

<integer>2206496400</integer>

<key>ConfigData</key>

<data>

AQcd8AEHHkUBBx8RARccMgEXHcABFx7FARcf

EQDXHAAA1x3hANcegADXH0EA5xwyAOcd4ADn

HvAA5x9BAUccAAFHHeEBRx6AAUcfQQFXHAAB

Vx3hAVcegAFXH0EBtxwAAbcd4QG3HoABtx9B

ABfnAAAXFwEAFxYBABcVAAAB+QE=

</data>

<key>LayoutID</key>

<integer>0</integer>

</dict>

<dict>

<key>CodecID</key>

<integer>2206496384</integer>

<key>ConfigData</key>

<data>

AQcd8AEHHkUBBx8RARccMgEXHcABFx7FARcf

EQDXHAAA1x3hANcegADXH0EA5xwyAOcd4ADn

HvAA5x9BAUccAAFHHeEBRx6AAUcfQQFXHAAB

Vx3hAVcegAFXH0EBtxwAAbcd4QG3HoABtx9B

ABfnAAAXFwEAFxYBABcVAAAB+QE=

</data>

<key>LayoutID</key>

<integer>0</integer>

</dict>

</array>

<key>IOClass</key>

<string>AppleHDADriver</string>

<key>IOProviderClass</key>

<string>AppleHDACodec</string>

<key>InputSampleLatency</key>

<integer>30</integer>

<key>Layouts</key>

<array>

<dict>

<key>AmpDelay</key>

<integer>250</integer>

<key>LayoutID</key>

<integer>0</integer>

<key>PathMapRef</key>

<array>

<dict>

<key>CodecID</key>

<array>

<integer>2206496400</integer>

<integer>2206496386</integer>

<integer>2206496384</integer>

</array>

<key>DetectDelegates</key>

<dict>

<key>SPDIF_Out</key>

<integer>14</integer>

</dict>

<key>DetectDependancies</key>

<dict>

<key>SPDIF_In</key>

<integer>15</integer>

</dict>

<key>Inputs</key>

<array>

<string>"LineIn"</string>

<string>"Mic"</string>

<string>"SPDIFIn"</string>

</array>

<key>IntSpeaker</key>

<dict>

<key>MuteGPIO</key>

<integer>0</integer>

<key>SignalProcessing</key>

<dict/>

</dict>

<key>LineIn</key>

<dict/>

<key>LineOut</key>

<dict/>

<key>Mic</key>

<dict>

<key>SignalProcessing</key>

<dict/>

</dict>

<key>Outputs</key>

<array>

<string>"IntSpeaker"</string>

<string>"LineOut"</string>

<string>"SPDIFOut"</string>

</array>

<key>PathMapID</key>

<integer>1</integer>

<key>SPDIFIn</key>

<dict/>

<key>SPDIFOut</key>

<dict/>

</dict>

</array>

</dict>

<dict>

<key>AmpDelay</key>

<integer>250</integer>

<key>LayoutID</key>

<integer>2</integer>

<key>PathMapRef</key>

<array>

<dict>

<key>CodecID</key>

<array>

<integer>2206496400</integer>

<integer>2206496386</integer>

<integer>2206496384</integer>

</array>

<key>DetectDelegates</key>

<dict>

<key>SPDIF_Out</key>

<integer>14</integer>

</dict>

<key>DetectDependancies</key>

<dict>

<key>SPDIF_In</key>

<integer>15</integer>

</dict>

<key>Inputs</key>

<array>

<string>"LineIn"</string>

<string>"Mic"</string>

<string>"SPDIFIn"</string>

</array>

<key>IntSpeaker</key>

<dict>

<key>MuteGPIO</key>

<integer>0</integer>

<key>SignalProcessing</key>

<dict>

<key>SoftwareDSP</key>

<dict>

<key>Equalization</key>

<dict>

<key>Filter0</key>

<dict>

<key>FilterType</key>

<integer>1752195443</integer>

<key>Frequency</key>

<data>

KBVmQw==

</data>

<key>Gain</key>

<data>

eFIQwA==

</data>

<key>Q</key>

<data>

zczMPw==

</data>

<key>index</key>

<integer>0</integer>

<key>runInSoftware</key>

<true/>

</dict>

<key>Filter1</key>

<dict>

<key>FilterType</key>

<integer>1885434465</integer>

<key>Frequency</key>

<data>

NI9WRA==

</data>

<key>Gain</key>

<data>

7DaCwA==

</data>

<key>Q</key>

<data>

XqCxQA==

</data>

<key>index</key>

<integer>1</integer>

<key>runInSoftware</key>

<true/>

</dict>

<key>Filter2</key>

<dict>

<key>FilterType</key>

<integer>1885434465</integer>

<key>Frequency</key>

<data>

Jt7DQw==

</data>

<key>Gain</key>

<data>

m465vw==

</data>

<key>Q</key>

<data>

H8FdQA==

</data>

<key>index</key>

<integer>2</integer>

<key>runInSoftware</key>

<true/>

</dict>

<key>Filter3</key>

<dict>

<key>FilterType</key>

<integer>1885434465</integer>

<key>Frequency</key>

<data>

4lYuRA==

</data>

<key>Gain</key>

<data>

tc6+wA==

&

Info.plist.txt

Link to comment
Share on other sites

what do you mean? where i need to declare it?

for instance i only changed the Info.plist of the AppleHDA vers. 10.4.6. and put it (with IOAudioFamily) on extension folder. kext are loaded but with the "layout id" error...

 

The AppleHDAControler plugin inside have already the 27D8 ICH7 controler declare and also the ESB Audio Intel Controler (devID 269A )...

do you think that I must change the Intel controler device id for the sigmatel codec? is the sigmatel also a controler or just a codec?

Link to comment
Share on other sites

ok, here how it's wired:

 

[Models]

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CD=this

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CE=this

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CF=this

HDAUDIO\FUNC_01&VEN_8384&DEV_7690=this

default=this

[CopyFiles]

stsystra.exe = 0x24

stacgui.cpl = 0x25

stlang.dll = 0x25

[DelRegKeys]

HKR\Settings=Yes

HKCU\Software\Sigmatel\Settings=Yes

HKLM\Software\Sigmatel\Presets=Yes

HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Volume Control\SigmaTel C-Major Audio=Yes

[APPS]

StartSTSysTray=YesInvisible

[HKLM\Software\Microsoft\Windows\CurrentVersion\Run]

SigmatelSysTrayApp="stsystra.exe"

[HKLM\Software\Sigmatel\GlobalState]

[HKLM\Software\Sigmatel\STSysTray\1.0]

HideTrayIcon = dword: 1

PollingPeriod = dword: 500

RecordPriority = dword: 1

[HKLM\Software\Sigmatel\GlobalState\STSysTray\1.0]

ShowEventDialog = dword: 1

[HKR\Settings]

TraceFlags = dword: 0x89b3

BiosType1 = Hex: 01

ImpedanceMeasurementTimeMs = dword: 0

CPL_FixedDigitalOutRate = dword: 0x0000BB80

[HKR\Settings\pin]

CodecName = STAC9200-32

[HKR\Settings\pin\12]

CfgDflt = dword: 0x403003FB

[HKR\Settings\pin\11]

CfgDflt = dword: 0x90170311

[HKR\Settings\pin\0F]

CfgDflt = dword: 0x04A1002E

[HKR\Settings\pin\0d]

CfgDflt = dword: 0x0421421F

Action = hex: 80,00,81,0E,87,00

[HKR\Settings\pin\10]

CfgDflt = dword: 0x04811020

CfgCurr = dword: 0x04A11021

AltCfg = hex: 20,10,81,04,21,10,A1,04

[HKR\Settings\pin\0e]

CfgDflt = dword: 0x90100310

[HKR\Settings\pin\08]

CfgDflt = dword: 0x40C003FC

[HKR\Settings\pin\09]

CfgDflt = dword: 0x01441340

[HKR\Settings\connselector]

[HKR\Settings\filter\Rear]

UniqueId = hex: 0

CaptureConverter = hex: 3

RenderConverter = hex: 2

SpdifMaster = hex: 2

SpdifOutConverter = hex: 5

EnableCompositeMuxAndAdcCtrl = hex: 0

Associations = hex: 4,1,2

DisableSPDIFControl = hex: 0

SpdifOutCtrl = hex: 1

LegacyIoctlHere = hex: 1

EnabledPcmRenderBitsAndRates = dword: 0xfffffffe

EnabledPcmCaptureBitsAndRates = dword: 0xfffffffe

EnableInputMonitor = hex: 0

KeepAdcAlwaysOn = hex: 0

EnableHwSpeakerConfigurationSupport = hex: 0

EnableIntSpkrMute = hex: 1

GpioForSpdifMuteControl = hex: 1

[HKR\Settings\gpio]

02 = hex: 0x00, 0x01, 0x0E, 0x01, 0x11

[HKR\Settings\filter\Rear\TopoNames]

AnalogMonoOut = "{749D2E66-2B15-4071-BC44-DCE209F86444}"

[HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce]

Sigmatel="RegSvr32 /s stacapi.dll"

[HKLM\SOFTWARE\Sigmatel\STacGUI]

Config_Tab = dword: 0x8

Config_Spk = dword: 0x0

Config_Adv = dword: 0x100

Config_Rates = dword: 0x0

Config_Oem = dword: 0x0

[HKLM\SOFTWARE\Sigmatel\STacGUI\XML]

Nconfigs = dword: 0x0

 

 

For all other here the corresponding table of how the codec is "wired" depend on your subsys id:

 

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801B5=92xxM2-1.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801D8=92xxM2-1.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801C2=92xxM2-2.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801C8=92xxM2-2.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CC=92xxM2-2.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801D4=92xxM2-2.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801D6=92xxM2-2.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CD=92xxM2-3.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CE=92xxM2-3.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CF=92xxM2-3.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801C9=92xxM2-4.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CA=92xxM2-4.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801D3=92xxM2-4.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801CB=92xxM2-4.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690&SUBSYS_102801BD=92xxM2-5.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7690=92xxM2-1.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7680&SUBSYS_102801BF=92xxM8-1.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7680&SUBSYS_102801D7=92xxM8-2.ini

HDAUDIO\FUNC_01&VEN_8384&DEV_7680=92xxM8-1.ini

 

all 92xxM2 files can be found with the XP driver, let me known if you need one...

Link to comment
Share on other sites

[HKR\Settings\pin]

CodecName = STAC9200-32

[HKR\Settings\pin\12]

CfgDflt = dword: 0x403003FB

[HKR\Settings\pin\11]

CfgDflt = dword: 0x90170311

[HKR\Settings\pin\0F]

CfgDflt = dword: 0x04A1002E

[HKR\Settings\pin\0d]

CfgDflt = dword: 0x0421421F

Action = hex: 80,00,81,0E,87,00

[HKR\Settings\pin\10]

CfgDflt = dword: 0x04811020

CfgCurr = dword: 0x04A11021

AltCfg = hex: 20,10,81,04,21,10,A1,04

[HKR\Settings\pin\0e]

CfgDflt = dword: 0x90100310

[HKR\Settings\pin\08]

CfgDflt = dword: 0x40C003FC

[HKR\Settings\pin\09]

CfgDflt = dword: 0x01441340

 

you must now check with "regmon" (check in google) the pins 11, 0f, 10, 0d, 0e, 09.

 

When you plug a jack in your sound card jacks socket it will detect it and modify a registry key.

 

We need to know which jack plug is associated with which pin.

Link to comment
Share on other sites

Good job, now we can continue.

 

Analog Line out = pin 0D

Analog Line in = pin 10

 

[HKR\Settings\pin\0d]

CfgDflt = dword: 0x0421421F

Action = hex: 80,00,81,0E,87,00

 

[HKR\Settings\pin\10]

CfgDflt = dword: 0x04811020

CfgCurr = dword: 0x04A11021

 

 

Now if you check with in the pinconfig.doc link previously given you will know what the hexa strings mean.

 

(i'm also reporting a success from someone who just had to disable the front panel audio support in his bios).

 

The next step is to modify the info.plist in the AppleHDA.kext

 

But it's time to work for me... :blink:

Link to comment
Share on other sites

VAIOSX, I have

 

HDAUDIO\FUNC_01&VEN_8384&DEV_7661&SUBSYS_104D0700&REV_1042\4&782A47B&0&0001

 

Driver Provider : SigmaTel

 

 

Do i have a shot to get it working? because I have already tried many different kext's with no luck :blink:

 

 

 

If so what should I get/do?

 

Thanks

Link to comment
Share on other sites

 Share

×
×
  • Create New...