Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Aug 2006 05:54:26 +0200
From:      Emil Holmstr|m <emil@linux.se>
To:        freebsd-multimedia@freebsd.org
Subject:   snd_ich dies
Message-ID:  <20060810035426.GA28177@Update.UU.SE>

next in thread | raw e-mail | index | archive | help
Hello!

My audio dies, espcially when my system is under heavy load.
Otherwise I can maybe play music for an half hour, (with choppy sound).
I need to reload the module (snd_ich), every time it dies. Tryed to
compile it into the kernel but with the same result. The difference is
that I can't "restart" the sound, and need to reboot.
Sometimes it works better to not use the virtual channels, but the
driver dies anyway in the end...

mplayer says:
Audio write: Invalid argument
and dmesg reports:
pcm0:virtual:0:dsp0.2: play interrupt timeout, channel dead
pcm0:virtual:0:dsp0.2: play interrupt timeout, channel dead

Added hint.pcm.0.buffersize="16384" to /boot/device.hints, with not much
difference.

The same problem occures in FreeBSD 6.1 RELEASE, aswell.

Didn't have any problem at all with audio in NetBSD 3.0, don't know
which driver I used, because I never needed to touch it.

The specs on Toshiba.com says:
YAMAHA YMF752, 16-bit stereo
Compatibility: Windows Sound System V2.0
 and Sound Blaster Pro compatible
MIDI playback
3D sound support
Direct Sound, Direct 3D Sound, Direct Music,
Full duplex sound support, 64 voices,

# uname -a
FreeBSD oden 7.0-CURRENT FreeBSD 7.0-CURRENT #10: Thu Aug 10 00:12:18
BST 2006     root@oden:/usr/obj/usr/src/sys/ODEN  i386

# grep pcm0 /var/run/dmesg.boot
pcm0: measured ac97 link rate at 1530642 Hz
...
pcm0: measured ac97 link rate at 341333333 Hz
...
pcm0: <SigmaTel STAC9744/45 AC97 Codec>
pcm0: measured ac97 link rate at 96060 Hz
pcm0: <Intel 440MX> port 0xfd00-0xfdff,0xfcc0-0xfcff irq 11 at device 0.1 on
pci0
pcm0: <SigmaTel STAC9744/45 AC97 Codec>
pcm0: measured ac97 link rate at 96055 Hz

# pciconf -lv
pcm0@pci0:0:1:	class=0x040100 card=0x00011179 chip=0x71958086 rev=0x00
hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82440MX AC'97 Audio Controller'
    class    = multimedia
    subclass = audio

# sysctl hw.snd
hw.snd.report_soft_formats: 1
hw.snd.targetirqrate: 32
hw.snd._feeder_rate_buffersize: 8192
hw.snd.feeder_rate_scaling: 5
hw.snd.feeder_rate_ratemax: 1102500
hw.snd.feeder_rate_ratemin: 4000
hw.snd.verbose: 3
hw.snd.maxautovchans: 2
hw.snd.default_unit: 0
hw.snd.pcm0._buffersize: 16384
hw.snd.pcm0._vchans: 2
hw.snd.pcm0._vchanrate: 48000
hw.snd.pcm0.ac97rate: 96028

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel 440MX> at io 0xfd00, 0xfcc0 irq 11 bufsz 16384 kld snd_ich 
(1p/1r/2v channels duplex default)
	[pcm0:play:0:dsp0.0]: spd 48000, fmt 0x10000010, flags 0x00101020, 0x00
000000
	interrupts 75919, underruns 0, ready 0 [b:8192/4096/2|bs:131072/4096/32
]
	{userland} -> feeder_vchan_s16(0x10000010) -> {hardware}
	[pcm0:record:0:dsp0.1]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000
000, 0x00000000
	interrupts 0, overruns 0, hfree 16384, sfree 0 [b:16384/8192/2|bs:0/0/0
]
	{hardware} -> feeder_root(0x00000000) -> {userland}
	pcm0:play:0:dsp0.0[pcm0:virtual:0:dsp0.2]: spd 44100/48000, fmt 0x10000
010, flags 0x10001030, 0x00000010, pid 32130
	interrupts 0, underruns 0, ready 130944 [b:0/4096/0|bs:131072/4096/32]
	{userland} -> feeder_root(0x10000010) -> feeder_rate(44100 -> 48000) ->
 {hardware}
	pcm0:play:0:dsp0.0[pcm0:virtual:1:dsp0.3]: spd 0, fmt 0x00000000/0x0000
0008, flags 0x10000000, 0x00000000
	interrupts 0, underruns 0, ready 0 [b:0/0/0|bs:0/0/0]
	{userland} -> feeder_root(0x00000000) -> {hardware}

File Versions:
$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.66 2006/06/18 14:14:41 netchild Exp $
$FreeBSD: src/sys/dev/sound/isa/sndbuf_dma.c,v 1.3 2005/01/06 01:43:17 imp Exp $
$FreeBSD: src/sys/dev/sound/pcm/vchan.c,v 1.25 2006/06/18 14:14:41 netchild Exp $
$FreeBSD: src/sys/dev/sound/pcm/sound.c,v 1.105 2006/07/17 17:43:06 netchild Exp $
$FreeBSD: src/sys/dev/sound/pcm/sndstat.c,v 1.22 2005/10/02 15:43:57 netchild Exp $
$FreeBSD: src/sys/dev/sound/pcm/feeder.c,v 1.37 2006/02/23 19:23:55 jhb Exp $
$FreeBSD: src/sys/dev/sound/pcm/mixer.c,v 1.49 2006/03/21 06:35:48 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/buffer.c,v 1.27 2006/07/17 17:43:06 netchild Exp $
$FreeBSD: src/sys/dev/sound/pcm/feeder_volume.c,v 1.2 2005/11/14 18:37:59 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/feeder_rate.c,v 1.18 2006/06/18 14:14:41 netchild Exp $
$FreeBSD: src/sys/dev/sound/pcm/ac97_patch.c,v 1.4 2005/10/02 15:50:22 netchild Exp $
$FreeBSD: src/sys/dev/sound/pcm/fake.c,v 1.16 2005/09/10 17:47:38 netchild Exp $
$FreeBSD: src/sys/dev/sound/pcm/dsp.c,v 1.95 2006/03/30 06:17:03 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/channel.c,v 1.109 2006/03/22 00:34:17 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/feeder_fmt.c,v 1.20 2006/01/25 21:13:46 joel Exp $
$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.61 2006/01/07 05:20:46 ariff Exp $

# vmstat -i
interrupt                          total       rate
irq0: clk                       13775937        999
irq1: atkbd0                       58939          4
irq7:                                  1          0
stray irq7                             1          0
irq8: rtc                        1764273        127
irq9: acpi0                          906          0
irq11: cbb0 cbb1+*                257196         18
irq12: psm0                        70280          5
irq14: ata0                       237212         17
Total                           16164745       1172

Sorry for this awful long email, but I have been looking for a solution for
LONG time. :(

Thanks,
Emil



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060810035426.GA28177>