skype sound problem

Ariff Abdullah ariff at FreeBSD.org
Wed Mar 29 05:35:36 UTC 2006


On Tue, 28 Mar 2006 23:51:45 -0500
"Rong-En Fan" <grafan at gmail.com> wrote:
> Hi,
> 
> When I use skype, just call anyone then hang up it. Then, the skype
> can not open the dsp device again. fstat shows that no process is
> opening /dev/dsp*. But, /dev/sndstat
> shows:
> 
> FreeBSD Audio Driver (newpcm)
> Installed devices:
> pcm0: <Intel ICH4 (82801DB)> at io 0xc0000c00, 0xc0000800 irq 11
> bufsz 16384 kld
>  snd_ich (1p/1r/10v channels duplex default)
>         [pcm0:play:0:dsp0.0]: spd 48000, fmt 0x10000010, flags
> 0x00101020, 0x00000000
>         interrupts 389, underruns 0, ready 0
>         [b:8192/4096/2|bs:131072/4096/32] {userland} ->
>         feeder_vchan_s16(0x10000010) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:0:dsp0.2]: spd 48000, fmt
> 0x00000010/0x10000010, flags 0x10003030, 0x00000000, pid 1004
>         interrupts 0, underruns 0, ready 0
>         [b:0/4096/0|bs:4096/256/16] {userland} ->
>         feeder_root(0x00000010) ->
> feeder_monotostereo16(0x00000010 -> 0x10000010) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:1:dsp0.3]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:2:dsp0.4]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:3:dsp0.5]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:4:dsp0.6]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:5:dsp0.7]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:6:dsp0.8]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:7:dsp0.9]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:8:dsp0.10]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         pcm0:play:0:dsp0.0[pcm0:virtual:9:dsp0.11]: spd 0, fmt
> 0x00000000/0x00000008, flags 0x10000000, 0x00000000
>         interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
>         {userland} -> feeder_root(0x00000000) -> {hardware}
>         [pcm0:record:0:dsp0.1]: spd 48000, fmt
>         0x00000010/0x10000010,
> flags 0x00003000, 0x00000000, pid 1004
>         interrupts 0, overruns 0, hfree 1024, sfree 4096
> [b:1024/512/2|bs:4096/256/16]
>         {hardware} -> feeder_root(0x10000010) ->
> feeder_stereotomono16(0x10000010 -> 0x00000010) -> {userland}
> 
> You may notice that pid 1004 is using record and dsp0.2, this
> process is skype_bin.
> If I close skype, /dev/sndstat still shows that pid 1004 occupies
> record channel and dsp0.2 (but ps shows that there is no pid 1004). 
> Any ideas?
> 
> I'm running -CURRENT around March 22 on i386. I dont think I have
> this problem in Feb or in Jan. I will try do a binary search later
> (In fact, I tried to boot with Feb
> 1's kernel, but got a panic about 'bad dir' :-().
> 

This is a known issue (at least, for me).

Update your src (at least for sys/dev/sound/pcm), and apply this
patch:

  http://people.freebsd.org/~ariff/test/sound.c.diff

.. or just grab the entire file (sound.c) from there.

Note that you *must* update your sources first, since there was
critical issues that has been fixed since past few weeks.


--
Ariff Abdullah
FreeBSD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-multimedia/attachments/20060329/8f266c18/attachment.pgp


More information about the freebsd-multimedia mailing list