rti800: fix straight-binary/2's-complement option for DAC channel 1
[comedi.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index eac57257d5638874e6f36707f991274493125a77..c85b02558ef9be5b831915792919f6a76b0802c4 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -4,8 +4,9 @@
 In order to compile the Comedi modules, you will need to have
 a correctly configured Linux kernel source tree.  The best
 way to get one is to download a tarball from kernel.org and
-compile your own kernel.  Comedi should work with most 2.2 and
-2.4 Linux kernels.  Support for 2.0.3x is not actively maintained,
+compile your own kernel.  Comedi should work with most 2.2, 
+2.4, and 2.6 Linux kernels.  2.6.x kernels older than 2.6.6 are
+not supported.  Support for 2.0.3x is not actively maintained,
 but it should work and bugs will be fixed as they are reported.
 
 You can also prepare a kernel source tree that matches
@@ -14,7 +15,7 @@ the Debian distibution the config files for the kernel-image packages
 are installed into the /boot directory).  The following steps will
 (almost) set up your kernel sources correctly.  You will also need
 write permission to the kernel source directory the first time you
-run comedi's 'make config', so you might want to unpack the kernel 
+run comedi's configure script, so you might want to unpack the kernel
 source into a directory you own.
 
 1) Get a copy of the kernel source that matches the kernel you are
@@ -26,7 +27,9 @@ source into a directory you own.
        'uname -r' produces "2.4.16-386" then your EXTRAVERSION should be
        set as 'EXTRAVERSION=-386'.
 3) Run 'make oldconfig' in your kernel source directory.
-4) Run 'make dep' in the kernel source directory and you are done.
+4) Run 'make dep' (for 2.6 kernels, do a 'make modules_prepare' instead 
+       or even better a full 'make') in the kernel source directory and 
+       you are done.
 
 Red Hat users note: Kernel sources that are distributed with Red
 Hat Linux are not supported, because they are too heavily
@@ -36,28 +39,29 @@ Documentation/comedi/redhat-notes on how to use Red Hat kernels.
 * RTAI support:
 
 If you want to use the real-time capabilities of Comedi with
-RTAI, you need to compile and install RTAI first.  It is
-necessary to use the rthal patch instead of the "copyto"
-scripts.  Known working versions are RTAI-1.6, RTAI-24.1.4,
-and current RTAI CVS.  Remember to enable Kcomedilib support,
-since you will be accessing Comedi from other kernel modules.
+RTAI, you need to compile and install RTAI first.  If you
+don't install the rtai kernel modules, you may get unresolved
+symbols when installing the comedi kernel modules.
 
 * RTLinux support:
 
 If you want to use the real-time capabilities of Comedi with
 RTLinux, you need to compile RTLinux (both the kernel and the
 modules) first.  Known working versions are 2.x and 3.0.
-Remember to enable Kcomedilib support, since you will be
-accessing Comedi from other kernel modules.
 
 * Configuration:
 
-Configure using 'make'.  This will ask you the location of the
-Linux kernel source tree.  If it detects that you have a kernel
-patched for RTAI or RTLinux, it will also ask you for the location
-of the RTAI or RTLinux source directory.  Then the configuration
-script will ask questions for a couple general Comedi features
-and then whether or not compile each driver.
+Configure with './configure'.  './configure --help' will give the
+configuration options.  If the configure script does not exist
+(if you checked comedi out from git for example), it can
+be generated by running './autogen.sh'.  The autoconf, automake,
+autoheader, etc. tools are required to generate the configure
+script (automake version >= 1.7 recommended).  The --with-linuxdir
+option is particularly useful, as it allows you to specify
+the location of your Linux kernel source directory.  If
+you are using an RT-patched kernel, the --with-rtaidir or
+--with-rtlinuxdir options allow you to specify
+the location of your RTAI or RTLinux source directory.
 
 * Compiling:
 
@@ -69,18 +73,29 @@ log, it is impossible to find problems.
 
 Install using 'make install' as root.  This installs the files:
 
-  /lib/modules/<<kernel version>>/misc/comedi.o
-  /lib/modules/<<kernel version>>/misc/kcomedilib.o
-  /lib/modules/<<kernel version>>/misc/<<driver files>>.o
-
-You need to create device files to access the hardware from a
-user process.  These can be created using 'make dev'.  The following
-special files will be created:
+  /lib/modules/<<kernel version>>/comedi/comedi.ko
+  /lib/modules/<<kernel version>>/comedi/kcomedilib.ko
+  /lib/modules/<<kernel version>>/comedi/<<driver files>>.ko
+
+Comedi communicates with userspace via device files (/dev/comedi*).
+If you have devices which are able to auto-configure themselves and
+you've got udev support these devices are created automatically.  You
+can disable this mechanism by setting the module parameter
+comedi_autoconfig to zero of the module "comedi_fops". In case you
+have got an old ISA card or no udev support (embedded systems) you can
+create static devices with the module parameter
+comedi_num_legacy_minors by setting it to the number of desired static
+/dev/comedi* devices. You can then configure your device from the
+userspace with comedi_config. In this case you need to create device
+files to access the hardware by hand from a user process.  These can
+be created using 'make dev'.  The following special files will be
+created:
 
   /dev/comedi0
   /dev/comedi1
   /dev/comedi2
