NotebookForums.com › Forums › Notebook Manufacturers › Dell Forums › Dell Home (Inspiron, XPS, Studio) › Hacking SigmaTel Drivers for E1705/9400, i need knowledgable helpers
New Posts  All Forums:Forum Nav:

Hacking SigmaTel Drivers for E1705/9400, i need knowledgable helpers

post #1 of 561
Thread Starter 
I’ve been trying to piece together some alternative STAC9200 drivers to replace the minimalist drivers provided by Dell and I’ve had some great success, and some major problems. Combined with some registry hacking, I think I’ve opened up a whole lot of possibilities for the lowly integrated sound card, and solved some long standing NBF user issues as well. For example, I’ve now got the following working:
  • Dual outputs. I can now use the mic in as an output jack for speakers and the standard output as a jack for headphones. These are not independent jacks, that is you cannot send separate signals to each, but it is still a nice feature.
  • Live input monitoring. Microphone and line-in can now be monitored in realtime with no latency without using ASIO drivers.
  • Improved Mixer. The SigmaTel mixer combines playback and recording on a single panel for convenience and also allows you to ‘solo’ playback of each output device. Soloing is of limited value to most users but the option is there. It also shows numeric values for balance, yeah! Anyone who has accidently knocked a mixer balance to the right or left knows what a pain it is to get it re-centered on the windows mixer.
  • “Internal Mic/Line-in” (aka “Stereo Mix”) as a recording input. This should make a lot of people happy as I have seen this requested many times.

I've also uncovered loads of SPDIF options, EQ options, Dolby features, SoundCard Power Management option, etc. There's quite a few features that Dell chose to hide from us.

I'm undecided whether to hack the new features into the Dell Drivers or add the missing Dell features (subwoofer mostly) into other drivers.

If anyone with some registry/INF/driver experience wants to help out, send me a PM. I'm tired now but I'll post some more details later...
post #2 of 561
Dolby features??? Could you expand a bit? I'd be interested in testing, even though I don't have much experience in windows hacking (mostly use Linux)
post #3 of 561
Sweet!
I am definatly keeping my eye on this thread.

One thing that would be nice is if you could post the registry edits you did in a [code] format so we can get to changing our registry and have the extra options now, then you could maybe get some extra help when it comes to adding the features into dell's drivers.
This would also help for quicker addition into new driver sets dell may put out in the future.

If I had more experience in registry/INF/driver modding, I would offer a hand but as of now I am only good at poking around and following instructions.

