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>