Date: Tue, 02 Jan 2007 10:04:16 -0500 From: Lowell Gilbert <freebsd-questions-local@be-well.ilk.org> To: Luke Dean <LukeD@pobox.com> Cc: freebsd-questions@freebsd.org Subject: Re: How to reset /dev/dsp ? Message-ID: <448xgl1ndb.fsf@be-well.ilk.org> In-Reply-To: <20061230224805.U7072@border.crystalsphere.multiverse> (Luke Dean's message of "Sun, 31 Dec 2006 01:01:09 -0800 (PST)") References: <20061230224805.U7072@border.crystalsphere.multiverse>
next in thread | previous in thread | raw e-mail | index | archive | help
Luke Dean <LukeD@pobox.com> writes: > I'm running FreeBSD 6.1. > > My sound device shows up like this in my dmesg: > pcm0: <Intel ICH5 (82801EB)> port 0xd800-0xd8ff,0xdc00-0xdc3f mem > 0xfc001000-0xfc0011ff,0xfc002000-0xfc0020ff irq 17 at device 31.5 on > pci0 > pcm0: primary codec not ready! > pcm0: <Avance Logic ALC658 AC97 Codec> > > My sound driver is compiled into the kernel: > device sound > device snd_ich > > I've got a java application that I run through > diablo-jdk-1.5.0.07.01_1 that uses sound. It's a game. Partway > through the game, the sound stops working. The people who make the > game have been aware of the problem for many months, but don't > understand what to do about it. > Okay, I can accept that. > > What I can't accept is that this java application breaks the sound in > such a way that NOTHING can play sound anymore until I reboot the > machine! > > If I attempt to play a movie with mplayer after the game has broken > the sound, it says: > [AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file > or directory > > However, the dsp device still exists in /dev: > [0:/dev> ll dsp* > crw-rw-rw- 1 root wheel - 0, 51 Dec 29 21:36 dsp0.0 > crw-rw-rw- 1 root wheel - 0, 54 Dec 29 21:37 dsp0.1 > crw-rw-rw- 1 root wheel - 0, 52 Dec 29 19:24 dspW0.0 > crw-rw-rw- 1 root wheel - 0, 55 Dec 29 19:24 dspW0.1 > crw-rw-rw- 1 root wheel - 0, 57 Dec 29 19:24 dspr0.1 > > The sndstat device doesn't show any problem, if I'm reading the output > right: > [0:/dev> cat /dev/sndstat > FreeBSD Audio Driver (newpcm) > Installed devices: > pcm0: <Intel ICH5 (82801EB)> at io 0xfc001000, 0xfc002000 irq 17 bufsz > 16384 (1p/1r/0v channels duplex default) > > Is there anything I can do short of rebooting the machine to get my > sound working when this happens? I thought maybe there was something > I could do with devd or devctl to reset the device, but I can't figure > out how to do that. I'm not even sure how to "see" the problem except > to attempt to play a sound. Well, it's hard to say, because the hardware could be misbehaving, in which case the software may not know what's going on. It might be interesting to see whether fstat(1) sees anything holding the dsp devices. You could also try using vchans, which would (in theory) let you access the hardware from another device node after the first one hangs. Good luck.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?448xgl1ndb.fsf>