D.
post #4 of 561
Thread Starter 
Quote:
Originally Posted by m94mni
Dolby features??? Could you expand a bit? I'd be interested in testing, even though I don't have much experience in windows hacking (mostly use Linux)
Sorry, I guess the Dolby comment was a bit vague, eh? I'm sure the random scattering of thoughts that follows will only confuse the matter further. I’m not totally sure what features we will be able to use, but I have uncovered some (untested) and I know more are available. Some screenshots showing what I’ve found are at the end of this post. I know some of these options, such as HDMI output, won’t be applicable to our machines but I’m just trying to enable as much as possible now. Later we can find out what doesn’t work and disable it. The most enticing stuff I have found so far is the Dolby Speaker Virtualization and Dolby Headphone, but I haven’t been able to unlock it on the Dell driver yet. I'm sure many people will be happy about the SPDIF stuff. If you look at the Dolby options on this Integra NVS-7.7 HTPC you’ll see the control panel I’m talking about. Relevant info starts on page 42. A lot of it won’t apply to us since we don’t have 7.1 audio, but a lot of the Dolby features are available on the STAC9200 chips, at least according to sigmatel. Get the Integra PDF here --> http://63.148.251.135/redirect_servi....7Hardware.pdf Another way to see the hidden panels is just by opening the Sigmatel control panel file ‘stacgui.cpl’ with “Resource Hacker” and looking at all the different dialog panels. Just drag stacgui.cpl onto the resource hacker executable and it will open it up. Get resource hacker here --> http://www.angusj.com/resourcehacker/ No need to install any other drivers to test this, all these Dolby options are in the Dell driver. This won’t enable any new features, but it’s a good way to quickly poke around and see what’s there. According to SigmaTel, the STAC9200 (used in the E1705/9400 and maybe more) supports Dolby Sound Room, see this .pdf http://www.sigmatel.com/documents/HD...o%20Glossy.pdf. The PDF is from this page: http://www.sigmatel.com/products/pca...k/stac9200.asp. Note that it doesn’t support “Dolby Home Theater” or “Dolby Master Studio”. Regardless, this should be great news for us. According to Intel, see (http://www.intel.com/technology/maga...udio-0305.htm), Dolby Surround Room includes the following features: Dolby Sound Room Enjoy Dolby personal surround sound from virtually every seat in the house, without requiring a complete 5.1-speaker system. Powerful and advanced digital signal processing technologies transform the playback of all stereo content into a richer, more natural, and pleasing surround sound listening experience. Watch DVD movies and listen to music with the excitement and ambience of a perfectly configured 5.1-speaker surround-sound system from just two speakers or a set of headphones. Dolby Sound Room features: •\tDolby Digital—Delivers up to 5.1 discrete channels of surround sound, bringing the cinema experience home. •\tDolby Pro Logic II—Transforms any two-channel source into five independent full-range channels. Brings new life to playback of CDs, MP3s, and other stereo content. •\tDolby Virtual Speaker—Simulates a properly placed 5.1-channel speaker system from a pair of stereo speakers. Ideal for audio enthusiasts when a 5.1-channel playback system is not practical. •\tDolby Headphone—Accurately simulates a 5.1-channel surround-sound speaker system using a set of headphones. So how do we add these control panels? In my crude poking and prodding I found that what control panels are shown seems to be determined the the registry keys at
Code:
[HKEY_LOCAL_MACHINE\\SOFTWARE\\SigmaTel\\STacGUI]
"Config_Tab"=dword:00000008
"Config_Spk"=dword:00000000
"Config_Adv"=dword:00000100
"Config_Rates"=dword:00000000
"Config_Oem"=dword:00000000
"Config_Pwr"=dword:00000007
"Config_Digital"=dword:00000007
"Config_Bass"=dword:00000003
"HdmiRate"=dword:00000000
"Tab_Test"=dword:00000000
"Chksum"=""
"Config"=dword:00000000
"EQpreset"=dword:ffffffff
‘Config_Tab’ determined which tabs are shown and the other Config_**** entries determine which options are shown for that particular tab. Let’s start with Config_Tab for now. All values given will be decimal unless otherwise noted. A value of 1 will cause the sigmatel control panel to only show the ‘Speakers’ tab. A value of 4 will cause it to only show the ‘Levels’ (mixers) tab. Here’s a table that might help 1\tSpeakers 2\t???? 4\tLevels 8\tAdvanced 16\tEqualizer 32\tDolby Note that the values double. This allows them to determine what tabs are shown using a single value. Thus, a decimal value of 17 for “Config_Tab” will show the Speakers and Equalizer tabs. A value of 61 (1+4+8+16+32) will therefore show all 5 tabs noted above. This rule seems to be followed for most of the tab pages. For example, a value of 1 for Config_Adv will show only a “Power Management” option on the advanced tab. Here’s a partial table for Config_Tab 1\tPower Management 2\tSample Rate (???, not sure what for) 4\tSPDIF Output (Sampling Rate & Format: PCM or AC3) 8\tAnother SPDIF option box with less options 16\tA simple SPDIF enable/disable checkbox 32\tDolby Digital Live enable/disable 64\tNoise Suppression enable/disable 128\tASIO Latency options (but we don’t have a native ASIO driver) 256\tJack Reconfiguration Popup So if I wanted all these options present on the Advanced Tab, I would enter a value of 511 decimal (1+2+4+8+16+32+64+128+256) or 1ff hex. Some panels, Like Config_Spk, don't seem to follow this rule. Try going through 1,2,3... and you'll see what I mean. Some values cause an error and some enable new features, like the ability to right-click the speaker and change some settings. Sorry, I don't remember what settings, I can't seem to get those options back. As you can see, there’s a lot of experimentation to be done. This trial and error will need to be done for all the pages. Luckily it is somewhat quick, just close the sigmatel control panel, make the registry change then reopen the control panel. I recommend putting a shortcut on the quick launch bar so you don’t need to minize regedit, etc. After looking at many sigmatel drivers, I’ve found the following Config_**** keys: Config_Adv Config_AdvDolby Config_Digital Config_MicLevN Config_NotDo lby Config_Oem Config_Portmap Config_Rates Config_Spk Config_Tab The bad news is that enabling the control panel doesn't necessarily enable the feature. I got the EQ to show up, but it doesn't work. There must be more options that need to be set. The driver that gave me the Internal Line-In and Dual Outputs is the STAC9200 driver for the “RadiSys Endura RB945G” mobo. It’s really not suitable though, it disables the onboard speakers and there’s no subwoofer mixer. If you want to try it you can find it here: http://www.radisys.com/files/support..._Audio_Win.zip I didn't have any problem uninstalling it and going back to the Dell driver when I was finished. I’m confident that someone much smarter than myself can put this together and create a driver will finally utilize all the features that the STAC9200 is capable of. I think our best bet is to hunt down another device using the STAC9200 with drivers that have these features enabled, then re-add the Subwoofer mixer and make sure the internal speakers work. And of course I have no idea how this will be accomplished. EDIT: I don't have the SPDIF adapter or an amp with digital in so I haven't been able to test ANYTHING related to digital out. Here’s some screenshots of the extra control panels:
LL
LL
LL
LL
LL
post #5 of 561
Awesome Work!!
post #6 of 561
Interesting findings.
I tested on my E1705.
I found all tabs don't work except levels.

