[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Flash plugin not producing sound



On Sun, Feb 19, 2012 at 14:07:02 +0000, Sian Mountbatten wrote:
> Florian Kulzer wrote:
> >On Sun, Feb 19, 2012 at 12:01:02 +0000, Sian Mountbatten wrote:
> >>Hello All
> >>
> >>I have the flashplugin-nonfree package installed on my system
> >>(version 1:2.8.3)

 [...]

> >Please post the output of:
> >
> >   lspci -knn | grep -iA2 audio
> >   cat /proc/asound/cards
> >   lsmod | awk '/snd/{print $1}'
> >
> The first command gives:
> 
> 00:1f.5 Multimedia audio controller [0401]: Intel Corporation
> 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller [8086:24d5] (rev 02)
>         Subsystem: ASUSTeK Computer Inc. P4P800 Mainboard [1043:80f3]
>         Kernel driver in use: snd_intel8x0
> --
> 03:0b.0 Multimedia audio controller [0401]: Creative Labs CA0106
> Soundblaster [1102:0007]
>         Subsystem: Creative Labs SB0570 [SB Audigy SE] [1102:100a]
>         Kernel driver in use: snd_ca0106
> 
> The second command gives:
>  0 [ICH5           ]: ICH4 - Intel ICH5
>                       Intel ICH5 with AD1985 at irq 17
>  1 [CA0106         ]: CA0106 - CA0106
>                       Audigy SE [SB0570] at 0xdf80 irq 23
> 
> The lsmod command gives:
> snd_ca0106
> snd_intel8x0

 [...]

> So as you can see, sound reproduction modules are loaded, and I
> really do have two sound cards.

That all looks OK; the problem with flashplayer is that it blindly uses
alsa card 0 to play its sound, regardless of how you configured your
desktop environment and/or pulseaudio. This means that you have to
reorder the cards (as far as alsa is concerned) if you want flashplayer
to use the CA0106. Try this sequence of commands as root or with sudo:

  modprobe -r snd_intel8x0
  modprobe -r snd_ca0106
  modprobe snd_ca0106 index=0
  modprobe snd_intel8x0 index=1

If there are any errors with the first two commands ("FATAL: Module
snd_XXX is in use.") then you have to log out from your desktop
environment and issue the commands on a VT. The four modprobe commands
will unload the drivers of both soundcards and then reload them with an
explicit assignment of card index 0 to the CA0106. You can check if this
has worked with "cat /proc/asound/cards" and then try flashplayer again.

The ordering of the cards can be made persistent across reboots by
creating a file in /etc/modprobe.d/ with the following content (three
lines):

# added by Sian on 2012-02-19 to ensure that CA0106 is card 0
options snd_ca0106 index=0
options snd_intel8x0 index=1

The first line with the comment is optional, of course. The file itself
should have the same owner (root:root) and permissions (-rw-r--r--) as
the rest of the files in /etc/modprobe.d/. The name of the file is up to
you, as long as it ends in ".conf"; I myself would use choose a name
like "local-reorder-alsa-cards.conf" to immediately identify the file as
a local (non-Debian) configuration file and provide a hint about its
purpose. The idea behind creating separate files for your custom module
options is to protect your settings from being overwritten during
package upgrades.

-- 
Regards,            |
          Florian   | http://www.florian-kulzer.eu


Reply to: