Debian – Logitech USB headphones detected and selected in Debian Squeeze but sound still coming from speakers

alsadebiandebian-squeezeheadphonesusb-audio

I have a pair of Logitech wireless USB headphones that work with Ubuntu Natty but aren't working in Debian Squeeze. When they are selected as the default audio output, the sound comes out of the speakers instead of the headphones. I have rebooted and tried using a different USB port.

My computer is a Thinkpad T510.

How can I fix this problem?

Here is lsusb:

Bus 002 Device 005: ID 046d:0a29 Logitech, Inc. 
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 046d:c52f Logitech, Inc. Wireless Mouse M305
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Here is cat /proc/asound/cards

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xf2420000 irq 17
 1 [Headset        ]: USB-Audio - Logitech Wireless Headset
                      Logitech Logitech Wireless Headset at usb-0000:00:1d.0-1.1, full speed
 2 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xcdefc000 irq 17

Here is the gnome-volume-control GUI:

enter image description here

Here's lsmod | grep usb:

snd_usb_audio          50670  0 
snd_usb_lib            11192  1 snd_usb_audio
usbhid                 28008  0 
hid                    50909  1 usbhid
snd_rawmidi            12513  2 snd_usb_lib,snd_seq_midi
snd_hwdep               4054  2 snd_usb_audio,snd_hda_codec
snd_pcm                47226  3 snd_usb_audio,snd_hda_intel,snd_hda_codec
usbcore                98969  5 snd_usb_audio,snd_usb_lib,usbhid,ehci_hcd
snd                    34423  11 snd_usb_audio,snd_rawmidi,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_timer,snd_seq_device
nls_base                4541  1 usbcore

Here's cat /etc/modprobe.d/alsa-base.conf:

# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; }
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }

# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
# Keep snd-pcsp from beeing loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2

EDIT

In VLC, I reset VLC prefs (Output: Default) and sound still comes out of speakers as expected. Then I change it to "Output: ALSA Audio output" and a Device menu appears. I select the headphones. When I then save the prefs, the audio switch to the headphones! But here's what's weird: I go back to prefs, change it to "Output: Default" and the headphones keep working. Maybe the ALSA option is actually what is being chosen as the "Default" option, but the Device menu (whose selection is still being used) is still set to the headphones. Anyway, now I need to figure out how to make it work as the default for the whole system.

Best Answer

I needed to define the headset as the default ALSA device by adding pcm.!default front:Headset to ~/.asoundrc. More here.

Related Question