Jump to content

Dell XPS M1530 / M1330 AppleHDA Solutions (Sigmatel STAC 9228)


talisman
 Share

201 posts in this topic

Recommended Posts

This topic is ONLY for discussion and posting of different fixes to AppleHDA.kext for XPS M1530 and M1330 which have the Sigmatel 9228 Audio Codecs.

Last Updated 6th April 2010

(VoodooHDA.kext for Snow Leopard i386/x86_64 with working Internal Mic)

 

IMPORTANT:

1. The Instructions and kexts have been made for and tested in an M1530 only. Any testing in M1330 will be welcome. The M1330 kexts have been made from the M1530 kexts but have the correct ConfigData. Please send me your tested M1330 kexts so I can post it here.

2. Please Open Disk utilities and repair permissions after installing the kext.

 

 

Snow Leopard VoodooHDA

I will go the VoodooHDA way. Of course, if anyone has figured out the AppleHDA way, feel free to post it. Please specify your hardware. Advantage of VoodooHDA: easily customizable and patchable. Does not get overwritten. Working Internal Mic.

 

M1530: Look for the attached VoodooHDA.kext below. Details:

1. It will show the Speaker and the front left and middle jack as a complex out and has jack detect / switching for both of the jacks

2. Internal mic and mic jack has auto switching but internal mic has very very low sensitivity(?).

3. I am not sure about the HDMI. (untested)

 

Update: This is the latest in VoodooHDA (version 0.2.56). Has working Internal Mic too. The PrefPane HAS to be installed. You can find the files here

 

M1330: Waiting for submission of a working kext.

 

Important: If you have your device defines as HDEF in DSDT, do not try to load VoodooHDA and AppleHDA together as you will get KP. VoodooHDA does not load from /E/E but can be manually loaded after boot. For auto load put it in /S/L/E or try putting its dependencies in /E/E.

Stable Kexts:

This section contains stable kexts which will always work for the designated system. The sections below contain experimental kexts that have different modifications to them and each have their own faults. They will be updated as and when required.

 

M1530: Try this (by Urthwhyte). AppleHDA.kext.M1530.Allports.zip

Working: Almost everything, autoswitching of all ports, works even after sleep, mute and all volume controls.

Not Working: Internal Mic

 

M1330: Try this (by gbonilla). AppleHDA.kext.M1330.zip

Working: Autoswitching on one ports, works even after sleep, mute and all volume controls.

Not Working: Internal Mic, autoswitching on both front ports.

Experimental Kexts:

If you are having the following problems you can solve them by using the corresponding kexts. As these are experimental ones, everything might not work properly. This section is more for understanding the solution to a problem, rather than giving you an easy solution to all your problems with Audio.

 

Problem: Audio Not Working After Reboot.

Solution: This is due to incorrect verbs in the ConfigData entry of the Info.plist in the AppleHDAController.kext which can be found in the Plugins folder of the AppleHDA.kext.

 

M1530: Use the kext from AppleHDA.kext.STAC9228.M1530.ConfigDataFix.zip

M1330: Use the kext from AppleHDA.kext.STAC9228.M1330.ConfigDataFix.zip (Not working till further notice)

 

 

 

Note: Verbs are very specific to systems. They may be different for you even if you have the same Audio Codec but a different laptop model. I suggest you write your own verbs if the attached kexts don't work

 

If you want to understand verbs look here : The King's post

If you want to get verbs from Vista look here : MadTux's Guide

 

ConfigData for M1530:

<00a71c10 00a71d10 00a71e21 00a71f02 00b71cf0 00b71d00 00b71ef0 00b71f40 00c71cf0 00c71d00 00c71ef0 00c71f40 00d71c10 00d71d01 00d71e17 00d71f90 00e71c20 00e71d10 00e71ea1 00e71f02 00f71c30 00f71d10 00f71e01 00f71f02 01071cf0 01071d00 01071ef0 01071f40 01171cf0 01171d00 01171ef0 01171f40 01271cf0 01271d00 01271ef0 01271f40 01371c20 01371d01 01371ea6 01371f90 01471cf0 01471d00 01471ef0 01471f40 02171ca0 02171d10 02171e56 02171f98 02271cf0 02271d00 02271ef0 02271f40>

 

ConfigData for M1330: (Yehor Lvivski)(EDITED)

