Jump to content

My findings about ad1981hd on hp


6nikola9
 Share

122 posts in this topic

Recommended Posts

UPDATE: Really thanks to OVOF, who solved this problem! You will find the kext in this thread.

great work ovof;)

 

 

 

 

 

Hi, i decided to open my topic to share with some coders my findings because i'm not a coder but i have a lot of findings about an ad1981hd soundcard in an hp notebook. We all know that this card doesn't work only in hp notebooks and here i'm posting my findings hoping that someone could help us to solve this problem. So, every work will be really appreciated!!! So, thank you in advance!

I have an hp nx7300 notebook with of course an ad1981hd sound card and osx86 10.4.8 upgraded to 10.4.10 by jas dvd.

Here we go:

First of all according to the producer of this soundcard i've downloaded the pin scheme here http://www.analog.com/UploadedFiles/Data_Sheets/AD1981HD.pdf

I made a codec dump by ubuntu live cd using cat command and here's the dump:

Codec: Analog Devices AD1981

Address: 0

Vendor Id: 0x11d41981

Subsystem Id: 0x103c30a2

Revision Id: 0x100200

Default PCM:

rates [0x7f]: 8000 11025 16000 22050 32000 44100 48000

bits [0xe]: 16 20 24

formats [0x1]: PCM

Default Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0

Default Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1

Node 0x02 [Audio Output] wcaps 0x30311: Stereo Digital

PCM:

rates [0x60]: 44100 48000

bits [0x2]: 16

formats [0x5]: PCM AC3

Connection: 2

0x01* 0x04

Node 0x03 [Audio Output] wcaps 0x441: Stereo

Power: 0x0

Node 0x04 [Audio Input] wcaps 0x100511: Stereo

PCM:

rates [0x7f]: 8000 11025 16000 22050 32000 44100 48000

bits [0x6]: 16 20

formats [0x1]: PCM

Power: 0x0

Connection: 1

0x15

Node 0x05 [Pin Complex] wcaps 0x400187: Stereo Amp-In Amp-Out

Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0

Amp-In vals: [0x00 0x00] [0x00 0x00]

Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1

Amp-Out vals: [0x33 0x33]

Pincap 0x081173f: IN OUT HP EAPD Detect

Pin Default 0x92174110: [Fixed] Speaker at Int Front

Conn = Analog, Color = Green

Pin-ctls: 0x40: OUT

Connection: 2

0x03 0x0e*

Node 0x06 [Pin Complex] wcaps 0x400185: Stereo Amp-Out

Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1

Amp-Out vals: [0x33 0x33]

Pincap 0x081f: OUT HP Detect

Pin Default 0x0421201f: [Jack] HP Out at Ext Right

Conn = 1/8, Color = Grey

Pin-ctls: 0xc0: OUT HP

Connection: 2

0x03 0x0e*

Node 0x07 [Pin Complex] wcaps 0x400104: Mono Amp-Out

Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1

Amp-Out vals: [0x80]

Pincap 0x0810: OUT

Pin Default 0x410710f0: [N/A] Line Out at Ext Rear

Conn = Analog, Color = Black

Pin-ctls: 0x40: OUT

Connection: 1

0x0f

Node 0x08 [Pin Complex] wcaps 0x400083: Stereo Amp-In

Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0

Amp-In vals:

Pincap 0x081727: IN Detect

Pin Default 0x04a12020: [Jack] Mic at Ext Right

Conn = 1/8, Color = Grey

Pin-ctls: 0x24: IN

Node 0x09 [Pin Complex] wcaps 0x400187: Stereo Amp-In Amp-Out

Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0

Amp-In vals: [0x00 0x00] [0x00 0x00]

Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1

Amp-Out vals: [0xbf 0xbf]

Pincap 0x081737: IN OUT Detect

Pin Default 0x0181302e: [Jack] Line In at Ext Rear

Conn = 1/8, Color = Blue

Pin-ctls: 0x20: IN

Connection: 2

0x03* 0x0e

Node 0x0a [Pin Complex] wcaps 0x400301: Stereo Digital

