Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Mar 95 12:47:53 -0800
From:      hasty@netcom.com
To:        Kim Culhan <kimc@w8hd.w8hd.org>
Cc:        hackers@FreeBSD.org
Subject:   Re: def'd vat_audio caused undef'd symbol 
Message-ID:  <199503192047.MAA27265@netcom14.netcom.com>
In-Reply-To: Your message of Sun, 19 Mar 95 10:20:23 -0500. <Pine.NEB.3.91.950319101231.834A-100000@w8hd.w8hd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> 

> On Sun, 19 Mar 1995 hasty@netcom.com wrote:

> > In dmabuf.c, take out static :
> > ------
> > static int
> > DMAbuf_start_input(int dev)
> > {
> > ------
> > 

> Yes, this fixes the missing symbol.

> This problem remains trying to run vat:

> If I start vat it displays the control panel which appears to be functional
> to the extent the window objects respond to the mouse.

Now what others including myself have done to get vat going is 
to install the old sound driver. The sys-current's sound driver
will be probably be fixed in the near future as I can see 
there is quit a bit of activity on the sound drivers. At 
the very least sound driver v.30 will be release.

At any rate, the old sound driver modified to work with
FreeBSD is in:
ftp.best.com:/pub/hasty/sys-vat.tar.gz

Save the files that sys-vat.tar uses. 


To the best of my knowledge only one person has not been 
able to get the old sound driver to work with the gus...

Included  is a summary on how to get vat working on FreeBSD-2.0:

	I hope that this really fixes your problem....

	Amancio


Article 158 of comp.unix.bsd.freebsd.misc:
Xref: netcom.com comp.unix.bsd.freebsd.misc:158
Path: netcom.com!ix.netcom.com!howland.reston.ans.net!gatech!swrinde!pipex!warwick!news.dcs.warwick.ac.uk!str-ccsun!strath-cs!nntp0.brunel.ac.uk!not-for-mail
From: Nik.Clayton@brunel.ac.uk (Nik Clayton)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Vat on FreeBSD 2.0 [Summary]
Date: 11 Mar 1995 19:49:25 -0000
Organization: Brunel University, Uxbridge, UK
Lines: 261
Message-ID: <3jsus5$2qf@beable.brunel.ac.uk>
NNTP-Posting-Host: beable.brunel.ac.uk
X-Submissions-To: ahbou-sub@acpub.duke.edu for alt.humor.best-of-usenet
X-URL: http://http2.brunel.ac.uk:8080/~ccusnjc/

$Id: vat-on-FreeBSD,v 1.1 1995/03/11 19:42:56 nik Exp $

$Log: vat-on-FreeBSD,v $
# Revision 1.1  1995/03/11  19:42:56  nik
# Initial revision
#

Introduction

   I have been attempting to run the multicast program 'vat' on FreeBSD 2.0
   for some time. During this time I have posted several messages to Usenet
   asking for information. Response has been patchy, but I have had many
   messages essentially saying "Me too. Can you pass on any information you
   have?"

   I've finally managed to get it working, and this document explains what I
   did to do this. I haven't been able to find any of this information
   written down anywhere else. Hopefully some of you will find it useful.

Acknowledgements

   I am indebted to Amancio Hasty (hasty@netcom.com) for his advice and
   source code. Also (in no particular order) Gareth Stoney for the sound
   card, Janet, Pat and Hadi at Brunel Computer Centre for their patience,
   TriGem Computers UK Ltd. for the loan of the computer, and the Executive of
   B-1000 Brunel Radio for putting up with me for the past seven or so weeks,
   Oh, and Jordan Hubbard of the FreeBSD team for explaining that FreeBSD can
   kernel panic on 486/DX4s, but works fine on everything else.

   If I've missed anyone from this list, apologies. It wasn't intentional.

Equipment and configuration

   What follows runs successfully on an i486 DX/66, w/ 16Mb RAM and a 1Gb EIDE
   HD. In addition, I'm using a WD8013 net card, PCI graphics system and a
   Gravis Ultrasound rev 2.2 with cheap speakers and microphone.

   I understand that 'vat' has also been tested on a GUS rev 3.6., and is
   believed to work on PAS16 cards. I have no direct experience of this
   however.

   If the instructions below don't work you then there's not a lot I can do
   about it. In particular, I have no clue about configuring BSD for a
   PAS16. I also don't know if this will work with a GUS MAX.

   I've also assumed that your local Computer Center/service provider has some
   sort of multicast routing software working and is putting multicast packets
   across whichever subnet you are located on. Without this, multicasting is
   not going to work.

Software

   FreeBSD 2.0-RELEASE as the operating system. Being in the UK I got it from
   unix.hensa.ac.uk, but any SunSite mirror or Walnut Creek mirror should have
   it. The main FAQ lists FTP sites for FreeBSD. This is not an installation
   document for FreeBSD, there are many fine FAQs which make this task
   relatively simple.

   XFree86-3.1 - The X system for FreeBSD. Both 'sd' and 'vat' are X programs.

   At a minimum, the "kerndist" source code distribution, which allows you to
   compile a new kernel. If you want it, get the entire "srcdist" as well,
   although it's not mandatory.
   
   sd - Session directory. This shows existing MBONE sessions and allows you
   to create your own. Get this from

       ftp://ftp.ee.lbl.gov/conferencing/sd/i386-sd.tar.Z

   or archie search for a site closer to you that has it.

   vat - Visual Audio Tool. The bit that actually records and replays the
   sound over the net. I got my copy from

       ftp://ftp.ee.lbl.gov/conferencing/vat/i386-vat.tar.Z

   tcl7.3 - The interfaces to 'sd' and 'vat' can be reconfigured with
   Tcl/Tk. While not essential, you might want to acquire this. It is
   available as a FreeBSD 'package' from anywhere that archives FreeBSD
   packages. 

Installation

   - First install FreeBSD and X and confirm that they work. Use the GENERIC
     kernel.

     A tip when installing X. If you are using a serial mouse, use /dev/cua00
     for COM1:, and /dev/cua01 for COM2: (you might need to create these with
     the /dev/MAKEDEV script). 

   - Now, you have to compile a new kernel with support for the Gravis
     Ultrasound (GUS) and 'vat'. To do this you are going to need some source
     code patches.

     I've placed these patches in

         ftp://ftp.brunel.ac.uk/studentsoft/sys-vat.tar.gz

     Acquire the file, uncompress it, and put it somewhere handy. I used
     /usr/incoming. Note that these are not 'patches' in the true sense of
     the word. They actually directly replace some files. This means that
     they are only guaranteed to work on FreeBSD 2.0. Not -SNAP, not -current,
     just plain 2.0. They might of course, but I can't guarantee it.

     Now, do this,

         % su
	 [root password]

	 # cd /usr/src
	 # tar xvf /usr/incoming/sys-vat.tar
	 [This replaces some files in /usr/src/sys/i386/isa/sound for vat]

	 # cd sys/i386/conf
	 [This is where kernel configuration files are stored]

	 # cp GENERIC name
	 [where 'name' is the name you want for your kernel. In what follows,
	 "name" means whatever name you used for your kernel. I used "B1000"]

     You now have to edit the file 'name'. At the very least, make sure that
     the following two lines are present somewhere,

         device snd4 at isa? port 0x220 irq 15 drq 6 vector gusintr
         pseudo-device vat_audio

     The first of these configures a GUS on port 0x220 using irq 15. If you
     use different ports or irqs then use these instead.

     The second prepares the kernel for vat.

     You will also need to make sure you don't delete the

         options MROUTING

     line.

     If you get stuck, make a copy of the file 'LINT' and work from that
     rather than 'GENERIC'. This contains just about every configuration
     option there is. Just comment out the ones that don't apply to you.

     Now, go and look at the file "/usr/src/sys/i386/isa/sound/sound_config.h."
     Look for lines that start "#define GUS_". These set the default GUS_BASE,
     GUS_IRQ and so on. On my machine, sound_config.h contains (amongst other
     things)

         #define GUS_BASE 0x220
         #define GUS_IRQ  15
         #define GUS_MIDI_IRQ GUS_IRQ
         #define GUS_DMA 6

     (in the real thing, these are wrapped in #ifndef...#endif pairs). I'm not
     sure if this step is absolutely required, but it doesn't hurt to make
     sure that these values are the same as the ones you used in the "device"
     line in the kernel.
     
     When you have a kernel config file you're happy with,

         # /usr/sbin/config name

     and then

         # cd ../../compile/name
         # make depend
         # make

     Tip: The first time I compiled a kernel it complained about
     libkern.a. You might need to do

         # rm /usr/src/sys/libkern/libkern.a

     to have the kernel library rebuilt before you issue the 'make depend'
     line above. 

   - After anywhere between 15 minutes (on a 486DX 66) and 1hr (on a 486SX 25)
     the make should finish. You will find a file called 'kernel' in the
     current directory. This is the new kernel file. To use it, do the
     following,

         # mv /kernel /kernel.generic
         # cp kernel /kernel.gus.vat
         # cd /
         # ln kernel.gus.vat kernel

     Now reboot the machine.

   - With a bit of luck, your machine will reboot correctly. You should see
     a message at bootup that looks like this:
   
         snd4 at 0x220 irq 15 drq 6 on isa
         snd4: <Gravis UltraSound 2.4 (256k)>
         MIDI: Successfully attached ProAudioSpectrum MV101

     If you do, then your GUS has been recognised. If you don't, something's
     gone wrong. Unfortunately, I don't know what. 

   - At this point, it's time to make the device files that make all this
     possible. Once again, login and then

         # su
         [root password]

         # cd /dev
         # ./MAKEDEV snd4
         # ./MAKEDEV vat
         # mv /dev/vatio /dev/audio

     This last line in particular is quite important, and not doing it caused
     me no end of hassle. Apparently, vat on FreeBSD doesn't use the
     /dev/vatio device, it uses /dev/audio. So we copy it onto /dev/audio to
     get everything working.

   - OK, assuming everything has gone OK by now, start up X (startx). You
     might want to change to a regular userid before doing that.

   - Take the tar files containing sd and vat and uncompress them somewhere on
     your path. I put them in a users bin/ directory whilst testing, and did

         % setenv PATH ~/bin:$PATH

     Make sure that the "sd" and "vat" executables are in the path. You might
     also need to "rehash" to make sure the shell's path hash table is up to
     date after doing this.

   - And now for the moment of truth.

         % sd

     Should pop up an sd window. From this, click the "new" button to create a
     new channel. Choose a name and description, and make sure it's site
     local. After you've done this and hit "create", vat should pop up.

     At this point, make sure your speakers and microphone are plugged
     on. Click on the microphone icon (to that it is "regular colour", not
     "inverted") and say something. You should see level bars going up and
     down next to the mic slider. If you don't, then again, something has gone
     wrong. Make sure all the sound stuff is plugged in the right way around.

     If everything's worked correctly, go and find someone else who can listen
     to you to make sure send and receive works OK. But it should. Hopefully.

     And that's it. 

Once again, this document is basically a list of everything I've had to do
to get multicasting w/ vat working on FreeBSD. Your mileage may vary. I'm
releasing this in the hope that it saves someone all the hair pulling I've
gone through to get this working. If it does, great, if it doesn't, sorry.

If anyone has got vat working on other equipment, why not e-mail me with what
you did, and I'll add it in. Maybe this could become a complete "Multicasting
on FreeBSD FAQ".

Eventually, I will ensure that this document and *all* the software mentioned
in it are available for FTP from some site. I'll post when this happens.

Nik Clayton
(Nik.Clayton@brunel.ac.uk)
-- 
=-[Opinion, n: See the above text for an example]=-=[Kibo #: e]-[RYRYRY]=-=
=-[The Silly Sod Society: To perfect and to swerve]=-[beable]-=[TP U BG]=-=
Death to the fascist insects who suck the blood of the people!





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