Jump to content

SigmaTel High Definition Audio (Intel 945 chipset)


133 posts in this topic

Recommended Posts

zappa : i managed to find your pins id by checking your regmon logs.

 

Headphones.txt gives this :

stsystra.exe:2380 SetValue HKLM\Software\Sigmatel\GlobalState\STSysTray\1.0\JackPresenced SUCCESS 0x0

 

Linein.txt gives this :

stsystra.exe:2380 SetValue HKLM\Software\Sigmatel\GlobalState\STSysTray\1.0\JackPresence10 SUCCESS 0x0

 

[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

Link to comment
Share on other sites

Can you guys check if your Vendor and Device ids match the following ?

 

If it doesn't match, you can modify it.

 

<key>Intel ESB HDA</key>

<dict>

<key>CFBundleIdentifier</key>

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

<key>IOClass</key>

<string>AppleHDAController</string>

<key>IOPCIPrimaryMatch</key>

<string>0x269A8086</string> (Enterprise Southbridge High Definition Audio)

<key>IOProviderClass</key>

<string>IOPCIDevice</string>

</dict>

<key>Intel ICH7 HDA</key>

<dict>

<key>CFBundleIdentifier</key>

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

<key>IOClass</key>

<string>AppleHDAController</string>

<key>IOPCIPrimaryMatch</key>

<string>0x27D88086</string>

<key>IOProviderClass</key>

<string>IOPCIDevice</string>

</dict>

</dict>

 

the bolded quote is the Vendor and Device ids of the 82801G (ICH7 Family) High Definition Audio Controller.

 

I also find this in the AppleHDA binary :

 

AppleHDANode18isSigmaTelSTAC922x

 

and this in the IOHDAFamily binary :

 

IOHDACodecDevice::setUCState ( 0x%X, 0x%X, 0x%X, 0x%X, 0x%X, %p )

IOHDACodecDeviceUserClient::setUCState UNKNOWN subSelector: 0x%lX

IOHDACodecDevice::setUCState ( 0x%X, 0x%X, 0x%X, 0x%X, 0x%X, %p ) returns 0x%lX

IOHDACodecDeviceUserClient::getState UNKNOWN subSelector: 0x%lX

IOHDACodecDeviceUserClient

IOHDACodecDeviceUserClient getState UNKNOWN subSelector: selector: 0x%lX, subSelector: 0x%lX, arg3: 0x%lX, arg4: 0x%lX, arg5: 0x%lX

HDACodecDriverIOHDACodecFunction

IOHDACodecFunctionGroupTypeIOHDACodecFunctionSubsystemIDIOHDAControllerIOHDAStre

m

com.apple.iokit.IOHDAFamily1.1.4a9

 

and in the AppleHDA.kext/Resources/DefaultAudioLevels.plist :

 

IMPORTANT: DO NOT ADD NEW CPU ENTRIES INTO THIS LIST UNTIL GM CANDIDATE.

 

This file containst the default volume settings, expressed in dB, to be

set by applications needing to set the volume early in the boot process.

The values encoded are derived from testing target hardware and applying

a volume setting that will produce a specified Sound Pressure Level (SPL).

 

The file is to contain a series of named arrays where the array name will

represent a given CPU by matching the CPU 'layout-id' property value as a

key to locate an array of default volume settings for the CPU. Code using

this file should search the IOService plane of the registry for a

'layout-id' property value (this should be located in the 'HDEF' node

for i386 architecture CPUs), then create a string with that represents

the decimal value of the 'layout-id' property and use that string as the

<key> to locate the dictionary holding the array of default volume levels

for the target CPU.

 

Each named array will contain one or more dictionaries to describe the

default volume setting for a given analog output port. A dictionary entry

will exist for each supported analog output port. Each dictionary

describing a volume setting will have a key to describe the output port

and a real number to describe the volume setting expressed in dB.

 

PLEASE MAINTAIN THE ENTRIES IN 'layout-id' ORDER AS THAT WILL STREAMLINE

VERIFICATION PROCESSES

Link to comment
Share on other sites

Can you also (in the terminal with kextstat) check if these kext are loaded ?

 

66 3 0x6c9000 0x17000 0x16000 com.apple.iokit.IOAudioFamily (1.5.8b2) <32 11>

74 2 0x655000 0x6000 0x5000 com.apple.iokit.IOHDAFamily (1.1.4a9) <5 4 3 2>

75 0 0x65b000 0x6000 0x5000 com.apple.driver.AppleHDAController (1.1.4a9) <74 16 5 4 3 2>

76 1 0x8a5000 0x19000 0x18000 com.apple.iokit.IO80211Family (112.1) <37 16 11 6 5 4 3 2>

84 0 0x6e0000 0x32000 0x31000 com.apple.driver.AppleHDA (1.1.4a9) <74 66 5 4 3 2>

 

 

ioreg details of a mac mini stac9220 audio.

 

"CodecInfo" = ({"DetectAssistants"=({"SPDIF_In"=9}),"AnalogOut"={"SignalProcessing"=

{"Volume"={"SoftwareVolume"={}}}},

"CodecID"=2206496386,"ForceWakeToIdle"=Yes},{"DetectAssistants"=({"SPDIF_In"=9}),

"AnalogOut"={"SignalProcessing"={"Volume"={"SoftwareVolume"={}}}},"CodecID"=2206496384,

"ForceWakeToIdle"=Yes},{"DetectAssistants"=({"SPDIF_In"=10}),

"CodecID"=283904130})

"PathMaps" = ({"PathMapID"=1,"PathMap"=(((({"NodeID"=7},{"Amp"={"PublishVolume"=Yes,"IsInput"=Yes,

"Channels"=({"Bind"=1,"Channel"=1},{"Bind"=2,"Channel"=2}),"PublishMute"=Yes},"NodeID"=24},

{"NodeID"=19},{"NodeID"=11,"VREF"=80}))),((({"NodeID"=6},{"Amp"={"PublishVolume"=Yes,"IsInput"=Yes,

"Channels"=({"Bind"=1,"Channel"=1},{"Bind"=2,"Channel"=2}),"PublishMute"=Yes},"NodeID"=23}

,{"NodeID"=18},{"NodeID"=15})),(({"NodeID"=9},{"NodeID"=17}))),((({"NodeID"=12}

,{"Amp"={"PublishVolume"=Yes,

"Channels"=({"Bind"=1,"Channel"=1},{"Bind"=2,"Channel"=2}),

"IsOutput"=Yes,"PublishMute"=Yes},

"NodeID"=3})),(({"NodeID"=10},{"Amp"={"PublishVolume"=Yes,"Channels"=($

"OutputSampleLatency" = 30

"IOMatchCategory" = "IODefaultMatchCategory"

"CFBundleIdentifier" = "com.apple.driver.AppleHDA"

"Layouts" = ({"PathMapRef"=({"Outputs"=(""IntSpeaker"",""LineOut"",""SPDIFOut""),

"CodecID"=(2206496386,2206496384),"Inputs"=(""LineIn"",""Mic"",""SPDIFIn""),

"Mic"={"SignalProcessing"={}},"LineOut"={},"SPDIFIn"={},"DetectDelegates"={"SPDIF_Out"=14},

"IntSpeaker"={"SignalProcessing"={},"MuteGPIO"=0},

"LineIn"={},"DetectDependancies"={"SPDIF_In"=15},"PathMapID"=1,

"SPDIFOut"={}}),"LayoutID"=0,"AmpDelay"=250},

{"PathMapRef"=({"Outputs"=(""IntSpeaker"",""LineOut"",""SPDIFOut""),

"CodecID"=(2206496386,2206496384),"Inputs"=(""LineIn"",""Mic"",""SPDIFIn""),

"Mic"={"SignalProcessing"={"maxVolumeOffset"=0,"SoftwareDSP"={"GainStage"={"RightGain"=<c2624a40>,

"InputSampleLatency" = 30

Link to comment
Share on other sites

Hi VaiOSX and Zappa, I've this Sigmatel HD Audio (ven_8384, dev_7690) on my i945GM express chipset too. I've read this thread posts and tried to understand as I'm trying to make it work too. I tried some kext editing but no luck. I'm running 10.4.5, so will be getting the 10.4.6 kext to test (do I have to change to update the OS to 10.4.6 ?). So currently following the steps ur guys are doing. Will be back with my findings, hope I may of help too. ;)

Zappa: May I know at wat stage are u now?

Link to comment
Share on other sites

I ve made a billion of tests here without success so i suspect that my hardware (STAC9200) isn't supported by this driver :)

the kext is loading succesfully but the driver not the init seq seems to be based on SPDIF_In pin which is certainly unwired on my laptop so you will have a better luck with a STAC922X...

Link to comment
Share on other sites

Curious... I am working with a similar driver for the 880 and can't seem to find what the codec id dev would be for my driver. I have the Azalia working, but not the AppleHDA. I found the pin Id's on my chipset, and will work on it, but I'm not sure about the codec id... any ideas?

wayland_ioreg.txt

Link to comment
Share on other sites

Guest Let The Metal Flow

i have sigmatel 9220 on intel gntlkr and using 10.4.3 intel hda kext sound works from line in..but the quality is really bad! distorted sound! is a hardware problem or it's normal? maybe because sound is from line in?

Link to comment
Share on other sites

Kc Wayland, you have a realtek ACL880 codec => 0x10ec0880 and ICH6 Audio controller so stay with Azalia driver or try to replace 283904130 with 283904128 in AppleHDA info.plist. and add this

 

<key>Intel ICH6 HDA</key>

<dict>

<key>CFBundleIdentifier</key>

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

<key>IOClass</key>

<string>AppleHDAController</string>

<key>IOPCIPrimaryMatch</key>

<string>0x26688086</string>

<key>IOProviderClass</key>

<string>IOPCIDevice</string>

</dict>

to the info.plist of AppleHDAControler plugin

Link to comment
Share on other sites

Kc Wayland, you have a realtek ACL880 codec => 0x10ec0880 and ICH6 Audio controller so stay with Azalia driver or try to replace 283904130 with 283904128 in AppleHDA info.plist. and add this

 

<key>Intel ICH6 HDA</key>

<dict>

<key>CFBundleIdentifier</key>

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

<key>IOClass</key>

<string>AppleHDAController</string>

<key>IOPCIPrimaryMatch</key>

<string>0x26688086</string>

<key>IOProviderClass</key>

<string>IOPCIDevice</string>

</dict>

to the info.plist of AppleHDAControler plugin

 

Thanx zappa, I will try this also. I want ALC880 fully working too, so I'm giving this a go.

Link to comment
Share on other sites

Thanx zappa, I will try this also. I want ALC880 fully working too, so I'm giving this a go.

 

So far I get a layout id error still when trying to load it... I'll keep playing.

 

EDIT-

Still playing with it. Zappa, have your tried messing with the AppleHDA.kext from 10.4.3? I was able to get that version working with very minor modification. You might be able to get something out of it. It works in 10.4.5 and 10.4.6 as well. Weird how it can do that :) If you don't have it, just let me know!

-Kc

 

Edit 2- I attached maybe some hope, it's the 10.4.3 kext loaded on 10.4.6. I have the other dependencies standing by for testing, so we'll see what works. It looks like the input on this 880 is possible, but needs the correct address. I loaded it with the extensive plist from 10.4.6 and it still loaded!!! This may help the sigma's as well? Hope is still here!

post-15194-1144732972_thumb.gif

Link to comment
Share on other sites

Guest Let The Metal Flow

you want my info.plist file? the only that runs is from 10.4.3..the 10.4.5/6 kexts don't recognize my sigmatel audio

Link to comment
Share on other sites

Guest Let The Metal Flow

where's applehdacontroller? the driver of 10.4.3 loads perfectly..all menu's and audio midi configuration are perfect but the output is line-in (blue) and the sound is distorted..

 

 

ps: the audio is not recognized in system profiler as onboard audio (incorporated).

Link to comment
Share on other sites

You seem to have an MAUDIO USB interface also no? as you can see in the info.plist you have some node that you can change if you read my post above you will certainly understand how the info.plist params work. The hard part is to detect what layout-id has been used by your codec and switch the node value...

 

use terminal and type:

sudo ioreg > stevevai_greghowe.txt

 

and post it

Link to comment
Share on other sites

Guest Let The Metal Flow

yes i have an maudio usb but i like very much to get working integrated audio: the first pass can be to make sound output from line out and not from line in, maybe this is the cause of distorsion..

 

here what you requested:

stevevai_greghowe.txt

Link to comment
Share on other sites

 Share

×
×
  • Create New...