[Bug 692953] alsa modules are silent or noisy after several hours of use

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Aug 23 07:59:44 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=692953
  GStreamer | gst-plugins-base | 1.0.6

--- Comment #47 from Thomas DEBESSE <thomas.debesse at rcf.fr> 2013-08-23 14:59:39 UTC ---
Robert Krakora
> Check this out:
> http://www.gossamer-threads.com/lists/mythtv/users/474457

This is interesting, there is "prealloc proc file" for both playback and
capture devices :

For example:
* /proc/asound/card0/pcm0p/sub0/prealloc (playback)
* /proc/asound/card0/pcm0c/sub0/prealloc (capture)

=======================================
#######################################
=======================================
==== computer A

user at a $ lsb_release -i -c -r
Distributor ID:    Ubuntu
Release:    13.04
Codename:    raring

user at a $ uname -s -r -v -m -o
Linux 3.8.0-29-generic #42-Ubuntu SMP Tue Aug 13 19:40:39 UTC 2013 x86_64
GNU/Linux

user at a $ alsacap -C 0 | grep 'Card\|Device'
Card 0, ID `Intel', name `HDA Intel'
  Device 0, ID `AD198x Analog', name `AD198x Analog', 1 subdevices (0
available)
  Device 1, ID `AD198x Digital', name `AD198x Digital', 1 subdevices (1
available)

user at a $ cat /proc/asound/card0/pcm0p/sub0/prealloc
64
user at a $ cat /proc/asound/card0/pcm1p/sub0/prealloc
64

user at a $ alsacap -R -C 0 | grep 'Card\|Device'
Card 0, ID `Intel', name `HDA Intel'
  Device 0, ID `AD198x Analog', name `AD198x Analog', 2 subdevices (2
available)

user at a $ cat /proc/asound/card0/pcm0c/sub0/prealloc
64

=======================================
==== computer B

user at b $ lsb_release -i -c -r
Distributor ID:    Debian
Release:    7.0
Codename:    wheezy

user at b $ uname -s -r -v -m -o
Linux 3.2.0-4-rt-686-pae #1 SMP PREEMPT RT Debian 3.2.35-2 i686 GNU/Linux

user at b $ alsacap -C 0 | grep 'Card\|Device'
Card 0, ID `XFi', name `Creative X-Fi'
  Device 0, ID `ctxfi', name `Front/WaveIn', 256 subdevices (255 available)
  Device 1, ID `ctxfi', name `Surround', 256 subdevices (256 available)
  Device 2, ID `ctxfi', name `Center/LFE', 256 subdevices (256 available)
  Device 3, ID `ctxfi', name `Side', 256 subdevices (256 available)
  Device 4, ID `ctxfi', name `IEC958 Non-audio', 1 subdevices (1 available)

user at b $ cat /proc/asound/card0/pcm0p/sub0/prealloc
128
user at b $ cat /proc/asound/card0/pcm1p/sub0/prealloc
128
user at b $ cat /proc/asound/card0/pcm2p/sub0/prealloc
128
user at b $ cat /proc/asound/card0/pcm3p/sub0/prealloc
128
user at b $ cat /proc/asound/card0/pcm4p/sub0/prealloc
128

user at b $ alsacap -R -C 0 | grep 'Card\|Device'
Card 0, ID `XFi', name `Creative X-Fi'
  Device 0, ID `ctxfi', name `Front/WaveIn', 1 subdevices (0 available)

user at b $ cat /proc/asound/card0/pcm0c/sub0/prealloc
128

user at b $ alsacap -C 1 | grep 'Card\|Device'
Card 1, ID `Intel', name `HDA Intel'
  Device 0, ID `AD198x Analog', name `AD198x Analog', 1 subdevices (0
available)
  Device 1, ID `AD198x Digital', name `AD198x Digital', 1 subdevices (1
available)

user at b $ cat /proc/asound/card1/pcm0p/sub0/prealloc
64
user at b $ cat /proc/asound/card1/pcm1p/sub0/prealloc
64