Sampling rate adjustment to other than 48k will give no output. I believe it's locked by the driver.

Unfortunately I don't have other motherboard which has same codec for testing.
post #7 of 561
Sigmatel homepage doesn't provide driver download.

Therefore I believe their reference drivers has all functions and sent to OEMs for customization according to OEMs' policy.
post #8 of 561
i found that tab #2 is "jack setup" which lets you configure the audio ports on a desktop. thus it is useless for us (it's pretty much for 5.1 surround sound). also, i got driver version 5.10.5067 working (newer than dell's) but yea subwoofer isnt there. i'm gonna play around a bit more and try to help out.

i'm guessing you got stereo mix using the 945g drivers? i just downloaded that so i'm gonna go play around with that.
post #9 of 561
Quote:
Originally Posted by falerus
i found that tab #2 is "jack setup" which lets you configure the audio ports on a desktop. thus it is useless for us (it's pretty much for 5.1 surround sound). also, i got driver version 5.10.5067 working (newer than dell's) but yea subwoofer isnt there. i'm gonna play around a bit more and try to help out.

i'm guessing you got stereo mix using the 945g drivers? i just downloaded that so i'm gonna go play around with that.
How did you got 5067 working?

I tried any driver newer than dell 4995 gives me "device couldn't start" error.
post #10 of 561
Quote:
Originally Posted by Richteralan
How did you got 5067 working?

I tried any driver newer than dell 4995 gives me "device couldn't start" error.

it requires modding the inf/ini file(s). in the process i've created what i guess could be called frankendriverinifiles?

anyways i gotta look at sthda.inf. its friggin long but it might have a clue as to how to add subwoofer and stereo mix. however i speculate that our chips dont even support stereo mix. veazer have you tested stereo mix? i think i'll go test that really quick.
post #11 of 561
Thread Starter 
Quote:
Originally Posted by Richteralan
...Sampling rate adjustment to other than 48k will give no output. I believe it's locked by the driver...

This might be it, or at least related. I don't have an SPDIF adapter to test.

Code:
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E96C-E325-11CE-BFC1-08002BE10318}\\0006\\Settings]
"TraceFlags"=dword:000089b3
"BiosType1"=hex:01
"ImpedanceMeasurementTimeMs"=dword:00000000
"CPL_FixedDigitalOutRate"=dword:0000bb80

