View previous topic :: View next topic |
Author |
Message |
frostschutz Advocate


Joined: 22 Feb 2005 Posts: 2977 Location: Germany
|
Posted: Sun Nov 24, 2013 5:20 pm Post subject: [solved] HDA Intel MID vs HDA Intel PCH |
|
|
After all this time, ALSA still baffles me. Looking for some help.
I have an ASUS Z87-Pro. My sound stopped working after updating kernel 3.11 to 3.12. /proc/asound/cards shows two cards where there used to be just one:
Code: |
# cat /proc/asound/cards
0 [MID ]: HDA-Intel - HDA Intel MID
HDA Intel MID at 0xf7f34000 irq 49
1 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xf7f30000 irq 50
|
The MID card doesn't work at all (alsamixer says: "This sound device does not have any controls."). So it's useless, yet it is made the default card for some reason.
The PCH card is fine. After googling a bit, I created a /etc/asound.conf like so:
Code: |
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
|
That makes most applications work, but not all. In particular, YouTube (thus I assume the Adobe Flash Player) no longer works. Videos start without audio and after a few seconds the video stops too.
I'm not using any kernel modules; is there any way to be rid of the useless MID card? Is there a better way to make the working card the default other than the asound.conf I found above?
Thanks,
Last edited by frostschutz on Sun Nov 24, 2013 9:14 pm; edited 1 time in total |
|
Back to top |
|
 |
Gusar Advocate

Joined: 09 Apr 2005 Posts: 2665 Location: Slovenia
|
Posted: Sun Nov 24, 2013 5:51 pm Post subject: |
|
|
That asound.conf makes sound go straight to the hardware, bypassing all userspace plugins, most notably software mixing (dmix). I find it quite odd that it's written all over the place as a "solution", considering it doesn't work as expected.
Here's a solution that works for sure - remove that asound.conf and create /etc/modprobe.d/alsa.conf with this: Code: | options snd_hda_intel index=1 |
Oops, I just saw you don't have any modules. Well, in this case add this to the kernel commandline in your bootloader config: Code: | snd_hda_intel.index=1 |
|
|
Back to top |
|
 |
dmpogo Advocate

Joined: 02 Sep 2004 Posts: 3524 Location: Canada
|
Posted: Sun Nov 24, 2013 5:58 pm Post subject: |
|
|
Gusar wrote: | That asound.conf makes sound go straight to the hardware, bypassing all userspace plugins, most notably software mixing (dmix). I find it quite odd that it's written all over the place as a "solution", considering it doesn't work as expected.
Here's a solution that works for sure - remove that asound.conf and create /etc/modprobe.d/alsa.conf with this: Code: | options snd_hda_intel index=1 |
Oops, I just saw you don't have any modules. Well, in this case add this to the kernel commandline in your bootloader config: Code: | snd_hda_intel.index=1 |
|
Which is one illustration that among all the things it is useful to have sound as modules  |
|
Back to top |
|
 |
aCOSwt Bodhisattva

Joined: 19 Oct 2007 Posts: 2537 Location: Hilbert space
|
Posted: Sun Nov 24, 2013 7:38 pm Post subject: |
|
|
dmpogo wrote: | Which is one illustration that among all the things it is useful to have sound as modules  |
Which is one illustration that among all the things... I... do not share your opinion. Nor Gusar's one anyway.
In my opinion, frostschutz's fiddling through asound.conf is the right way to go.
(With a dmix plugin because of implicit buffering) _________________
|
|
Back to top |
|
 |
frostschutz Advocate


Joined: 22 Feb 2005 Posts: 2977 Location: Germany
|
Posted: Sun Nov 24, 2013 8:03 pm Post subject: |
|
|
I will try the kernel parameter, thanks. Not sure if I understand it; both cards are hda_intel after all. cat /sys/module/snd_hda_intel/parameters/index gives me -1,-1,-1,-1,-1,-1,-1,-1 - I haven't found the documentation for that yet.
My preference would be for the sound driver to do the right thing (tm) by default, but alas...
As for asound.conf and dmix plugin: I had so much headache with that in the past that I usually just put a Creative PCI soundcard in which never gave me any trouble whatsoever (as it supports hardware mixing I guess). I still have one of those lying around, and it's my backup plan should things not work out. It's too bad, it used to work so well with 3.11 too, but I just don't do antique kernels. |
|
Back to top |
|
 |