user at b $ alsacap -R -C 1 | grep 'Card\|Device'
Card 1, ID `Intel', name `HDA Intel'
  Device 0, ID `AD198x Analog', name `AD198x Analog', 3 subdevices (2
available)
  Device 1, ID `AD198x Digital', name `AD198x Digital', 1 subdevices (1
available)

user at b $ cat /proc/asound/card1/pcm0c/sub0/prealloc
64
user at b $ cat /proc/asound/card1/pcm1c/sub0/prealloc
64

user at b $ alsacap -C 2 | grep 'Card\|Device'
Card 2, ID `Juli', name `ESI Juli@'
  Device 0, ID `ICE1724', name `ICE1724', 1 subdevices (0 available)
  Device 1, ID `ICE1724 IEC958', name `ICE1724 IEC958', 1 subdevices (1
available)

user at b $ cat /proc/asound/card2/pcm0p/sub0/prealloc
256
user at b $ cat /proc/asound/card2/pcm1p/sub0/prealloc
256

user at b $ alsacap -R -C 2 | grep 'Card\|Device'
Card 2, ID `Juli', name `ESI Juli@'
  Device 0, ID `ICE1724', name `ICE1724', 1 subdevices (0 available)
  Device 1, ID `ICE1724 IEC958', name `ICE1724 IEC958', 1 subdevices (1
available)

user at b $ cat /proc/asound/card2/pcm0c/sub0/prealloc
256
user at b $ cat /proc/asound/card2/pcm1c/sub0/prealloc
256

user at b $ alsacap -C 3 | grep 'Card\|Device'
Card 3, ID `Live', name `SB PCI512 [CT4790]'
  Device 0, ID `emu10k1', name `ADC Capture/Standard PCM Playback', 32
subdevices (31 available)
  Device 2, ID `emu10k1 efx', name `Multichannel Capture/PT Playback', 8
subdevices (8 available)
  Device 3, ID `emu10k1', name `Multichannel Playback', 1 subdevices (1
available)

user at b $ cat /proc/asound/card3/pcm0p/sub0/prealloc
64
user at b $ cat /proc/asound/card3/pcm2p/sub0/prealloc
64
user at b $ cat /proc/asound/card3/pcm3p/sub0/prealloc
64

user at b $ alsacap -R -C 3 | grep 'Card\|Device'
Card 3, ID `Live', name `SB PCI512 [CT4790]'
  Device 0, ID `emu10k1', name `ADC Capture/Standard PCM Playback', 1
subdevices (0 available)
  Device 1, ID `emu10k1 mic', name `Mic Capture', 1 subdevices (1 available)
  Device 2, ID `emu10k1 efx', name `Multichannel Capture/PT Playback', 1
subdevices (1 available)

user at b $ cat /proc/asound/card3/pcm0c/sub0/prealloc
64
user at b $ cat /proc/asound/card3/pcm1c/sub0/prealloc
64
user at b $ cat /proc/asound/card3/pcm2c/sub0/prealloc
64

user at b $ alsacap -C 4 | grep 'Card\|Device'
Card 4, ID `Live1', name `SB Live! Value [CT4832]'
  Device 0, ID `emu10k1', name `ADC Capture/Standard PCM Playback', 32
subdevices (32 available)
  Device 2, ID `emu10k1 efx', name `Multichannel Capture/PT Playback', 8
subdevices (8 available)
  Device 3, ID `emu10k1', name `Multichannel Playback', 1 subdevices (1
available)

user at b $ cat /proc/asound/card4/pcm0p/sub0/prealloc
64
user at b $ cat /proc/asound/card4/pcm2p/sub0/prealloc
64
user at b $ cat /proc/asound/card4/pcm3p/sub0/prealloc
64

user at b $ alsacap -R -C 4 | grep 'Card\|Device'
Card 4, ID `Live1', name `SB Live! Value [CT4832]'
  Device 0, ID `emu10k1', name `ADC Capture/Standard PCM Playback', 1
