[alsa-devel] HDA Intel IDT 92HD71B7X - HP Pavilion DV7-1299EF - Only the left speaker is working
Wael Nasreddine (a.k.a eMxyzptlk)
mla at nasreddine.com
Mon Nov 16 18:07:40 CET 2009
2009/11/16 Takashi Iwai <tiwai at suse.de>
> At Sun, 15 Nov 2009 17:26:00 +0100,
> Wael Nasreddine (a.k.a eMxyzptlk) wrote:
> >
> > On Sat, Nov 14, 2009 at 15:25, Wael Nasreddine (a.k.a eMxyzptlk) <
> > mla at nasreddine.com> wrote:
> >
> > > On Sat, Nov 14, 2009 at 14:03, Takashi Iwai <tiwai at suse.de> wrote:
> > > >
> > > > At Sat, 14 Nov 2009 13:46:37 +0100,
> > > > Wael Nasreddine (a.k.a eMxyzptlk) wrote:
> > > > >
> > > > > [1 <multipart/alternative (7bit)>]
> > > > > [1.1 <text/plain; UTF-8 (7bit)>]
> > > > > On Thu, Nov 12, 2009 at 11:16, Takashi Iwai <tiwai at suse.de> wrote:
> > > > >
> > > > > > At Thu, 12 Nov 2009 10:46:24 +0100,
> > > > > > Wael Nasreddine (a.k.a eMxyzptlk) wrote:
> > > > > > >
> > > > > > > Takashi,
> > > > > > >
> > > > > > > I tried the snapshot from
> > > > > > >
> > > > > >
> > >
> ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
> > > > > > > last night with and without options still no go, the options
> I've
> > > > > > > tried:
> > > > > > >
> > > > > > > - options snd-hda-intel enable_msi=
> > > > > > > - options snd-hda-intel enable_msi=1 single_cmd=0
> > > > > > > power_save_controller=0 power_save=0 model=hp-dv5
> > > > > >
> > > > > > power_save should be irrelevant. And model=hp-dv5 and
> enable_msi=1
> > > > > > are already turned on as default in the recent version.
> > > > > >
> > > > > > The next would be model=auto to avoid hp-dv5 quirk.
> > > > > >
> > > > > > Also, it's helpful if you give a summary of your problems again.
> > > > > >
> > > > > >
> > > > > > Takashi
> > > > > >
> > > > >
> > > > > Takashi,
> > > > >
> > > > > I just tried 'options snd-hda-intel enable_msi=1 model=auto' Didn't
> > > > > have much effect, the same problem (sound only from left speaker),
> > > > > always the same result with 'speaker-test -c6 -twav' I can only
> hear
> > > > > 'Front Left'
> > > >
> > > > OK. But the headphone works, right?
> > > >
> > > Yes Headphones works, even mics works
> > >
> > > >
> > > > > Summary:
> > > > > =======
> > > > >
> > > > > I have an HP DV7-1299EF, BIOS (Version F.2C, F.2A and F.23) , Due
> to a
> > > BIOS
> > > > > BUG, the
> > > > > BIOS report only one speaker as an output so the driver does not
> know
> > > > > how to use pins in order to have a stereo output ( at least that's
> > > > > what you told me last month when you analysed the alsa-info
> output)...
> > > And
> > > > > so one speaker, the left speaker is the only speaker currently
> working
> > > under
> > > > > Linux.
> > > > >
> > > > >
> > > > > First I suspected a hardware problem so 2 days ago I restored
> Windows,
> > > > > tried the sound it works, and I updated my BIOS (it was version
> F.2A
> > > > > before) but sadly it has the same BUG, I also tried reverting back
> to
> > > F.2A
> > > > > and further back to F.23 same result...
> > > > >
> > > > > Attached to this mail, my alsa-info.txt
> > > >
> > > > The codec registers look OK through a quick look.
> > > >
> > > > You can try GPIO pin up/down for each pin. Also each pin has two
> > > > directions, so you'll have 8 x 2 x 2 trials.
> > > > For example, to test GPIO 3, pass 0x08 (= 1 << 3), try the commands
> > > > below and check aplay at each. (the lines '//' are just my comments)
> > > >
> > > > // dir = 0, data = 1
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x08
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x00
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x08
> > > >
> > > > // dir = 0, data = 0
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x08
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x00
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x00
> > > >
> > > > // dir = 1, data = 0
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x08
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x08
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x00
> > > >
> > > > // dir = 1, data = 1
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x08
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x08
> > > > hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x08
> > > >
> > > > Repeat these for each GPIO pin, from 0 to 7.
> > > >
> > > > One another possibility is to use the output pin NID 0x0f.
> > > > For testing this, build with the reconfig feature (usually enabled),
> > > > then change the pin 0x0f default config, such as
> > > >
> > > > echo 0x0f 0x90171111 >
> /sys/class/sound/hwC0D0/user_pin_configs
> > > >
> > > > then quit all sound apps and reconfigure
> > > >
> > > > echo 1 > /sys/class/sound/hwC0D0/reconfig
> > > >
> > > > Restore the mixer setup once via alsactl
> > > >
> > > > alsactl restore
> > > >
> > > > Then check the mixer volumes again, try aplay. With this setup,
> > > > try GPIO procedures above, too.
> > > >
> > > >
> > > > thanks,
> > > >
> > > > Takashi
> > >
> > > For the tests I've created a little script (attached for review if I
> > > done something wrong), Here's the results
> > >
> > > 0x01:
> > > -------> dir = 0, data = 1 =====> Front Left
> > > -------> dir = 0, data = 0 =====> Front Left
> > > -------> dir = 1, data = 1 =====> Front Left
> > > -------> dir = 1, data = 0 =====> No Sound
> > >
> > > 0x02:
> > > -------> dir = 0, data = 1 =====> No Sound
> > > -------> dir = 0, data = 0 =====> No Sound
> > > -------> dir = 1, data = 1 =====> No Sound
> > > -------> dir = 1, data = 0 =====> No Sound
> > >
> > > 0x04:
> > > -------> dir = 0, data = 1 =====> No Sound
> > > -------> dir = 0, data = 0 =====> No Sound
> > > -------> dir = 1, data = 1 =====> No Sound
> > > -------> dir = 1, data = 0 =====> No Sound
> > >
> > > 0x16:
> > > -------> dir = 0, data = 1 =====> No Sound
> > > -------> dir = 0, data = 0 =====> No Sound
> > > -------> dir = 1, data = 1 =====> No Sound
> > > -------> dir = 1, data = 0 =====> No Sound
> > >
> > > 0x32:
> > > -------> dir = 0, data = 1 =====> No Sound
> > > -------> dir = 0, data = 0 =====> No Sound
> > > -------> dir = 1, data = 1 =====> LFE
> > > -------> dir = 1, data = 0 =====> No Sound
> > >
> > > 0x64:
> > > -------> dir = 0, data = 1 =====> No Sound
> > > -------> dir = 0, data = 0 =====> No Sound
> > > -------> dir = 1, data = 1 =====> LFE
> > > -------> dir = 1, data = 0 =====> No Sound
> > >
> > > 0x128:
> > > -------> dir = 0, data = 1 =====> No Sound
> > > -------> dir = 0, data = 0 =====> No Sound
> > > -------> dir = 1, data = 1 =====> LFE
> > > -------> dir = 1, data = 0 =====> No Sound
> > >
> > >
> > > I've got the same results with the NID 0x0f
> > >
> > >
> > Hey Takashi,
> >
> > I forgot the
> >
> > 0x08:
> > -------> dir = 0, data = 1 =====> No Sound
> > -------> dir = 0, data = 0 =====> No Sound
> > -------> dir = 1, data = 1 =====> No Sound
> > -------> dir = 1, data = 0 =====> No Sound
> >
> >
> > Looking at the results above, how can I get both the Front Left and LFE
> to
> > output sound? and hopefully we get the right speaker later to work
>
> The LFE could be enabled by the patch below. Give it a try.
>
> Takashi
>
> ---
> diff --git a/sound/pci/hda/patch_sigmatel.c
> b/sound/pci/hda/patch_sigmatel.c
> index 7f76a97..57a561d 100644
> --- a/sound/pci/hda/patch_sigmatel.c
> +++ b/sound/pci/hda/patch_sigmatel.c
> @@ -5468,6 +5468,18 @@ again:
> break;
> }
>
> + /* enable LFE on HP dv7 if available */
> + if (spec->board_config == STAC_HP_DV5) {
> + unsigned int cap;
> + cap = snd_hda_param_read(codec, 0x1, AC_PAR_GPIO_CAP);
> + cap &= AC_GPIO_IO_COUNT;
> + if (cap >= 6) {
> + spec->gpio_mask |= 0x20;
> + spec->gpio_dir |= 0x20;
> + spec->gpio_data |= 0x20;
> + }
> + }
> +
> if (hp_bseries_system(codec->subsystem_id)) {
> pin_cfg = snd_hda_codec_get_pincfg(codec, 0x0f);
> if (get_defcfg_device(pin_cfg) == AC_JACK_LINE_OUT ||
>
>
Takashi,
Thank you that actually worked, I have now both Front Left and LFE working,
but it's very hard to tell coz the LFE is louder than both front speakers I
even put my ear directly on the speaker and it still can't be 100% sure, but
I think that for now what is working is 'Front Left + LFE', I can't hear
anything from the right speaker.. but it's already an improvement to what I
had.
Do you have any suggestion on how to enable the right speaker?
Thanks
--
Wael Nasreddine
Weem Chief-Development Officer - http://www.weem.com
Blog : http://wael.nasreddine.com
E-mail : wael.nasreddine at weem.com
gTalk : wael.nasreddine at gmail.com
Tel : +33.6.32.94.70.13
Skype : eMxyzptlk
Twitter : @eMxyzptlk
PGP: 1024D/C8DD18A2 06F6 1622 4BC8 4CEB D724 DE12 5565 3945 C8DD 18A2
.: An infinite number of monkeys typing into GNU emacs,
would never make a good program. (L. Torvalds 1995) :.
More information about the Alsa-devel
mailing list