frostschutz Advocate


Joined: 22 Feb 2005 Posts: 2977 Location: Germany
|
Posted: Sun Nov 24, 2013 9:15 pm Post subject: |
|
|
The kernel parameter seems to have done the trick! Thank you everyone!
Code: |
$ cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xf7f30000 irq 50
1 [MID ]: HDA-Intel - HDA Intel MID
HDA Intel MID at 0xf7f34000 irq 49
|
Still two cards, but they switched places. I still don't know what's the point of the MID card at all, but everything seems to work. |
|
Back to top |
|
 |
dmpogo Advocate

Joined: 02 Sep 2004 Posts: 3524 Location: Canada
|
Posted: Sun Nov 24, 2013 10:29 pm Post subject: |
|
|
aCOSwt wrote: | dmpogo wrote: | Which is one illustration that among all the things it is useful to have sound as modules  |
Which is one illustration that among all the things... I... do not share your opinion. Nor Gusar's one anyway.
In my opinion, frostschutz's fiddling through asound.conf is the right way to go.
(With a dmix plugin because of implicit buffering) |
Well, modern hardware often has some parts soldered on but disabled ( sensors are frequent example) and it is something to be said
of using hardware driver interface to limit what it presents to actually usable subset. |
|
Back to top |
|
 |
PaulBredbury Watchman


Joined: 14 Jul 2005 Posts: 7310
|
Posted: Mon Nov 25, 2013 2:00 am Post subject: |
|
|
frostschutz wrote: | Still two cards, but they switched places. I still don't know what's the point of the MID card at all |
Can probably use probe_mask to stop it from being recognized. |
|
Back to top |
|
 |
frostschutz Advocate


Joined: 22 Feb 2005 Posts: 2977 Location: Germany
|
Posted: Mon Nov 25, 2013 2:21 am Post subject: |
|
|
PaulBredbury wrote: | frostschutz wrote: | Still two cards, but they switched places. I still don't know what's the point of the MID card at all |
Can probably use probe_mask to stop it from being recognized. |
I'll keep that in mind, thanks. I wish sound cards worked like network cards, where you can ifup / ifdown them at runtime (without module frolicking). Unfortunately things don't seem to work that way.
I'll leave as is now as everything seems to work. Let's see what happens in 3.13. |
|
Back to top |
|
 |
Zentoo Apprentice


Joined: 18 Nov 2002 Posts: 207 Location: /dev/console
|
Posted: Thu Feb 06, 2014 2:22 pm Post subject: |
|
|
My +2 cents:
/etc/modprobe.d/alsa.conf is taken in consideration at boot EVEN if you don't use modules.
So for me it's the best way to configure the card order instead of kernel parameter or /etc/asoundrc.conf or ~.asoundrc.
- Kernel parameter need to be specified for each kernel and could be annoying.
- /etc/asoundrc.conf or ~.asoundrc is only used for alsa and not for OSS emulation so that could bring OSS software to use the wrong card.
My /etc/modprobe.d/alsa.conf where I swap my cards:
Code: | # Alsa kernel modules' configuration file.
##
### IMPORTANT:
### You need to customise this section for your specific sound card(s)
### and then run `update-modules' command.
### Read alsa-driver's INSTALL file in /usr/share/doc for more info.
###
#
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-nvidia-hdmi
alias snd-card-1 snd-emu10k1
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-nvidia-hdmi
alias sound-slot-1 snd-emu10k1
# OSS/Free portion - card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
# OSS/Free portion - card #2
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-1 snd-seq-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-8 snd-seq-oss
alias sound-service-1-12 snd-pcm-oss
#
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss
#
# Set this to the correct number of cards.
options snd cards_limit=2
options snd-emu10k1 index=0
options snd-nvidia-hdmi index=1
|
_________________ ACCEPT_KEYWORDS="~amd64"
USE="-systemd"
Desktop: openbox|picom|ROX-Filer|wbar|window maker dockapps
Hardware: Ryzen 7950X | 64 Gb | Nvidia 3080Ti |
|
Back to top |
|
 |
|