<00A71C10 00A71D10 00A71E21 00A71F02 00B71CF0 00B71D00 00B71EF0 00B71F40 00C71CF0 00C71D00 00C71EF0 00C71F40 00D71C10 00D71D01 00D71E17 00D71F90 00E71C30 00E71D10 00E71EA1 00E71F02 00F71C20 00F71D10 00F71E01 00F71F02 01071CF0 01071D00 01071EF0 01071F40 01171CF0 01171D00 01171EF0 01171F40 01271CF0 01271D00 01271EF0 01271F40 01371C40 01371D00 01371EA6 01371F90 01471CF0 01471D00 01471EF0 01471F40 02171CA0 02171D10 02171E56 02171F18 02271CF0 02271D00 02271EF0 02271F40>

 

Problem: Headphone Autoswitching Does Not Work at all / Does Not Work After Sleep

Solution: The first problem is solved in the M1530 by the kext below: AppleHDA.kext.STAC9228.M1530.ConfigDataFix.zip

 

The second problem seems to have a solution and will be posted soon. (Chrysaor might have a fix)

 

Problem: Internal Mic Does not Work

Solution: We are working very hard to resolve this. Chrysaor, gbonilla, wingrunr21, macgirl are the some of the names that come to my mind amongst the people who are working on it. Have patience and we might have a New Year's Gift for you!!

 

Help Needed: I am posting two kexts:

 

1. M1530: AppleHDA.kext.STAC9228.M1530.IntMic19.zip

M1330: AppleHDA.kext.STAC9228.M1330.IntMic19.zip

 

These have the internal mic set to pin 19 (0x13).

The current pin map is : 8 28 19.

Other Possibilities: 7 27 19 or 9 29 19

 

2. M1530: AppleHDA.kext.STAC9228.M1530.IntMic12.zip

M1330: AppleHDA.kext.STAC9228.M1330.IntMic12.zip

 

These has the internal mic set to pin 12 (0x0c). This works in an Inspiron 1525 with STAC 9228 (Details)

The current pin map is : 8 28 25 22 12.

Other Possibilities: 7 27 24 21 12 or 9 29 26 23 12

 

Let me know if any combination works. All you have to do is edit the Internal Mic section in AppleHDA.kext/Contents/Info.plist

 

Problem: The sound crackles on initialization as if it has a caught a cold

Solution: You are probably using PC_EFI V8 and a vanilla kernel. Not a good combinaltion. Upgrade to PC_EFI V9 (Netkas).

 

Problem: The sound does not work at all even after installing these kexts.

 

M1530 only: You do not need the HDAEnabler anymore if you use the Brandon2004/Chrysaor DSDT.aml .

 

Solution: Check if you have HDAEnabler.kext (Kabyl) installed. If not do so. You will find it attached below.

Check if you have AppleAzaliaAudio.kext in your Extensions folder. If you do, delete it because its stops the AppleHDA from working (thanks Urthwhyte for reminding me)

If you have any other Problems:

1. Check you Sound pane in System Preferences to see if the default output and input are set correctly.

2. Google around and if you don't find anything then post here.

How To:

1. How to get codec dump from Linux:

 

In terminal type:

sudo cat /proc/asound/card0/codec#0 >> codecdump.txt

Note: The 0 might have to be replaced by 1 or 2

 

2. How to get Verbs from Vista?

Click on:

START

RUN

and write: regedit (this will start registry explorer)

Search for PinConfig

 

OR

 

Find it here with regedit:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}000\PinConfigOverrideVerbs]

 

The number in {} and the 000 might be different for you!!

 

3. How to make a Codec Graph.

 

In a Linux Machine:

Download: CodecGraph

Install: Graphvix (sudo yum install graphviz)

Run: ./codecgraph from the Codecgraph Directory

 

In Mac:

See Here

 

You can also use the mandriva-linux-one-2009-KDE4-int-cdrom-i586 live CD to get the codec dump. Apparantly the Ubuntu live CD has an older version of ALSA

 

The output of the CodecGraph is a .svg file. You can open it with Safari or convert it to jpg using GIMP

 

Files you might find useful:

 

stac9228_M1530.txt is the codec dump

The Codec Graph for M1530:

codec2iq5.th.jpg

AppleHDA.kext.STAC9228.M1530.ConfigDataFix.zip

AppleHDA.kext.STAC9228.M1530.IntMic19.zip

stac9228_M1530.txt

AppleHDA.kext.STAC9228.M1530.IntMic12.zip

AppleHDA.kext.STAC9228.M1330.ConfigDataFix.zip

AppleHDA.kext.STAC9228.M1330.IntMic12.zip

AppleHDA.kext.STAC9228.M1330.IntMic19.zip

HDAEnabler.kext.zip

AppleHDA.kext.M1530.Allports.zip

AppleHDA.kext.M1330.zip

VoodooHDA.kext_M1530_STAC9228.zip

VoodooHDA_0.2.56_SL_PrefPane.zip

