Re: [alsa-devel] Acer Aspire 7730G support
At Mon, 24 Aug 2009 19:57:58 +0400, Denis Kup wrote:
2009/8/24 Takashi Iwai tiwai@suse.de
At Mon, 24 Aug 2009 17:10:10 +0400, Denis Kup wrote:
Sorry, I was very busy last two months. We don't finish with this theme. What about my patch?
Please check with the latest sound GIT tree (or alsa-driver snapshot) whether it still work and repost the patch. There have been lots of changes in HD-audio driver code, so an old patch might not work any more.
thanks,
Takashi
I tested patch with alsa-driver-1.0.20.40.g13311.579.gcf341. All works as it should.
Try rather with the snapshot tarball in ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz The version you tried isn't the latest one.
It's diff between patched version( patch_realtek_new.c ) and unpatched:
Make a patch with diff -u option (and better with -p, too).
thanks,
Takashi
2009/8/25 Takashi Iwai tiwai@suse.de:
At Mon, 24 Aug 2009 19:57:58 +0400, Denis Kup wrote:
2009/8/24 Takashi Iwai tiwai@suse.de
At Mon, 24 Aug 2009 17:10:10 +0400, Denis Kup wrote:
Sorry, I was very busy last two months. We don't finish with this theme. What about my patch?
Please check with the latest sound GIT tree (or alsa-driver snapshot) whether it still work and repost the patch. There have been lots of changes in HD-audio driver code, so an old patch might not work any more.
thanks,
Takashi
I tested patch with alsa-driver-1.0.20.40.g13311.579.gcf341. All works as it should.
Try rather with the snapshot tarball in ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz The version you tried isn't the latest one.
It's diff between patched version( patch_realtek_new.c ) and unpatched:
Make a patch with diff -u option (and better with -p, too).
thanks,
Takashi
I tested with new one. All is OK, but i found strange thing that was before(with older versions). If i make boost level for front mic very high, speakers starts whistle ( I think you understand me). Is it normal, or not?
And diff:
dener@linux-wpg9:~/Documents/1> diff ./patch_realtek_new.c ./patch_realtek_old.c -u -p --- ./patch_realtek_new.c 2009-08-25 13:44:34.000000000 +0400 +++ ./patch_realtek_old.c 2009-08-25 10:53:13.000000000 +0400 @@ -220,7 +220,6 @@ enum { ALC888_ACER_ASPIRE_4930G, ALC888_ACER_ASPIRE_6530G, ALC888_ACER_ASPIRE_8930G, - ALC888_ACER_ASPIRE_7730G, ALC883_MEDION, ALC883_MEDION_MD2, ALC883_LAPTOP_EAPD, @@ -8473,32 +8472,6 @@ static struct hda_verb alc883_acer_eapd_ { } };
-static struct hda_verb alc888_acer_aspire_7730G_verbs[] = { - {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, - {0x17, AC_VERB_SET_CONNECT_SEL, 0x02}, - {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, - { } /* end */ -}; - -static void alc888_acer_aspire_7730G_front_automute(struct hda_codec *codec) -{ - unsigned int present; - - present = snd_hda_codec_read(codec, 0x15, 0, - AC_VERB_GET_PIN_SENSE, 0) & 0x80000000; - snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0, - HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0); - snd_hda_codec_amp_stereo(codec, 0x17, HDA_OUTPUT, 0, - HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0); -} - -static void alc888_acer_aspire_7730G_unsol_event(struct hda_codec *codec, - unsigned int res) -{ - if ((res >> 26) == ALC880_HP_EVENT) - alc888_acer_aspire_7730G_front_automute(codec); -} - static void alc888_6st_dell_setup(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; @@ -8660,7 +8633,6 @@ static const char *alc882_models[ALC882_ [ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g", [ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g", [ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g", - [ALC888_ACER_ASPIRE_7730G] = "acer-aspire-7730g", [ALC883_MEDION] = "medion", [ALC883_MEDION_MD2] = "medion-md2", [ALC883_LAPTOP_EAPD] = "laptop-eapd", @@ -8707,7 +8679,6 @@ static struct snd_pci_quirk alc882_cfg_t ALC888_ACER_ASPIRE_6530G), SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G", ALC888_ACER_ASPIRE_6530G), - SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G", ALC888_ACER_ASPIRE_7730G), /* default Acer -- disabled as it causes more problems. * model=auto should work fine now */ @@ -9209,20 +9180,6 @@ static struct alc_config_preset alc882_p .setup = alc889_acer_aspire_8930g_setup, .init_hook = alc_automute_amp, }, - [ALC888_ACER_ASPIRE_7730G] = { - .mixers = { alc883_3ST_6ch_mixer, alc883_chmode_mixer }, - .init_verbs = { alc883_init_verbs, alc888_acer_aspire_7730G_verbs }, - .num_dacs = ARRAY_SIZE(alc883_dac_nids), - .dac_nids = alc883_dac_nids, - .dig_out_nid = ALC883_DIGOUT_NID, - .dig_in_nid = ALC883_DIGIN_NID, - .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes), - .channel_mode = alc883_3ST_6ch_modes, - .need_dac_fix = 1, - .input_mux = &alc883_capture_source, - .unsol_event = alc888_acer_aspire_7730G_unsol_event, /* DENER CHANGE AUTOMUTE DECLARATION*/ - .init_hook = alc888_acer_aspire_7730G_front_automute, - }, [ALC883_MEDION] = { .mixers = { alc883_fivestack_mixer, alc883_chmode_mixer },
On Tue, Aug 25, 2009 at 1:01 PM, Denis Kupdener.kup@gmail.com wrote:
2009/8/25 Takashi Iwai tiwai@suse.de:
At Mon, 24 Aug 2009 19:57:58 +0400, Denis Kup wrote:
2009/8/24 Takashi Iwai tiwai@suse.de
At Mon, 24 Aug 2009 17:10:10 +0400, Denis Kup wrote:
Sorry, I was very busy last two months. We don't finish with this theme. What about my patch?
Please check with the latest sound GIT tree (or alsa-driver snapshot) whether it still work and repost the patch. There have been lots of changes in HD-audio driver code, so an old patch might not work any more.
thanks,
Takashi
I tested patch with alsa-driver-1.0.20.40.g13311.579.gcf341. All works as it should.
Try rather with the snapshot tarball in ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz The version you tried isn't the latest one.
It's diff between patched version( patch_realtek_new.c ) and unpatched:
Make a patch with diff -u option (and better with -p, too).
thanks,
Takashi
I tested with new one. All is OK, but i found strange thing that was before(with older versions). If i make boost level for front mic very high, speakers starts whistle ( I think you understand me). Is it normal, or not?
Is it “whistle” or is it a background noise? That is, the microphone is too sensitive and picks up too much of the background noise.
We would say 'whistle' if the speakers play at the same time what is recorded by the microphone, so it gets in a loop and you hear the annoying high pitch noise.
simos
And diff:
dener@linux-wpg9:~/Documents/1> diff ./patch_realtek_new.c ./patch_realtek_old.c -u -p --- ./patch_realtek_new.c 2009-08-25 13:44:34.000000000 +0400 +++ ./patch_realtek_old.c 2009-08-25 10:53:13.000000000 +0400 @@ -220,7 +220,6 @@ enum { ALC888_ACER_ASPIRE_4930G, ALC888_ACER_ASPIRE_6530G, ALC888_ACER_ASPIRE_8930G,
- ALC888_ACER_ASPIRE_7730G,
ALC883_MEDION, ALC883_MEDION_MD2, ALC883_LAPTOP_EAPD, @@ -8473,32 +8472,6 @@ static struct hda_verb alc883_acer_eapd_ { } };
-static struct hda_verb alc888_acer_aspire_7730G_verbs[] = {
- {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
- {0x17, AC_VERB_SET_CONNECT_SEL, 0x02},
- {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT |
AC_USRSP_EN},
- { } /* end */
-};
-static void alc888_acer_aspire_7730G_front_automute(struct hda_codec *codec) -{
- unsigned int present;
- present = snd_hda_codec_read(codec, 0x15, 0,
- AC_VERB_GET_PIN_SENSE, 0) &
0x80000000;
- snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0,
- HDA_AMP_MUTE, present ? HDA_AMP_MUTE
: 0);
- snd_hda_codec_amp_stereo(codec, 0x17, HDA_OUTPUT, 0,
- HDA_AMP_MUTE, present ? HDA_AMP_MUTE
: 0); -}
-static void alc888_acer_aspire_7730G_unsol_event(struct hda_codec *codec,
- unsigned int res)
-{
- if ((res >> 26) == ALC880_HP_EVENT)
- alc888_acer_aspire_7730G_front_automute(codec);
-}
static void alc888_6st_dell_setup(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; @@ -8660,7 +8633,6 @@ static const char *alc882_models[ALC882_ [ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g", [ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g", [ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g",
- [ALC888_ACER_ASPIRE_7730G] = "acer-aspire-7730g",
[ALC883_MEDION] = "medion", [ALC883_MEDION_MD2] = "medion-md2", [ALC883_LAPTOP_EAPD] = "laptop-eapd", @@ -8707,7 +8679,6 @@ static struct snd_pci_quirk alc882_cfg_t ALC888_ACER_ASPIRE_6530G), SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G", ALC888_ACER_ASPIRE_6530G),
- SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G",
ALC888_ACER_ASPIRE_7730G), /* default Acer -- disabled as it causes more problems. * model=auto should work fine now */ @@ -9209,20 +9180,6 @@ static struct alc_config_preset alc882_p .setup = alc889_acer_aspire_8930g_setup, .init_hook = alc_automute_amp, },
- [ALC888_ACER_ASPIRE_7730G] = {
- .mixers = { alc883_3ST_6ch_mixer, alc883_chmode_mixer },
- .init_verbs = { alc883_init_verbs,
alc888_acer_aspire_7730G_verbs },
- .num_dacs = ARRAY_SIZE(alc883_dac_nids),
- .dac_nids = alc883_dac_nids,
- .dig_out_nid = ALC883_DIGOUT_NID,
- .dig_in_nid = ALC883_DIGIN_NID,
- .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes),
- .channel_mode = alc883_3ST_6ch_modes,
- .need_dac_fix = 1,
- .input_mux = &alc883_capture_source,
- .unsol_event = alc888_acer_aspire_7730G_unsol_event,
/* DENER CHANGE AUTOMUTE DECLARATION*/
- .init_hook = alc888_acer_aspire_7730G_front_automute,
- },
[ALC883_MEDION] = { .mixers = { alc883_fivestack_mixer, alc883_chmode_mixer }, _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Tue, 25 Aug 2009 16:01:15 +0400, Denis Kup wrote:
2009/8/25 Takashi Iwai tiwai@suse.de:
At Mon, 24 Aug 2009 19:57:58 +0400, Denis Kup wrote:
2009/8/24 Takashi Iwai tiwai@suse.de
At Mon, 24 Aug 2009 17:10:10 +0400, Denis Kup wrote:
Sorry, I was very busy last two months. We don't finish with this theme. What about my patch?
Please check with the latest sound GIT tree (or alsa-driver snapshot) whether it still work and repost the patch. There have been lots of changes in HD-audio driver code, so an old patch might not work any more.
thanks,
Takashi
I tested patch with alsa-driver-1.0.20.40.g13311.579.gcf341. All works as it should.
Try rather with the snapshot tarball in ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz The version you tried isn't the latest one.
It's diff between patched version( patch_realtek_new.c ) and unpatched:
Make a patch with diff -u option (and better with -p, too).
thanks,
Takashi
I tested with new one. All is OK, but i found strange thing that was before(with older versions). If i make boost level for front mic very high, speakers starts whistle ( I think you understand me). Is it normal, or not?
As Simos already mentioned, it's likely a loopback from the built-in mic via the analog mixer. Check the mixer status whether "Mic Playback Volume" or "Front Mic Playback Volume" is unmuted / adjusted. They should be muted unless you really need the analog loopback.
And diff:
It's a wrong direction, i.e. to remove your change. Make for a different direction.
Also, your MUA breaks the embedded patch, converting tabs into spaces, fold lines, etc. Either fix your MUA setting or use attachments if it's hard to fix.
A bit more comments below:
dener@linux-wpg9:~/Documents/1> diff ./patch_realtek_new.c ./patch_realtek_old.c -u -p --- ./patch_realtek_new.c 2009-08-25 13:44:34.000000000 +0400 +++ ./patch_realtek_old.c 2009-08-25 10:53:13.000000000 +0400 @@ -220,7 +220,6 @@ enum { ALC888_ACER_ASPIRE_4930G, ALC888_ACER_ASPIRE_6530G, ALC888_ACER_ASPIRE_8930G,
ALC888_ACER_ASPIRE_7730G, ALC883_MEDION, ALC883_MEDION_MD2, ALC883_LAPTOP_EAPD,
@@ -8473,32 +8472,6 @@ static struct hda_verb alc883_acer_eapd_ { } };
-static struct hda_verb alc888_acer_aspire_7730G_verbs[] = {
{0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
{0x17, AC_VERB_SET_CONNECT_SEL, 0x02},
{0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT |
AC_USRSP_EN},
{ } /* end */
-};
-static void alc888_acer_aspire_7730G_front_automute(struct hda_codec *codec) -{
unsigned int present;
present = snd_hda_codec_read(codec, 0x15, 0,
AC_VERB_GET_PIN_SENSE, 0) &
0x80000000;
snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0,
HDA_AMP_MUTE, present ? HDA_AMP_MUTE
: 0);
snd_hda_codec_amp_stereo(codec, 0x17, HDA_OUTPUT, 0,
HDA_AMP_MUTE, present ? HDA_AMP_MUTE
: 0); -}
Recently, we use the common automute function instead of the own one as much as possible. Set up the pins in setup callback, instead. See other acer-aspire models as examples.
-static void alc888_acer_aspire_7730G_unsol_event(struct hda_codec *codec,
unsigned int res)
-{
if ((res >> 26) == ALC880_HP_EVENT)
alc888_acer_aspire_7730G_front_automute(codec);
-}
This is no longer needed with the common automute.
Could you fix and repost? Don't forget to add a changelog and your sign-off line together with the patch. The page below is a guidance for creating a kernel patch: http://userweb.kernel.org/~akpm/stuff/tpp.txt
thanks,
Takashi
Patch for ALSA driver. Adds full audio support on Acer Aspire 7730G notebook.
Change log:
1) Added support of internal subwoofer (it sounds!!!) 2) Auto muting front speakers and internal subwoofer on headphones plug. 3) Internal mic works. 4) 3 channel mods (jack maps): black pink blue 2ch: front ext mic line in 4ch: front ext mic surround 6ch: front CLFE surround Can be changed in mixer. 5) Sound can be recorded from: Internal mic Ext mic Cd Line in 6) 2 separate capture channels.
Denis Kuplyakov dener.kup@gmail.com 25.08.09 16:06:36
At Tue, 25 Aug 2009 20:11:32 +0400, Denis Kup wrote:
Patch for ALSA driver. Adds full audio support on Acer Aspire 7730G notebook.
Change log:
- Added support of internal subwoofer (it sounds!!!)
- Auto muting front speakers and internal subwoofer on headphones plug.
- Internal mic works.
- 3 channel mods (jack maps): black pink blue
2ch: front ext mic line in 4ch: front ext mic surround 6ch: front CLFE surround Can be changed in mixer. 5) Sound can be recorded from: Internal mic Ext mic Cd Line in 6) 2 separate capture channels.
Denis Kuplyakov dener.kup@gmail.com
Applied now. Thanks.
BTW, did you check, as I suggested, whether acer-aspire-6530g with changing the channel mode from 2ch to 6ch works for 7730g? I guess we can merge acer-aspire-* variants to one or two models.
Takashi
participants (3)
-
Denis Kup
-
Simos Xenitellis
-
Takashi Iwai