Pincap 0x0810: OUT

Pin Default 0x4145f0f0: [N/A] SPDIF Out at Ext Rear

Conn = Optical, Color = Other

Pin-ctls: 0x40: OUT

Connection: 1

0x02

Node 0x0b [Audio Selector] wcaps 0x300101: Stereo

Connection: 6

0x03 0x0c 0x09 0x0e* 0x05 0x18

Node 0x0c [Audio Mixer] wcaps 0x200101: Stereo

Connection: 2

0x1e 0x1f

Node 0x0d [Audio Selector] wcaps 0x30010c: Mono Amp-Out

Amp-Out caps: ofs=0x0f, nsteps=0x0f, stepsize=0x0b, mute=1

Amp-Out vals: [0x80]

Connection: 2

0x10* 0x16

Node 0x0e [Audio Mixer] wcaps 0x200101: Stereo

Connection: 8

0x0d 0x11 0x12 0x13 0x1a 0x1b 0x1c 0x1d

Node 0x0f [Audio Mixer] wcaps 0x200100: Mono

Connection: 1

0x0b

Node 0x10 [beep Generator Widget] wcaps 0x700000: Mono

Node 0x11 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1

Amp-Out vals: [0x19 0x19]

Connection: 1

0x03

Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1

Amp-Out vals: [0x80 0x80]

Connection: 1

0x08

Node 0x13 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1

Amp-Out vals: [0x80 0x80]

Connection: 1

0x09

Node 0x14 [Power Widget] wcaps 0x500500: Mono

Power: 0x0

Connection: 13

0x0d* 0x0e 0x0f 0x10 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1d

Node 0x15 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1

Amp-Out vals: [0x80 0x80]

Connection: 8

0x0c* 0x09 0x0e 0x0f 0x19 0x05 0x18 0x17

Node 0x16 [Pin Complex] wcaps 0x400000: Mono

Pincap 0x0820: IN

Pin Default 0x995711f0: [Fixed] Digital Out at Int ATAPI

Conn = Analog, Color = Black

Pin-ctls: 0x20: IN

Node 0x17 [Pin Complex] wcaps 0x400081: Stereo

Pincap 0x0827: IN Detect

Pin Default 0x5993e0f0: [N/A] Aux at Int ATAPI

Conn = ATAPI, Color = White

Pin-ctls: 0x20: IN

Node 0x18 [Pin Complex] wcaps 0x400187: Stereo Amp-In Amp-Out

Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0

Amp-In vals: [0x00 0x00] [0x00 0x00]

Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1

Amp-Out vals: [0x00 0x00]

Pincap 0x081737: IN OUT Detect

Pin Default 0x59a790f0: [N/A] Mic at Int ATAPI

Conn = Analog, Color = Pink

Pin-ctls: 0x24: IN

Connection: 2

0x03* 0x0e

Node 0x19 [Pin Complex] wcaps 0x400001: Stereo

Pincap 0x0820: IN

Pin Default 0x593310f0: [N/A] CD at Int ATAPI

Conn = ATAPI, Color = Black

Pin-ctls: 0x20: IN

Node 0x1a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1

Amp-Out vals: [0x80 0x80]

Connection: 1

0x05

