Skip site navigation (1)Skip section navigation (2)
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>