From: Franck Barbenoire on
Hi all,

Sound is not working on my notebook hp dv7-1217ef using Alsa. I see that
this is a common problem with Intel sound harware but none of the solutions
I found on the web worked for me.

I used alsa-info.sh so that all questions regarding my software and hardware
configuration will be found here :

http://www.alsa-project.org/db/?f=48c0e20b4448fe82ccf2b395fd39a34dc33abc7e

There is one Intel card :

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio
Controller (rev 03)

and two codecs :

IDT 92HD71B7X
Nvidia MCP78 HDMI

I want to unmute de IDT 92 codec (for speakers) but the problem is that
alsamixer uses by default the wrong codec (HDMI). I followed this FAQ :
http://alsa.opensrc.org/index.php?title=FAQ026
and changed the default Slack config asound.conf to :

pcm.!default {
type hw
card 0
device 2
}

ctl.!default {
type hw
card 0
device 2
}

in order to use device 2 instead of device 0 (the default), the respectives
addresses of the codecs. But alsamixer gives this error :

alsamixer: function snd_ctl_open failed for default: Invalid argument

In order to compare behaviours, I booted a Fedora 11 live CD. And it worked
with the same alsa-drivers version (1.0.18a) as Slackware, this is why I
suspect a configuration problem. It was not possible to use the Fedora
config files to Slack because of missing plugins (plug) : packages are not
build in the same manner in the two systems.

Have you got an idea ?

Thanks,

Franck

From: Clemens Ladisch on
Franck Barbenoire wrote:
> I followed this FAQ : http://alsa.opensrc.org/index.php?title=FAQ026

No you did not. ;-)

> and changed the default Slack config asound.conf to :
>
> pcm.!default {
> type hw
> card 0
> device 2
> }
>
> ctl.!default {
> type hw
> card 0
> device 2
> }

The ctl definition does not have a device number; remove that line.
Or better just use the following:

defaults.pcm.card 0
defaults.pcm.device 2
defaults.ctl.card 0

> alsamixer uses by default the wrong codec (HDMI).

alsamixer always shows all controls of a card; it does not have
device numbers. If there are any controls that apply to the HDMI
output, they will show for card 0.


HTH
Clemens
From: Franck Barbenoire on
Hi Clemens,

thank you for your answer.

I applied your suggested /etc/asound.conf (which may be the default
settings) :

defaults.pcm.card 0
defaults.pcm.device 0
defaults.ctl.card 0

this removed the snd_ctl_open error but with no other visible (I should say
audible :-) effect.

At the top of its window, alsamixer displays the following informations :

Card : HDA Intel
Chip : Nvidia MCP78 HDMI

My understanding is that if I want to control the speakers of my notebook, I
have to unmute some channel(s) of the chip IDT 92HD71B7X. Chip (in alsamixer
window) and codec (from /proc/asound/card0/codec#?) are equivalent. Address
of IDT 92HD71B7X chip is 0 and address of Nvidia MCP78 HDMI is 2. What
puzzles me is that the chip I want to access is at address 0 (which may be
the default) but alsamixer selects the one at address 2.

Does the device parameter in /etc/asound.conf addresses the codec (or chip)
? is subdevice more appropriate ?
In other words, how to select the chip IDT 92HD71B7X using alsamixer ?

Thanks

Franck

PS: my configuration informations :
http://www.alsa-project.org/db/?f=48c0e20b4448fe82ccf2b395fd39a34dc33abc7e

Clemens Ladisch wrote:

> Franck Barbenoire wrote:
>> I followed this FAQ : http://alsa.opensrc.org/index.php?title=FAQ026
>
> No you did not. ;-)
>
>> and changed the default Slack config asound.conf to :
>>
>> pcm.!default {
>> type hw
>> card 0
>> device 2
>> }
>>
>> ctl.!default {
>> type hw
>> card 0
>> device 2
>> }
>
> The ctl definition does not have a device number; remove that line.
> Or better just use the following:
>
> defaults.pcm.card 0
> defaults.pcm.device 2
> defaults.ctl.card 0
>
>> alsamixer uses by default the wrong codec (HDMI).
>
> alsamixer always shows all controls of a card; it does not have
> device numbers. If there are any controls that apply to the HDMI
> output, they will show for card 0.
>
>
> HTH
> Clemens


From: Clemens Ladisch on
Franck Barbenoire wrote:
> I applied your suggested /etc/asound.conf

My suggestion actually had "defaults.pcm.device 2".

> (which may be the default settings) :
>
> defaults.pcm.card 0
> defaults.pcm.device 0
> defaults.ctl.card 0

Those are indeed the default settings.

> At the top of its window, alsamixer displays the following informations :
>
> Card : HDA Intel
> Chip : Nvidia MCP78 HDMI
>
> My understanding is that if I want to control the speakers of my notebook, I
> have to unmute some channel(s) of the chip IDT 92HD71B7X.

Yes.

However, a card has only one entry for the "Chip" name; apparently, the
snd-hda-intel driver overwrites that name, instead of appending it, when
it detects the second codec.

In other word, don't believe what alsamixer displays there. It actually
shows all controls of the card.

> Address of IDT 92HD71B7X chip is 0 and address of Nvidia MCP78 HDMI is 2.

These _device_ numbers are correct for the PCM devices.


The following controls from your alsa-info output should be changed:
> Simple mixer control 'Master',0
> Mono: Playback 48 [38%] [-59.25dB] [on]

-60 dB is way too silent.

> Simple mixer control 'Headphone',0
> Front Left: Playback 48 [38%] [-59.25dB] [on]
> Front Right: Playback 48 [38%] [-59.25dB] [on]

This too, if you're using HPs.

> Simple mixer control 'Analog Loopback',0
> Mono: Playback [on]
> Simple mixer control 'Analog Loopback',1
> Mono: Playback [on]

You probably don't want this.

> Simple mixer control 'Speaker',0
> Front Left: Playback 64 [50%] [-47.25dB] [off]
> Front Right: Playback 64 [50%] [-47.25dB] [off]

If you want to use speakers, these should be unmuted and raised.


HTH
Clemens