README.FreeBSD
==============

Last updated: 7 Aug 2007


There is currently not sufficient demand for Voicetronix to maintain
the FreeBSD port in-house, though we do have a couple of users who
have maintained various BSD ports for themselves.  The library code
is mostly quite portable, so it is mainly the driver support for our
newer cards and newer BSD kernels that you will need to worry about.

If there is sufficient demand in the future, or if people from the BSD
communities would like to support this, we would be glad to assist that
effort however we can.  But right now, everyone apparently wants Linux.
Sorry.

The remainder of this file is provided for historical reference.
It applies only to the OpenLine4 card and was correct at the time
of writing, more than 5 years ago.  It is probably not correct for
recent releases of FreeBSD, is probably not correct for this release
of the driver, and is certainly not correct for any other card
currently sold by Voicetronix.


----------------------------------------------------------------------

1) Change the 'OS=linux' line in Makefile to 'OS=FreeBSD'

2) gmake

3) gmake install

4) Compile the kernel mode driver into your FreeBSD Kernel:
- cd /sys/i386/conf
- Append 'device vpb' to your kernel configuration file (e.g. MYKERNEL)
- Create a file: /sys/i386/conf/files.youkernelname, e.g. files.MYKERNEL.  Add
the text 'pci/vpb.c      optional vpb' to this file.
- /usr/sbin/config MYKERNEL 
- cd ../../compile/MYKERNEL
- make depend
- make
- make install
- reboot 
- check 'dmseg | more' - you should see "V4PCI 0 found!"

5) 'mknod /dev/vpb0 c 201 0'

6) cd to unittest, gmake, try ./echo (V4PCI) - see echo.cpp for instructions


David Rowe
12/12/01

Additional notes on compiling and using the driver with FreeBSD.

1) See:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building

for better info on building the FreeBSD kernel.

2) When building a new kernel, the convention is to copy GENERIC to another
file, such as MYKERNEL (/sys/i386/conf).  When you copy the file, don't
forget to change the line:

ident GENERIC 

to:

ident MYKERNEL

and then add:

device vpb

3) If the new kernel wont boot, you can boot an old kernel from the boot loader
command line, e.g.:

boot kernel.GENERIC

if you have saved your generic kernel as kernel.GENERIC

or

boot kernel.old

which is the default name the FreeBSD kernel build process uses for the
previous kernel.

4) Use:

pciconf -l

to see a list of PCI devices and drivers.  The V4PCI driver will come up as 
"nonex" where x is a number (0,1,23, etc).  The device ID should be 0x10b5.

5) Don't forget to use gmake rather than make.  Note that gmake is not 
installed by default on many FreeBSD systems.
 
