From owner-freebsd-current Sat Oct 14 11:49:02 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id LAA14923 for current-outgoing; Sat, 14 Oct 1995 11:49:02 -0700 Received: from rustic (newt16.planet.net [204.117.105.16]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id LAA14918 for ; Sat, 14 Oct 1995 11:48:57 -0700 Received: (from jlc@localhost) by rustic (8.6.11/8.6.9) id OAA16645; Sat, 14 Oct 1995 14:52:33 -0400 Date: Sat, 14 Oct 1995 14:52:33 -0400 Message-Id: <199510141852.OAA16645@rustic> From: "Johanan L. Codona" To: freebsd-current@FreeBSD.ORG Subject: kern/647 Sound cards fail to work Sender: owner-current@FreeBSD.ORG Precedence: bulk Hi, This is my first attempt to "pitch in" and find bugs on the list. Since my soundcard (SB16) hasn't worked since 2.0, I thought I would try to discover why. My System: I am running on a Pentium with 16 MB and the relevant part of my config file is: controller snd0 device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr device sbxvi0 at isa? drq 5 device sbmidi0 at isa? port 0x330 device opl0 at isa? port 0x388 Note that this configuration works fine under DOS/Windows. (B-o) The symptoms: On sending a sound to any sound device (audio, dsp, dsp16), the first part of the sound plays and then stops and the sending process hangs. I suspect that the problem is that the interrupt handler never gets called and the driver only plays one buffer of data. This is further supported by noting that in isa/sound/sb_dsp.c the interrupt handler is set and freed by calling the functions: int sb_get_irq (void) void sb_free_irq (void) which in turn call snd_set_irq_handler(sbc_irq, sbintr) and snd_release_irq (sbc_irq). It seems that isa/sound/soundcard.c just stubs out these functions: int snd_set_irq_handler (int interrupt_level, void(*hndlr)(int)) { return 1; } void snd_release_irq(int vect) { } I haven't tried to fix this yet, but it seems that a call to something like register_intr() is required. Am I right, or am I missing something basic? -- Johanan L. Codona The Stekas Group codona@planet.net