sound buttons change the wrong sound output, and general lack of polish in automagic setup and sound preferences

Bug #96198 reported by Albert Cardona
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Ubuntu
Confirmed
Wishlist
Unassigned

Bug Description

Binary package hint: acpi

I have this setup:

thinkpad T60 with ubuntu-edgy dist-upgraded to today, 20070325
USB logitech 135 headset

/dev/dsp0 represents the laptop's speakers
/dev/dsp1 represents the headset speakers

First of all there have been issues when hot-plugging the headset. For example, when in System/Preferences/Sound I specify "USB audio" after hot plugging, rhythmbox and others that rely on general gnome preferences fail to send sound to the headset (and thus the laptop speakers deliver the music); whereas XMMS and skype, where the audio port can be chosen (so I choose /dev/dsp1, the headset), work correctly (that is, when manually specifing /dev/dsp1 in their preferences). No automagic on.

The above is corrected when one reboots with the headset plugged in; then finally choosing "USB audio" in the sound preferences succeed in delivering sound to the headset.

In any case, the sound buttons (automagically working, I bet it's acpi), change the volume settings for /dev/dsp0 regardless. The buttons present in the headset cable itself also absurdly adjust /dev/dsp0.

The only way to adjust the sound for the headset is through the alsamixer in a terminal

$ alsamixer -c 1

Notice the channel must be specified, otherwise alsamixer also fails to recognize the gnome settings for sound, and provide by default /dev/dsp0.

For adjusting the microphone, same thing: one has to manually choose /dev/dsp1 (for skype, others not tested), despite the laptop NOT having any other microphone plugged (although it has an analog microphone port on the left side).

Thanks for having a look at this. Everything works, it just needs better automagic to avoid astonished users thinking that it doesn't.

Revision history for this message
Albert Cardona (cardona) wrote :

In addition, one needs to *restart* applications such as rhythmbox if one changes the audio output channel from "autodetect" to "USB audio". Otherwise sound persists at being delivered through the speakers.

Is a layer of abstraction between apps such as Rhythmbox and the actual sound output missing, or what? Why should apps care at all which option is selected in the sound preferences?

Revision history for this message
Albert Cardona (cardona) wrote :

Now I have dist-upgraded to feisty.

Same situation. Sound buttons change always dsp0, not dsp1. Which is very unexpected when doing so from the USB headset buttons.
Only way to adjust USB headset sound is with alsamixer -c 1

Revision history for this message
Albert Cardona (cardona) wrote :

More on the same issue, on Feisty:

1) When plugging in the headset there is no automatic recognition, but one can select "USB Audio" from the sound menu.

2) If Rhythmbox is open, and one changes the Sound preferences (to "USB Audio" for example), RhythmBox keeps happily playing through the other sound channel. One needs to quit and relaunch RhythmBox for the changes to apply.

3) If RhytmBox is playing through the headset ("USB Audio") and the laptop is put to sleep (without unplugging the headset), on waking up the laptop RhythmBox plays to the void: it is playing, but sound does not go to any output channel. In this situation, the Sound Preferences list "USB Audio (Not available)" as the selected option, even though there is an option listed as "USB Audio". If one selects it, RhythmBox does not play through it. Again it has to be restarted.

In short: USB Audio works well, but the automatic recognition fails miserably in all circumstances.

Revision history for this message
Linux_Wizard (radagast-z) wrote :

First of all this bug is related libasound2 and no acpi! I can confirm that the button change the mic volume instead of the headset volume.

Revision history for this message
Albert Cardona (cardona) wrote :

The headset volume button still changes the /dev/dsp0 not the /dev/dsp1, not even when specifying the "Default mixer tracks" to the Logitech USB audio in the Sound preferences.

As of today 2007-08-19, the sound for the headset can only be adjusted in this way:
- from the Rhythmbox sond slider, but only within a small range
- from the 'alsamixer -c 1' command, properly.

Still RhythmBox fails to deliver sound to the proper source on resume from suspend.
Still the Sound menu shows "USB Audio (Disconnected)" on resume from suspend, despite the headset never been unplugged.

Everything almost works, and works well with manual adjustments; it would be great to have it "just work".

Thanks for all the effort so far.

Revision history for this message
Mircea Deaconu (mirceade) wrote :

I have a somehow related problem: I have a desktop system with 2 sound cards (one on board and the other a "stand alone" type). The default mixer selected in the sound preferences dialog doesn't get saved and so, after every reboot my sound quick keys control the wrong sound card. The sound preferences dialog must have some problems saving the default mixer. Are there any alsa config files that could override this on every reboot?
---- Ubuntu Gutsy Latest Beta - Linux link 2.6.22-11-386 #1 Fri Sep 7 04:33:15 GMT 2007 i686 GNU/Linux

Revision history for this message
Pawel Jonik (paweljonik) wrote :

Same problem here:
Two soundcards (1. onboard Intel (HDA), 2. PCI SB Audigy (CA0106)); after rebooting, Gnome sound settings (almost) always sets back HDA as the default sound mixer. Whats interesting, it only "Default Mixer Track" that is not saved - "Audio Conferencing" settings (right above) seems to be saved correctly after reboot).
OS: Ubuntu Gutsy (Linux 2.6.22-14-generic #1 SMP).

Revision history for this message
Archie (aavaliani) wrote :

It is possible to configure which volume does the volume button change. Go to System, Preferences, Sound and select the default value / option you want to be changed by pressing the button.

Archil Avaliani

Revision history for this message
Daniel T Chen (crimsun) wrote :

PulseAudio and pavucontrol have alleviated this symptom considerably.

Changed in acpi:
importance: Undecided → Wishlist
Revision history for this message
xteejx (xteejx) wrote :

Confirmed by other users, setting Status to Confirmed.

Revision history for this message
Ivan Baldo (ibaldo) wrote :

Hello.
With Ubuntu 16.04, when I connect an USB headset, the sound starts to play in the headset instead of the speakers, thats correct, but, unfortunately, the volume control in the top right of the screen don't control the volume of the headset but instead of the speakers!
The headset also has a volume control and it controls the volume of the speakers and not the headset.
To control the volume of the headset, I have to go to sound configuration, select the headset, and then everything works as expected, I can control the headset volume.
But doing that step shouldn't be necessary, when I connect the USB headset and then sound starts playing on the headset, then the volume controls should match and control the headset volume, not the speakers.
Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.