bb80 hex = 48000 decimal

Search all the installation .ini files from other drivers and you can find many other keys for this portion of the registry that are not used by the Dell driver.
Here's a handful. Don't try to insert this chunk in your registry! It's bits and pieces of other .ini files i have found:

Code:
CPL_SaveExtraPower                   = hex: 0
CPL_MaySwitchExtAmpPowerState        = hex: 0
CPL_UserControlsMaySwitchExtAmpPowerState = hex: 0
CPL_SecondsAfter                     = dword: 5
CPL_UserControlsPowerManagementSettings = Hex: 0
CPL_SpdifTransmitterEnabledByUser    = hex: 1
CPL_UserControlsFixedDigitalOutRate  = hex: 1
CPL_FixedDigitalOutRate              = dword: 48000
MicBoostLevel                        = dword: 0x000A0000
Mic2BoostLevel                       = dword: 0x000A0000
EnableDLCDWA                         = hex: 0

These additional CPL_ settings could be the key to getting some of the other panels working. Search the .ini files for '[HKR\\Settings]'

When the .ini file is parsed,
[HKR\\Settings] becomes [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E96C-E325-11CE-BFC1-08002BE10318}\\0006\\Settings], at least on my machine.

I think another critcal registry area is here:

Code:
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E96C-E325-11CE-BFC1-08002BE10318}\\0006\\Settings\\filter\ear]
"UniqueId"=hex:00
"CaptureConverter"=hex:03
"RenderConverter"=hex:02
"SpdifMaster"=hex:02
"SpdifOutConverter"=hex:05
"EnableCompositeMuxAndAdcCtrl"=hex:00
"Associations"=hex:04,01,02
"DisableSPDIFControl"=hex:00
"SpdifOutCtrl"=hex:01
"LegacyIoctlHere"=hex:01
"EnabledPcmRenderBitsAndRates"=dword:fffffffe
"EnabledPcmCaptureBitsAndRates"=dword:fffffffe
"EnableInputMonitor"=hex:00
"KeepAdcAlwaysOn"=hex:00
"EnableHwSpeakerConfigurationSupport"=hex:00
"EnableIntSpkrMute"=hex:01
"GpioForSpdifMuteControl"=hex:01
"TurnBiasOffOnNotSelectedPin"=hex:01

Likewise, to find more of these values in the .ini files look for [HKR\\Settings\\filter\\Rear]

I think the Dolby features might be incorporated into [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E96C-E325-11CE-BFC1-08002BE10318}\\0006\\Settings\\filter\ear\\plugins]. Take a look at some bits and pieces from some other .ini files for this 'plugin' section:

Code:
[HKR\\Settings\\filter\\Rear\\plugins]
RegVersion                           = dword: 1
[HKR\\settings\\filter\\Rear\\plugins\ender\\DHT]
load                                 = dword: 1
idEffect                             = dword: 11
idEffectType                         = dword: 12
order                                = dword: 500
mode                                 = hex: 8A,02,00,00,96,02,00,00
[HKR\\settings\\filter\\Rear\\plugins\ender\\DHT2]
load                                 = dword: 1
idEffect                             = dword: 21
idEffectType                         = dword: 22
order                                = dword: 600
mode                                 = hex: 59,01,00,00,6F,01,00,00
[HKR\\settings\\filter\\Rear\\plugins\ender\\SoftAmp]
load                                 = dword: 1
idEffect                             = dword: 20
order                                = dword: 1000
[HKR\\settings\\filter\\Rear\\plugins\ender\\DDL]
load                                 = dword: 1
idEffect                             = dword: 10
order                                = dword: 10000
mode                                 = hex: C7,02,00,00,D1,02,00,00
[HKR\\settings\\filter\\Rear\\plugins\ender\\DMS]
load                                 = dword: 1
idEffect                             = dword: 11
order                                = dword: 500
mode                                 = dword: 0x25B
[HKR\\settings\\filter\\Rear\\plugins\ender\\DMS2]
load                                 = dword: 1
idEffect                             = dword: 21
order                                = dword: 600
mode                                 = dword: 0x19E