Node 0x1b [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1

Amp-Out vals: [0x80 0x80]

Connection: 1

0x17

Node 0x1c [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1

Amp-Out vals: [0x80 0x80]

Connection: 1

0x18

Node 0x1d [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1

Amp-Out vals: [0x80 0x80]

Connection: 1

0x19

Node 0x1e [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1

Amp-Out vals: [0x80 0x80]

Connection: 1

0x08

Node 0x1f [Audio Selector] wcaps 0x30010d: Stereo Amp-Out

Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1

Amp-Out vals: [0x00 0x00]

Connection: 1

0x18

 

I tryed to put it in taruga hda patcher v1.13 and the software recognise the sound card but gives me the following message:

AppleHDA Patcher - 2006/2007 Taruga v1.13

 

* Patching AppleHDA.kext to 0x11d41981 Done

* Checking AppleHDA for patch Done

0001f2c4 cmpl $0x11d41981,%eax

000203d0 cmpl $0x11d41981,%eax

* Checking for SPDIF Out Not Detected

* Checking for SPDIF In Not Detected

* Creating AppleHDA configs

* Using the following nodes in pathmap

 

Speaker : 5 17 3

 

* Copying new config to destination Done

* Repairing Permissions

By a quick eye it seems that spdif in and out couldn't be recognized and here's why: in the dump code the spdif out is on the node 0x0a but there is a kind of dump error, i really don't know, because in the pin scheme i've downloaded addresses are different....

here the ubuntu dump string

Node 0x0a [Pin Complex] wcaps 0x400301: Stereo Digital

Pincap 0x0810: OUT

Pin Default 0x4145f0f0: [N/A] SPDIF Out at Ext Rear

Conn = Optical, Color = Other

Pin-ctls: 0x40: OUT

Connection: 1

0x02

i noticed that pincap is wrong, in the manual is 0x10

and the pin default too, in the manual is 0x01451020

in fact changing these parametres here's the result of hda patcher:

* Checking for SPDIF Out Detected

* Checking for SPDIF In Not Detected

* Creating AppleHDA configs

* Using the following nodes in pathmap....

But nothing works at all.

 

So i decided to make a dump of grep messages in ubuntu while the system is loading (in ubuntu audio and mute buttons works like a charm) and i found these strings:

Yenta: CardBus bridge found at 0000:02:06.0 [103c:30a2]

[ 85.200000] Yenta: Enabling burst memory read transactions

[ 85.200000] Yenta: Using INTVAL to route CSC interrupts to PCI

[ 85.200000] Yenta: Routing CardBus interrupts to PCI

[ 85.200000] Yenta TI: socket 0000:02:06.0, mfunc 0x01011b22, devctl 0x64

cardbus specifics:

PCI: Bus 3, cardbus bridge: 0000:02:06.0

[ 51.373112] IO window: 00002000-000020ff

[ 51.373117] IO window: 00002400-000024ff

[ 51.373122] PREFETCH window: 40000000-43ffffff

[ 51.373128] MEM window: 44000000-47ffffff

103c:30a2 is my subsystem soundcard id. Before this code my mute button led is turned on without possibilities to turn it off by pressing it. When this code is loaded magically the mute button turns off and i can command it by pressing (light on, light off, light on, light of...soo easy) and sound works.

I think that the real problem about the mute led is here but how could i make it working? Could someone help me? Or better, help us to solve this problem?

If some coder have something to ask for tests or others i'm here ok?

Thank you so much for your attention.

6nikola9

Link to comment
Share on other sites

i have a link where we can activate the curdbus bridge using iopccardfamily.kext

http://forum.insanelymac.com/index.php?sho...583&start=0

 

Nice job on trying to find out where our audio problem may be located (I'm using a HP 8710p with the same HDA 1981).

 

I'm not sure I understand your comments on the cardbus issue: are you saying that the audio muting is dependent on the Cardbus kext?

 

I'm using the patched Leopard cardbus kext as can be found here:

 

http://forum.insanelymac.com/index.php?act...st&id=21656

 

Cardbus/pcmcia is working great as I'm using this for my LinkSys Wifi card... Never thought this same kext would be responsible for the audio muting problem as well...

 

Or am I missing something here?

 

Can you attach the Linux dump you used on Taruga's patcher to test?

 

 

Take care,

Tek_No

Link to comment
Share on other sites

Hi, i really don't know if it depends by the iopccardfamily.kext but it's a try we can do because for example in my tiger 10.4.10 this kext doesn't exsist.

My soundcard dump doesn't works with taruga patcher..the audio volume doesn't load and mute button is lighted on. So i pasted my original audio dump in first post but it is useless and maybe wrong respect the pin configuration manual.

The really strange thing is that in ubuntu there's this audio configuration and works greatly, in osx with taruga patcher with the same configuration dump the spdif isn't detected and if you manage the node that regard spdif out you can have spdif detected by taruga patcher but always it doesn't works!!!

DAMN!!!!

Other strange thing i saw booting ubuntu is that audio card is activated (and led turned off and enabled) only when the cardbus bridge is loaded. It is a cardbus that point in my soundcard subsystem id directly:

Yenta: CardBus bridge found at 0000:02:06.0 [103c:30a2]

[ 85.200000] Yenta: Enabling burst memory read transactions

[ 85.200000] Yenta: Using INTVAL to route CSC interrupts to PCI

[ 85.200000] Yenta: Routing CardBus interrupts to PCI

[ 85.200000] Yenta TI: socket 0000:02:06.0, mfunc 0x01011b22, devctl 0x64

cardbus specifics:

PCI: Bus 3, cardbus bridge: 0000:02:06.0

[ 51.373112] IO window: 00002000-000020ff

[ 51.373117] IO window: 00002400-000024ff

[ 51.373122] PREFETCH window: 40000000-43ffffff

[ 51.373128] MEM window: 44000000-47ffffff

 

I think we only have to take as much things as possible to let someone to code our findings bringing him in right way with our efforts. I'm not a coder but i'm try to help coders to find a way hoping it's the right way:)

Link to comment
Share on other sites

I can say theres a difference by using the chunnan's IOPCIFamily.kext (not the cardbus kext): The HD AUDIO OUTPUT (within System Preferences/Audio) isnt greyed out and the mute button is uncheck. Still theres no sound coming out, and the output is muted on the Audio/MIDI Setup Utility.

I will see if taruga's HDAudio6 output differs using this IOPCIFamily.kext

 

Here is my codec dump.

AD1981_HP6720s_codecDump.zip

Link to comment
Share on other sites

Hi,

 

just a quick question - which ALSA Version do you have installed in Ubuntu? To be more precise are you using 1.0.14? If yes could you try if ALSA 1.0.16 solves the problem with the badly mapped inputs/outputs.

 

SPDIF out did not work on Ubuntu (and sound was crappy) from my AD1988B with ALSA 1.0.14 after i upgraded to 1.0.16 everything worked fine.

Link to comment
Share on other sites

ovof, what version of osx86 are you using? What have you done to make the sound available even if for a few second?

 

Donar, i don't know what version of alsa driver i'm using. How can i do to check it? I'm not very expert in linux...sorry.

Link to comment
Share on other sites

I have Compaq 6910p laptop, with AD1981 chipset.

Vendor Id: 11d4 1981

 

I used iATKOS_v1.0ir2.iso for install, but patched with:

iATKOS_v1.0ir2-EqUaTe1.ppf and iATKOS_v1.0ir2-EqUaTe1+BadBIOS.ppf (otherwise CD won't boot).

 

Sound does work 'out of box' with that install, but I also suffer from same auto-mute issue :unsure:

Link to comment
Share on other sites

pleeeeaseeee pleeeaseeee post the kext compiled!!!!!!!!!!! PLEASEEEEEEEEEEEEEEE!!!!!! THANKS YOUU SOOO MUCH!!!!ah, ok, i thought it was finished:) but...about the eapd...did you read the ubuntu users fixes about this sound card? i'll search the link to show to you about itok, this is the ubuntu fix link http://osdir.com/ml/ubuntu.devel.kernel.ge...3/msg00026.htmlthis is the source part i want to show you:

Patch for HP nx6320

+ *

+ * nx6320 uses EAPD in the reserve way - EAPD-on means the internal

+ * speaker output enabled _and_ mute-LED off.

+ */

+

+#define AD1981_HP_EVENT 0x37

+#define AD1981_MIC_EVENT 0x38

+

+static struct hda_verb ad1981_hp_init_verbs[] = {

+ {0x05, AC_VERB_SET_EAPD_BTLENABLE, 0x00 }, /* default off */

+ /* pin sensing on HP and Mic jacks */

+ {0x06, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | AD1981_HP_EVENT},

+ {0x08, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | AD1981_MIC_EVENT},

+ {}

+};

+

+/* turn on/off EAPD (+ mute HP) as a master switch */

+static int ad1981_hp_master_sw_put(struct snd_kcontrol *kcontrol,

+ snd_ctl_elem_value_t *ucontrol)

+{

+ struct hda_codec *codec = snd_kcontrol_chip(kcontrol);

+ struct ad198x_spec *spec = codec->spec;

+

+ if (! ad198x_eapd_put(kcontrol, ucontrol))

+ return 0;

+

+ /* toggle HP mute appropriately */

+ snd_hda_codec_amp_update(codec, 0x06, 0, HDA_OUTPUT, 0,

+ 0x80, spec->cur_eapd ? 0 : 0x80);

+ snd_hda_codec_amp_update(codec, 0x06, 1, HDA_OUTPUT, 0,

+ 0x80, spec->cur_eapd ? 0 : 0x80);

+ return 1;

+}

 

could you post your kext without that line that enables the orange led? I would to try it in my tiger osx...the problem is that i'm beginning to think that this kext isn't compatibile with tiger...i would only to try if your kext without that line gives me the same result. thanks

Link to comment
Share on other sites

FIXED ;) Now i've full sound without mute button problem on AD1981 and Laptop HP NC6400 !!!!!!!!!!

 

 

 

Here's the magic file :(

 

Do not forget to repair permissions, delete cache ...

 

 

 

Can anyone make a .pkg file with this fix please ?

Link to comment
Share on other sites

FIXED :) Now i've full sound without mute button problem on AD1981 and Laptop HP NC6400 !!!!!!!!!!

Here's the magic file :P

 

Do not forget to repair permissions, delete cache ...

Can anyone make a .pkg file with this fix please ?

 

I've installed your kext on my HP 6720s. Now I have sound out of my speakers!. thats great. I do not get any sound from the headphones connection though, but is gettin' closer. What did you do with the kext?

Thanks for sharing it anyway!

 

 

I've made the installer you requested:

AppleAzaliaFixAD1981_Installer.zip

Link to comment
Share on other sites

I've installed your kext on my HP 6720s. Now I have sound out of my speakers!. thats great. I do not get any sound from the headphones connection though, but is gettin' closer. What did you do with the kext?Thanks for sharing it anyway!I've made the installer you requested:
Thanks for the installer ;)Well i add a codec verb command to disable EAPD which is inversed on HP laptop :) Hard to find... 3 weeksFor speaker line-in (jack), it will be harder to find,as i saw its handled by unsollicited response codec, then permute output.Well, for this, we should wait for taruga V2, as o see ot will detect codec capabilites and program into applehda using .plistwait for ths :P(@ Taruga, i can be your betatester :P )
I've installed your kext on my HP 6720s. Now I have sound out of my speakers!. thats great. I do not get any sound from the headphones connection though, but is gettin' closer. What did you do with the kext?Thanks for sharing it anyway!I've made the installer you requested:
@BlackCH,i was interesting things in your signature 1) you have both core working on your laptop. I've got an HP NC6400 with dual core centrion T5500. If i enable the dual core, it freezes randomely, like the CPU01 doesnt respond to interrupt.What did you do to have this work ?2) i've a 3945gb wifi PCIE. i've bought on ebay a 4311 broadcom which is known to work well on hack-laptop; but it's not int the bios whitelist.Bios image is compressed and cant be decompressed using phoenix editor, so i cant change the whitelist. I saw you whitelist the broadcom by using SPROM mod. Could you tell me how you do this ? I thought it was not possible to change SPROM ont this PCIE 4311 broadcom wifi cardThanks for your answer ;)
Link to comment
Share on other sites

Glad you found it. What is your instalation distro (Kalyway, IAktos?) Because I have a 6510b dual booting XP and Iaktos, an ADI1981hd and your kext produced no results, I'm trying to figure out why - I still have the auto-mute issue. Could it be release related (if it turns out that people using Kalyway are having success while those using Iaktos not, it could be)? Or maybe I have to touch some other kext or even the kernel? I'd appreciate your help on this if you have the time. Thanks.

Link to comment
Share on other sites

 Share

×
×
  • Create New...