Jump to content

Fully working HP Pavillon DV5-1157ca IDT audio kext


Laqk
 Share

56 posts in this topic

Recommended Posts

Here is the AppleHDA driver I've been working on for the past few weeks. My laptop is an HP Pavillon DV5-1157ca with IDT High Definition Audio. It has three inputs: Internal mic, external mic jack, and another mic input through the HP expansion port; and three outputs: Internal speaker, external HP jack, and S/P-DIF output through the HP expansion port. All inputs and outputs, except the ones available through the expansion port, have been tested and work. The two mic inputs are independant, while the external HP output autodetects the presence of an inserted jack and switches output to this port, disabling internal speakers. Volume and mute touch controls above the keyboard are also working.

 

hp_dv5_idt_audio.zip

 

The driver was constructed from a Leopard 10.5.6 AppleHDA.kext vanilla kext. No hex edit was necessary. The only files modified were the Info.plist's from AppleHDAController.kext and AppleHDAPlatformDriver.kext plugins. Despite "sound assertion" error messages in the system log at boot time, the driver seems stable, all inputs and outputs are working, and shutdown works, although there is an occasional 30 seconds delay between the screen shutdown and the actual turning off of the computer.

 

A big thanks to Age_sabres18 and AREOS for inspiring me for doing this, as well as Taruga, MadTux, The KiNG, Master Chief, DiaboliK and all the others (sorry if I forgot anyone) involved in the AppleHDA project.

 

This is designed for a DV5-1157ca, but all HP Pavillon laptops of the DV5 series using an Intel High Definition Audio controller with an IDT codec with similar input/output configuration should be able to use it as well. This is a work in progress so feel free to test extensively and report your findings here. For example, someone much more knowledgeable than I am could steer me in the right direction for getting rid of these sound assertion errors.

 

IMPORTANT: You MUST use the HDAEnabler.kext provided in this package. Any other HDAEnabler won't work. Mine uses "1" as the layoutID, and I've modified the PinConfiguration parameter in Info.plist so that all inputs and outputs are properly listed in System Information.

 

To do:

 

Get rid of the "sound assertion" error messages;

Test the input/output available through the HP expansion port;

 

There is also a second High Definition audio codec in the HP Pavillon DV5-1157ca for HDMI output, associated with the NVIDIA GeForce 9600M GT. I might work on that next.

 

Enjoy !

Link to comment
Share on other sites

Hey, I am also using a IDT High Definition Audio, which might have a different codec(SigmaTel 92HD206X). I followed the guide from The King and patched the 10.5.6 vanilla AppleHDA.kext, unfortunately, no result. But when I tried to use your kext, at least it show something correct inside System Profiler though still no sound. Maybe only little adjustment would make that happen. Currently, I already got Linux dump and Pin config on hand, could you tell me the exact way to patch AppleHDA.kext? By the way, must I use Audio ID 1, after using your HDAEnabler, my working USB bluetooth headset not working any more, maybe it's also using Audio ID 1.

Link to comment
Share on other sites

You can change the audo id (layout id) if you like, but you must change it in all the Info.plist files of HDAEnabler.kext, AppleHDAController.kext and AppleHDAPlatformDriver.kext.

 

I Don't know about your bluetooth headset, does it use the AppleHDA.kext driver ? If so, it won't work with my version since I removed everything except support for the IDT codec.

 

As for your codec, I doubt that a "little adjustment" would make it work. Working with it for the past few days, I realized that the devil is in the PathMaps in AppleHDAPlatformDriver. You basically have to have your pin configuration graph handy and create your node list for each pin complex you want to use, one by one. I had to study the path maps for the already existing codecs for a while before I started to "get it". It's relatively simple once you understand, but it's not simple to explain.

 

Right now I'm trying to include support for the HDMI sound output. I know it can be done cause I can see it implemented in some of the pre-existing codecs in the vanilla AppleHDA.kext, but so far I've been unable to duplicate this in my codec.

 

I might post soon a "cleaner" version of my driver. Hope to get rid of at least some of the sound assertion errors.

 

I would really welcome some feedback from other people with harware indentical or similar to mine.

Link to comment
Share on other sites

