pcm0 channel dead

Patrick Tracanelli eksffa at freebsdbrasil.com.br
Thu Jun 16 21:50:02 GMT 2005

Patrick Tracanelli wrote:
> Hello there.
> I tried to run a number of SIP softphones (linphone, kphone, etc), and 
> just found out my problem was the mic recording device, and not the SIP 
> software.
> I tried to make basic testings on recording, copying from 
> /dev/audio|/dev/dsp to a file or to /dev/dsp as output. Every single 
> test returns the same:
> pcm0:record:0: record interrupt timeout, channel dead
> Tried in both 5.4-S and 6.0-CURRENT (from Jun 8th). Any idea what is 
> causing this? And how to fix it?
> Hardware identifying:
> (eksffa at claire-redfield)~> grep "snd\|sound" /sys/i386/conf/CLAIRE
> device          sound
> device          "snd_t4dwave"
> (eksffa at claire-redfield)~> cat /dev/sndstat
> FreeBSD Audio Driver (newpcm)
> Installed devices:
> pcm0: <Acer Labs M5451> at io 0x8800 irq 11  (4p/1r/0v channels duplex 
> default)
> (eksffa at claire-redfield)~> pciconf -lv | grep -B4 audio
> pcm0 at pci0:4:0:  class=0x040100 card=0x8158104d chip=0x545110b9 rev=0x02 
> hdr=0x00
>     vendor   = 'Acer Labs Incorporated (ALi)'
>     device   = 'ALI M5451 PCI AC-Link Controller Audio Device'
>     class    = multimedia
>     subclass = audio
> (eksffa at claire-redfield)~> grep -i pcm /var/run/dmesg.boot
> pcm0: <Acer Labs M5451> port 0x8800-0x88ff mem 0xf0401000-0xf0401fff irq 
> 11 at device 4.0 on pci0
> pcm0: <Analog Devices AD1981B AC97 Codec>
> pcm0: [GIANT-LOCKED]
> O also tried to set sc->duplex = 1 on /sys/dev/sound/pci/solo.c (around 
> line 972) but it caused my output device to not work properly as it does 
> when sc->duplex = 0 and the mic device still did not work anyway.
> Thanks :-)


I did some testings reading the code and trying different HZ, added some 
extra info to the error message, and what I get is:

I use to have HZ set to 1000, which returns count as -8, every value for 
HZ >= 1000 returns

pcm0:record:0: record interrupt timeout, channel dead (count: -8, 
c->flags: 1352

If I get HZ back to the common 100 value I get

pcm0:record:0: record interrupt timeout, channel dead (count: 0, 
c->flags: 13521

while doing doing

(eksffa at claire-redfield)~# cp /dev/audio /tmp/audio.au
/dev/audio -> /tmp/audio.au

Every other value <= 100 makes count get 0, I tried up to as low as the 
system doesnt load anymore (around HZ=14).

I have no idea on what is causing the problem.


Patrick Tracanelli

FreeBSD Brasil LTDA.
The FreeBSD pt_BR Documentation Project
patrick @ freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"

More information about the freebsd-multimedia mailing list