Date: Tue, 18 Apr 1995 16:06:30 -0400 (EDT) From: Ray Cummins <rcummins@slip-542.netaxs.com> To: freebsd-hackers@FreeBSD.org Subject: Installing VoxWare sound drivers Message-ID: <Pine.NEB.3.91.950418155949.4916A-100000@slip-542.netaxs.com>
next in thread | raw e-mail | index | archive | help
There's something I've been banging my head against for a few days now - I was wondering if someone could help me with this: My ultimate goal is to get my SoundBlaster 16 to work with vat. (I'm running FreeBSD 2.0.) So far, the SoundBlaster 16 works with rplayd and rplay, and vat (v3.4) runs but doesn't make any sound - the name of the remote site blinks in vat, and pulling up statistics on that site shows that packets are coming in. By the way, am I supposed to get VU meters in vat? I don't. The README file that came with vat 3.4 says: "The i386 binary has been reported to run under NetBSD (using a modified version of the LBL sound driver) and FreeBSD (using the Linux sound driver with additional support for /dev/audio)." ...so I retrieved VoxWare v3.0-proto-950402 from sunsite.unc.edu. IT says: >NOTE! This driver should be located in the directory /sys/i386/isa/sound. > Okay. >1) cd /sys/i386/isa/sound;make well, I did: cd /sys/i386/isa/sound; mv makefile makefile.bak; mv makefile.freebsd Makefile; make This seemed to work okay. > >2) Insert files conf.c.add and conf.c.add to your > /sys/i386/i386/conf.c. Actually, there's a conf.c.add and a conf.c.add2. It's not really clear to me where in /sys/i386/i386/conf.c I'm supposed to insert these files, and I suspect this is (one of) my problem(s). Here's conf.c.add: #include "snd.h" /* Sound Blaster */ #if NSND > 0 int sndopen(), sndclose(), sndioctl(), sndread(), sndwrite(); int sndselect(); #else #define sndopen enxio #define sndclose enxio #define sndioctl enxio #define sndread enxio #define sndwrite enxio #define sndselect seltrue #endif But then there's already this in conf.c: #include "snd.h" /* General Sound Driver */ #if NSND > 0 d_open_t sndopen; d_close_t sndclose; d_ioctl_t sndioctl; d_rdwr_t sndread, sndwrite; d_select_t sndselect; #else #define sndopen (d_open_t *)enxio #define sndclose (d_close_t *)enxio #define sndioctl (d_ioctl_t *)enxio #define sndread (d_rdwr_t *)enxio #define sndwrite (d_rdwr_t *)enxio #define sndselect seltrue #endif So do I delete the original and insert the new? Or leave the original? Help? There's a similar problem with conf.c.add2: { sndopen, sndclose, sndread, sndwrite, /*E*/ sndioctl, enodev, enodev, NULL, sndselect, enodev, NULL }, but again in conf.c there's already: { sndopen, sndclose, sndread, sndwrite, /*30*/ sndioctl, nostop, nullreset, NULL, /* sound */ sndselect, nommap, NULL }, again, delete the redundant or keep it? > >3) Append file config.add to your config file. Don't forget to > check the address settings. Here's the gist of config.add: # If you have ProAudioSpectrum, uncomment units 3, 2 and 1 # If you have SoundBlaster 1.0 to 2.0 or SB Pro, uncomment 2 and 1. # If you have SoundBlaster 16, uncomment 2, 1, 6 and 7. # (use the same IRQ for the cards 2, 6 and 7. The DMA of the # card 2 is the 8 bit one and the DMA of the card 6 is the 16 bit one. # the port address of the card 7 is the Midi I/O address of the SB16. # If you have GravisUltrasound, uncomment 4 # If you have MPU-401, uncomment 5 #device snd5 at isa? port 0x330 irq 6 drq 0 vector mpuintr #device snd4 at isa? port 0x220 irq 15 drq 6 vector gusintr #device snd3 at isa? port 0x388 irq 10 drq 6 vector pasintr #device snd2 at isa? port 0x220 irq 7 drq 1 vector sbintr #device snd6 at isa? drq 5 #device snd7 at isa? port 0x300 #device snd1 at isa? port 0x388 I already have a kernel with these devices: device snd2 at isa? port 0x220 irq 10 drq 1 vector sbintr device snd6 at isa? port 0x220 irq 10 drq 7 vector sbintr device snd1 at isa? port 0x388 device snd7 at isa? port 0x300 and these devices are probed successfully, and as I said, rplayd and rplay work, so I left these entries alone. > >4) Append files.i386.add to the /sys/i386/conf/files.i386 > It says append, so I did: cat files.i386.add >>/sys/i386/conf/files.i386 I noticed after this step that some of the lines in files.i386 are duplicated, but removing the redundant lines doesn't affect the outcome of step 6, below. Also, there's a line in the original that says i386/isa/sound/vat_audio.c optional vat_audio but the mentioned file doesn't exist. Does this matter? >5) Create the device files using makedev.sh > This seemed to work okay. >6) Run the configuration program and make the kernel. > I did: cd /sys/i386/conf; config BCL; cd ../../compile/BCL; make depend then doing a make gets to the very end, very encouraging, but spits out this: loading kernel conf.o: Undefined symbol `_sndopen' referenced from data segment conf.o: Undefined symbol `_sndclose' referenced from data segment conf.o: Undefined symbol `_sndread' referenced from data segment conf.o: Undefined symbol `_sndwrite' referenced from data segment conf.o: Undefined symbol `_sndioctl' referenced from data segment conf.o: Undefined symbol `_sndselect' referenced from data segment ioconf.o: Undefined symbol `_snddriver' referenced from data segment ioconf.o: Undefined symbol `_sbintr' referenced from data segment ioconf.o: Undefined symbol `_snddriver' referenced from data segment ioconf.o: Undefined symbol `_sbintr' referenced from data segment ioconf.o: Undefined symbol `_snddriver' referenced from data segment ioconf.o: Undefined symbol `_snddriver' referenced from data segment *** Error code 1 Stop. Anyone out there have any suggestions? Is v3.0-proto-950402 really what I need? Is there a better solution? Sorry that this is not as coherent as it should be. Thanks in advance. ------------------------------------------------------------------------- |Ray Cummins, Computer Operator | Tel: (609) 267-9660 x3032 | |Burlington County Library | Fax: (609) 267-4091 | |5 Pioneer Blvd. | | |Mt. Holly, NJ 08060 | rcummins@netaxs.com | -------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.91.950418155949.4916A-100000>