Here's a new, cleaner version of the IDT 92HD71B7X audio codec driver for the HP Pavillon DV5-1157ca. Input volumes are now more appropriate on both the internal mic and external mic input, and the input volume control is now available on the latter.

 

HP_DV5_IDT_V2.zip

 

Despite having a working driver, I hesitated to post this because to be honest, there are still so many things I don't understand that I find this very frustrating. For example, despite all my efforts, I've been unable to activate input volume control on the internal mic, even though this control relies on a selector widget that is functionaly identical to the one driving the external mic jack. In both nodes, I configure the "Amp" section identically, and yet input volume works for the external jack and not for the internal mic. Even switching the two selector widgets doesn't change anything.

 

Furthermore, I can't for the life of me seem to figure out the "MuteGPIO" value that appears in the layout section, and it seems that I am not alone in this. There is almost no information on this value anywhere, and everybody seems to have found a value that works simply by trial and error, as I did. Very frustrating.

 

And to top it off, there are still these annoying "sound assertion" errors. I now begin to understand more what some of them mean, but I still can't figure out why they happen.

 

Despite the driver working, there are still some problems with it and I'd welcome feedback on this, to figure out if these problems happen only on my rig or with everybody:

 

- About one in five times, at boot time, a "SetupHostInterrupt() failed" sound assertion error appears, and the HDA driver doesn't load. Only rebooting can solve the problem;

- Random freezes or kernel panics at boot time that only seem to happen when the AppleHDA.kext driver is loading (I have to use voodoo kernel with 10.5.5 System.kext and seatbelt.kext because the CPU in the dv5-1157ca is 45nm);

- About 30 seconds after using the sound system to play a sound, the codec seems to turn itself off (probably for power management reasons). However, this results in a large "click" sound on the external headphone line. More annoying than anything, but still, this happens neither on windows nor linux.

 

So enjoy this, but please I need feedback to improve the driver. In particular I need someone to test the SPDIF output. Also, if any of you have seen one of the above problems discussed somewhere else, I'd appreciate if you let me know. I've done so many searches and sifted through so much unrelated information these past few weeks that my head is spinning.

Link to comment
Share on other sites

@Silverstonne:

 

You're welcome. :D

 

@yuanshijie:

 

TBH I don't know, but I suspect it has something to do with the fact that the driver you're talking about was made from an earlier version of the AppleHDA kext, probably even the one from Tiger. Had it not been for the shutdown issue I would have used it myself. My driver is made from the 10.5.6 kext, and I suspect that's why shutdown works properly on a Leopard system.

 

@moi osx:

 

Glad it works without problems for you. So now I have to figure out what's wrong with my rig. :(

 

@pateras:

 

Only if it has the same devid as mine (0x111D776B2).

Link to comment
Share on other sites

  • 3 weeks later...
@Silverstonne:

 

You're welcome. :)

 

@yuanshijie:

 

TBH I don't know, but I suspect it has something to do with the fact that the driver you're talking about was made from an earlier version of the AppleHDA kext, probably even the one from Tiger. Had it not been for the shutdown issue I would have used it myself. My driver is made from the 10.5.6 kext, and I suspect that's why shutdown works properly on a Leopard system.

 

@moi osx:

 

Glad it works without problems for you. So now I have to figure out what's wrong with my rig. ;)

 

@pateras:

 

Only if it has the same devid as mine (0x111D776B2).

 

@LaqK: thank a lot. your kext works perfect on my hp dv4t-1200. and no input control on internal mic. everything else works ok. finally the shutdown issue is fixed. the audio assertion error is still there and occassional hang at boot, no kp tho'. do you have nvdarwin for your graphics?

 

@moi osx: what graphics solution are you using? nvdarwin?

Link to comment
Share on other sites

... HEY MAN THIS WORKS !!! ... I GOT AN HP PAVILLION DV5-1000US ... I WAS USING ANOTHER PATCH THAT WOULD WORK FOR AUDIO AND TWO JACKS OUT, BUT THE MIC WOULDNT WORK ... WITH YOUR PATCH IT WORKS NICELY ...