-  /dev/comedi3
+  ...
+  /dev/comedi15
 
 * Comedilib:
 
@@ -96,16 +111,16 @@ be loaded into the kernel.  This is done by a command similar to
   /sbin/modprobe <<driver>>
 
 If your module dependencies are set up correctly, this will load
-both comedi.o and your driver.  If you get unresolved symbols, check
+both comedi.ko and your driver.  If you get unresolved symbols, check
 the FAQ or the mailing list archives.  Also look at the man pages
 for modprobe and insmod.
 
 In order to configure a driver module to use a particular device
 file (/dev/comediN) and a particular device, you need to use the
-command /usr/sbin/comedi_config, which is part of the comedilib
+command 'comedi_config', which is part of the comedilib
 distribution.  Comedi_config is invoked using
 
-  /usr/sbin/comedi_config /dev/comedi0 <device name> <option list>
+  comedi_config /dev/comedi0 <device name> <option list>
 
 The device name may or may not be the same as the module name.  In
 general, if the device type can be autoprobed (as with ISA PnP or
@@ -117,10 +132,10 @@ such as I/O address, IRQ, DMA channels, and other jumper settings.
 Information about option lists appropriate for a driver is in
 drivers.txt.  The following commands are examples:
 
-  /usr/sbin/comedi_config /dev/comedi0 dt2821 0x240,3
-  /usr/sbin/comedi_config /dev/comedi1 ni_atmio 0x260,4
-  /usr/sbin/comedi_config /dev/comedi2 dt2817 0x228
-  /usr/sbin/comedi_config /dev/comedi3 ni_pcimio
+  comedi_config /dev/comedi0 dt2821 0x240,3
+  comedi_config /dev/comedi1 ni_atmio 0x260,4
+  comedi_config /dev/comedi2 dt2817 0x228
+  comedi_config /dev/comedi3 ni_pcimio
 
 Try a 'man comedi_config' for information on how to use
 this utility.  Scripts have been written for a few of the drivers
@@ -129,12 +144,15 @@ directory.
 
 * Module Autoloading:
 
+For recent kernels, module autoloading is handled by udev.  The
+following is only applicable to older kernels.
+
 If you like to autoload your modules, put the following lines
 into /etc/modules.conf (this does not apply for PCMCIA cards):
 
   alias char-major-98 comedi
   alias char-major-98-0 your_driver
-  post-install your_driver /usr/sbin/comedi_config /dev/comedi0 your_driver <<options>>
+  post-install your_driver PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH;comedi_config /dev/comedi0 board_name <<options>>
 
 Alternatively, for complicated option lists, the scripts in etc
 are designed to be copied into /etc, so that you could put the
@@ -143,24 +161,18 @@ following lines into /etc/conf.modules:
   alias char-major-98-0 dt282x
   post-install dt282x /etc/dt282x.conf
 
-If you have a National Instruments AT-MIO or PCI-MIO board, you probably
-will want to run comedi_calibrate, an autocalibration tool that is part
-of comedilib in a bootup script.
+* Calibration:
+
+If your board has self-calibration capabilities,
+will want to run comedi_calibrate, an autocalibration tool that 
+is packaged in a seperate tarball, in a bootup script.
 
 * PCMCIA:
 
-Linux-2.4 kernels are recommended for PCMCIA drivers, since 2.2
-kernel require the separate PCMCIA package.  It is possible to
-use 2.2 kernels with PCMCIA, although it is necessary to modify
-the top level Makefile.
-
-Comedi works with several PCMCIA cards, and the driver modules can
-be loaded and unloaded upon insertion and removal of the card.
-The necessary configuration files are in the Comedilib source
-package.  Copy the files in etc/pcmcia/ to /etc/pcmcia and restart
-card services.  The pcmcia script provided is very simple -- it only
-uses /dev/comedi0 for devices, which is a limitation if you have
-other Comedi devices in your system.
+The PCMCIA drivers require at least a 2.6.16 kernel (at for
+unpatched mainline kernels).  You must also have pcmciautils
+and udev installed.  You can write a udev rule to automatically
+run gpib_config after the driver is loaded.
 
 * Upgrading: