LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   no sound with certain applications -- usb audio (https://www.linuxquestions.org/questions/slackware-14/no-sound-with-certain-applications-usb-audio-808490/)

noviciado 05-17-2010 11:15 PM

no sound with certain applications -- usb audio
 
Hello,

I'm trying to have sound output to usb, but it does not consistently work with many programs (namely, audio from flash in firefox and exaile). If I play music from xmms, however, there is no problem.

I'm using xfce4 on slackware 13, 2.6.29.6-smp (full install)
Code:

/sbin/lspci -vv | grep audio
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)

Here's what I've tried:
1) reinstalling: alsa-lib, alsa-utils, alsa-oss

2) verifying the usb_audio modules are loaded:
Code:

bash-3.1$ lsmod | grep usb_audio
snd_usb_audio          80352  0
snd_usb_lib            15228  1 snd_usb_audio
snd_hwdep              6816  1 snd_usb_audio
snd_pcm                68128  5 snd_pcm_oss,snd_usb_audio,snd_intel8x0,snd_ac97_codec
snd                    50820  16 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_usb_audio,snd_rawmidi,snd_seq_device,snd_hwdep,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer

3) I've gone through alsaconf, unmuted everything and adjusted the levels in alsamixer, and stored it with alsactl -store

4) I've made sure my user is in the 'audio' group.

5) Added usb-audio info to /etc/modprobe.conf from here: http://alsa.opensrc.org/index.php/Us...b-audio_driver

I had audio from flash one time, but after rebooting, it disappeared. I cannot get exaile to make a peep. I set "audio sink" to alsa, rebooted, tried again. nothing.

Any suggestions?
Thanks in advance for your help.

Is there no "complete" mixer like in gnome where you can select the output device and view the applications using it? I've been trying aumix, alsamixer, and xfce4-mixer; none have those options..

Daedra 05-17-2010 11:46 PM

Do you have two soundcards running in your system?

noviciado 05-18-2010 12:43 AM

No, just one sound card. I have an external usb-DAC that connects to a stereo receiver.

Daedra 05-18-2010 12:50 AM

I know that in kmix you can a configure channels, just move all available channels into the visible channels and that will enable all features.

noviciado 05-18-2010 01:16 AM

Hmm
Code:

bash-3.1# kmix &
[1] 21554
bash-3.1# <unknown program name>(21555)/: KUniqueApplication: Cannot find the D-Bus session server

<unknown program name>(21554)/: KUniqueApplication: Pipe closed unexpectedly.

I think this isn't an option under xfce4?

Perhaps someone's resolved this without ditching xfce4 though?

guanx 05-18-2010 03:18 AM

Quote:

Originally Posted by noviciado (Post 3972328)
No, just one sound card. I have an external usb-DAC that connects to a stereo receiver.

Daedra seems to be right. The other sound "card" is integrated into the chipset.

Daedra 05-18-2010 03:27 AM

If that is the case then it sounds like alsa is loading your onboard chipset first, if so you need to change the default soundcard to your usb. Edit your /etc/modprobe.d/sound. see this thread

http://www.linuxquestions.org/questi...device-713793/

GlennsPref 05-18-2010 03:51 AM

Hi, a qt mixer interface for jack(it).

qjackctl

A software patchbay device.

Regards Glenn

ps, I have similar problems, make sure the motherboard beep (pc speaker) is disabled, use /etc/modprobe.d/blacklist(.txt)

GW

uppman 05-18-2010 09:10 AM

I solved a similar problem by hacking asound.conf.

Add the line below to /etc/asound.conf, change the "1" to whatever the USB-audio got. List the available devices with aplay -l.
defaults.pcm.device 1 # device 1: ALC883 Digital [ALC883 Digital]

Below is an example to help you understand where the "1" comes from..
Code:

root@localhost:# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC883 Analog [ALC883 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC883 Digital [ALC883 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Some other hints:
http://linuxconfig.dyndns.org/lazy/L...28Slackware%29

/Magnus

noviciado 05-18-2010 01:11 PM

Thanks everyone for all the helpful information.
I think I'm almost there.

I added the line to /etc/asound.conf (it looks like this now):
Code:

bash-3.1$ cat /etc/asound.conf
pcm.headset {
        type bluetooth
}

ctl.headset {
        type bluetooth
}

defaults.pcm.device 1 # device 1 is USB Audio [USB Audio]

except that when I looked at the device number, it was the same as the on-board chip:
Code:

bash-3.1$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ICH6 [Intel ICH6], device 0: Intel ICH [Intel ICH6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: ICH6 [Intel ICH6], device 4: Intel ICH - IEC958 [Intel ICH6 - IEC958]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: default [ Nuforce  µDAC ], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Daedra provided a link to a thread where it was solved by modifying /etc/modprobe.d/sound. I made the following changes:
Code:

bash-3.1$ cat /etc/modprobe.d/sound
alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0
options snd-intel8x0 index=0

alias snd-card-1 snd-usb-audio
alias snd-slot-1 ans-usb-audio
options snd-usb-audio index=1

I rebooted afterwards, but when I look at aplay -l, both the onboard chipset and the usb audio are still "device 0". Naturally, there is no device 1 and I get an error that says, falling back to onboard sound device.
Is there another way to change the device number? Or to force those options in /etc/modprobe.d/sound to be read? (Daedra, I also saw your other method posted from that thread, but a few folks chimed in warning against it for flash 9+ audio.)

Thanks again!

(EDIT: I just tried qjackctl. I'll have to look at that one more and see how it actually works.. I just get lots of errors at present)

Daedra 05-18-2010 04:02 PM

yes, ignore my way. the /etc/modprobe.d/sound is the correct way. did you try setting your usb sound card as 0, like this...

alias snd-card-0 snd-usb-audio
alias snd-slot-0 ans-usb-audio
options snd-usb-audio index=0
alias snd-card-1 snd-intel8x0
alias sound-slot-1 snd-intel8x0
options snd-intel8x0 index=1

uppman 05-18-2010 04:06 PM

Try something like this to set the second card and device 0 as default:

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

http://forums.debian.net/viewtopic.php?t=22325

noviciado 05-19-2010 10:37 PM

Daedra and Uppman, Thanks so much! Tack så mycket!

That did the trick. Both devices are still listed as 'device 0' under aplay -l, but distinguishing them by card number seems to solve the problem.


All times are GMT -5. The time now is 06:40 PM.