LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   crazy soundcard problems (https://www.linuxquestions.org/questions/slackware-14/crazy-soundcard-problems-597690/)

zytsef 11-07-2007 12:16 AM

crazy soundcard problems
 
I've been struggling with a multiple soundcard setup and ALSA for a few weeks now and I thought I had it figured out. Stock Slackware 12 with generic 2.6.21.5 kernel.

Here's the situation: I've got a broken onboard audio device that refuses to die. I have it disabled in the BIOS, but Linux will still detect it and try to use it. I also have a PCI soundcard which has been working nicely for about a week. Here's the lspci -vv output showing the two (Aureal Vortex works, VIA broken):
Code:

00:0d.0 Multimedia audio controller: Aureal Semiconductor Vortex 2 (rev fe)
        Subsystem: Voyetra Technologies Montego II
        Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (1000ns min, 3000ns max), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 255
        Region 0: Memory at ed000000 (32-bit, non-prefetchable) [disabled] [size=256K]
        Region 1: I/O ports at d400 [disabled] [size=8]
        Region 2: I/O ports at d000 [disabled] [size=8]
        Capabilities: [dc] Power Management version 1
                Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
        Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin C routed to IRQ 7
        Region 0: I/O ports at e000 [size=256]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

I originally had problems with the broken device occationally being the default because (I think) it was really up to whichever device udev detected first on boot. I managed to fix the problem by adding the following to /etc/modprobe.d/sound:
Code:

options snd-au8830 index=0
options snd-V8237 index=1

However, today after a routine reboot the working Aureal soundcard fails to be loaded as an audio device as shown by aplay -l:
Code:

**** List of PLAYBACK Hardware Devices ****
card 0: V8237 [VIA 8237], device 0: VIA 8237 [VIA 8237]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 0: V8237 [VIA 8237], device 1: VIA 8237 [VIA 8237]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

This, despite the fact that the working soundcard still shows up in lspci (see above). Even when ALSA made the broken VIA device default in the past the Aureal card would still show up as a working soundcard. Why it suddenly dropped out of existence today is mystifying to me.

Any help is greatly appreciated.

Bruce Hill 11-07-2007 12:34 AM

To get rid of the VIA, you can recompile your kernel and remove those modules.

I have that VIA chipset on this and several other boxen working fine. On this one my PCI sound card is detected and used, and the VIA onboard is ignored.
Code:

mingdao@wired_silas:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Audigy [Audigy 1 ES [SB0160]], device 0: emu10k1 [ADC Capture/Standard PCM Playback]
  Subdevices: 32/32
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
  Subdevice #8: subdevice #8
  Subdevice #9: subdevice #9
  Subdevice #10: subdevice #10
  Subdevice #11: subdevice #11
  Subdevice #12: subdevice #12
  Subdevice #13: subdevice #13
  Subdevice #14: subdevice #14
  Subdevice #15: subdevice #15
  Subdevice #16: subdevice #16
  Subdevice #17: subdevice #17
  Subdevice #18: subdevice #18
  Subdevice #19: subdevice #19
  Subdevice #20: subdevice #20
  Subdevice #21: subdevice #21
  Subdevice #22: subdevice #22
  Subdevice #23: subdevice #23
  Subdevice #24: subdevice #24
  Subdevice #25: subdevice #25
  Subdevice #26: subdevice #26
  Subdevice #27: subdevice #27
  Subdevice #28: subdevice #28
  Subdevice #29: subdevice #29
  Subdevice #30: subdevice #30
  Subdevice #31: subdevice #31
card 0: Audigy [Audigy 1 ES [SB0160]], device 2: emu10k1 efx [Multichannel Capture/PT Playback]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: Audigy [Audigy 1 ES [SB0160]], device 3: emu10k1 [Multichannel Playback]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: V8237 [VIA 8237], device 0: VIA 8237 [VIA 8237]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 1: V8237 [VIA 8237], device 1: VIA 8237 [VIA 8237]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

As you mentioned, the kernel here is detecting the PCI card as card 0 and the onboard as card 1.

Perhaps if you get rid of the VIA modules, or blacklist them, it won't conflict.

zytsef 11-07-2007 01:34 PM

I don't think there's a conflict, though. I did have the PCI card working properly as card 0 for a while, with an aplay -l output similar to your's. Then it just dropped out of existance for ALSA yesterday.

Even when udev detected the VIA device first the PCI card still showed up in aplay -l as card 1. I think there's something else going on here.

EDIT: OK, so it obviously has something to do with my /etc/modprobe.d/sound configuration. After running alsaconf again, detecting the card, rebooting and finding that ALSA finds the au8830 card again this is what /etc/modprobe.d/sound looks like:
Code:

alias snd-card-0 snd-au8830
alias sound-slot-0 snd-au8830

However I'm back to the old problem of leaving the default sound device up to basicly a coin toss by udev. It's interesting to note that if I add back the following ALSA fails to load the au8830 card again:
Code:

options snd-au8830 index=0
options snd-V8237 index=1

At this point I could just blacklist the V8237 module, as was suggested, but I'd sort of like to know why my /etc/modprobe.d/sound configuration breaks ALSA so badly.


All times are GMT -5. The time now is 11:56 AM.