subdevices (1 available)
  Device 1, ID `emu10k1 mic', name `Mic Capture', 1 subdevices (1 available)
  Device 2, ID `emu10k1 efx', name `Multichannel Capture/PT Playback', 1
subdevices (1 available)

user at b $ cat /proc/asound/card4/pcm0c/sub0/prealloc
64
user at b $ cat /proc/asound/card4/pcm1c/sub0/prealloc
64
user at b $ cat /proc/asound/card4/pcm2c/sub0/prealloc
64

user at b $ alsacap -C 5 | grep 'Card\|Device'
Card 5, ID `CODEC', name `USB Audio CODEC'
  Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (0 available)

# there is no /proc/asound/card5/pcm0p/sub0/prealloc

user at b $ alsacap -R -C 5 | grep 'Card\|Device'
Card 5, ID `CODEC', name `USB Audio CODEC'
  Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (0 available)

# there is no /proc/asound/card5/pcm0c/sub0/prealloc

=======================================
==== computer G

user at g $ lsb_release -i -c -r
Distributor ID:    Ubuntu
Release:    13.04
Codename:    raring

user at g $ uname -s -r -v -m -o
Linux 3.8.0-29-generic #42-Ubuntu SMP Tue Aug 13 19:40:39 UTC 2013 x86_64
GNU/Linux

user at g $ alsacap -C 0 | grep 'Card\|Device'
Card 0, ID `SB', name `HDA ATI SB'
  Device 0, ID `ALC892 Analog', name `ALC892 Analog', 1 subdevices (0
available)
  Device 1, ID `ALC892 Digital', name `ALC892 Digital', 1 subdevices (1
available)

user at g $ cat /proc/asound/card0/pcm0p/sub0/prealloc
64
user at g $ cat /proc/asound/card0/pcm1p/sub0/prealloc
64

user at g $ alsacap -R -C 0 | grep 'Card\|Device'
Card 0, ID `SB', name `HDA ATI SB'
  Device 0, ID `ALC892 Analog', name `ALC892 Analog', 1 subdevices (0
available)
  Device 2, ID `ALC892 Analog', name `ALC892 Analog', 1 subdevices (1
available)

user at g $ cat /proc/asound/card0/pcm0c/sub0/prealloc
64
user at g $ cat /proc/asound/card0/pcm2c/sub0/prealloc
64

user at g $ alsacap -C 2 | grep 'Card\|Device'
Card 2, ID `H2n', name `H2n'
  Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)

# there is no /proc/asound/card2/pcm0p/sub0/prealloc

user at g $ alsacap -R -C 2 | grep 'Card\|Device'
Card 2, ID `H2n', name `H2n'
  Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)

# there is no /proc/asound/card2/pcm0c/sub0/prealloc

=======================================
==== computer V

user at v $ lsb_release -i -c -r
Distributor ID:    Debian
Release:    7.0
Codename:    wheezy

user at v $ uname -s -r -v -m -o
Linux 3.2.0-0.bpo.4-rt-686-pae #1 SMP PREEMPT RT Debian 3.2.41-2+deb7u2~bpo60+1
i686 GNU/Linux

user at v $ cat /proc/asound/cards 
 0 [CA0106         ]: CA0106 - CA0106
                      Audigy SE [SB0570] at 0x1040 irq 16
 1 [I82801DBICH4   ]: ICH4 - Intel 82801DB-ICH4
                      Intel 82801DB-ICH4 with AD1981A at irq 17

user at v $ alsacap -C 0 | grep 'Card\|Device'
Card 0, ID `CA0106', name `CA0106'
  Device 0, ID `ca0106', name `CA0106', 1 subdevices (0 available)
  Device 1, ID `ca0106', name `CA0106', 1 subdevices (1 available)
  Device 2, ID `ca0106', name `CA0106', 1 subdevices (1 available)
  Device 3, ID `ca0106', name `CA0106', 1 subdevices (1 available)