Link to comment
Share on other sites

XPS M1330 PinConfig

<00A71C1F 00A71D10 00A71E21 00A71F02 00B71CF0 00B71D00 00B71EF0 00B71F40 00C71CF1 00C71D00 00C71EF0 00C71F40 00D71C10 00D71D01 00D71E17 00D71F90 00E71C30 00E71D10 00E71EA1 00E71F02 00F71C20 00F71D10 00F71E01 00F71F02 01071CF2 01071D00 01071EF0 01071F40 01171CF3 01171D00 01171EF0 01171F40 01271CF4 01271D00 01271EF0 01271F40 01371C40 01371D00 01371EA6 01371F90 01471CF5 01471D00 01471EF0 01471F40 02171CA0 02171D10 02171E56 02171F18 02271CF6 02271D00 02271EF0 02271F40>

pinconfig.txt

Link to comment
Share on other sites

I have downloaded both AppleHDA.kext and HDAEnabler.kext, installed them and repaired permission, I have the sound icon and I am still not getting sound, no matter what i set as output in the sound option. Some help please?

 

I need to know what system configuration you have.... if possible please put the details in your signature... it will be easier to help you...

 

Thanks for this, Talisman.

 

I tried some mods to the pathmap and the pin-config before without success, now I see more clearly.

 

Do these kexts solve any problems you had before.. please let me know so that I can post it...

Link to comment
Share on other sites

I have downloaded both AppleHDA.kext and HDAEnabler.kext, installed them and repaired permission, I have the sound icon and I am still not getting sound, no matter what i set as output in the sound option. Some help please?

 

Have you also deleted the AppleAzaliaAudio.kext and then repaired permissions? For some reason that kext stops the sound from working even if you have the correct kexts installed.

 

wrt talisman's original post, the kext that was recently released for the Inspiron 1525's with the autoswitching will work even after sleep and does list what it sees as two seperate microphones, which could be due to the 1x30's arrays. I think the fact that we have two mics is what's tripping us up, rather than the pin map which seems to have been nailed down.

Link to comment
Share on other sites

talisman, none of the 1330 kexts work correctly. The configdata one still doesn't have audio working upon first boot and neither internal mic one works correctly. I'm burning a mandriva disk right now to see what I can get figured out today.

 

BTW Yehor gave the M1330's pin config not the 1530's

 

Small problem: Mandriva does not find a codec when the LiveCD loads ALSA. I'm downloading the alpha of Ubuntu 9.10 and we'll see. This one has ALSA 1.0.17 instead of 1.0.18 but doesn't do me much good if it won't load a codec. If worse comes to worse I'll pull out an external HD and install Gentoo on it.

Link to comment
Share on other sites

Talisman I tested two of the M1330 and din't work, the one I got working is from jbonilla.

 

wingrunr21 I already have Kubuntu 8.x isntalled in a partition, do you know if it has the new ALSA, I can make the codec dump it it has the latest.

Link to comment
Share on other sites

talisman, none of the 1330 kexts work correctly. The configdata one still doesn't have audio working upon first boot and neither internal mic one works correctly. I'm burning a mandriva disk right now to see what I can get figured out today.

 

BTW Yehor gave the M1330's pin config not the 1530's

 

Small problem: Mandriva does not find a codec when the LiveCD loads ALSA. I'm downloading the alpha of Ubuntu 9.10 and we'll see. This one has ALSA 1.0.17 instead of 1.0.18 but doesn't do me much good if it won't load a codec. If worse comes to worse I'll pull out an external HD and install Gentoo on it.

 

Sorry... typo.... it is the 1330 pin config verbs..... thats why I posted it.....

 

Can you or Macgirl post the most recent kext which is working....

 

Talisman I tested two of the M1330 and din't work, the one I got working is from jbonilla.

 

wingrunr21 I already have Kubuntu 8.x isntalled in a partition, do you know if it has the new ALSA, I can make the codec dump it it has the latest.

 

You dont really need anything latest.... just do an update of the ALSA .... I think you can use yum to do that....

Link to comment
Share on other sites

Hey I still can't seem to get auto-switching to both headphone ports, I can get autoswitching to one and an indepoendent headphone port that you have to manually switch to but I cant get both autoswitched to. Do you guys have any ideas on how to do this? I'm fresh out of ideas, I've been beating myself up over this.

Link to comment
Share on other sites

I'm currently using the working Inspiron 1525 kext with the autoswitching, but upon reboot I have no audio until I sleep the laptop and wake it up., other than that the kext works wonderfully, right now I'm working on a diff to between gbonilla's and Chryasor's to see if there's a verb difference that could be causing the lack of sound after reboot.

Link to comment
Share on other sites

Hey I still can't seem to get auto-switching to both headphone ports, I can get autoswitching to one and an indepoendent headphone port that you have to manually switch to but I cant get both autoswitched to. Do you guys have any ideas on how to do this? I'm fresh out of ideas, I've been beating myself up over this.

Could you make one of the jacks auto-switchable and the other manually?

 

Yeah I tried the m1330 kext and it doesn't work. Macgirl can you please post the working kext that you said was working?

Sure, the one is working (auto-switch and external mic) is here on gbonilla's thread: http://forum.insanelymac.com/index.php?showtopic=141033

Link to comment
Share on other sites

First times I tried the kext it worked right away, then after I test some of the hexts posted here I put back the original from gbonilla's but now I need to make either sleep or insert a headphones in first jack at least for a second.

Link to comment
Share on other sites

Seems the same here, on the first reboot after I install the kext everything works correctly, and after that nothing until I sleep or insert a headphone. I think part of this problem is differing config data between the various laptop models, but I'm not sure where it goes or how to edit it. IF anyone could point me towards a tutorial I could see if it's something I can fix, otherwise I'll let someone with a bit more Unix experience take a look at it.

Link to comment
Share on other sites

Could you make one of the jacks auto-switchable and the other manually?

Sure, the one is working (auto-switch and external mic) is here on gbonilla's thread: http://forum.insanelymac.com/index.php?showtopic=141033

 

Mac girl, Yes I can get the other manual, look in the sound preferences and you'll see the other headphone port and if you switch to it you can use it.

 

AppleHDA.kext.zip

 

I wish I had the sleep problem you guys are having so I could help fix it but on my 1525 I'm working fine after reboot. You guys can test out the above kext, Maybe it will help. Good Luck!

Link to comment
Share on other sites

So with this we can have two headphones attached, or one of them has greater priority?

 

 

EDIT:

Did you attach the correct one, because it has the same modification time as the prevoious, an also when tested I have the same manual selection of the second headphones

Link to comment
Share on other sites

Seems the same here, on the first reboot after I install the kext everything works correctly, and after that nothing until I sleep or insert a headphone. I think part of this problem is differing config data between the various laptop models, but I'm not sure where it goes or how to edit it. IF anyone could point me towards a tutorial I could see if it's something I can fix, otherwise I'll let someone with a bit more Unix experience take a look at it.

 

The tutotrial to make verbs is listed in the first post. It is under the How To section. If you have Vista, that is the easiest way. However, you might not find the data in vista at all (my case), but give it a try. I would like to know if the config data is different in different machines of the same Model and Make. I personally do not feel so, because I got the Vista PinConfigVerbs dump from one of my XPS M1530 and am using it on the other. It can be different between revisions though. If it is, then I will write a script to extract that from a dump.

 

You need to put the Config data in the Info.plist in the AppleHDA.kext/Contents/Plugins/AppleHDAController.kext/Contents

 

Thanks it is working perfectly, Left jack is the selectable, the center is the auto-swhitch.

 

I guess it can be reversible, I mean left jack = auto, center jack selectable.

 

I have always had left auto-switchable and middle Manual. I guess you can do that by making the middle one a Line-out and the left one a headphone in the PathMap in AppleHDA.kext/Contents/Info.plist

 

I got auto-switching to both although I can't get it to show in sound preferences but other than that it works perfectly! Have fun everyone! and Merry Christmas.

AppleHDA.kext.zip

 

Can you post a ChangeLog or something so that we can follow the modifications that you made??

Link to comment
Share on other sites

I have always had left auto-switchable and middle Manual. I guess you can do that by making the middle one a Line-out and the left one a headphone in the PathMap in

With Taruga's I had sound in both at the same time (Int Speakers, Left jack) but once I put the M1330 to sleep I lose that so I need to select manually on the Sound Panel.

Link to comment
Share on other sites

Macgirl what happened is in sound preferences it still shows up as there is another headphone port but for some reason with the arrangement in the plist both headphone ports work with the internal speaker selected but nothing changes. Just try it and you'll see that both headphone ports should work under the Internal Speaker setting just with one of the ports it wont change it but you will get sound.

 

As it is the middle headphone port has priority, I'm attempting to get both headphone ports working at the same time but it is kicking my butt.

 

Talisman, I would post a change log but as it is it would take quite a bit of time, you can just look at my previous AppleHDA.kext and my newest one. The one thing I did was I used node 11 instead of the usual node 10. Once I did that it seemed to work but I couldnt get it to auto-switch to it in the sound preference pane.

Link to comment
Share on other sites

 Share

×
×
  • Create New...