You are not logged in.

#1 2012-01-20 20:50:36

beej
Member
From: Bend, OR
Registered: 2009-01-27
Posts: 22
Website

[SOLVED] alsamixer failing after 3.2.1 update?

I'm still searching for answers for this one, but I figured I'd post what I had.

Here's what alsa thinks I have, and I think it's correct:

Found hardware: "HDA-Intel" "Realtek ALC887-VD" "HDA:10ec0887,1458a002,00100302" "0x1458" "0xa002"

First clue was no audio playback, so I went to run the mixer, and it failed with "Invalid argument".

$ alsamixer -c 0
cannot load mixer controls: Invalid argument
$ alsamixer
cannot load mixer controls: Invalid argument
$ alsamixer -c 1  # works, fwiw
$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=SB
    HDA ATI SB, ALC887-VD Analog
    Default Audio Device
front:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    Front speakers
surround40:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=SB,DEV=0
    HDA ATI SB, ALC887-VD Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=Generic,DEV=0
    HD-Audio Generic, HDMI 0
    HDMI Audio Output
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ lsmod | grep snd
snd_hda_codec_hdmi     24121  1 
snd_hda_codec_realtek   194997  1 
snd_hda_intel          23311  0 
snd_hda_codec          89032  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               6389  1 snd_hda_codec
snd_pcm                74780  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer              19544  1 snd_pcm
snd                    59214  7 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
soundcore               6210  1 snd
snd_page_alloc          7153  2 snd_hda_intel,snd_pcm

No errors from aplay in use:

$ aplay wilhelm.wav 
Playing WAVE 'wilhelm.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

alsactl init has a few complaints:

$ alsactl init 0
Found hardware: "HDA-Intel" "Realtek ALC887-VD" "HDA:10ec0887,1458a002,00100302" "0x1458" "0xa002"
Hardware is initialized using a generic method
/usr/share/alsa/init/default:26: control element not found
/usr/share/alsa/init/default:26: control element not found
/usr/share/alsa/init/default:48: control element not found

Line 26 has this (my fu is weak, here):

CTL{name}="Master Playback Volume",CTL{do_search}=="1", \
  ENV{has_pmaster_vol}:="true", \
  CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"

Line 48 has this:

ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""

I'm not running pulseaudio, if that makes a difference.

Finally, I can get alsamixer to kinda-work, if I put this in /etc/modprobe.d/alsa.conf:

options snd-hda-intel model=generic

but I prefer not to do that, since it nerfs my mixer down to two controls.

I don't have anything else in modprobe.d, and nothing in ~/.asoundrc.

Any advice on additional avenues to pursue would be appreciated.

Edit: a quick way to get the nerfed controls working after you've booted:

# rmmod snd-hda-intel
# modprobe snd-hda-intel model=generic

That makes basic recording and playback work for me, at least. I haven't found any more useful info, however.

Last edited by beej (2012-01-23 03:20:15)

Offline

#2 2012-01-21 11:27:19

hifi25nl
Member
Registered: 2011-05-07
Posts: 263

Re: [SOLVED] alsamixer failing after 3.2.1 update?

I have similar problems after upgrade with 3.2.1 with HDA intel ACL 889
Internal microphone working fine but no sound from speakers.

The only very partial solution was to add this to /etc/modprobe.d:

alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
options snd-hda-intel model=intel-alc889a position_fix=2

However the mixer is a little messed up, internal microphone is not working now but at least I have sound from headphone and internal speakers and line mic is fine.
However the volume of line microphone is controlled by the slider of front mic!

And without the  position_fix=2 the sound from microphone was VERY noisy.

It is a pity, since the last 3.X kernels were working very fine with my configuration.

Offline

#3 2012-01-21 16:47:47

hifi25nl
Member
Registered: 2011-05-07
Posts: 263

Re: [SOLVED] alsamixer failing after 3.2.1 update?

I have personally resolved the problem. You can substitute the model=generic with your mode, see alsa documentation in HD-Audio-models.txt.
You can try some, I think model=6stack-dig will give all the options of your card and maybe more...

You can install also hda_analyzer for a more complete summary of your card driver.

My solution was this:

A) In /etc/modprobe.d/alsa.conf (this fix the missing sound from speakers; position_fix is for very noisy mic):
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
options snd-hda-intel model=intel-alc889a position_fix=1

B) I have added a script to pre-kde startup with the following inside
This fix the fact that Front mic IN was not selected (incredible!!!) and that the default mic was external mic:
#!/bin/bash
# Set Internal Mic to IN!
# 0x12 is internal microphone and 0x00000020 is "IN"
sudo /usr/bin/hda-verb /dev/snd/hwC0D0 0x12 SET_PIN_WIDGET_CONTROL 0x00000020
# Select IntMic
# 0x24 is AUD_SEL and 11 is Pin Complex [0x12]
sudo /usr/bin/hda-verb /dev/snd/hwC0D0 0x24 SET_CONNECT_SEL 11

Offline

#4 2012-01-23 03:18:40

beej
Member
From: Bend, OR
Registered: 2009-01-27
Posts: 22
Website

Re: [SOLVED] alsamixer failing after 3.2.1 update?

Success!

hifi25nl wrote:

I have personally resolved the problem. You can substitute the model=generic with your mode, see alsa documentation in HD-Audio-models.txt.
You can try some, I think model=6stack-dig will give all the options of your card and maybe more...

For me, I tried a pile of models.  Nothing was working.  In desperation, I tried model=auto (which the docs say is the default), and it worked!

You can install also hda_analyzer for a more complete summary of your card driver.

That's an interesting tool--I hadn't known of it before.

A) In /etc/modprobe.d/alsa.conf (this fix the missing sound from speakers; position_fix is for very noisy mic):

position_fix for noisy mic!  My savior!  This has been bothering my friends for ages.

So here is what worked for me for the ALC887-VD.  I made a /etc/modprobe.d/snd_hda_intel.conf file:

options snd_hda_intel model=auto position_fix=3

(To be honest, I haven't tried rebooting yet, but loading the sound module with those parameters was working, so I figure it's golden.)

Thanks!

Offline

#5 2012-01-23 04:15:16

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: [SOLVED] alsamixer failing after 3.2.1 update?

Please report this on the ALSA bugzilla, so it can hopefully configure automatically in future versions.

Offline

Board footer

Powered by FluxBB