user at v $ cat /proc/asound/card0/pcm0p/sub0/prealloc
64
user at v $ cat /proc/asound/card0/pcm1p/sub0/prealloc
64
user at v $ cat /proc/asound/card0/pcm2p/sub0/prealloc
64
user at v $ cat /proc/asound/card0/pcm3p/sub0/prealloc
64

user at v $ alsacap -R -C 0 | grep 'Card\|Device'
Card 0, ID `CA0106', name `CA0106'
  Device 0, ID `ca0106', name `CA0106', 1 subdevices (0 available)
  Device 1, ID `ca0106', name `CA0106', 1 subdevices (1 available)
  Device 2, ID `ca0106', name `CA0106', 1 subdevices (1 available)
  Device 3, ID `ca0106', name `CA0106', 1 subdevices (1 available)

user at v $ cat /proc/asound/card0/pcm0c/sub0/prealloc
64
user at v $ cat /proc/asound/card0/pcm1c/sub0/prealloc
64
user at v $ cat /proc/asound/card0/pcm2c/sub0/prealloc
64
user at v $ cat /proc/asound/card0/pcm3c/sub0/prealloc
64

user at v $ alsacap -C 1 | grep 'Card\|Device'
Card 1, ID `I82801DBICH4', name `Intel 82801DB-ICH4'
  Device 0, ID `Intel ICH', name `Intel 82801DB-ICH4', 1 subdevices (1
available)
  Device 4, ID `Intel ICH - IEC958', name `Intel 82801DB-ICH4 - IEC958', 1
subdevices (1 available)

user at v $ cat /proc/asound/card1/pcm0p/sub0/prealloc
64
user at v $ cat /proc/asound/card1/pcm4p/sub0/prealloc
64

$ alsacap -R -C 1 | grep 'Card\|Device'
Card 1, ID `I82801DBICH4', name `Intel 82801DB-ICH4'
  Device 0, ID `Intel ICH', name `Intel 82801DB-ICH4', 1 subdevices (1
available)
  Device 1, ID `Intel ICH - MIC ADC', name `Intel 82801DB-ICH4 - MIC ADC', 1
subdevices (1 available)
  Device 2, ID `Intel ICH - MIC2 ADC', name `Intel 82801DB-ICH4 - MIC2 ADC', 1
subdevices (1 available)
  Device 3, ID `Intel ICH - ADC2', name `Intel 82801DB-ICH4 - ADC2', 1
subdevices (1 available)

user at v $ cat /proc/asound/card1/pcm0c/sub0/prealloc
64
user at v $ cat /proc/asound/card1/pcm1c/sub0/prealloc
0
user at v $ cat /proc/asound/card1/pcm2c/sub0/prealloc
0
user at v $ cat /proc/asound/card1/pcm3c/sub0/prealloc
0

=======================================
#######################################
=======================================

I don't show more than one Subdevice (sub0) because they are thousand (for
example, the XFi card has 4 devices and 3 of them devices has 255 subdevice
each)

I get different values according to the cards: 64 for a Creative Audigy or a
Creative SB Live!, 128 for a Creative XFi and 256 fo a ESI Juli at .

USB devices don't have prealloc proc file (no playback nor capture) !!!

Attempting to change the value of a playing soundcard:

root at g # cat /proc/asound/card0/pcm0c/sub0/prealloc
64
root at g # echo 128 > /proc/asound/card0/pcm0c/sub0/prealloc
root at g # cat /proc/asound/card0/pcm0c/sub0/prealloc
64

I can't change it.

Attempting to change the value of a non-playing soundcard:

root at v # cat /proc/asound/card1/pcm0p/sub0/prealloc
64
root at v # echo 128 > /proc/asound/card1/pcm0p/sub0/prealloc
root at v # cat /proc/asound/card1/pcm0p/sub0/prealloc
128

Two conclusions:

~~ 1. I can change it. Good. I'll be able to test with my future pipelines.

~~ 2. I don't know if tweaking this can solve my problem with PCI or PCIe
Soundcards, but because this file does not exists for USB soundcards, it can't
solve the problem with USB soundcards.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list