... QUESTION: WHEN I PLUG A MIC INTO THE JACK, THE INTERNAL MIC DOESNT SWITCH TO JACK ONLY, SO IT WOULD HAVE THE INTERNAL MIC AND EXTERNAL MIC JACK WORKING AT THE SAME TIME ??? ... AM I DOING SOMETHING WRONG OR WHATS UP ??? .... I KINDA NEED THE INTERNAL MIC OFF WHEN IM USING THE EXTERNAL MIC JACK ... HELP PLEASE ???? ...

ANYWAYS THANKS A LOT BRO ...

... OH BTW WHEN I WAS USING THE OLDER PATCH, I HAD PROBLEMS SHUTTING DOWN MY LAPTOP ... I WAS GETTING A MESSAGE SAYING TO HOLD DOWN THE POWER BUTTON ... IM NOT CERTAIN THAT THE OLDER PATCH WAS THE PROBLEM ... ANYWAYS WHEN I INSTALLED YOUR PATCH, MY LAPTOP SHUTS OFF PERFECTLY, I GET THE INTERNAL AND EXTERNAL JACK MIC WORKIN', INTERNAL SPEAKERS WORK, AND TWO JACKS OUT FOR HEADPHONES WORK TOO ....

... THANKS A LOT ....

 

... MY WEBCAM WAS WORKING WHEN I WAS RUNNING IATKOS 2i (10.5.2) ... THEN I UPDATED TO 10.5.6 AND DOESNT WORK ANYMORE ... ANYBODY CAN HELP ME ??? ...

Link to comment
Share on other sites

I am so sorry for bad English. At an output from a sleep mode the sound is not started. How to troubleshoot?

 

are you sure you are using this applehda with just the hdaenabler and nothing else?

Link to comment
Share on other sites

@nerd1983:

 

Yes, both internal and external mic are active at the same time, this is by design. Can't you select which mic to use in your software ? Anyway, that's how it works under windows, you select which mic to use in control panel. And yes, the shutdown problem was due to the old sound driver, I think because it was made from a tiger kext. Mine is made from the leopard 10.5.6 kext.

 

@taylorsin:

 

No idea whatsoever. My headphones work perfectly, and judging by your coded graph, your coded layout is exactly the same as mine. Sorry.

 

@lefechka:

 

Sleep doesn't work on my rig, so I'm unable to test whether the sound comes back after wakeup. This seems to be a common problem though, it's mentionned in many other threads relating to sound. Maybe you could check those, someone may have found a solution. I could try to work on it, but it wouldn't be very practical since I cannot test it. So these days I'm concentrating more on trying to fix the sleep issue I'm having.

 

 

 

 

@yeeha:

 

I'm using an EFI string. Check this thread:

 

http://www.insanelymac.com/forum/index.php?showtopic=131400

Link to comment
Share on other sites

@yeeha:

 

I'm using an EFI string. Check this thread:

 

http://www.insanelymac.com/forum/index.php?showtopic=131400

thnks for the link. but no. I had tried almost all the solutions there, but i do not get QE/CI. the funny thing is, my 9200m graphics card is working perfect with nvdarwin. tried the efi string solution to get rid of the injector, but i guess, i will have to live with it! :)

 

back to the topic, did you find any solution for the sound assertion errors?

 

on my comp, i do not have any problem with sound when i come back from sleep. works perfect..almost..

there are some pops in the headphone mode. looks random.. but happens almost every minute. and the pops are there only when no app is using the sound. if i am running itunes or something, no pops from the headfone.

Link to comment
Share on other sites

Laqk
I welcome. We will search. Can look my variant of a sound if there will be a desire and possibility. It one gets a sound. It can turn out to make upgrade. Can take something useful to itself?

My sleep-mode

 

yeeha:

my NVIDIAGeForce 9600M GT All works strings

The description, but in Russian

 

PS.Has edited a little kext from the second variant and he has earned. After a dream silence.

Link to comment
Share on other sites

Hey Laqk,

 

Perhaps we can iron this out as to why I get no headphone output. I have attached my linux codec dump perhaps you can take a look at it and give me some advice or work your magic with my dump? :(

 

Many thanks for your efforts my friend!

 

Yours,

Taylor

 

codec_dump.txt

Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...
  • 1 month later...
 Share

×
×
  • Create New...