These are from a STAC9220 driver that supports Dolby Home Theatre and Dolby Master Studio. So maybe then the DHT plugin is Dolby Home Theatre, DMS is Dolby Master Studio, and DDL is Dolby Digital Live. I don't know about the SoftAmp...

So maybe we need to create a reg entry for this plugin section with 'DSR' ? I'm too tired and my eyes are bugging out now.

If you want to look around these drivers you can get them here --> http://downloadfinder.intel.com/scri...ng&prdmap=2379. Don't install them, they don't work and they're for the 9220 anyway.

Quote:
Originally Posted by falerus
...i speculate that our chips dont even support stereo mix. veazer have you tested stereo mix? i think i'll go test that really quick.

I thought i made sure it worked yesterday but let me try again to be sure
post #12 of 561
hmm i just installed the driver with stereo mix, fired up audacity, and it recording blankness for stereo mix.
post #13 of 561
Thread Starter 
Quote:
Originally Posted by falerus
hmm i just installed the driver with stereo mix, fired up audacity, and it recording blankness for stereo mix.

You're right. I can't get it working now either. I had another driver that actually showed StereoMix, let me see if i can find it again.

Sorry to get your hopes up!
post #14 of 561
Thread Starter 
Ok, this driver here (http://www.csd.toshiba.com/cgi-bin/t...dgngdgnj.0&ct=) has the stereo-mix but it doesn't work either.

Also, this driver will only output to the laptop speakers and ignores both jacks.

On a good note, the equalizer was enabled for this driver and it works.
post #15 of 561
got equalizer to work on driver version 5607; works with earphone plug :]

i'm tired. i'll be back tomorrow for sure, this is very interesting

i really want stereo mix for that nvidia geoforms thing haha
post #16 of 561
Here's some more interesting info, regarding getting more recording options:

http://forums.us.dell.com/supportfor...d=27922#M27922
post #17 of 561
Does anyone know of an ASIO driver for our Dell e1705's? I ask because when I record using my Firebox external soundcard, it uses ASIO drivers, and if there were ASIO drivers for my Laptop also, then I could playback using my laptop speakers instead of having to plug other speakers into the Firebox.
post #18 of 561
Thread Starter 
Quote:
Originally Posted by SKYflyer
Does anyone know of an ASIO driver for our Dell e1705's? I ask because when I record using my Firebox external soundcard, it uses ASIO drivers, and if there were ASIO drivers for my Laptop also, then I could playback using my laptop speakers instead of having to plug other speakers into the Firebox.

These work well for me --> http://www.asio4all.com/
post #19 of 561
well last night i managed to get this:


it allows you to change b/n mic and line in.

One problem though is it gives an error every time you start the sigmatel app because our laptops dont have a "rear speakers" port. I'll look into this today, and I guess I'll also try seeing if the mic port can be changed to stereo out.
LL
post #20 of 561
Thread Starter 
Quote:
Originally Posted by falerus
well last night i managed to get this:

[removed for space]

it allows you to change b/n mic and line in.

One problem though is it gives an error every time you start the sigmatel app because our laptops dont have a "rear speakers" port. I'll look into this today, and I guess I'll also try seeing if the mic port can be changed to stereo out.

Nice work. I'm wondering now if the dual outs will be possible since the onboard speaker are technically another output. If we are using the headphone out and the onboard speakers, maybe both of are outputs are already 'used up' ?? something to consider. Ideally the driver would let you use any 2 at the same time but they might not have thought of it.

Here's a useless but interesting trick, change Config_OEM entry in STacGUI from 0 to 1 and it will change from a SigmaTel control panel to a "Sound Reality" control panel. No effect on features, but it looks better than the fugly sigmatel logo.
New Posts  All Forums:Forum Nav:
  Return Home
NotebookForums.com › Forums › Notebook Manufacturers › Dell Forums › Dell Home (Inspiron, XPS, Studio) › Hacking SigmaTel Drivers for E1705/9400, i need knowledgable helpers