awhooley Posted April 25 Posted April 25 (edited) Hello! I have recently tried downloaing and installing WaltersWorld drivers for the HDA controllers, but alas I am greeted with the sound of silence. Sadly Im not hearing any pops when it is loading but when I play a system audio file in sounds the play button doesnt freeze. I would love if someone could point me in the right direction! Thank you Edited April 25 by awhooley
deomsh Posted April 25 Posted April 25 (edited) I will take a look. But first I need the files: HDACFG.INI (or .txt), HDALOG.TXT and if available HDAICIN.TXT. They are/ should be in your Windows-folder. So please upload! Edited April 25 by deomsh typo
awhooley Posted April 25 Author Posted April 25 (edited) Hi @deomsh! Thanks for offer to help! i appreciate it Here are the attached files you asked for, should you need anything else, let me know Thanks again! HDAcfg.ini HDAICIN.TXT HDALOG.TXT Edited April 25 by awhooley typing error
deomsh Posted April 26 Posted April 26 (edited) You seem to have a Conexant codec, sadly no complete datasheet available. According to your HDAICIN.TXT you used a wrong version of HDAICOUT.HDA, verbs are all starting with '$2'. Your HDACFG.INI tells us that 'CODEC Index=$0' so all verbs should start with '$0'. In Linux-sources I found on T420 External Amplifier Power Down (EAPD) can be a problem, so you can try following HDAICOUT.HDA: HDAICOUT (EAPD enabled & CODEC Index 0 in HDACFG.INI).ZIP If you hear still nothing, you can also try setting 'pcipatchB=$7900' (without quotes) in your HDACFG.INI - see: https://msfn.org/board/topic/178295-audio-driver-for-realtek-hd-audio-hardware-testing-thread/?do=findComment&comment=1242464 Edited April 26 by deomsh Addition
awhooley Posted April 26 Author Posted April 26 Thanks for the reply!, I’ll be home shortly and I’ll have a go and see if it works. Thanks again!
awhooley Posted April 26 Author Posted April 26 I tried it once again with the new HDAICOUT file, and I added the value to the pcpatchB in the HDACFG.ini file. Unfortunatly it still is silent I have attached the same files again, in case it gives new information this time. HDAICIN.TXT HDAcfg.ini HDALOG.TXT
deomsh Posted April 26 Posted April 26 That's sad. I didn't see anything new in your files, except 'pcipatchB=$7900' of course. I found some information regarding the Conexant '506e' codec (will be cx20590 or cx20672). It seems the Output widgets are $10 or $11 (converting digital to analog audio) and Volume widgets are the same numbers. Maximum volume seems to be 0x4a. Between the PIN-complexes and the Output widgets there does not seem to be a Mixer, default connections are to Output widget $10. The standard headphone widget is probably $19 (with 0xC0: OUT HP), line-out $1A and speaker $1D (with 0x40: OUT; takes EAPD). But of course I can be mistaken/ wrong, or the connections inside your laptop are different wired. So, if there are no special problems like General Purpose Input Output pin's (GPIO), in case of headphones the codec should work just out of the box with HDA2.DLL. To be sure I have to ask you to check again WITHOUT HDAICOUT.HDA. Steps: change in HDACFG.INI SleepingWidget=$10 VolumeWidget=$10 OutputWidget=$10 and try first with default: pcipatchB=$0000 and then again if no sound at all: pcipatchB=$7900 As always listen carefully with headphones and report. New files are not needed.
awhooley Posted April 27 Author Posted April 27 (edited) 10 hours ago, deomsh said: That's sad. I didn't see anything new in your files, except 'pcipatchB=$7900' of course. I found some information regarding the Conexant '506e' codec (will be cx20590 or cx20672). It seems the Output widgets are $10 or $11 (converting digital to analog audio) and Volume widgets are the same numbers. Maximum volume seems to be 0x4a. Between the PIN-complexes and the Output widgets there does not seem to be a Mixer, default connections are to Output widget $10. The standard headphone widget is probably $19 (with 0xC0: OUT HP), line-out $1A and speaker $1D (with 0x40: OUT; takes EAPD). But of course I can be mistaken/ wrong, or the connections inside your laptop are different wired. So, if there are no special problems like General Purpose Input Output pin's (GPIO), in case of headphones the codec should work just out of the box with HDA2.DLL. To be sure I have to ask you to check again WITHOUT HDAICOUT.HDA. Steps: change in HDACFG.INI SleepingWidget=$10 VolumeWidget=$10 OutputWidget=$10 and try first with default: pcipatchB=$0000 and then again if no sound at all: pcipatchB=$7900 As always listen carefully with headphones and report. New files are not needed. Thanks for the new steps. I tried the folowing: -Changed widget settings to §10 and restarted without HDAICOUT.HDA - no sound -Changed widget settings to $10 and restarted with HDAICOUT.HDA - no sound - Changed widget settings to $11 (i guessed to try it as you mentioned the widgets are $10 or $11) and restarted with/withoout HDAICOUT - no sound, but this time machine locks up on bootup unless TSR is unloaded (my windows installation is set to limit RAM to 980 MB) I also tried all of the above with pcipatch value and without. Looks like the Conexant variant is one stubborn codec :$ Edited April 27 by awhooley typo
deomsh Posted April 27 Posted April 27 (edited) Thanks for trying. Strange behavior with widgets at $11, but at least something is happening. Did you took any stabilizing measures as described in the hda-thread? Memory should'nt be a problem, HDATSR makes a buffer somewere between 1-4 MB, most of the time. Setting [BUSMASTER] manually in HDACFG.INI is only needed in case of Windows ME (ME can not load TSR's, unless some real-mode fix is added). About trying widgets at $11: very good. The Conexant codec seems to be a so called 'double codec' with two DAC's (Digital Analog Converters). Edit: And just to be sure: if you play a file, is the slider of the mediaplayer moving? Oeps, you already mentioned the slider was moving, overlooked that part. Edited April 28 by deomsh Addition
deomsh Posted May 2 Posted May 2 (edited) I studied all sources about the ctx5066-family I could find. According Linux' ALSA sources your codec needs enabling first GPIO-pin. I do not have any experience with GPIO-verbs, but we can try. I made following debug-version of HDAICOUT.HDA. I added many extra so called 'GET-verbs' to retrieve more information from your codec. As can easily be seen this is NOT an universal version, but addressing specific nodes/ widgets. Verbs starting with ';;' are currently unused: ;;This debug-version of HDAICOUT.HDA should be used for Thinkpad T420 (Conexant cx20672 - Alsa ctx5066 family) Begin $0017FF00;AC_VERB_SET_CODEC_RESET; $0017FF00;AC_VERB_SET_CODEC_RESET;! End Begin $000F0000;AC_PAR_VENDOR_ID $000F0002;AC_PAR_SUBSYSTEM_ID $000F0004;AC_PAR_NODE_COUNT;Subordinate_Node_Count $001F0004;AC_PAR_NODE_COUNT;Subordinate_Node_Count $001F0005;AC_PAR_FUNCTION_TYPE $001F0008;AC_PAR_AUDIO_FG_CAP $001F000A;AC_PAR_STREAM;Sample_Size_Rate $001F000B;AC_PAR_PCM;Stream_Formats $001F000F;AC_PAR_POWER_STATE $001F0011;AC_PAR_GPIO_CAP;Number_GPIO'S $001F2000;AC_VERB_GET_SUBSYSTEM_ID;Board_Implementation_ID $001F0500;AC_VERB_GET_POWER_STATE $00170500;AC_VERB_SET_POWER_STATE;Power up! $001F0500;AC_VERB_GET_POWER_STATE $001F1600;AC_VERB_GET_GPIO_MASK $001F1700;AC_VERB_GET_GPIO_DIRECTION $001F1500;AC_VERB_GET_GPIO_DATA $00171601;AC_VERB_SET_GPIO_MASK,01 $00171701;AC_VERB_SET_GPIO_DIRECTION,01 $00171501;AC_VERB_SET_GPIO_DATA,01 $001F1600;AC_VERB_GET_GPIO_MASK $001F1700;AC_VERB_GET_GPIO_DIRECTION $001F1500;AC_VERB_GET_GPIO_DATA $001F0011;AC_PAR_GPIO_CAP;Number_GPIO'S End Begin ;;node 0x10: DAC1 $010F0009;AC_PAR_AUDIO_WIDGET_CAP $010F000A;AC_PAR_PCM;SAMPLE_SIZE_RATE_CAP $010F000B;AC_PAR_STREAM;STREAM_FORMATS $010F0012;AC_PAR_AMP_OUT_CAP $010F0500;AC_VERB_GET_POWER_STATE $01070500;AC_VERB_SET_POWER_STATE;Power up! $010F0500;AC_VERB_GET_POWER_STATE $010F0600;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;00 $01070600;AC_VERB_SET_CHANNEL_STREAMID;00 $010F0600;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;00 $010F0610;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;01 ;;$01070610;AC_VERB_SET_CHANNEL_STREAMID;01 ;;$010F0610;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;01 $010A0000;AC_VERB_GET_STREAM_FORMAT $01024011;AC_VERB_SET_STREAM_FORMAT;44.1kHz_16-bits $010A0000;AC_VERB_GET_STREAM_FORMAT $010B8000;AC_VERB_GET_AMP_GAIN_MUTE $0103B04A;AC_VERB_SET_AMP_GAIN_MUTE;max_vol $010B8000;AC_VERB_GET_AMP_GAIN_MUTE End Begin ;;node 0x11: DAC2 $011F0009;AC_PAR_AUDIO_WIDGET_CAP $011F000A;AC_PAR_PCM;SAMPLE_SIZE_RATE_CAP $011F000B;AC_PAR_STREAM;STREAM_FORMATS $011F0012;AC_PAR_AMP_OUT_CAP $011F0500;AC_VERB_GET_POWER_STATE $01170500;AC_VERB_SET_POWER_STATE;Power up! $011F0500;AC_VERB_GET_POWER_STATE $011F0600;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;00 ;;$01170600;AC_VERB_SET_CHANNEL_STREAMID;00 ;;$011F0600;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;00 $011F0610;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;01 $01170610;AC_VERB_SET_CHANNEL_STREAMID;01 $011F0610;AC_VERB_GET_CONV;GET_CHANNEL_STREAMID;01 $011A0000;AC_VERB_GET_STREAM_FORMAT $01124011;AC_VERB_SET_STREAM_FORMAT;44.1kHz_16-bits $011A0000;AC_VERB_GET_STREAM_FORMAT $011B8000;AC_VERB_GET_AMP_GAIN_MUTE $0113B04A;AC_VERB_SET_AMP_GAIN_MUTE;max_vol $011B8000;AC_VERB_GET_AMP_GAIN_MUTE End Begin ;;node 0x19: OUT HP Detect ([Jack] HP Out at Ext Left) $019F0009;AC_PAR_AUDIO_WIDGET_CAP $019F000C;AC_PAR_PIN_CAP $019F0900;AC_VERB_GET_PIN_SENSE $019F0800;AC_VERB_GET_UNSOLICITED_RESPONSE;Get_Unsollicited_Response_Control ;;$01970800;AC_VERB_SET_UNSOLICITED_RESPONSE;Set_Unsollicited_Response_Control;disable ;;$019F0800;AC_VERB_GET_UNSOLICITED_RESPONSE;Get_Unsollicited_Response_Control $019F0500;AC_VERB_GET_POWER_STATE $01970500;AC_VERB_SET_POWER_STATE;Power up! $019F0500;AC_VERB_GET_POWER_STATE $019F0100;AC_VERB_GET_CONNECT_SEL $01970100;AC_VERB_SET_CONNECT_SEL;Front? $019F0100;AC_VERB_GET_CONNECT_SEL $019F0700;AC_VERB_GET_PIN_WIDGET_CONTROL $019707C0;AC_VERB_SET_PIN_WIDGET_CONTROL;hp_amp_out_enable $019F0700;AC_VERB_GET_PIN_WIDGET_CONTROL $019B8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End Begin ;;node 0x1B: IN OUT EAPD Detect ([Jack] Mic at Ext Left) $01BF0009;AC_PAR_AUDIO_WIDGET_CAP $01BF000C;AC_PAR_PIN_CAP $01BF0500;AC_VERB_GET_POWER_STATE $01B70500;AC_VERB_SET_POWER_STATE;Power up! $01BF0500;AC_VERB_GET_POWER_STATE $01BF0100;AC_VERB_GET_CONNECT_SEL $01B70100;AC_VERB_SET_CONNECT_SEL;Front? $01BF0100;AC_VERB_GET_CONNECT_SEL $01BF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01B70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $01BF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01B70C02;AC_VERB_SET_EAPD_BTLENABLE;ExtenalAmplifierPowerUp $01BB8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End Begin ;;node 0x1C: OUT Detect (Line Out at Ext N/A) $01CF0009;AC_PAR_AUDIO_WIDGET_CAP $01CF000C;AC_PAR_PIN_CAP $01CF0500;AC_VERB_GET_POWER_STATE $01C70500;AC_VERB_SET_POWER_STATE;Power up! $01CF0500;AC_VERB_GET_POWER_STATE $01CF0100;AC_VERB_GET_CONNECT_SEL $01C70100;AC_VERB_SET_CONNECT_SEL;Front? $01CF0100;AC_VERB_GET_CONNECT_SEL $01CF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01C70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $01CF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01CB8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End Begin ;;node 0x1D: IN OUT EAPD Detect (Line Out at Ext N/A) $01DF0009;AC_PAR_AUDIO_WIDGET_CAP $01DF000C;AC_PAR_PIN_CAP $01DF0500;AC_VERB_GET_POWER_STATE $01D70500;AC_VERB_SET_POWER_STATE;Power up! $01DF0500;AC_VERB_GET_POWER_STATE $01DF0100;AC_VERB_GET_CONNECT_SEL $01D70100;AC_VERB_SET_CONNECT_SEL;Front? $01DF0100;AC_VERB_GET_CONNECT_SEL $01DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01D70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $01DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01D70C02;AC_VERB_SET_EAPD_BTLENABLE;ExtenalAmplifierPowerUp $01DB8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End Begin ;;node 0x1F: OUT ([Fixed] Speaker at Int Bottom) $01FF0009;AC_PAR_AUDIO_WIDGET_CAP $01FF000C;AC_PAR_PIN_CAP $01FF0500;AC_VERB_GET_POWER_STATE $01F70500;AC_VERB_SET_POWER_STATE;Power up! $01FF0500;AC_VERB_GET_POWER_STATE $01FF0100;AC_VERB_GET_CONNECT_SEL $01F70100;AC_VERB_SET_CONNECT_SEL;Front? $01FF0100;AC_VERB_GET_CONNECT_SEL $01FF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01F70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $01FF0700;AC_VERB_GET_PIN_WIDGET_CONTROL $01FB8000;AC_VERB_GET_AMP_GAIN_MUTE;status_output End I'd like you to do following tests, all with new HDAICOUT.HDA. Afterwards I need the four HDAICIN.TXT's only. First: all widget values in HDACFG.INI should ALWAYS stay on $10. First test: 1) Set pcipatchB=$0000 in HDACFG.INI. 2) Connect headphones. 3) Boot and listen carefully. 4) Unplug headphones and listen to the speaker. 5) Rename HDAICIN.TXT to HDAICINA.TXT. 6) Reboot, headphones still unplugged. 7) Listen to the speaker. 5) Rename HDAICIN.TXT to HDAICINB.TXT. Second test: 1) Set pcipatchB=$7900 in HDACFG.INI (as always at your own risk, if any!) 2) Connect headphones. 3) Boot and listen carefully. 4) Unplug headphones and listen to the speaker. 5) Rename HDAICIN.TXT to HDAICINC.TXT. 6) Reboot, headphones still unplugged. 7) Listen to the speaker. 5) Rename HDAICIN.TXT to HDAICIND.TXT. HDAICOUT_(Thinkpad T420_Conexant cx20672_ Alsa_ctx5066_family).ZIP Edited May 2 by deomsh Corrections
awhooley Posted May 2 Author Posted May 2 (edited) Thank you!! IT WORKED! when I set it to pcipatch §7900 it sprang into life upon bootupwith headphoners and speakers. i also noted that after first reboot on $7900, it garbled mydisplay driver on bootup, but subsequent startups seem fine. I have attached the txt files. Thanks again im so happy its working! Hdaicina.txt Hdaicinb.txt HDAICINC.TXT HDAICIND.TXT Edited May 2 by awhooley
deomsh Posted May 2 Posted May 2 Very good news! Analyzing the HDAICIN.TXT's will take some time. If I understand you well, with the second test speakers are always working, also if the headphone is plugged in?
awhooley Posted May 2 Author Posted May 2 Yes both are working at the same time. The mute switch however works on the laptop so I can mute the speakers and the sound will still play from the headphones. i installed the Yamaha soft synth , and tested some games and it sounds excellent. the volume control works in the waveout program.
deomsh Posted May 2 Posted May 2 (edited) GOOD! Nice your speaker can be muted with a switch, this makes my task MUCH easier. I made a smaller version of HDAICOUT.HDA, with verbs that seems still necessary. Smaller is better (more responsive)! But I added a few GET verbs I forgot in previous version. Judged from your HDAICINA-D.TXT's most default values were already 'good'. This time I won't change the default converter format: you will get REAL High Definition Audio with the default of 48kHz/16-bits (I hope it is working). Can you test once again without headphones. Only one HDAICOUTE.txt needed. EDIT: I will need HDALOGE.TXT too, I want to check if HDA2.DLL will still default to stream 01 and 44.1kHz/16-bits. HDAICOUT2_(Thinkpad T420_Conexant cx20672_ Alsa_ctx5066_family).ZIP Edited May 3 by deomsh Addition
awhooley Posted May 3 Author Posted May 3 (edited) I sure will. Just home from work so in a while I will give the new file a test. thanks again, I am still on cloud nine that the sound is even working! 🤩🤩 EDIT: I tried downloading the new hdaicout file but the link seems to be broken Edited May 3 by awhooley
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now