mrheat Posted February 25, 2008 Share Posted February 25, 2008 Hi, i have an Maxdata Pro 800 iw Subnotebook, and lot of problems with onboard Sound... Best result ican get is VolumeControl slider but everythings stays totally silent... Sound is working in latest (k)ubuntu installation with options snd_hda_intel model=uniwill-m31 in /etc/modules.d/alsa-base ... i searched about this and found a patchfile for alsa diff -r 8f84cd985e0a pci/hda/patch_realtek.c --- a/pci/hda/patch_realtek.c Mon Jul 31 16:51:51 2006 +0200 +++ b/pci/hda/patch_realtek.c Sat Aug 5 22:00:32 2006 +0200 @@ -90,6 +90,7 @@ enum { ALC660_3ST, ALC861_3ST_DIG, ALC861_6ST_DIG, + ALC861_UNIWILL_M31, ALC861_AUTO, ALC861_MODEL_LAST, }; @@ -6020,6 +6021,23 @@ static struct hda_channel_mode alc861_th { 2, alc861_threestack_ch2_init }, { 6, alc861_threestack_ch6_init }, }; +/* Set mic1 as input and unmute the mixer */ +static struct hda_verb alc861_uniwill_m31_ch2_init[] = { + { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 }, + { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7080 | (0x01 << 8)) }, /*mic*/ + { } /* end */ +}; +/* Set mic1 as output and mute mixer */ +static struct hda_verb alc861_uniwill_m31_ch4_init[] = { + { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 }, + { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7000 | (0x01 << 8)) }, /*mic*/ + { } /* end */ +}; + +static struct hda_channel_mode alc861_uniwill_m31_modes[2] = { + { 2, alc861_uniwill_m31_ch2_init }, + { 4, alc861_uniwill_m31_ch4_init }, +}; /* patch-ALC861 */ @@ -6095,6 +6113,47 @@ static struct snd_kcontrol_new alc861_3S .get = alc_ch_mode_get, .put = alc_ch_mode_put, .private_value = ARRAY_SIZE(alc861_threestack_modes), + }, + { } /* end */ +}; +static struct snd_kcontrol_new alc861_uniwill_m31_mixer[] = { + /* output mixer control */ + HDA_CODEC_MUTE("Front Playback Switch", 0x03, 0x0, HDA_OUTPUT), + HDA_CODEC_MUTE("Surround Playback Switch", 0x06, 0x0, HDA_OUTPUT), + HDA_CODEC_MUTE_MONO("Center Playback Switch", 0x05, 1, 0x0, HDA_OUTPUT), + HDA_CODEC_MUTE_MONO("LFE Playback Switch", 0x05, 2, 0x0, HDA_OUTPUT), + /*HDA_CODEC_MUTE("Side Playback Switch", 0x04, 0x0, HDA_OUTPUT), */ + + /* Input mixer control */ + /* HDA_CODEC_VOLUME("Input Playback Volume", 0x15, 0x0, HDA_OUTPUT), + HDA_CODEC_MUTE("Input Playback Switch", 0x15, 0x0, HDA_OUTPUT), */ + HDA_CODEC_VOLUME("CD Playback Volume", 0x15, 0x0, HDA_INPUT), + HDA_CODEC_MUTE("CD Playback Switch", 0x15, 0x0, HDA_INPUT), + HDA_CODEC_VOLUME("Line Playback Volume", 0x15, 0x02, HDA_INPUT), + HDA_CODEC_MUTE("Line Playback Switch", 0x15, 0x02, HDA_INPUT), + HDA_CODEC_VOLUME("Mic Playback Volume", 0x15, 0x01, HDA_INPUT), + HDA_CODEC_MUTE("Mic Playback Switch", 0x15, 0x01, HDA_INPUT), + HDA_CODEC_MUTE("Front Mic Playback Switch", 0x10, 0x01, HDA_OUTPUT), + HDA_CODEC_MUTE("Headphone Playback Switch", 0x1a, 0x03, HDA_INPUT), + + /* Capture mixer control */ + HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), + HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT), + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Capture Source", + .count = 1, + .info = alc_mux_enum_info, + .get = alc_mux_enum_get, + .put = alc_mux_enum_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Channel Mode", + .info = alc_ch_mode_info, + .get = alc_ch_mode_get, + .put = alc_ch_mode_put, + .private_value = ARRAY_SIZE(alc861_uniwill_m31_modes), }, { } /* end */ }; @@ -6226,6 +6285,67 @@ static struct hda_verb alc861_threestack {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)}, { } }; + +static struct hda_verb alc861_uniwill_m31_init_verbs[] = { + /* + * Unmute ADC0 and set the default input to mic-in + */ + /* port-A for surround (rear panel) */ + { 0x0e, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x00 }, + /* port-B for mic-in (rear panel) with vref */ + { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 }, + /* port-C for line-in (rear panel) */ + { 0x0c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20 }, + /* port-D for Front */ + { 0x0b, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 }, + { 0x0b, AC_VERB_SET_CONNECT_SEL, 0x00 }, + /* port-E for HP out (front panel) */ + { 0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 }, // this has to be set to VREF80 + /* route front PCM to HP */ + { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x01 }, + /* port-F for mic-in (front panel) with vref */ + { 0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 }, + /* port-G for CLFE (rear panel) */ + { 0x1f, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x00 }, + /* port-H for side (rear panel) */ + { 0x20, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x00 }, + /* CD-in */ + { 0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20 }, + /* route front mic to ADC1*/ + {0x08, AC_VERB_SET_CONNECT_SEL, 0x00}, + {0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + /* Unmute DAC0~3 & spdif out*/ + {0x03, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, + {0x04, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, + {0x05, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, + {0x06, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, + {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, + + /* Unmute Mixer 14 (mic) 1c (Line in)*/ + {0x014, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x014, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, + {0x01c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x01c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, + + /* Unmute Stereo Mixer 15 */ + {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, + {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)}, + {0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb00c }, //Output 0~12 step + + {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, + {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, + {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, + {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, + {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(3)}, // hp used DAC 3 (Front) + {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)}, + { } +}; + /* * generic initialization of ADC, input mixers and output mixers */ @@ -6560,6 +6680,7 @@ static struct hda_board_config alc861_cf .config = ALC660_3ST }, { .modelname = "3stack-dig", .config = ALC861_3ST_DIG }, { .modelname = "6stack-dig", .config = ALC861_6ST_DIG }, + { .modelname = "uniwill-m31", .config = ALC861_UNIWILL_M31}, { .modelname = "auto", .config = ALC861_AUTO }, {} }; @@ -6614,6 +6735,20 @@ static struct alc_config_preset alc861_p .adc_nids = alc861_adc_nids, .input_mux = &alc861_capture_source, }, + [ALC861_UNIWILL_M31] = { + .mixers = { alc861_uniwill_m31_mixer }, + .init_verbs = { alc861_uniwill_m31_init_verbs }, + .num_dacs = ARRAY_SIZE(alc861_dac_nids), + .dac_nids = alc861_dac_nids, + .dig_out_nid = ALC861_DIGOUT_NID, + .num_channel_mode = ARRAY_SIZE(alc861_uniwill_m31_modes), + .channel_mode = alc861_uniwill_m31_modes, + .need_dac_fix = 1, + .num_adc_nids = ARRAY_SIZE(alc861_adc_nids), + .adc_nids = alc861_adc_nids, + .input_mux = &alc861_capture_source, + }, + }; and heres the codec dump of the working ubuntu configuration: Codec: Realtek ALC861 Address: 0 Vendor Id: 0x10ec0861 Subsystem Id: 0x15840000 Revision Id: 0x100300 Default PCM: rates [0x140]: 48000 96000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Node 0x03 [Audio Output] wcaps 0x405: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x00 0x00] Power: 0x0 Node 0x04 [Audio Output] wcaps 0x405: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x00 0x00] Power: 0x0 Node 0x05 [Audio Output] wcaps 0x405: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x00 0x00] Power: 0x0 Node 0x06 [Audio Output] wcaps 0x405: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x00 0x00] Power: 0x0 Node 0x07 [Audio Output] wcaps 0x605: Stereo Digital Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x00 0x00] Power: 0x0 Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In Amp-In caps: ofs=0x02, nsteps=0x0d, stepsize=0x0b, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] PCM: rates [0x140]: 48000 96000 bits [0x2]: 16 formats [0x1]: PCM Power: 0x0 Connection: 6 0x0d* 0x0c 0x0f 0x10 0x11 0x15 Node 0x09 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x0b [Pin Complex] wcaps 0x400581: Stereo Pincap 0x081f: OUT HP Detect Pin Default 0x01014110: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Green Pin-ctls: 0x40: OUT Power: 0x0 Connection: 1 0x16 Node 0x0c [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0837: IN OUT Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black Pin-ctls: 0x20: IN Power: 0x0 Connection: 1 0x19 Node 0x0d [Pin Complex] wcaps 0x400581: Stereo Pincap 0x08337: IN OUT Detect Pin Default 0x01a19930: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink Pin-ctls: 0x24: IN Power: 0x0 Connection: 1 0x18 Node 0x0e [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0817: OUT Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black Pin-ctls: 0x00: Power: 0x0 Connection: 1 0x19 Node 0x0f [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0833f: IN OUT HP Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black Pin-ctls: 0x24: IN Power: 0x0 Connection: 1 0x1a Node 0x10 [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0833f: IN OUT HP Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black Pin-ctls: 0x24: IN Power: 0x0 Connection: 1 0x1b Node 0x11 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x0863: IN Pin Default 0x9933013e: [Fixed] CD at Int ATAPI Conn = ATAPI, Color = Unknown Pin-ctls: 0x00: Node 0x12 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x01454120: [Jack] SPDIF Out at Ext Rear Conn = Optical, Color = Green Pin-ctls: 0x40: OUT Connection: 1 0x07 Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x14 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Connection: 2 0x0d 0x10 Node 0x15 [Audio Mixer] wcaps 0x20050f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x0c, nsteps=0x17, stepsize=0x0b, mute=1 Amp-In vals: [0x13 0x13] [0x80 0x80] [0x00 0x01] Amp-Out caps: ofs=0x0c, nsteps=0x0c, stepsize=0x0b, mute=1 Amp-Out vals: [0x0c 0x0c] Power: 0x0 Connection: 3 0x11 0x14 0x1c Node 0x16 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Connection: 2 0x03 0x15 Node 0x17 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Connection: 2 0x04 0x15 Node 0x18 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Connection: 2 0x05 0x15 Node 0x19 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Connection: 2 0x06 0x15 Node 0x1a [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x00 0x00] Connection: 4 0x04 0x06 0x15 0x03 Node 0x1b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Connection: 4 0x04 0x06 0x15 0x03 Node 0x1c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Connection: 2 0x0c 0x0f Node 0x1d [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1e [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1f [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0817: OUT Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black Pin-ctls: 0x00: Power: 0x0 Connection: 1 0x18 Node 0x20 [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0817: OUT Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black Pin-ctls: 0x00: Power: 0x0 Connection: 1 0x17 Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x23 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x0f, nsteps=0x0f, stepsize=0x0b, mute=1 Amp-Out vals: [0x8f] i tried all the patchers and hda versions around, either nothing recognized or some wrong outputs / inputs which stay silent.. hope anyone can helpme, i heard of a few other laptops having the same problems. codec.txt uniwill_new.patch.txt Link to comment https://www.insanelymac.com/forum/topic/90046-alc861-on-ich7-m/ Share on other sites More sharing options...
grk Posted March 10, 2008 Share Posted March 10, 2008 i have exactly the same problem... can anybody help us?? Link to comment https://www.insanelymac.com/forum/topic/90046-alc861-on-ich7-m/#findComment-661453 Share on other sites More sharing options...
lordjone Posted April 15, 2008 Share Posted April 15, 2008 Same problem there, got only partially audio with ALC 861 installer by taruga Link to comment https://www.insanelymac.com/forum/topic/90046-alc861-on-ich7-m/#findComment-710266 Share on other sites More sharing options...
diablow2000 Posted April 17, 2008 Share Posted April 17, 2008 I have Uniwill barebone X20II with ALC861, no sound, only volume control. System information says that I have no inbuilt audio. Maybe it's possible to edit linux dump before patching to get al least sound out working? Link to comment https://www.insanelymac.com/forum/topic/90046-alc861-on-ich7-m/#findComment-712391 Share on other sites More sharing options...
00diabolic Posted April 17, 2008 Share Posted April 17, 2008 i have 862 and have crappy sound with applehda driver. Also can't shutdown. There the same family so might work for you guys but i'm looking for something better. See my sig if you want want I have. Link to comment https://www.insanelymac.com/forum/topic/90046-alc861-on-ich7-m/#findComment-713294 Share on other sites More sharing options...
mrheat Posted August 5, 2008 Author Share Posted August 5, 2008 diablow2000: is your barebone also stuck @ 1ghz ? to all: i know the solution is in the patchfile for alsa, as this layouts the pin misconfiguration thats happening in our x20ii. but i dont know how to apply this in applehda... Link to comment https://www.insanelymac.com/forum/topic/90046-alc861-on-ich7-m/#findComment-845549 Share on other sites More sharing options...
mark couch Posted August 7, 2008 Share Posted August 7, 2008 me to on toshiba laptop Link to comment https://www.insanelymac.com/forum/topic/90046-alc861-on-ich7-m/#findComment-847820 Share on other sites More sharing options...
Recommended Posts