summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-04-29 21:13:14 +0000
committer <ralf@linux-mips.org>1997-04-29 21:13:14 +0000
commit19c9bba94152148523ba0f7ef7cffe3d45656b11 (patch)
tree40b1cb534496a7f1ca0f5c314a523c69f1fee464 /Documentation
parent7206675c40394c78a90e74812bbdbf8cf3cca1be (diff)
Import of Linux/MIPS 2.1.36
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/00-INDEX23
-rw-r--r--Documentation/Changes223
-rw-r--r--Documentation/Configure.help3794
-rw-r--r--Documentation/cdrom/00-INDEX3
-rw-r--r--Documentation/cdrom/bpcd74
-rw-r--r--Documentation/cdrom/cdrom-standard.tex273
-rw-r--r--Documentation/devices.tex466
-rw-r--r--Documentation/devices.txt311
-rw-r--r--Documentation/digiboard.txt237
-rw-r--r--Documentation/ez.txt85
-rw-r--r--Documentation/filesystems/00-INDEX2
-rw-r--r--Documentation/filesystems/romfs.txt152
-rw-r--r--Documentation/filesystems/vfs.txt173
-rw-r--r--Documentation/ide.txt38
-rw-r--r--Documentation/ioctl-number.txt36
-rw-r--r--Documentation/isdn/CREDITS9
-rw-r--r--Documentation/isdn/INTERFACE107
-rw-r--r--Documentation/isdn/README35
-rw-r--r--Documentation/isdn/README.HiSax343
-rw-r--r--Documentation/isdn/README.audio16
-rw-r--r--Documentation/isdn/README.sc274
-rw-r--r--Documentation/m68k/amiboot.README241
-rw-r--r--Documentation/m68k/kernel-options.txt835
-rw-r--r--Documentation/magic-number.txt1
-rw-r--r--Documentation/mca.txt210
-rw-r--r--Documentation/memory.txt60
-rw-r--r--Documentation/modules.txt3
-rw-r--r--Documentation/networking/00-INDEX10
-rw-r--r--Documentation/networking/ax25.txt53
-rw-r--r--Documentation/networking/cs89x0.txt651
-rw-r--r--Documentation/networking/ip-sysctl.txt94
-rw-r--r--Documentation/networking/lapb-module.txt257
-rw-r--r--Documentation/networking/net-modules.txt6
-rw-r--r--Documentation/networking/policy-routing.txt150
-rw-r--r--Documentation/networking/routing.txt46
-rw-r--r--Documentation/networking/shaper.txt49
-rw-r--r--Documentation/networking/wan-router.txt130
-rw-r--r--Documentation/networking/x25-iface.txt64
-rw-r--r--Documentation/networking/x25.txt45
-rw-r--r--Documentation/parport.txt59
-rw-r--r--Documentation/pcwd-watchdog.txt131
-rw-r--r--Documentation/serial-console.txt78
-rw-r--r--Documentation/smp23
-rw-r--r--Documentation/stallion.txt293
-rw-r--r--Documentation/watchdog.txt37
45 files changed, 8594 insertions, 1606 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX
index 1a6fb3b90..09d482dac 100644
--- a/Documentation/00-INDEX
+++ b/Documentation/00-INDEX
@@ -1,8 +1,8 @@
This is a brief list of all the files in ./linux/Documentation and what
they contain. If you add a documentation file, please list it here in
-alphabetical order as well. Note that subdirectories have their own
-index files too.
- Thanks -- Paul.
+alphabetical order as well, or risk being hunted down like a rabid dog.
+Note that subdirectories have their own index files too.
+ Thanks -- Paul G.
00-INDEX
- this file.
@@ -14,6 +14,8 @@ CodingStyle
- how the boss likes the C code in the kernel to look.
Configure.help
- text file that is used for help when you run "make config"
+IO-mapping.txt
+ - how to access I/O mapped memory from within device drivers.
SMP.txt
- notes, and "To Fix" list for multi-processor Linux. (see smp.tex)
cdrom/
@@ -24,6 +26,10 @@ devices.txt
- plain ASCII listing of all the nodes in /dev/ with major minor #'s
digiboard.txt
- info on the Digiboard PC/X{i,e,eve} multiport boards.
+exception.txt
+ - how linux v2.1 handles exceptions without verify_area etc.
+ez.txt
+ - documentation for the SyQuest parallel port EZ drive support.
filesystems/
- directory with info on the various filesystems that Linux supports.
ide.txt
@@ -38,10 +44,18 @@ java.txt
- info on the in-kernel binary support for Java(tm)
locks.txt
- info on file locking implementations, flock() vs. fcntl(), etc.
+logo.gif
+ - Full colour GIF image of Linux logo (penguin)
+logo.txt
+ - Info on creator of above logo & site to get additional images from.
magic-number.txt
- list of magic numbers used to mark/protect kernel data structures.
mandatory.txt
- info on the linux implementation of Sys V mandatory file locking.
+memory.txt
+ - info on typical Linux memory problems.
+mca.txt
+ - info on supporting Micro Channel Architecture (e.g. PS/2) systems.
modules.txt
- short guide on how to make kernel parts into loadable modules
networking/
@@ -66,4 +80,7 @@ unicode.txt
- info on the Unicode character/font mapping used in Linux.
watchdog.txt
- how to auto-reboot Linux if it has "fallen and can't get up". ;-)
+xterm-linux.xpm
+ - XPM image of penguin logo (see logo.txt) sitting on an xterm.
+
diff --git a/Documentation/Changes b/Documentation/Changes
index 66a0b416c..3b1fed283 100644
--- a/Documentation/Changes
+++ b/Documentation/Changes
@@ -19,7 +19,17 @@ you don't need to bother doing so in the form of a diff, as this is
generated by texinfo so a diff is useless anyway (though I can
incorporate one by hand if you insist upon sending it that way ;-).
-Last updated: November 20, 1996.
+ Check out http://www.cviog.uga.edu/Misc/info/LinuxBleed.html for an
+HTML-ized shopping list.
+
+ For those of you in Europe,
+http://www.datanet.hu/generations/linux/Changes2.html is an
+English-language HTML version.
+
+ Also, don't forget http://www.linuxhq.com/ for all your Linux kernel
+needs.
+
+Last updated: April 17, 1997.
Current Author: Chris Ricker (gt1355b@prism.gatech.edu).
Current Minimal Requirements
@@ -28,17 +38,19 @@ Current Minimal Requirements
Upgrade to at *least* these software revisions before thinking you've
encountered a bug!
-- Kernel modules 2.0.8
+- Kernel modules modutils-2.1.34
- Gnu C 2.7.2.1
-- Binutils 2.7.0.3
-- Linux C Library 5.4.12
+- Binutils 2.7.0.9
+- Linux C Library 5.4.23
- Dynamic Linker (ld.so) 1.8.5
- Linux C++ Library 2.7.2.1
- Procps 1.01
-- SysVinit 2.64
-- Mount 2.5p
+- Mount 2.6e
- Net-tools 1.32-alpha
-- Kbd 0.91
+- Loadlin 1.6a
+- Sh-utils 1.16
+- Autofs 970409
+- NFS 0.4.21
Upgrade notes
*************
@@ -49,7 +61,8 @@ General Information
<CTRL><ALT><DEL> now performs a cold reboot instead of a warm reboot
for increased hardware compatibility. If you want a warm reboot and
know it works on your hardware, add a "reboot=warm" command line option
-in Lilo.
+in Lilo. A small number of machines need "reboot=bios" to reboot via
+the BIOS.
Libc
====
@@ -60,19 +73,30 @@ currently compile ELF, consult the ELF howto at
http://sunsite.unc.edu/mdw/HOWTO/ELF-HOWTO.html and upgrade your system
accordingly.
- For modules to work, you need to be running libc-5.4.7 or greater.
+ For modules to work, you need to be running libc-5.4.x or greater.
Since updates to libc fix other problems as well (security flaws, for
example) and since 5.4.7 is missing a few needed symbols, try to get
-the latest 5.4.x you can. Currently, that is libc-5.4.12.
+the latest 5.4.x you can. Currently, libc-5.4.23 is the latest public
+release.
If you upgrade to libc-5.4.x, you also have to upgrade your dynamic
-linker (ld.so) to at least 1.8.3, or all sorts of weirdness will happen.
+linker (ld.so) to at least 1.8.5, or all sorts of weirdness will
+happen. Actually, ld.so-1.8.2 and later will work, but 1.8.5 is widely
+available, so if you need to upgrade, use it. If you get a release
+later than 1.8.5, avoid 1.8.10 as it introduces a few bugs that are
+fixed in later releases.
Modules
=======
- You need to upgrade to modules-2.0.8 for kernels 2.1.8 and later.
-Currently, there is no modules package which works with kernel 2.1.1.
+ You need to upgrade to modutils-2.1.34 for kernels 2.1.34 and later.
+
+Binutils
+========
+
+ If you upgrade binutils, please read its accompanying release notes
+to find out the proper way to upgrade it. No, the instruction to "rm
+`which encaps`" is not a joke.
Gnu C
=====
@@ -83,6 +107,74 @@ the latest public release. If you already have GCC 2.7.2 on your
system, you don't have to upgrade just so the kernel will work (though
feel free to upgrade if you want the gcc bug fixes).
+Networking Changes
+==================
+
+ Please read Documentation/networking/routing.txt and
+Documentation/networking/policy-routing.txt for more information about
+changes in routing code. OSPF classes have been added, and interface
+routes are generated automatically.
+
+ If for some reason you need to override this automatic default
+routing, you have to specify the complete route specification (netmask,
+device, etc.) for the kernel to accept it. Consequently, you need to
+either remove interface routes from your init scripts or add missing
+information to them if you need to replace the automatic routes.
+
+ Also note that some routes, such as loopback routes, do not show up
+in some standard tools. Check in /proc/net/rt_local to verify their
+presence.
+
+ To turn on IP forwarding, issue the following command: echo 1 >
+/proc/sys/net/ipv4/ip_forwarding
+
+ To run bootpd, you'll need to issue the following command: echo 1
+>/proc/sys/net/ipv4/ip_boot_agent
+
+Mount and network file systems
+==============================
+
+ The NFS code in the kernel is currently being revised, resulting in
+much-improved performance. As a result, you'll need to upgrade mount
+to a 2.6 release. Also, amd is being phased out in favor of the much
+better autofs. You'll also have to get the appropriate utils to use
+autofs as well as the new NFS utils.
+
+RPM
+===
+
+ If you run RedHat Linux or any other distribution that uses RPM, you
+need to upgrade RPM to version 2.2.7 or later.
+
+DOSEMU
+======
+
+ A new "stable" version of DOSEMU is available for 2.1.x kernels.
+Upgrade to 0.66.1 or later.
+
+Loadlin
+=======
+
+ Linux 2.1.22 and later releases use a new method of memory size
+detection, requiring loadlin users to upgrade to loadlin-1.6a.
+
+Sh-utils
+========
+
+ As of Linux-2.1.26, the Configure script ("make config") has been
+updated to be POSIX-compliant. As a result, your expr needs to be
+updated. Use sh-utils 1.16 or later.
+
+Parallel Ports
+==============
+
+ As of 2.1.33, parallel port support can now by handled by the parport
+driver. Be aware that with Plug-and-Play support turned on, your
+parallel port may no longer be where you expect it; for example, LPT1
+(under DOS) was sometimes /dev/lp1 in Linux, but will probably be
+/dev/lp0 with the new Plug-and-Play driver. If printing breaks with
+the new driver, try checking your lpd configuration.
+
How to know the version of the installed programs
*************************************************
@@ -90,14 +182,17 @@ How to know the version of the installed programs
installed programs and libraries. The SysVinit version display
requires that you be logged in as root.
+Binutils: ld -v
Gnu C: gcc -v or gcc --version
+Kbd: dumpkeys -h
+Ld.so: ldd -v
Libc: ls -l /lib/libc.so.*
Libc++: ls -l /usr/lib/libg++.so.*
-Binutils: ld -v
-modules: insmod -V
-procps: ps --version
-SysVinit: cat /proc/`cat /var/run/syslog.pid`/environ|strings|awk '$1 ~
-/INIT_VERSION/ {print}'
+Modutils: insmod -V
+Mount: mount --version
+Procps: ps --version
+RPM: rpm --version
+Sh-utils: expr --v
Where to get the files
**********************
@@ -105,56 +200,116 @@ Where to get the files
Binutils
========
-ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/binutils-2.7.0.3.bin.tar.gz
+The 2.7.0.9 release:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.7.0.9.bin.tar.gz
+ftp://sunsite.unc.edu/pub/Linux/GCC/binutils-2.7.0.9.bin.tar.gz
Installation notes:
-ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/release.binutils-2.7.0.3
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/release.binutils-2.7.0.9
+ftp://sunsite.unc.edu/pub/Linux/GCC/release.binutils-2.7.0.9
Gnu C
=====
+The 2.7.2.1 release:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/gcc-2.7.2.1.bin.tar.gz
ftp://sunsite.unc.edu/pub/Linux/GCC/gcc-2.7.2.1.bin.tar.gz
Installation notes:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/release.gcc-2.7.2.1
ftp://sunsite.unc.edu/pub/Linux/GCC/release.gcc-2.7.2.1
Linux C Library
===============
-The stable 5.2.18 release:
-ftp://sunsite.unc.edu/pub/Linux/GCC/libc-5.2.18.bin.tar.gz
-Installation notes for 5.2.18:
-ftp://sunsite.unc.edu/pub/Linux/GCC/release.libc-5.2.18
-
-The latest 5.4.12 release (when it gets there):
-ftp://sunsite.unc.edu/pub/Linux/GCC/libc-5.4.12.bin.tar.gz
-Installation notes for 5.4.12:
-ftp://sunsite.unc.edu/pub/Linux/GCC/release.libc-5.4.12
+The 5.4.23 release:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/libc-5.4.23.bin.tar.gz
+ftp://sunsite.unc.edu/pub/Linux/GCC/libc-5.4.23.bin.tar.gz
+Installation notes for 5.4.23:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/release.libc-5.4.23
+ftp://sunsite.unc.edu/pub/Linux/GCC/release.libc-5.4.23
Linux C++ Library
=================
+The 2.7.2.1 release:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/libg++-2.7.2.1.bin.tar.gz
ftp://sunsite.unc.edu/pub/Linux/GCC/libg++-2.7.2.1.bin.tar.gz
Installation notes:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/release.libg++-2.7.2.1
ftp://sunsite.unc.edu/pub/Linux/GCC/release.libg++-2.7.2.1
Dynamic Linker
==============
+The 1.8.5 release:
+ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.8.5.tar.gz
ftp://sunsite.unc.edu/pub/Linux/GCC/ld.so-1.8.5.tar.gz
Modules utilities
=================
-ftp://sunsite.unc.edu/pub/Linux/kernel/v2.1/modules-2.0.8.tar.gz
+The 2.1.34 release:
+ftp://ftp.redhat.com/pub/alphabits/modutils-2.1.34.tar.gz
+ftp://ftp.kernel.org/pub/linux/kernel/v2.1/modutils-2.1.34.tar.gz
Procps utilities
================
-ftp://sunsite.unc.edu/pub/Linux/system/Status/ps/procps-1.01.tgz
+The 1.01 release:
+ftp://tsx-11.mit.edu/pub/linux/sources/usr.bin/procps-1.01.tgz
+ftp://sunsite.unc.edu/pub/Linux/system/status/ps/procps-1.01.tgz
-SysVinit utilities
-==================
+RPM utilities
+=============
+
+The 2.2.7 release for Intel:
+ftp://ftp.redhat.com/pub/redhat/redhat-4.0/updates/i386/rpm-2.2.7-1.i386.rpm
+ftp://ftp.redhat.com/pub/redhat/redhat-4.0/updates/i386/rpm-devel-2.2.7-1.i386.rpm
+The 2.2.7 release for Alpha:
+ftp://ftp.redhat.com/pub/redhat/redhat-4.0/updates/axp/rpm-2.2.7-1.axp.rpm
+ftp://ftp.redhat.com/pub/redhat/redhat-4.0/updates/axp/rpm-devel-2.2.7-1.axp.rpm
+The 2.2.7 release for SPARC:
+ftp://ftp.redhat.com/pub/redhat/redhat-4.0/updates/i386/rpm-2.2.7-1.sparc.rpm
+ftp://ftp.redhat.com/pub/redhat/redhat-4.0/updates/i386/rpm-devel-2.2.7-1.sparc.rpm
+
+DOSEMU
+======
+
+The 0.66.1 release:
+ftp://tsx-11.mit.edu/pub/linux/ALPHA/dosemu/dosemu0.66.1.tgz
+ftp://sunsite.unc.edu/pub/Linux/system/emulators/dosemu0.66.1.tgz
+
+Loadlin
+=======
+
+The 1.6a release:
+ftp://ftp.suse.com/pub/loadlin/update-1.6a/loadlin.exe.gz
+ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/update-1.6a/loadlin.exe.gz
+
+Sh-utils
+========
+
+The 1.16 release:
+ftp://sunsite.unc.edu/pub/gnu/sh-utils-1.16.tar.gz
+ftp://prep.ai.mit.edu/pub/gnu/sh-utils-1.16.tar.gz
+
+Mount
+=====
+
+The 2.6e release:
+ftp://ftp.win.tue.nl/pub/linux/util/mount-2.6e.tar.gz
+
+Autofs
+======
+
+The 970409 release:
+ftp://ftp.kernel.org/pub/linux/daemons/autofs/autofs-970409.tar.gz
+
+NFS
+===
-ftp://sunsite.unc.edu/pub/Linux/system/Daemons/init/sysvinit-2.64.tar.gz
+The 0.4.21 release:
+ftp://ftp.mathematik.th-darmstadt.de/pub/linux/okir/linux-nfs-0.4.21.tar.gz
+ftp://linux.nrao.edu/pub/people/okir/linux-nfs-0.4.21.tar.gz
Other Info
==========
diff --git a/Documentation/Configure.help b/Documentation/Configure.help
index 2804e321e..469fb2e02 100644
--- a/Documentation/Configure.help
+++ b/Documentation/Configure.help
@@ -1,7 +1,8 @@
# Maintained by Axel Boldt (boldt@math.ucsb.edu)
#
# This version of the Linux kernel configuration help texts
-# corresponds to the kernel versions 2.1.x.
+# corresponds to the kernel versions 2.1.x. Be aware that these are
+# development kernels and need not be completely stable.
#
# International versions of this file available on the WWW:
# - http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Configure.help.euc
@@ -9,33 +10,43 @@
# (tetsu@cauchy.nslab.ntt.jp).
# - http://nevod.perm.su/service/linux/doc/kernel/Configure.help
# is a Russian translation, maintained by kaf@linux.nevod.perm.su.
+# - http://www.linux-kheops.com/traduc/kernels/
+# has a French translation of the whole kernel, including
+# Configure.help. This is maintained by David Bourgin
+# (dbourgin@wsc.com).
#
# Information about what a kernel is, what it does, how to patch and
# compile it and much more is contained in the Kernel-HOWTO, available
# via ftp (user: anonymous) from sunsite.unc.edu in the directory
# /pub/Linux/docs/HOWTO.
#
-# Format of this file: description<nl>variable<nl>helptext<nl><nl>.
-# If the question being documented is of type "choice", we list
-# only the first occurring config variable. The help texts
-# must not contain empty lines. No variable should occur twice; if it
-# does, only the first occurrence will be used by Configure. The lines
-# in a help text should be indented two positions. Lines starting with
-# `#' are ignored. To be nice to menuconfig, limit your lines to 70
-# characters. Use emacs' kfill.el to edit this file or you lose.
+# Format of this file: description<nl>variable<nl>helptext<nl><nl>.
+# If the question being documented is of type "choice", we list only
+# the first occurring config variable. The help texts must not contain
+# empty lines. Order of the help texts does not matter, however, no
+# variable should be documented twice: if it is, only the first
+# occurrence will be used by Configure. It is not absolutely necessary
+# that the one-line descriptions of the variables used here are
+# exactly the same as the ones in the corresponding Config.in
+# scripts. The lines in a help text should be indented two
+# positions. Lines starting with `#' are ignored. To be nice to
+# menuconfig, limit your lines to 70 characters. Use emacs' kfill.el
+# to edit this file or you lose.
#
# If you add a help text to this file, please try to be as gentle as
# possible. Don't use unexplained acronyms and generally write for the
-# hypothetical user who has just bought a PC, removed Windows,
-# installed Linux and is now recompiling the kernel for the first
-# time. Tell them what to do if they're unsure. Technical information
-# should go in a README in the Documentation directory. Mention all
-# the relevant READMEs and HOWTOs in the help text.
+# hypothetical ignorant but intelligent user who has just bought a PC,
+# removed Windows, installed Linux and is now recompiling the kernel
+# for the first time. Tell them what to do if they're
+# unsure. Technical information should go in a README in the
+# Documentation directory. Mention all the relevant READMEs and HOWTOs
+# in the help text.
#
# All this was shamelessly stolen from several different sources. Many
# thanks to all the contributors. Feel free to use these help texts
# in your own kernel configuration tools. The texts are copyrighted
-# (c) 1995,1996 by Axel Boldt and governed by the GNU Public License.
+# (c) 1995-1997 by Axel Boldt and others and governed by the GNU
+# Public License.
Prompt for development and/or incomplete code/drivers
CONFIG_EXPERIMENTAL
@@ -49,14 +60,17 @@ CONFIG_EXPERIMENTAL
avoid "Why doesn't this work?" type mail messages. However, active
testing and use of these systems is welcomed. Just be aware that it
may not meet the normal level of reliability or it may fail to work
- in some special cases. Detailed bug reports from people familiar with
- the kernel internals are usually welcomed by the developers.
+ in some special cases. Detailed bug reports from people familiar
+ with the kernel internals are usually welcomed by the developers
+ (before submitting bug reports, please read the documents README,
+ MAINTAINERS, Documentation/BUG-HUNTING, and
+ Documentation/oops-tracing.txt in the kernel source).
Unless you intend to help test and develop a feature or driver that
- falls into this category, or you have a situation that requires using
- these features you should probably say N here, which will cause this
- configure script to present you with fewer choices. If you say Y here,
- you will be offered the choice of using features or drivers that are
- currently considered to be in the alpha-test phase.
+ falls into this category, or you have a situation that requires
+ using these features you should probably say N here, which will
+ cause this configure script to present you with fewer choices. If
+ you say Y here, you will be offered the choice of using features or
+ drivers that are currently considered to be in the alpha-test phase.
Kernel math emulation
CONFIG_MATH_EMULATION
@@ -65,83 +79,87 @@ CONFIG_MATH_EMULATION
a math coprocessor built in, 486SX and 386 do not, unless you added
a 487DX or 387, respectively. (The messages during boot time can
give you some hints here ["man dmesg"]) Everyone needs either a
- coprocessor or this emulation. If you enable this emulation even
+ coprocessor or this emulation. If you say Y here even
though you have a coprocessor, the coprocessor will be used
nevertheless. (This behavior can be changed with the kernel command
line option "no387", which comes handy if your coprocessor is
- broken. See the documentation of your boot loader (lilo or loadlin)
- about how to pass options to the kernel at boot time. The lilo
- procedure is also explained in the SCSI-HOWTO, available via ftp
- (user: anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO.) This
- means that it is a good idea to say Y here if you intend to use this
- kernel on different machines. More information about the internals
- of Linux math coprocessor emulation can be found in
- arch/i386/math-emu/README. If you are not sure, say Y; apart from
- resulting in a 45kB bigger kernel, it won't hurt.
+ broken. Try "man bootparam" or see the documentation of your boot
+ loader (lilo or loadlin) about how to pass options to the kernel at
+ boot time. The lilo procedure is also explained in the SCSI-HOWTO,
+ available via ftp (user: anonymous) in
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO.) This means that it is a good
+ idea to say Y here if you intend to use this kernel on different
+ machines. More information about the internals of Linux math
+ coprocessor emulation can be found in arch/i386/math-emu/README. If
+ you are not sure, say Y; apart from resulting in a 45kB bigger
+ kernel, it won't hurt.
Normal floppy disk support
CONFIG_BLK_DEV_FD
If you want to use your floppy disk drive(s) under Linux, say
Y. Information about this driver, especially important for IBM
- Thinkpad users, is contained in drivers/block/README.fd. This
- driver is also available as a module ( = code which can be inserted
- in and removed from the running kernel whenever you want). If you
- want to compile it as a module, say M here and read
+ Thinkpad users, is contained in drivers/block/README.fd. This file
+ also contains the location of the Floppy driver FAQ as well as
+ location of the fdutils package used to configure additional
+ parameters of the driver at run time. This driver is also available
+ as a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ floppy.o. If you want to compile it as a module, say M here and read
Documentation/modules.txt.
RAM disk support
CONFIG_BLK_DEV_RAM
- Enabling this option will allow you to use a portion of your RAM
- memory as a block device, so that you can make filesystems on it,
- read and write to it and do all the other things that normal block
- devices (such as harddrives) can do. It is usually used to load and
+ Saying Y here will allow you to use a portion of your RAM memory as
+ a block device, so that you can make filesystems on it, read and
+ write to it and do all the other things that you can do with normal
+ block devices (such as harddrives). It is usually used to load and
store a copy of a minimal root file system off of a floppy into RAM
during the initial install of Linux. Note that the kernel command
line option "ramdisk=XX" is now obsolete. For details, read
Documentation/ramdisk.txt. If you want to compile this as a module (
= code which can be inserted in and removed from the running kernel
- whenever you want), say M and read Documentation/modules.txt. Most
- normal users won't need the RAM disk functionality, and can thus say
- N here.
+ whenever you want), say M and read Documentation/modules.txt. The
+ module will be called rd.o. Most normal users won't need the RAM
+ disk functionality, and can thus say N here.
Initial RAM disk (initrd) support
CONFIG_BLK_DEV_INITRD
The initial RAM disk is a RAM disk that is loaded by the boot loader
- (LOADLIN or LILO) and that is mounted as root before the normal boot
+ (loadlin or lilo) and that is mounted as root before the normal boot
procedure. It is typically used to load modules needed to mount the
"real" root file system, etc. See Documentation/initrd.txt for
details.
Loop device support
CONFIG_BLK_DEV_LOOP
- Enabling this option will allow you to mount a file as a file
- system. This is useful if you want to check an ISO9660 file system
- before burning the CD, or want to use floppy images without first
- writing them to floppy. This option also allows one to mount a
- filesystem with encryption. To use these features, you need a
- recent version of mount (check the file Documentation/Changes for
- location and latest version). Note that this loop device has
+ Saying Y here will allow you to mount a file as a file system. This
+ is useful if you want to check an ISO9660 file system before burning
+ the CD, or want to use floppy images without first writing them to
+ floppy. This option also allows one to mount a filesystem with
+ encryption. To use these features, you need a recent version of
+ mount (available via ftp (user: anonymous) from
+ ftp.win.tue.nl/pub/linux/util/). Note that this loop device has
nothing to do with the loopback device used for network connections
from the machine to itself. Most users will answer N here.
-Enhanced IDE/MFM/RLL disk/cdrom/tape support
+Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
CONFIG_BLK_DEV_IDE
This will use the full-featured IDE driver to control up to four IDE
- interfaces, for a combination of up to eight IDE disk/cdrom/tape
- drives. Useful information about large (>540MB) IDE disks,
- soundcard IDE ports, and other topics, is all contained in
- Documentation/ide.txt. If you have one or more IDE drives, say Y
- here. If your system has no IDE drives, or if memory requirements
- are really tight, you could say N here, and select the Old harddisk
- driver instead to save about 13kB of memory in the kernel. To
- fine-tune IDE drive/interface parameters for improved performance,
- look for the hdparm package at
+ interfaces, for a combination of up to eight IDE
+ disk/cdrom/tape/floppy drives. Useful information about large
+ (>540MB) IDE disks, soundcard IDE ports, module support, and other
+ topics, is all contained in Documentation/ide.txt. If you have one
+ or more IDE drives, say Y here. If your system has no IDE drives, or
+ if memory requirements are really tight, you could say N here, and
+ select the Old harddisk driver instead to save about 13kB of memory
+ in the kernel. To fine-tune IDE drive/interface parameters for
+ improved performance, look for the hdparm package at
sunsite.unc.edu:/pub/Linux/kernel/patches/diskdrives/
Old harddisk (MFM/RLL/IDE) driver
CONFIG_BLK_DEV_HD_ONLY
There are two drivers for MFM/RLL/IDE disks. Most people use the
- newer enhanced driver, but the old one is still around for two
+ newer enhanced driver, but this old one is still around for two
reasons. Some older systems have strange timing problems and seem
to work only with the old driver (which itself does not work with
some newer systems). The other reason is that the old driver is
@@ -155,8 +173,8 @@ CONFIG_BLK_DEV_HD_ONLY
Use old disk-only driver on primary interface
CONFIG_BLK_DEV_HD_IDE
There are two drivers for MFM/RLL/IDE disks. Most people use just
- the new enhanced driver by itself. This option installs the old
- harddisk driver to control the primary IDE/disk interface in the
+ the new enhanced driver by itself. This option however installs the
+ old harddisk driver to control the primary IDE/disk interface in the
system, leaving the new enhanced IDE driver take care of only the
2nd/3rd/4th IDE interfaces. Doing this will prevent you from having
an IDE/ATAPI CDROM or tape drive connected to the primary IDE
@@ -165,7 +183,19 @@ CONFIG_BLK_DEV_HD_IDE
address (0x1f0), along with IDE drives at the secondary/3rd/4th port
addresses. Normally, just say N here; you will then use the new
driver for all 4 interfaces.
-
+
+Include IDE/ATA-2 DISK support
+CONFIG_BLK_DEV_IDEDISK
+ This will include enhanced support for MFM/RLL/IDE harddisks. If you
+ have a MFM/RLL/IDE disk, and there is no special reason to use the
+ old harddisk driver instead, say Y. If you want to compile this
+ driver as a module ( = code which can be inserted in and removed
+ from the running kernel whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called ide-disk.o. Do
+ not compile this driver as a module if your root filesystem (the one
+ containing the directory /) is located on the IDE disk. If unsure,
+ say Y.
+
Include IDE/ATAPI CDROM support
CONFIG_BLK_DEV_IDECD
If you have a CDROM drive using the ATAPI protocol, say Y. ATAPI is
@@ -173,31 +203,54 @@ CONFIG_BLK_DEV_IDECD
SCSI protocol. Most new CDROM drives use ATAPI, including the
NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
double(2X), quad(4X), and six(6X) speed drives. At boot time, the
- TAPE drive will be identified along with other IDE devices, as "hdb"
- or "hdc", or something similar.
- If this is your only CDROM drive, you can say N to all other CDROM
- options, but be sure to say Y to the ISO9660 filesystem. Read the
- CDROM-HOWTO, available via ftp (user: anonymous) in
+ CDROM drive will be identified along with other IDE devices, as
+ "hdb" or "hdc", or something similar. If this is your only CDROM
+ drive, you can say N to all other CDROM options, but be sure to say
+ Y to "ISO9660 cdrom filesystem support". Read the CDROM-HOWTO,
+ available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO and the file
Documentation/cdrom/ide-cd. Note that older versions of lilo (the
linux boot loader) cannot properly deal with IDE/ATAPI CDROMs, so
install lilo-16 or higher, available from
- sunsite.unc.edu:/pub/Linux/system/Linux-boot/lilo.
+ sunsite.unc.edu:/pub/Linux/system/Linux-boot/lilo. If you want to
+ compile the driver as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want), say M here and
+ read Documentation/modules.txt. The module will be called ide-cd.o.
Include IDE/ATAPI TAPE support
CONFIG_BLK_DEV_IDETAPE
If you have an IDE tape drive using the ATAPI protocol, say Y.
- ATAPI is a new protocol used by IDE TAPE and ATAPI drives,
- similar to the SCSI protocol. At boot time, the TAPE drive will
- be identified along with other IDE devices, as "hdb" or "hdc",
- or something similar. Be sure to consult the drivers/block/ide-tape.c
- and Documentation/ide.txt files for usage information.
-
-Support removable IDE interfaces (PCMCIA)
-CONFIG_BLK_DEV_IDE_PCMCIA
- This option adds code to the IDE driver to handle hot insertion
- and removal of IDE interfaces and drives, under direction of an
- external utility (?). Normally, just say N here.
+ ATAPI is a new protocol used by IDE tape and CDROM drives, similar
+ to the SCSI protocol. At boot time, the tape drive will be
+ identified along with other IDE devices, as "hdb" or "hdc", or
+ something similar, and will be mapped to a character device such as
+ "ht0". Be sure to consult the drivers/block/ide-tape.c and
+ Documentation/ide.txt files for usage information. If you want to
+ compile the driver as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want), say M here and
+ read Documentation/modules.txt. The module will be called ide-tape.o.
+
+Include IDE/ATAPI FLOPPY support
+CONFIG_BLK_DEV_IDEFLOPPY
+ If you have an IDE floppy drive which uses the ATAPI protocol, say
+ Y. Chances are that you don't, because these animals are rare.
+ ATAPI is a new protocol used by IDE CDROM/tape/floppy drives,
+ similar to the SCSI protocol. At boot time, the FLOPPY drive will
+ be identified along with other IDE devices, as "hdb" or "hdc", or
+ something similar. If you want to compile the driver as a module ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want), say M here and read Documentation/modules.txt.
+ The module will be called ide-floppy.o.
+
+SCSI emulation support
+CONFIG_BLK_DEV_IDESCSI
+ This will provide SCSI host adapter emulation for IDE ATAPI devices,
+ and will allow you to use a SCSI device driver instead of a native
+ ATAPI driver. This is useful if you have an ATAPI device for which
+ no native driver has been written; you can then use this emulation
+ together with an appropriate SCSI device driver. If both this SCSI
+ emulation and native ATAPI support are compiled into the kernel, the
+ native support will be used. Normally, say N.
CMD640 chipset bugfix/support
CONFIG_BLK_DEV_CMD640
@@ -234,6 +287,18 @@ CONFIG_BLK_DEV_RZ1000
Linux. This may slow disk throughput by a few percent, but at least
things will operate 100% reliably. If unsure, say Y.
+Intel 82371 PIIX (Triton I/II) DMA support
+CONFIG_BLK_DEV_TRITON
+ If your PCI system uses an IDE harddrive (as opposed to SCSI, say)
+ and includes the Intel Triton I/II IDE interface chipset (i82371FB,
+ i82371SB or i82371AB), you will want to enable this option to allow
+ use of bus-mastering DMA data transfers. Read the comments at the
+ beginning of drivers/block/triton.c and Documentation/ide.txt.
+ You can get the latest version of the hdparm utility via
+ ftp (user: anonymous) from
+ sunsite.unc.edu/pub/Linux/kernel/patches/diskdrives/; it is
+ used to tune your harddisk. It is safe to say Y to this question.
+
Other IDE chipset support
CONFIG_IDE_CHIPSETS
Say Y here if you want to include enhanced support for various IDE
@@ -259,6 +324,18 @@ CONFIG_BLK_DEV_HT6560B
of the Holtek card, and permits faster I/O speeds to be set as well.
See the Documentation/ide.txt and ht6560b.c files for more info.
+PROMISE DC4030 support (EXPERIMENTAL)
+CONFIG_BLK_DEV_PROMISE
+ This driver provides support for the second port and cache of
+ Promise IDE interfaces, e.g. DC4030 and DC5030. It is enabled at
+ kernel runtime using the "ide0=dc4030" kernel boot parameter. See
+ the file drivers/block/promise.c file for more info.
+
+OPTi 82C621 support (EXPERIMENTAL)
+CONFIG_BLK_DEV_OPTI621
+ This is a driver for the OPTi 82C621 EIDE controller.
+ Please read the comments at the top of drivers/block/opti621.c.
+
QDI QD6580 support
CONFIG_BLK_DEV_QD6580
This driver is enabled at runtime using the "ide0=qd6580" kernel
@@ -296,8 +373,18 @@ CONFIG_BLK_DEV_XD
include a driver for these, say Y. If you want to compile the driver
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt. It's pretty unlikely that you have one of
- these: say N.
+ Documentation/modules.txt. The module will be called xd.o. It's
+ pretty unlikely that you have one of these: say N.
+
+SyQuest EZ parallel port disk support
+CONFIG_BLK_DEV_EZ
+ If you have a parallel port version of SyQuest's EZ135 or EZ230
+ removable media devices you can use this driver. Answer Y to build
+ the driver into the kernel, or M if you would like to build it as a
+ loadable module. The module will be called ez.o. Read the file
+ linux/Documentation/ez.txt. If you have several different devices
+ that will share a common parallel port you should build them all as
+ modules.
Multiple devices driver support
CONFIG_BLK_DEV_MD
@@ -310,23 +397,25 @@ CONFIG_BLK_DEV_MD
Linear (append) mode
CONFIG_MD_LINEAR
- If you enable this, then your multiple devices driver will be able
- to use the so-called linear mode, i.e. it will combine the harddisk
+ If you say Y here, then your multiple devices driver will be able to
+ use the so-called linear mode, i.e. it will combine the harddisk
partitions by simply appending one to the other. If you want to
compile this as a module ( = code which can be inserted in and
removed from the running kernel whenever you want), say M here and
- read Documentation/modules.txt. If unsure, say Y.
+ read Documentation/modules.txt. The module will be called
+ linear.o. If unsure, say Y.
RAID-0 (striping) mode
CONFIG_MD_STRIPED
- If you enable this, then your multiple devices driver will be able
- to use the so-called raid0 mode, i.e. it will combine the harddisk
+ If you say Y here, then your multiple devices driver will be able to
+ use the so-called raid0 mode, i.e. it will combine the harddisk
partitions into one logical device in such a fashion as to fill them
up evenly, one chunk here and one chunk there. This will increase
the throughput rate if the partitions reside on distinct disks. If
you want to compile this as a module ( = code which can be inserted
in and removed from the running kernel whenever you want), say M
- here and read Documentation/modules.txt. If unsure, say Y.
+ here and read Documentation/modules.txt. The module will be called
+ raid0.o. If unsure, say Y.
Support for Deskstation RPC44
CONFIG_DESKSTATION_RPC44
@@ -401,40 +490,61 @@ CONFIG_CPU_R3000
Networking support
CONFIG_NET
Unless you really know what you are doing, you should say Y
- here. The reason is that some programs need it even if you configure
- a stand-alone machine that won't be connected to any other computer.
- from an older kernel, you should consider updating your networking
- tools too; read net/README for details.
+ here. The reason is that some programs need kernel networking
+ support even if you configure a stand-alone machine that won't be
+ connected to any other computer. If you are upgrading from an older
+ kernel, you should consider updating your networking tools too
+ because changes in the kernel and the tools often go hand in hand;
+ see http://www.inka.de/sites/lina/linux/NetTools/index_en.html for
+ details.
Network aliasing
CONFIG_NET_ALIAS
- This is for setting multiple IP addresses on the same low-level
- network device driver. Typically used for services that act
- differently based on the address they listen on (e.g. "multihosting"
- on Apache httpd) or for connecting to different logical networks
- through the same physical interface. This is the generic part,
- later when configuring network protocol options you will be asked
- for protocol-specific aliasing support. See
- Documentation/networking/alias.txt for more info. If you need this
- feature (for any protocol, like IP) say Y; if unsure, say N.
+ This will allow you to set multiple network addresses on the same
+ low-level network device driver. Typically used for services that
+ act differently based on the address they listen on
+ (e.g. "multihosting" or "virtual domains" on the web server apache
+ and the ftp server wuftpd) or for connecting to different logical
+ networks through the same physical interface (most commonly an
+ ethernet networking card). This is the generic part, later when
+ configuring network protocol options you will be asked for
+ protocol-specific aliasing support, and you will have to say Y to at
+ least one of them. See Documentation/networking/alias.txt for more
+ info. If you need this feature (for any protocol, like IP) say Y;
+ if unsure, say N.
Network firewalls
CONFIG_FIREWALL
A firewall is a computer which protects a local network from the
- rest of the World: all traffic to and from computers on the local
- net is inspected by the firewall first. If you want to configure
- your Linux box as a firewall for a local network, say Y here. If
- your local network is TCP/IP based, you will have to say Y to "IP:
- firewalling", below. You also need to say Y here and enable "IP
- firewalling" below in order to be able to use IP masquerading
- (i.e. local computers can chat with an outside host, but that
- outside host is made to think that it is talking to the firewall
- box. Makes the local network completely invisible and avoids the
- need to allocate valid IP host addresses for the machines on the
- local net) or to use the ip packet accounting to see what is using
- all your network bandwidth. Chances are that you should use this on
- any machine being run as a router and not on a host. If unsure, say
- N.
+ rest of the world: all traffic to and from computers on the local
+ net is inspected by the firewall first, and sometimes blocked. If
+ you want to configure your Linux box as a firewall for a local
+ network, say Y here. If your local network is TCP/IP based, you will
+ then also have to say Y to "IP: firewalling", below.
+ You also need to say Y here and say Y to "IP firewalling" below in
+ order to be able to use IP masquerading (i.e. local computers can
+ chat with an outside host, but that outside host is made to think
+ that it is talking to the firewall box -- makes the local network
+ completely invisible and avoids the need to allocate valid IP host
+ addresses for the machines on the local net) and IP packet
+ accounting (keeping track of what is using all your network
+ bandwidth) and IP transparent proxying (makes the computers on the
+ local network think they're talking to a remote computer, while in
+ reality the traffic is redirected by your Linux firewall to a local
+ proxy server). Chances are that you should use this on every machine
+ being run as a router and not on any regular host. If unsure, say N.
+
+Socket Security API Support (EXPERIMENTAL)
+CONFIG_NET_SECURITY
+ Enable use of the socket security API. Note that Linux does not include
+ any security protocols currently and that this option only really supports
+ security on IPv4 links at the moment.
+
+Socket Security API Support (EXPERIMENTAL)
+CONFIG_NET_SECURITY
+ Enable use of the socket security API. Note that Linux does not include
+ any security protocols currently and that this option only really supports
+ security on IPv4 links at the moment.
Sun floppy controller support
CONFIG_BLK_DEV_SUNFD
@@ -452,7 +562,7 @@ CONFIG_ALPHA_AVANTI
choices:
** Avanti: This is for Mustang (AS200), M3 (AS250), Avanti (AS400)
and XL (a.k.a. "Windows NT Dream Machine" :-) AlphaStations.
- These usually come with a TGA graphics adaptor, so you'll want to
+ These usually come with a TGA graphics adapter, so you'll want to
say Y to "TGA Console support", below, if you have one of these.
** Jensen: a.k.a. DEC 2000 a.k.a. DECpc AXP 150, the oldest Alpha
PC; it sports an EISA bus. The boot process on Jensen machines is
@@ -477,79 +587,98 @@ CONFIG_ALPHA_XL
Machine") (as opposed to Mustang (AS200), M3 (AS250) or Avanti
(AS400)), say Y, otherwise N.
-Limit memory to low 16MB
-CONFIG_MAX_16M
- This is for some buggy motherboards which cannot properly deal with
- the memory above 16MB. If you have more than 16MB of RAM and
- experience weird problems, you might want to try Y, everyone else
- says N. Note for machines with more that 64MB of RAM: in order for
- the kernel to be able to use the memory above 64MB, pass the command
- line option "mem=XXXM" (where XXX is the memory size in megabytes)
- to your kernel during boot time. See the documentation of your boot
- loader (lilo or loadlin) about how to pass options to the
- kernel. The lilo procedure is also explained in the SCSI-HOWTO,
- available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. You also need at least 512kB
- of RAM cache if you have more than 64MB of RAM. Some other things
- to try when experiencing seemingly random, "weird" problems: 1)
- passing the "no-hlt" option to the kernel 2) passing the "no-387"
- option to the kernel 3) passing the "mem=4M" option to the kernel
- (thereby disabling all but the first 4M of RAM) 4) disabling the
- cache from your BIOS settings 5) exchanging RAM chips 6) exchanging
- the motherboard.
-
Using SRM as bootloader
CONFIG_ALPHA_SRM
There are two different types of booting firmware on Alphas: SRM,
which is command line driven, and ARC, which uses menus and arrow
keys. The usual way to load Linux on an Alpha machine is to use MILO
(a bootloader that lets you pass command line parameters to the
- kernel just like LILO does) which can be loaded either from ARC or
- can be installed directly as a permanent firmware replacement from
- floppy (which requires changing a certain jumper on the
- motherboard). If you want to do either of these, say N here. If MILO
- doesn't work on your system (true for Jensen motherboards), you can
- bypass it altogether and boot Linux directly from an SRM console;
- say Y here in order to do that. Note that you won't be able to boot
- from an IDE disk using SRM. If unsure, say N. Details about the
- Linux/Alpha booting process are contained in the Linux/Alpha FAQ,
- accessible on the WWW from http://www.azstarnet.com/~axplinux/ (To
- browse the WWW, you need to have access to a machine on the Internet
- that has one of the programs lynx, netscape or Mosaic).
+ kernel just like lilo does for the 386 architecture) which can be
+ loaded either from ARC or can be installed directly as a permanent
+ firmware replacement from floppy (which requires changing a certain
+ jumper on the motherboard). If you want to do either of these, say N
+ here. If MILO doesn't work on your system (true for Jensen
+ motherboards), you can bypass it altogether and boot Linux directly
+ from an SRM console; say Y here in order to do that. Note that you
+ won't be able to boot from an IDE disk using SRM. If unsure, say
+ N. Details about the Linux/Alpha booting process are contained in
+ the Linux/Alpha FAQ, accessible on the WWW from
+ http://www.azstarnet.com/~axplinux/ (To browse the WWW, you need to
+ have access to a machine on the Internet that has one of the
+ programs lynx, netscape or Mosaic).
-Echo console messages on /dev/ttyS1
-CONFIG_SERIAL_ECHO
- If you enable this option, all kernel messages that would usually go
- to the console will also be sent to the device /dev/ttyS1 which
- corresponds to a serial port; this could be useful if you attached
- a terminal or printer to that port.
+Non-standard serial port support
+CONFIG_SERIAL_NONSTANDARD
+ Say Y here if you have any non-standard serial boards --- boards
+ which aren't supported using the standard "dumb" serial driver.
+ This includes intelligent serial boards such as Cyclades,
+ Digiboards, etc. These are usually used for systems that need many
+ serial ports because they serve many terminals or dial-in
+ connections. Note that the answer to this question won't directly
+ affect the kernel: saying N will just cause this configure script to
+ skip all the questions about non-standard serial boards. Most people
+ can say N here.
+
+Extended dumb serial driver options
+CONFIG_SERIAL_EXTENDED
+ If you wish to use any non-standard features of the standard "dumb"
+ driver, say Y here. This includes HUB6 support, shared serial
+ interrupts, special multiport support, support for more than the
+ four COM 1/2/3/4 boards, etc. Note that the answer to this question
+ won't directly affect the kernel: saying N will just cause this
+ configure script to skip all the questions about serial driver
+ options. If unsure, say N.
+
+Support more than 4 serial ports
+CONFIG_SERIAL_MANY_PORTS
+ Enable this option if you have dumb serial boards other than the
+ four standard COM 1/2/3/4 ports. This may happen if you have an AST
+ FourPort, Accent Async, Boca, or other custom serial port hardware
+ which acts similar to standard serial port hardware. If you only
+ use the standard COM 1/2/3/4 ports, you can say N here to save some
+ memory.
+
+Support for sharing serial interrupts
+CONFIG_SERIAL_SHARE_IRQ
+ Some serial boards have hardware support which allows multiple dumb
+ serial ports on the same board to share a single IRQ. To enable
+ support for this in the serial driver, say Y here.
+
+Support special multiport boards
+CONFIG_SERIAL_MULTIPORT
+ Some multiport serial ports have special ports which are used to
+ signal when there are any serial ports on the board which need
+ servicing. Say Y here to enable the serial driver to take advantage
+ of those special I/O ports.
+
+Support the Bell Technologies HUB6 card
+CONFIG_HUB6
+ Say Y here to enable support in the dumb serial driver to support
+ the HUB6 card.
TGA Console Support
CONFIG_TGA_CONSOLE
Many Alpha systems (e.g the Multia) are shipped with a graphics card
that implements the TGA interface (much like the VGA standard, but
- older TGA adaptors are *not* VGA compatible). On such systems, this
- option needs to be enabled so that the TGA driver rather than the
- standard VGA driver is used. Note that, at this time, there is no X
- server for these systems. If unsure, try N.
+ older TGA adapters are *not* VGA compatible). On such systems, you
+ should say Y here so that the TGA driver rather than the standard
+ VGA driver is used. Note that, at this time, there is no X server
+ for these systems. If unsure, try N.
PCI bios support
CONFIG_PCI
Find out whether you have a PCI motherboard. PCI is the name of a
bus system, i.e. the way the CPU talks to the other stuff inside
your box. Other bus systems are ISA, EISA, Microchannel (MCA) or
- VESA. If you have PCI, say Y, otherwise N. Note1: MCA systems
- (notably some IBM PS/2's) are not supported by the standard kernels,
- but patches exist at
- http://www.undergrad.math.uwaterloo.ca/~cpbeaure/mca-linux.html on
- the WWW. Note2: some old PCI motherboards have BIOS bugs and may
- crash if "PCI bios support" is enabled (but they run fine without
- this option). The PCI-HOWTO, available via ftp (user: anonymous) in
+ VESA. If you have PCI, say Y, otherwise N. Note: some old PCI
+ motherboards have BIOS bugs and may crash if "PCI bios support" is
+ enabled (but they run fine without this option). The PCI-HOWTO,
+ available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO, contains valuable information
about which PCI hardware does work under Linux and which doesn't.
If some of your PCI devices don't work and you get a warning during
boot time ("man dmesg"), please follow the instructions at the top
- of include/linux/pci.h.
+ of include/linux/pci.h.
PCI bridge optimization (experimental)
CONFIG_PCI_OPTIMIZE
@@ -557,21 +686,20 @@ CONFIG_PCI_OPTIMIZE
certain BIOSes if your computer uses a PCI bus system. This is
recommended; say Y.
-Intel 82371 PIIX (Triton I/II) DMA support
-CONFIG_BLK_DEV_TRITON
- If your PCI system uses an IDE harddrive (as opposed to SCSI, say)
- and includes the Intel 430FX PCI Triton chipset, you will want to
- enable this option to allow use of bus-mastering DMA data transfers.
- Read the comments at the beginning of drivers/block/triton.c. Check
- the file Documentation/Changes for location and latest version of
- the hdparm utility. It is safe to say Y to this question.
+MCA support
+CONFIG_MCA
+ MicroChannel Architecture is found in some IBM PS/2 machines and
+ laptops. It is a bus system similar to PCI or ISA. See
+ Documentation/mca.txt (and especially the web page given there)
+ before attempting to build an MCA bus kernel. Note that this is
+ still experimental code.
System V IPC
CONFIG_SYSVIPC
Inter Process Communication is a suite of library functions and system
calls which let processes (= running programs) synchronize and
exchange information. It is generally considered to be a good thing,
- and some programs won't run unless you enable this. In particular,
+ and some programs won't run unless you say Y here. In particular,
if you want to run the DOS emulator dosemu under Linux (read the
DOSEMU-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO), you'll need to say Y here. You
@@ -579,9 +707,21 @@ CONFIG_SYSVIPC
sunsite.unc.edu:/pub/Linux/docs/man/info.tar.gz (extract with "tar
xzvf filename"). These docs are in the info format which is used to
document GNU software and can be read from within emacs ("Ctrl-h i")
- or with the program info ("man info"). Enabling this option enlarges
+ or with the program info ("man info"). Saying Y here enlarges
your kernel by about 7kB. Just say Y.
+Sysctl support
+CONFIG_SYSCTL
+ The sysctl interface provides a means of dynamically changing certain
+ kernel parameters and variables on the fly without requiring a
+ recompile of the kernel or reboot of the system. The primary interface
+ consists of a system call, but if the /proc filesystem is enabled, a
+ tree of modifiable sysctl entries will be generated beneath the
+ /proc/sys directory. Note that enabling this option will enlarge the
+ kernel by at least 8kB. As it is generally a good thing, you probably
+ want to say Y here unless building a kernel for install/rescue disks
+ or your system is very limited in memory.
+
Kernel support for ELF binaries
CONFIG_BINFMT_ELF
ELF (Executable and Linkable Format) is a format for libraries and
@@ -603,21 +743,9 @@ CONFIG_BINFMT_ELF
file Documentation/Changes for location and latest version). If you
want to compile this as a module ( = code which can be inserted in
and removed from the running kernel whenever you want), say M here
- and read Documentation/modules.txt. Saying M or N here is dangerous
- because some crucial programs on your system might be in ELF format.
-
-Compile kernel as ELF - if your GCC is ELF-GCC
-CONFIG_KERNEL_ELF
- The gcc version 2.7.0 and newer produces the new ELF binary format
- as default. If you have such a compiler (try "gcc -v"), say Y here,
- otherwise N.
- It is possible, albeit almost pointless, to compile the kernel in
- a.out (i.e. QMAGIC) format even if your compiler produces ELF as
- default. For that, you would have to say N here and change the
- variables LD and CC in the toplevel Makefile. Similarly, if your
- compiler produces a.out by default but is able to produce ELF, you
- can compile the kernel in ELF by saying Y here and editing the
- variables CC and LD in the toplevel Makefile.
+ and read Documentation/modules.txt. The module will be called
+ binfmt_elf.o. Saying M or N here is dangerous because some crucial
+ programs on your system might be in ELF format.
Kernel support for A.OUT binaries
CONFIG_BINFMT_AOUT
@@ -632,47 +760,66 @@ CONFIG_BINFMT_AOUT
wish to ensure that absolutely none of your programs will use this
older executable format. If you don't know what to answer at this
point then answer Y. If someone told you "You need a kernel with
- QMAGIC support" then you'll have to say Y here. You may answer M
- to compile a.out support as a module and later load the module when
- you want to use a program or library in a.out format. Saying M or N
- here is dangerous though, because some crucial programs on your
- system might still be in A.OUT format.
+ QMAGIC support" then you'll have to say Y here. You may answer M to
+ compile a.out support as a module and later load the module when you
+ want to use a program or library in a.out format. The module will be
+ called binfmt_aout.o. Saying M or N here is dangerous though,
+ because some crucial programs on your system might still be in A.OUT
+ format.
Kernel support for JAVA binaries
CONFIG_BINFMT_JAVA
- JAVA is an object oriented programming language developed by SUN;
- JAVA programs are compiled into "JAVA bytecode" which can then be
- interpreted by run time systems on many different operating systems.
- These JAVA binaries are becoming a universal executable format. This
- option allows you to run a Java binary just like any other Linux
- program: by typing in its name. As more and more Java programs
- become available, the use for this will gradually increase. You can
- even execute HTML files containing JAVA applets (= JAVA binaries) if
- those files start with the string "<!--applet-->". If you want to
- use this, read Documentation/java.txt and the Java on Linux HOWTO,
- available via ftp (user: anonymous) at
+ JAVA(tm) is an object oriented programming language developed by
+ SUN; JAVA programs are compiled into "JAVA bytecode" binaries which
+ can then be interpreted by run time systems on many different
+ operating systems. These JAVA binaries are becoming a universal
+ executable format. If you want to execute JAVA binaries, read the
+ Java on Linux HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. You will then need to install
the run time system contained in the Java Developers Kit (JDK) as
- described in the HOWTO. If you disable this option it will reduce
+ described in the HOWTO. This is completely independent of the Linux
+ kernel and you do NOT need to say Y here for this to work.
+ Saying Y here allows you to execute a JAVA bytecode binary just like
+ any other Linux program: by simply typing in its name. (You also
+ need to have the JDK installed for this to work). As more and more
+ Java programs become available, the use for this will gradually
+ increase. You can even execute HTML files containing JAVA applets (=
+ JAVA binaries) if those files start with the string
+ "<!--applet-->". If you want to use this, say Y here and read
+ Documentation/java.txt. If you disable this option it will reduce
your kernel by about 4kB. This is not much and by itself does not
warrant removing support. However its removal is a good idea if you
- do not have the JDK installed. If you don't know what to answer at
- this point then answer Y. You may answer M for module support and
- later load the module when you install the JDK or find an interesting
- Java program that you can't live without.
+ do not have the JDK installed. You may answer M for module support
+ and later load the module when you install the JDK or find an
+ interesting Java program that you can't live without. The module
+ will be called binfmt_java.o. If you don't know what to answer at
+ this point then answer Y.
Processor type
CONFIG_M386
- This is the processor type of your CPU. It is used for optimizing
- purposes. In order to compile a kernel that can run on all CPU types
- (albeit not optimally fast), you can specify "386" here. If you
- specify "486" or "Pentium" or "PPro", then the kernel will run on
- 486 and Pentium (=586) and Pentium Pro (=686) CPUs. In rare cases,
- it can make sense to specify "Pentium" even if running a 486: the
- kernel will be smaller but slower. On the other hand, if you use a
- compiler before gcc 2.7 (say "gcc -v" to find out), then you have to
- say "386" or "486" here even if running on a Pentium or PPro
- machine. If you don't know what to do, say "386".
+ This is the processor type of your CPU. This information is used for
+ optimizing purposes. In order to compile a kernel that can run on
+ all Intel CPU types (albeit not optimally fast), you can specify
+ "386" here. If you specify one of "486" or "Pentium" or "PPro",
+ then the kernel will run on all of these CPUs: 486 and Pentium
+ (=586) and Pentium Pro (=686). In rare cases, it can make sense to
+ specify "Pentium" even if running on a 486: the kernel will be
+ smaller but slower. If you don't know what to do, say "386".
+
+Video mode selection support
+CONFIG_VIDEO_SELECT
+ This enables support for text mode selection on kernel startup. If
+ you want to take advantage of some high-resolution text mode your
+ card's BIOS offers, but the traditional Linux utilities like
+ SVGATextMode don't, you can say Y here and set the mode using the
+ "vga=" option from your boot loader (lilo or loadlin) or set
+ "vga=ask" which brings up a video mode menu on kernel startup. Try
+ "man bootparam" or see the documentation of your boot loader about
+ how to pass options to the kernel. The lilo procedure is also
+ explained in the SCSI-HOWTO, available via ftp (user: anonymous) in
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. Read Documentation/svga.txt
+ for more information about the Video mode selection support. If
+ unsure, say N.
Compile the kernel into the ELF object format
CONFIG_ELF_KERNEL
@@ -695,6 +842,23 @@ CONFIG_CPU_LITTLE_ENDIAN
be necessary to run older Mips systems, such as the Sony News and
MIPS RC3xxx, in big endian mode.
+Plug and Play support
+CONFIG_PNP
+ Plug and Play support allows the kernel to automatically configure some
+ peripheral devices. Say Y to enable PnP.
+
+Parallel-port support
+CONFIG_PNP_PARPORT
+ If you want to use devices connected to your parallel port (printer,
+ Zip driver, PLIP link, ...) then you should enable this option and
+ read Documentation/parport.txt.
+
+Autoprobe for parallel device IDs
+CONFIG_PNP_PARPORT_AUTOPROBE
+ Some IEEE-1284 conformant parallel-port devices can identify themselves
+ when requested. If this option is enabled the kernel will probe to see
+ what devices are connected at boot time.
+
Enable loadable module support
CONFIG_MODULES
Kernel modules are small pieces of compiled code which can be
@@ -708,7 +872,7 @@ CONFIG_MODULES
Set version information on all symbols for modules
CONFIG_MODVERSIONS
Usually, modules have to be recompiled whenever you switch to a new
- kernel. Enabling this option makes it possible, and safe, to use the
+ kernel. Saying Y here makes it possible, and safe, to use the
same modules even after compiling a new kernel; this requires the
program modprobe. All the software needed for module support is in
the modules package (check the file Documentation/Changes for
@@ -727,12 +891,12 @@ CONFIG_KERNELD
use it. If you select Y here, the kernel will take care of this all
by itself, together with the user level daemon "kerneld". Note that
"kerneld" will also automatically unload all unused modules, so you
- don't have to use "rmmod" either.
- kerneld will also provide support for different user-level beeper
- and screen blanker programs later on.
- The "kerneld" daemon is included in the package "modules-1.2.8" and
- later. You will probably want to read the kerneld mini-HOWTO,
- available via ftp (user: anonymous) from
+ don't have to use "rmmod" either. kerneld will also provide support
+ for different user-level beeper and screen blanker programs later
+ on. The "kerneld" daemon is included in the modules package (check
+ Documentation/Changes for latest version and location). You will
+ probably want to read the kerneld mini-HOWTO, available via ftp
+ (user: anonymous) from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini. If unsure, say Y.
ARP daemon support (EXPERIMENTAL)
@@ -745,12 +909,12 @@ CONFIG_ARPD
resolution (ARP) cache inside the kernel works well. However,
maintaining an internal ARP cache does not work well for very large
switched networks, and will use a lot of kernel memory if TCP/IP
- connections are made to many machines on the network. By enabling
- this option, the kernel's internal ARP cache will never grow to more
- than 256 entries (the oldest entries are expired in a LIFO manner)
- and communication will be attempted with an external ARP daemon,
- arpd. This code is still experimental. If you do enable arpd
- support, you should obtain a copy of arpd from
+ connections are made to many machines on the network. By saying Y
+ here, the kernel's internal ARP cache will never grow to more than
+ 256 entries (the oldest entries are expired in a LIFO manner) and
+ communication will be attempted with an external ARP daemon, arpd.
+ This code is still experimental. If you do say Y here, you
+ should obtain a copy of arpd from
http://www.loran.com/~layes/arpd/index.html. If unsure, say N.
TCP/IP networking
@@ -768,41 +932,6 @@ CONFIG_INET
on sunsite.unc.edu:/pub/Linux/docs/HOWTO). Short answer:
say Y.
-IP: forwarding/gatewaying
-CONFIG_IP_FORWARD
- People who want to use their Linux box as the router for a local
- network (i.e. the computer responsible for distributing Internet
- traffic to and from the machines in the local network and the
- subnetworks) should say Y here (thereby enlarging their kernel by
- about 5 kB). Note that in this case, you possibly have two ethernet
- devices in your computer: one for the "outside world" and one for
- your local net. The kernel is not able to recognize both at boot
- time without help; for details read the
- Multiple-Ethernet-mini-HOWTO, available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini. If your box is
- connected to two networks, it may still make sense to say N here,
- namely if you want to turn your box into a firewall protecting a
- local network from the internet. The Firewall-HOWTO tells you how to
- do this. If your setup is more complex, say you are connected to
- three networks and you want to act as a firewall between two of them
- and route traffic for the others, you need to say Y here and enable
- IP firewalling below. If you intend to use IP masquerading (i.e. IP
- traffic from one of the local computers and destined for an outside
- host is changed by your box so that it appears to come from you),
- you'll have to say Y here and also to IP firewalling and IP
- masquerading below. You should also say Y here if you want to
- configure your box as a SLIP (the protocol for sending internet
- traffic over telephone lines) or PPP (a better SLIP) server for
- other people to dial into and your box is connected to a local
- network at the same time. You would then most likely use proxy-ARP
- (Address Resolution Protocol), explained in the Proxy-Arp mini howto
- on sunsite in /pub/Linux/docs/HOWTO/mini. You also need to say Y
- here if you want to run mrouted in order to do multicast routing as
- used on the MBONE (a high bandwidth network on top of the internet
- which carries audio and video broadcasts) for example. In this case,
- say Y to "IP: multicasting" and "IP: multicast routing" as well. If
- unsure, say N.
-
IP: multicasting
CONFIG_IP_MULTICAST
This is code for addressing several networked computers at once,
@@ -833,39 +962,41 @@ CONFIG_IP_FIREWALL
about 2kB. You may need to read the FIREWALL-HOWTO, available via
ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. Also, you will need the
- ipfwadm tool (check the file Documentation/Changes for location and
- latest version) to allow selective blocking of internet traffic
- based on type, origin and destination. You need to enable IP
- firewalling in order to be able to use IP masquerading (i.e. local
- computers can chat with an outside host, but that outside host is
- made to think that it is talking to the firewall box. Makes the
- local network completely invisible and avoids the need to allocate
- valid IP host addresses for the machines on the local net) or to use
- the IP packet accounting to see what is using all your network
- bandwidth. This option is also needed when you want to enable the
- transparent proxying support (makes the computers on the local
- network think they're talking to a remote computer, while in reality
- the traffic is redirected by your Linux firewall to a local proxy
- server).
+ ipfwadm tool (available via ftp (user: anonymous) from
+ ftp.xos.nl/pub/linux/ipfwadm/) to allow selective blocking of
+ internet traffic based on type, origin and destination. You need to
+ say Y to "IP firewalling" in order to be able to use IP masquerading
+ (i.e. local computers can chat with an outside host, but that
+ outside host is made to think that it is talking to the firewall box
+ -- makes the local network completely invisible and avoids the need
+ to allocate valid IP host addresses for the machines on the local
+ net) and IP packet accounting (keeping track of what is using all
+ your network bandwidth) and IP transparent proxying (makes the
+ computers on the local network think they're talking to a remote
+ computer, while in reality the traffic is redirected by your Linux
+ firewall to a local proxy server). If unsure, say N.
IP: firewall packet netlink device
CONFIG_IP_FIREWALL_NETLINK
- When packets hit the firewall and are blocked the first 128 bytes of each
- datagram is passed to optional user space monitoring software that can
- then look for attacks and take actions such as paging the administrator of
- the site.
+ If you say Y here and when packets hit your Linux firewall and are
+ blocked, the first 128 bytes of each such packet are passed on to
+ optional user space monitoring software that can then look for
+ attacks and take actions such as paging the administrator of the
+ site. To use this, you need to create a character special file under
+ /dev with major number 36 and minor number 3 using mknod ("man
+ mknod"), and you need (to write) a program that reads from that
+ device and takes appropriate action.
IP: accounting
CONFIG_IP_ACCT
This keeps track of your IP network traffic and produces some
statistics. Usually, you only want to say Y here if your box will be
- a router or a firewall for some local network, in which case you
- naturally should have said Y to IP forwarding/gatewaying resp. IP
- firewalling. The data is accessible with "cat /proc/net/ip_acct", so
- you want to say Y to the /proc filesystem below, if you say Y
- here. To specify what exactly should be recorded, you need the tool
- ipfwadm (check the file Documentation/Changes for location and
- latest version).
+ a router or a firewall for some local network. For the latter, you
+ need to say Y to IP firewalling. The data is accessible with "cat
+ /proc/net/ip_acct", so you want to say Y to the /proc filesystem
+ below, if you say Y here. To specify what exactly should be
+ recorded, you need the tool ipfwadm (available via ftp (user:
+ anonymous) from ftp.xos.nl/pub/linux/ipfwadm/).
IP: tunneling
CONFIG_NET_IPIP
@@ -877,11 +1008,12 @@ CONFIG_NET_IPIP
appear on a different network than it physically is, or to use
mobile-IP facilities (allowing laptops to seamlessly move between
networks without changing their IP addresses; check out
- http://anchor.cs.binghamton.edu/~mobileip/LJ/index.html). Enabling
- this option will produce two modules ( = code which can be inserted
- in and removed from the running kernel whenever you want), one
- encapsulator and one decapsulator. You can read details in
- drivers/net/README.tunnel. Most people can say N.
+ http://anchor.cs.binghamton.edu/~mobileip/LJ/index.html). Saying Y
+ to this option will produce two modules ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ one encapsulator called tunnel.o and one decapsulator called
+ ipip.o. You can read details in drivers/net/README.tunnel. Most
+ people won't need this and can say N.
IP: firewall packet logging
CONFIG_IP_FIREWALL_VERBOSE
@@ -889,7 +1021,7 @@ CONFIG_IP_FIREWALL_VERBOSE
packets it received. The information is handled by the klogd demon
which is responsible for kernel messages ("man klogd").
-IP: transparent proxying (EXPERIMENTAL)
+IP: transparent proxying
CONFIG_IP_TRANSPARENT_PROXY
This enables your Linux firewall to transparently redirect any
network traffic originating from the local network and destined
@@ -900,27 +1032,32 @@ CONFIG_IP_TRANSPARENT_PROXY
rules (using the ipfwadm utility) and/or by doing an appropriate
bind() system call.
-IP: masquerading (EXPERIMENTAL)
+IP: masquerading
CONFIG_IP_MASQUERADE
If one of the computers on your local network for which your Linux
box acts as a firewall wants to send something to the outside, your
- box can "masquerade" as that host, i.e. it forwards the traffic to
- the intended destination, but makes it look like it came from the
- firewall box itself. It works both ways: if the outside host
- answers, the firewall will silently forward the traffic to the
- corresponding local computer. This way, the computers on your local
- net are completely invisible to the outside world, even though they
- can reach the outside and can be reached. This makes it possible to
- have the computers on the local network participate on the internet
- even if they don't have officially registered IP addresses. (This
- last problem can also be solved by connecting the Linux box to the
- Internet using SLiRP [SLiRP is a SLIP/PPP emulator that works if you
- have a regular dial up shell account on some UNIX computer; get it
- from ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/].)
- Details on how to set things up are contained in the
- IP Masquerading FAQ, available at http://www.indyramp.com/masq/
- This is EXPERIMENTAL code, which means that it need not be completely
- stable. If you want this, say Y.
+ box can "masquerade" as that computer, i.e. it forwards the traffic
+ to the intended outside destination, but makes it look like it came
+ from the firewall box itself. It works both ways: if the outside
+ host replies, the Linux firewall will silently forward the traffic
+ to the corresponding local computer. This way, the computers on your
+ local net are completely invisible to the outside world, even though
+ they can reach the outside and can be reached. This makes it
+ possible to have the computers on the local network participate on
+ the internet even if they don't have officially registered IP
+ addresses. (This last problem can also be solved by connecting the
+ Linux box to the Internet using SLiRP [SLiRP is a SLIP/PPP emulator
+ that works if you have a regular dial up shell account on some UNIX
+ computer; get it via ftp (user: anonymous) from
+ ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/].) Details
+ on how to set things up are contained in the IP Masquerading FAQ,
+ available at http://www.indyramp.com/masq/. If you say Y here, then
+ the modules ip_masq_ftp.o (for ftp transfers through the firewall),
+ ip_masq_irc.o (for irc chats through the firewall), and
+ ip_masq_raudio.o (for realaudio downloads through the firewall) will
+ automatically be compiled. Modules are pieces of code which can be
+ inserted in and removed from the running kernel whenever you want;
+ read Documentation/modules.txt for details.
IP: always defragment
CONFIG_IP_ALWAYS_DEFRAG
@@ -929,26 +1066,26 @@ CONFIG_IP_ALWAYS_DEFRAG
that the IP packets were too large and cut them in pieces) will be
reassembled (defragmented) before being processed, even if they are
about to be forwarded. This option is highly recommended if you
- have enabled the masquerading support (CONFIG_IP_MASQUERADE),
- because this facility requires that second and further fragments can
- be related to TCP or UDP port numbers, which are only stored in the
- first fragment. When using IP firewall support
- (CONFIG_IP_FIREWALL), you might also want to enable this option, to
+ have said Y to "IP: masquerading" because that facility requires
+ that second and further fragments can be related to TCP or UDP port
+ numbers, which are only stored in the first fragment. When using
+ "IP: firewalling" support , you might also want to say Y here, to
have a more reliable firewall (otherwise second and further
- fragments will always be accepted by the firewall). When using
- transparent proxying (CONFIG_IP_TRANSPARENT_PROXY), this option is
- implicit, although it is safe to say Y here. Do not say Y to this
- option except when running either a firewall that is the sole link
- to your network or a transparent proxy. Never ever say Y to this for
- a normal router or host.
+ fragments will always be accepted by the firewall). When using "IP:
+ transparent proxying", this option is implicit, although it is safe
+ to say Y here. Do not say Y to this option except when running
+ either a firewall that is the sole link to your network or a
+ transparent proxy. Never ever say Y to this for a normal router or
+ host.
IP: aliasing support
CONFIG_IP_ALIAS
- Sometimes it is useful to give several addresses to a single network
- interface (= serial port or ethernet card). The most common case is
- that you want to serve different WWW documents to the outside
- according to which of your host names they used to connect to
- you. This is explained in detail on the WWW at
+ Sometimes it is useful to give several IP addresses to a single
+ physical network interface (= serial port or ethernet card). The
+ most common case is that you want to serve different WWW or ftp
+ documents to the outside according to which of your host names was
+ used to connect to you. This is called "multihosting" or "virtual
+ domains" and is explained in detail on the WWW at
http://www.thesphere.com/~dlp/TwoServers/ (to browse the WWW, you
need to have access to a machine on the Internet that has one of the
programs lynx, netscape or Mosaic). Another scenario would be that
@@ -958,7 +1095,7 @@ CONFIG_IP_ALIAS
syntax explained in Documentation/networking/alias.txt. If you want
this, say Y. Most people don't need it and say N.
-IP: multicast routing (EXPERIMENTAL)
+IP: multicast routing
CONFIG_IP_MROUTE
This is used if you want your machine to act as a router for IP
packets that have several destination addresses. It is needed on the
@@ -973,8 +1110,8 @@ PC/TCP compatibility mode
CONFIG_INET_PCTCP
If you have been having difficulties telneting to your Linux machine
from a DOS system that uses (broken) PC/TCP networking software (all
- versions up to OnNet 2.0) over your local ethernet try enabling this
- option. Everyone else says N. People having problems with NCSA telnet
+ versions up to OnNet 2.0) over your local ethernet try saying Y
+ here. Everyone else says N. People having problems with NCSA telnet
should see the file linux/Documentation/networking/ncsa-telnet.
Reverse ARP
@@ -996,8 +1133,9 @@ CONFIG_INET_RARP
http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html for details. If
you want to compile RARP support as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
- say M here and read Documentation/modules.txt. If you don't
- understand a word of the above, say N and rest in peace.
+ say M here and read Documentation/modules.txt. The module will be
+ called rarp.o. If you don't understand a word of the above, say N
+ and rest in peace.
Assume subnets are local
CONFIG_INET_SNARL
@@ -1014,10 +1152,22 @@ CONFIG_NO_PATH_MTU_DISCOVERY
sending very small chunks, we start out sending big ones and if we
then discover that some host along the way likes its chunks smaller,
we adjust to a smaller size. This is good, so most people say
- N. However, some versions of DOS NCSA telnet (and other software)
+ N here. However, some versions of DOS NCSA telnet (and other software)
are broken and can only connect to your Linux machine if you say Y
- here. See also Documentation/networking/ncsa-telnet for the location
- of fixed NCSA telnet clients.
+ here. See Documentation/networking/ncsa-telnet for the location
+ of fixed NCSA telnet clients. If in doubt, say N.
+
+Path MTU Discovery (normally enabled)
+CONFIG_PATH_MTU_DISCOVERY
+ MTU (maximal transfer unit) is the size of the chunks we send out
+ over the net. "Path MTU Discovery" means that, instead of always
+ sending very small chunks, we start out sending big ones and if we
+ then discover that some host along the way likes its chunks smaller,
+ we adjust to a smaller size. This is good, so most people say
+ Y here. However, some versions of DOS NCSA telnet (and other software)
+ are broken and can only connect to your Linux machine if you say N
+ here. See Documentation/networking/ncsa-telnet for the location
+ of fixed NCSA telnet clients. If in doubt, say Y.
Disable NAGLE algorithm (normally enabled)
CONFIG_TCP_NAGLE_OFF
@@ -1054,6 +1204,23 @@ CONFIG_SKB_LARGE
a second or satellite links this option will make no difference to
performance.
+The IPv6 protocol
+CONFIG_IPV6
+ This is experimental support for the next version of the Internet
+ Protocol IP version 6 (also called IPng "IP next
+ generation"). Features of this new protocol include: expanded
+ address space, authentication and privacy, and seamless
+ interoperability with the current version of IP. For general
+ information about IPv6, see
+ http://playground.sun.com/pub/ipng/html/ipng-main.html; for specific
+ information about IPv6 under Linux read the HOWTO at
+ http://www.terra.net/ipv6/ and the file net/ipv6/README in the
+ kernel source. The IPv6 support is also available as a module ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want). The module will be called ipv6.o. If you want to
+ compile it as a module, say M here and read
+ Documentation/modules.txt. It's safe to say N for now.
+
The IPX protocol
CONFIG_IPX
This is support for the Novell networking protocol, IPX, commonly
@@ -1071,36 +1238,56 @@ CONFIG_IPX
IPX-HOWTO in sunsite.unc.edu:/pub/Linux/docs/howto. The IPX driver
would enlarge your kernel by about 5 kB. This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt.
- Unless you want to integrate your Linux box with a local Novell
- network, say N.
+ from the running kernel whenever you want). The module will be
+ called ipx.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt. Unless you want to integrate
+ your Linux box with a local Novell network, say N.
Full internal IPX network
CONFIG_IPX_INTERN
+ Every IPX network has an address that identifies it. Sometimes it is
+ useful to give an IPX "network" address to your Linux box as well
+ (for example if your box is acting as a fileserver for different IPX
+ networks: it will then be accessible form everywhere using the same
+ address). The way this is done is to create a virtual internal
+ "network" inside your box and to assign an IPX address to this
+ network. Say Y here if you want to do this; read the IPX-HOWTO at
+ sunsite.unc.edu:/pub/Linux/docs/howto for details.
The full internal IPX network enables you to allocate sockets on
different virtual nodes of the internal network. This is done by
- evaluating the field sipx_node of the socket address given to the bind
- call. So applications should always initialize the node field to 0
- when binding a socket on the primary network. In this case the socket
- is assigned the default node that has been given to the kernel when
- the internal network was created.
- By enabling the full internal IPX network the cross-forwarding of
- packets targeted at 'special' sockets to sockets listening on the
- primary network is disabled. This might break existing applications,
- especially RIP/SAP daemons. A RIP/SAP daemon that works well with the
- full internal net can be found on ftp.gwdg.de:/pub/linux/misc/ncpfs.
- If you don't know what you are doing, say N.
+ evaluating the field sipx_node of the socket address given to the
+ bind call. So applications should always initialize the node field
+ to 0 when binding a socket on the primary network. In this case the
+ socket is assigned the default node that has been given to the
+ kernel when the internal network was created. By enabling the full
+ internal IPX network the cross-forwarding of packets targeted at
+ 'special' sockets to sockets listening on the primary network is
+ disabled. This might break existing applications, especially RIP/SAP
+ daemons. A RIP/SAP daemon that works well with the full internal net
+ can be found on ftp.gwdg.de:/pub/linux/misc/ncpfs. If you don't
+ know what you are doing, say N.
+
+IPX Type 20 Routing
+CONFIG_IPX_PPROP_ROUTING
+ IPX Type 20 packets are special broadcast messages designed to work
+ across routers. If you are using an internal network, have multiple
+ interfaces that route IPX, or will want to route IPX connections over
+ ppp to internal networks, setting this will allow the type 20 packets
+ to be propagated to all connected networks. These packets are used by
+ Novell NETBIOS and the NETBIOS name functions of SMB protocols that
+ work over IPX (e.g. the "Network Neighborhood" on another popular OS
+ cum GUI). In brief, if your Linux box needs to route IPX packets,
+ this should be set to Y.
Appletalk DDP
CONFIG_ATALK
Appletalk is the way Apple computers speak to each other on a
network. EtherTalk is the name used for appletalk over ethernet and
- Localtalk is appletalk over the apple serial links. If your linux box
- is connected to such a network and you want to join the conversation,
- say Y. You will need to use the netatalk package so that your Linux
- box can act as a print and file server for macs as well as access
- appletalk printers. Check out
+ Localtalk is appletalk over the apple serial links. If your linux
+ box is connected to such a network and you want to join the
+ conversation, say Y. You will need to use the netatalk package so
+ that your Linux box can act as a print and file server for macs as
+ well as access appletalk printers. Check out
http://artoo.hitchcock.org/~flowerpt/projects/linux-netatalk/ on the
WWW for details (to browse the WWW, you need to have access to a
machine on the Internet that has one of the programs lynx, netscape
@@ -1108,13 +1295,32 @@ CONFIG_ATALK
sunsite.unc.edu:/pub/Linux/docs/HOWTO contains valuable information
as well. This driver is also available as a module ( = code which
can be inserted in and removed from the running kernel whenever you
- want). If you want to compile it as a module, say M here and read
- Documentation/modules.txt. I hear that the GNU boycott of Apple is
- over, so even politically correct people are allowed to say Y here.
- At the time the kernel is released the localtalk drivers are not
- yet ready to ship. The kernel however supports localtalk and when
- such drivers become available all you will need to do is download
- and install the localtalk driver.
+ want). The module will be called appletalk.o. If you want to compile
+ it as a module, say M here and read Documentation/modules.txt. I
+ hear that the GNU boycott of Apple is over, so even politically
+ correct people are allowed to say Y here. At the time the kernel is
+ released the localtalk drivers are not yet ready to ship. The kernel
+ however supports localtalk and when such drivers become available
+ all you will need to do is download and install the localtalk
+ driver.
+
+IP-over-DDP support
+CONFIG_IPDDP
+ This allows IP networking for users who only have Appletalk
+ networking available. This feature is experimental. Please see
+ http://www.maths.unm.edu/~bradford/ltpc.html for support software.
+
+LocalTalk PC card support
+CONFIG_LTPC
+ This allows you to use the AppleTalk PC card to connect to LocalTalk
+ networks. The card is also known as the Farallon PhoneNet PC card.
+ If you are in doubt, this card is the one with the 65C02 chip on it.
+ You also need version 1.3.3 or later of the netatalk package.
+ This driver is experimental, which means that it may not work.
+ In particular the module support is not yet working for the 2.1.xx
+ kernels, so choose Y or N, but not M for now.
+ See README.ltpc in the drivers/net directory, and the web site
+ http://www.math.unm.edu/~bradford/ltpc.html
Amateur Radio AX.25 Level 2
CONFIG_AX25
@@ -1125,35 +1331,41 @@ CONFIG_AX25
use a low speed TNC (a Terminal Node Controller acts as a kind of
modem connecting your computer's serial port to your radio's
microphone input and speaker output) supporting the KISS protocol or
- the various SCC cards that are supported by the Ottawa PI, the
- Gracilis Packetwin and the generic Z8530 driver. Another option are
- the Baycom modem serial and parallel port hacks (supported by their
- own driver) and the other baycom cards (SCC) (supported by the Z8530
- driver). Information about where to get supporting software for
- Linux amateur radio as well as information about how to configure an
- AX.25 port is contained in the HAM-HOWTO, available via ftp (user:
- anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. You might also
- want to check out the file Documentation/networking/ax25.txt in the
- kernel source. More information about digital amateur radio in
- general is on the WWW at
- http://www.cis.ohio-state.edu/hypertext/faq/usenet/radio/ham-radio/digital-faq/faq.html
- (To browse the WWW, you need to have access to a machine on the
- Internet that has one of the programs lynx, netscape or Mosaic).
+ one of the various SCC cards that are supported by the Ottawa PI,
+ the Gracilis Packetwin or the generic Z8530 driver. Another option
+ are the Baycom modem serial and parallel port hacks or the soundcard
+ modem (supported by their own drivers). If you say Y here, you also
+ have to say Y to one of those drivers. Information about where to
+ get supporting software for Linux amateur radio as well as
+ information about how to configure an AX.25 port is contained in the
+ AX25-HOWTO, available via ftp (user: anonymous) in
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. You might also want to check
+ out the file Documentation/networking/ax25.txt in the kernel
+ source. More information about digital amateur radio in general is
+ on the WWW at http://www.tapr.org/tapr/html/pkthome.html. (To
+ browse the WWW, you need to have access to a machine on the Internet
+ that has one of the programs lynx, netscape or Mosaic). This driver
+ is also available as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want). The module will
+ be called ax25.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt.
Amateur Radio NET/ROM
CONFIG_NETROM
NET/ROM is a network layer protocol on top of AX.25 useful for
routing. A comprehensive listing of all the software for Linux
amateur radio users as well as information about how to configure an
- AX.25 port is contained in the HAM-HOWTO, available via ftp (user:
+ AX.25 port is contained in the AX25-HOWTO, available via ftp (user:
anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. You also might
- also want to check out the file
- Documentation/networking/ax25.txt. More information about digital
- amateur radio in general is on the WWW at
- http://www.cis.ohio-state.edu/hypertext/faq/usenet/radio/ham-radio/digital-faq/faq.html
- (To browse the WWW, you need to have access to a machine on the
- Internet that has one of the programs lynx, netscape or
- Mosaic).
+ want to check out the file Documentation/networking/ax25.txt. More
+ information about digital amateur radio in general is on the WWW at
+ http://www.tapr.org/tapr/html/pkthome.html (To browse the WWW, you
+ need to have access to a machine on the Internet that has one of the
+ programs lynx, netscape or Mosaic). This driver is also available
+ as a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ netrom.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
AX.25 over Ethernet
CONFIG_BPQETHER
@@ -1163,6 +1375,72 @@ CONFIG_BPQETHER
useful if some other computer on your local network has a direct
amateur radio connection.
+Amateur Radio X.25 PLP (Rose)
+CONFIG_ROSE
+ The Packet Layer Protocol (PLP) is a way to route packets over X.25
+ connections in general and amateur radio AX.25 connections in
+ particular, essentially an alternative to NET/ROM. A comprehensive
+ listing of all the software for Linux amateur radio users as well as
+ information about how to configure an AX.25 port is contained in the
+ AX25-HOWTO, available via ftp (user: anonymous) in
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. You also might want to check
+ out the file Documentation/networking/ax25.txt. More information
+ about digital amateur radio in general is on the WWW at
+ http://www.tapr.org/tapr/html/pkthome.html (To browse the WWW, you
+ need to have access to a machine on the Internet that has one of the
+ programs lynx, netscape or Mosaic). This driver is also available
+ as a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ rose.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
+
+CCITT X.25 Packet Layer
+CONFIG_X25
+ X.25 is a set of standardized network protocols, similar in scope to
+ frame relay; the one physical line from your box to the entry point
+ to the X.25 network can carry several logical point-to-point
+ connections (called "virtual circuits") to other computers connected
+ to the X.25 network. Governments, banks, and other organizations
+ tend to use it to connect to each other or to form Wide Area
+ Networks. Many countries have public X.25 networks. X.25 consists
+ of two protocols: the higher level Packet Layer Protocol (PLP) (say
+ Y here if you want that) and the lower level data link layer
+ protocol LAPB (say Y to "LAPB Data Link Driver" below if you want
+ that). You can read more about X.25 at
+ http://www.sangoma.com/x25.html and
+ http://www.cisco.com/univercd/data/doc/software/11_0/rpcg/cx25.htm.
+ Information about X.25 for Linux is contained in the files
+ Documentation/networking/x25.txt and
+ Documentation/networking/x25-iface.txt. One connects to an X.25
+ network either with a dedicated network card using the X.21 protocol
+ (not yet supported by Linux) or one can do X.25 over ethernet using
+ an ordinary ethernet card and either the 802.2 LLC protocol (say Y
+ to "802.2 LLC" below) or LAPB over ethernet (say Y to "LAPB Data
+ Link Driver" and "LAPB over Ethernet driver" below). If you want to
+ compile this driver as a module though ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read Documentation/modules.txt. The module will be
+ called x25.o. If unsure, say N.
+
+LAPB Data Link Driver (EXPERIMENTAL)
+CONFIG_LAPB
+ Link Access Procedure, Balanced (LAPB) is the data link layer part
+ of the X.25 protocol. It offers a reliable connection service to
+ exchange data frames with one other host, and it is used to
+ transport higher level protocols (mostly X.25 Packet Layer, but
+ others are possible as well). If you want to use LAPB connections
+ over ethernet, say Y here and to "LAPB over Ethernet driver" below.
+ Read Documentation/networking/lapb-module.txt for technical details.
+ If you want to compile this driver as a module though ( = code which
+ can be inserted in and removed from the running kernel whenever you
+ want), say M here and read Documentation/modules.txt. The module
+ will be called lapb.o. If unsure, say N.
+
+802.2 LLC (VERY EXPERIMENTAL)
+CONFIG_LLC
+ This is a Logical Link Layer protocol used for X.25 connections over
+ ethernet, using ordinary ethernet cards.
+
Bridging (EXPERIMENTAL)
CONFIG_BRIDGE
If you say Y here, then your Linux box will be able to act as an
@@ -1181,23 +1459,22 @@ CONFIG_BRIDGE
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini. The Bridging code is
still in test. If unsure, say N.
-Kernel/User network link driver (EXPERIMENTAL)
+Kernel/User network link driver
CONFIG_NETLINK
This driver allows for two-way communication between certain parts
of the kernel or modules and user processes; the user processes are
able to read from and write to character special files in the /dev
directory having major mode 36. So far, the kernel uses it to
- publish some network related information if you enable "Routing
- messages", below. Say Y if you want to experiment with it; this is
- EXPERIMENTAL code, which means that it need not be completely stable.
- You need to include this if you want to use arpd, a daemon that
- helps keep the internal ARP cache (a mapping between IP addresses
- and hardware addresses on the local network) small. If unsure, say
- N.
+ publish some network related information if you say Y to "Routing
+ messages", below. It is also used by the firewall code if you say Y
+ to "Kernel/User network link driver" further down. You also need to
+ say Y here if you want to use arpd, a daemon that helps keep the
+ internal ARP cache (a mapping between IP addresses and hardware
+ addresses on the local network) small. If unsure, say N.
Routing messages
CONFIG_RTNETLINK
- If you enable this and create a character special file /dev/route
+ If you say Y here and create a character special file /dev/route
with major number 36 and minor number 0 using mknod ("man mknod"),
you can read some network related routing information from that
file. Everything you write to that file will be discarded.
@@ -1206,16 +1483,19 @@ SCSI support?
CONFIG_SCSI
If you want to use a SCSI harddisk, SCSI tapedrive, SCSI CDROM or
any other SCSI device under Linux, say Y and make sure that you know
- the name of your SCSI host adaptor (the card inside your computer
+ the name of your SCSI host adapter (the card inside your computer
that "speaks" the SCSI protocol), because you will be asked for
it. You also need to say Y here if you want support for the parallel
port version of the 100MB IOMEGA ZIP drive. Please read the
SCSI-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt and
- Documentation/scsi.txt.
+ from the running kernel whenever you want). The module will be
+ called scsi_mod.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt and
+ Documentation/scsi.txt. However, do not compile this as a module if
+ your root filesystem (the one containing the directory /) is located
+ on a SCSI disk.
SCSI disk support
CONFIG_BLK_DEV_SD
@@ -1225,8 +1505,12 @@ CONFIG_BLK_DEV_SD
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This is NOT for SCSI
CDROMs. This driver is also available as a module ( = code which can
be inserted in and removed from the running kernel whenever you
- want). If you want to compile it as a module, say M here and read
- Documentation/modules.txt and Documentation/scsi.txt.
+ want). The module will be called sd_mod.o. If you want to compile it
+ as a module, say M here and read Documentation/modules.txt and
+ Documentation/scsi.txt. Do not compile this driver as a module if
+ your root filesystem (the one containing the directory /) is located
+ on a SCSI disk. In this case, do not compile the driver for your
+ SCSI host adapter (below) as a module either.
SCSI tape support
CONFIG_CHR_DEV_ST
@@ -1235,27 +1519,28 @@ CONFIG_CHR_DEV_ST
sunsite.unc.edu:/pub/Linux/docs/HOWTO and drivers/scsi/README.st in
the kernel source. This is NOT for SCSI CDROMs. This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt and
- Documentation/scsi.txt .
+ from the running kernel whenever you want). The module will be
+ called st.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt and Documentation/scsi.txt .
SCSI CDROM support
CONFIG_BLK_DEV_SR
If you want to use a SCSI CDROM under Linux, say Y and read the
SCSI-HOWTO and the CDROM-HOWTO from
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. Also make sure to enable the
- ISO9660 filesystem later. This driver is also available as a module
- ( = code which can be inserted in and removed from the running
- kernel whenever you want). If you want to compile it as a module,
- say M here and read Documentation/modules.txt and
- Documentation/scsi.txt .
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. Also make sure to say Y to
+ "ISO9660 cdrom filesystem support" later. This driver is also
+ available as a module ( = code which can be inserted in and removed
+ from the running kernel whenever you want). The module will be
+ called sr_mod.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt and Documentation/scsi.txt .
-Enable vendor-specific extentions (for SCSI CDROM)
+Enable vendor-specific extensions (for SCSI CDROM)
CONFIG_BLK_DEV_SR_VENDOR
This enables the usage of vendor specific SCSI commands. This is
- required for some stuff which is newer than the SCSI-II standard,
- most important is the multisession CD support. You'll probably want
- to say y here, unless you have a _real old_ CD-ROM drive.
+ required for some stuff which is newer than the SCSI-II standard:
+ MultiSession CD support and some ioctls for reading Mode 2 Form 2
+ sectors. You'll probably want to say Y here, unless you have a
+ _real old_ CD-ROM drive.
SCSI generic support
CONFIG_CHR_DEV_SG
@@ -1272,153 +1557,187 @@ CONFIG_CHR_DEV_SG
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to compile this
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt and Documentation/scsi.txt.
+ Documentation/modules.txt and Documentation/scsi.txt. The module
+ will be called sg.o. If unsure, say N.
Probe all LUNs on each SCSI device
CONFIG_SCSI_MULTI_LUN
If you have a SCSI device that supports more than one LUN (Logical
- Unit Number), e.g. a CD jukebox, you should say Y here so that all
- will be found by the SCSI driver. An SCSI device with multiple LUNs
- acts logically like multiple SCSI devices. The vast majority of SCSI
- devices have only one LUN, and so most people can say N here and
- should in fact do so, because it is safer.
+ Unit Number), e.g. a CD jukebox, and only one LUN is detected, you
+ can say Y here to force the SCSI driver to probe for multiple LUNs.
+ A SCSI device with multiple LUNs acts logically like multiple SCSI
+ devices. The vast majority of SCSI devices have only one LUN, and
+ so most people can say N here and should in fact do so, because it
+ is safer.
Verbose SCSI error reporting (kernel size +=12K)
CONFIG_SCSI_CONSTANTS
The error messages regarding your SCSI hardware will be easier to
- understand if you enable this; it will enlarge your kernel by about
+ understand if you say Y here; it will enlarge your kernel by about
12KB. If in doubt, say Y.
AdvanSys SCSI support
CONFIG_SCSI_ADVANSYS
- This is a driver for all SCSI host adaptors manufactured by
+ This is a driver for all SCSI host adapters manufactured by
AdvanSys. It is documented in the kernel source in
drivers/scsi/advansys.c. This driver is also available as a module (
= code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
- here and read Documentation/modules.txt.
+ here and read Documentation/modules.txt. The module will be called
+ advansys.o.
Adaptec AHA152X/2825 support
CONFIG_SCSI_AHA152X
This is support for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825
- SCSI host adaptors. It is explained in section 3.3 of the
+ SCSI host adapters. It is explained in section 3.3 of the
SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. You might also want to read
the comments at the top of drivers/scsi/aha152x.c. This driver is
also available as a module ( = code which can be inserted in and
- removed from the running kernel whenever you want). If you want to
- compile it as a module, say M here and read
- Documentation/modules.txt.
+ removed from the running kernel whenever you want). The module will
+ be called aha152x.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt.
Adaptec AHA1542 support
CONFIG_SCSI_AHA1542
- This is support for a SCSI host adaptor. It is explained in section
+ This is support for a SCSI host adapter. It is explained in section
3.4 of the SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. Note that Trantor was
recently purchased by Adaptec, and some former Trantor products are
- being sold under the Adaptec name. If it doesn't work out of
- the box, you may have to change some settings in
- drivers/scsi/aha1542.h. If you want to compile this as a module ( =
- code which can be inserted in and removed from the running kernel
- whenever you want), say M here and read Documentation/modules.txt.
+ being sold under the Adaptec name. If it doesn't work out of the
+ box, you may have to change some settings in drivers/scsi/aha1542.h.
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read Documentation/modules.txt. The module will be
+ called aha1542.o.
Adaptec AHA1740 support
CONFIG_SCSI_AHA1740
- This is support for a SCSI host adaptor. It is explained in section
+ This is support for a SCSI host adapter. It is explained in section
3.5 of the SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If it doesn't work out of
the box, you may have to change some settings in
drivers/scsi/aha1740.h. This driver is also available as a module (
= code which can be inserted in and removed from the running kernel
- whenever you want). If you want to compile it as a module, say M
- here and read Documentation/modules.txt.
+ whenever you want). The module will be called aha17400.o. If you
+ want to compile it as a module, say M here and read
+ Documentation/modules.txt.
Adaptec AHA274X/284X/294X support
CONFIG_SCSI_AIC7XXX
- Information about this SCSI host adaptor is contained in
+ Information about this SCSI host adapter is contained in
drivers/scsi/README.aic7xxx and in the SCSI-HOWTO, available via ftp
(user: anonymous) at sunsite.unc.edu:/pub/Linux/docs/HOWTO. If it
doesn't work out of the box, you may have to change some settings in
- drivers/scsi/aic7xxx.h. If you want to compile this as a module ( =
- code which can be inserted in and removed from the running kernel
- whenever you want), say M here and read Documentation/modules.txt.
+ drivers/scsi/aic7xxx.h. It has been reported that the "wide
+ negotiation" on these cards is not quite working and should be
+ disabled. Note that the AHA2920 SCSI host adapter is *not* supported
+ by this driver; choose "Future Domain 16xx SCSI support" instead. If
+ you want to compile this driver a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read Documentation/modules.txt. The module will be
+ called aic7xxx.o.
BusLogic SCSI support
CONFIG_SCSI_BUSLOGIC
- This is support for BusLogic MultiMaster SCSI Host Adaptors.
- Consult the SCSI-HOWTO, available via anonymous ftp from
- sunsite.unc.edu:/pub/Linux/docs/HOWTO and the file
- drivers/scsi/README.BusLogic for more information. BusLogic
- FlashPoint SCSI Host Adapters are not supported by this driver, but
- BusLogic has initiated an upgrade program which allows you to get a
- better adaptor for few $$. Read about it in
- drivers/scsi/README.FlashPoint. If this driver does not work
- correctly without modification, please contact the author. You can
- build this driver also as a module ( = code which can be inserted in
- and removed from the running kernel whenever you want), but only a
- single instance may be loaded. If you want to compile it as a
- module, say M here and read Documentation/modules.txt.
+ This is support for BusLogic MultiMaster and FlashPoint SCSI Host
+ Adapters. Consult the SCSI-HOWTO, available via anonymous ftp from
+ sunsite.unc.edu in /pub/Linux/docs/HOWTO, and the files
+ README.BusLogic and README.FlashPoint in drivers/scsi for more
+ information. If this driver does not work correctly without
+ modification, please contact the author, Leonard N. Zubkoff, by
+ email to lnz@dandelion.com. You can also build this driver as a
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want), but only a single instance may be
+ loaded. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. The module will be called BusLogic.o.
+
+Omit BusLogic SCSI FlashPoint support
+CONFIG_SCSI_OMIT_FLASHPOINT
+ This option allows you to omit the FlashPoint support from the
+ BusLogic SCSI driver. The FlashPoint SCCB Manager code is
+ substantial, so users of MultiMaster Host Adapters may wish to omit
+ it.
+
DTC3180/3280 SCSI support
CONFIG_SCSI_DTC3280
- This is support for DTC 3180/3280 SCSI Host Adaptors. Please read
+ This is support for DTC 3180/3280 SCSI Host Adapters. Please read
the SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO and the file
drivers/scsi/README.dtc3x80. This driver is also available as a
module (= code which can be inserted in and removed from the running
- kernel whenever you want). If you want to compile it as a module,
- say M here and read Documentation/modules.txt.
+ kernel whenever you want). The module will be called dtc.o. If you
+ want to compile it as a module, say M here and read
+ Documentation/modules.txt.
EATA-DMA (DPT, NEC, AT&T, SNI, AST, Olivetti, Alphatronix) support
CONFIG_SCSI_EATA_DMA
This is support for the EATA-DMA protocol compliant SCSI Host
- Adaptors like the SmartCache III/IV, SmartRAID controller families
- and the DPT PM2011B and PM2012B controllers. Please read the
+ Adapters like the SmartCache III/IV, SmartRAID controller families
+ and the DPT PM2011B and PM2012B controllers. Note that there is
+ also another driver for the same hardware: "EATA ISA/EISA/PCI
+ support". You should only say Y to one of them. Please read the
SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also
available as a module (= code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt.
+ from the running kernel whenever you want). The module will be
+ called eata_dma.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt.
EATA-PIO (old DPT PM2001, PM2012A) support
CONFIG_SCSI_EATA_PIO
This driver supports all EATA-PIO protocol compliant SCSI Host
- Adaptors like the DPT PM2001 and the PM2012A. EATA-DMA compliant
- host adaptors could also use this driver but are discouraged from
+ Adapters like the DPT PM2001 and the PM2012A. EATA-DMA compliant
+ host adapters could also use this driver but are discouraged from
doing so, since this driver only supports harddisks and lacks
numerous features. You might want to have a look at the SCSI-HOWTO,
available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to compile this
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt.
+ Documentation/modules.txt. The module will be called eata_pio.o.
UltraStor 14F/34F support
CONFIG_SCSI_U14_34F
This is support for the UltraStor 14F and 34F SCSI-2 host adapters.
- The source at drivers/scsi/u14-34f.c contains some information about
- this hardware. If the driver doesn't work out of the box, you may have
- to change some settings in drivers/scsi/u14-34f.c.
- Read the SCSI-HOWTO, available via ftp (user: anonymous) at
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. Note that there is also another
- driver for the same hardware: "UltraStor SCSI support", below.
- You should enable both only if you want 24F support as well. This
- driver is also available as a module ( = code which can be inserted
- in and removed from the running kernel whenever you want). If you
- want to compile it as a module, say M here and read
- Documentation/modules.txt.
+ The source at drivers/scsi/u14-34f.c contains some information about
+ this hardware. If the driver doesn't work out of the box, you may
+ have to change some settings in drivers/scsi/u14-34f.c. Read the
+ SCSI-HOWTO, available via ftp (user: anonymous) at
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. Note that there is also
+ another driver for the same hardware: "UltraStor SCSI support",
+ below. You should say Y to both only if you want 24F support as
+ well. This driver is also available as a module ( = code which can
+ be inserted in and removed from the running kernel whenever you
+ want). The module will be called u14-34f.o. If you want to compile
+ it as a module, say M here and read Documentation/modules.txt.
+
+enable linked commands
+CONFIG_SCSI_U14_34F_LINKED_COMMANDS
+ This is a feature of SCSI-2 which improves performance: the host
+ adapter can send a whole list of commands to a device in one
+ batch. Some SCSI devices might not implement this properly, so the
+ save answer is N.
-Future Domain 16xx SCSI support
+maximum number of queued commands
+CONFIG_SCSI_U14_34F_MAX_TAGS
+ This specifies how many SCSI commands can be maximally queued for a
+ given SCSI device. Go with the default unless you know what you're
+ doing. Minimum is 2 and maximum is 8.
+
+Future Domain 16xx SCSI/AHA 2920 support
CONFIG_SCSI_FUTURE_DOMAIN
- This is support for Future Domain's 16-bit SCSI host adaptors
- (TMC-1660/1680, TMC-1650/1670, TMC-3260, TMC-1610M/MER/MEX) and other
- adaptors based on the Future Domain chipsets (Quantum ISA-200S,
- ISA-250MG; Adaptec AHA-2920; and at least one IBM board). It is
- explained in section 3.7 of the SCSI-HOWTO, available via ftp (user:
- anonymous) at sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is
- also available as a module ( = code which can be inserted in and
- removed from the running kernel whenever you want). If you want to
- compile it as a module, say M here and read Documentation/modules.txt.
+ This is support for Future Domain's 16-bit SCSI host adapters
+ (TMC-1660/1680, TMC-1650/1670, TMC-3260, TMC-1610M/MER/MEX) and
+ other adapters based on the Future Domain chipsets (Quantum
+ ISA-200S, ISA-250MG; Adaptec AHA-2920; and at least one IBM board).
+ It is explained in section 3.7 of the SCSI-HOWTO, available via ftp
+ (user: anonymous) at sunsite.unc.edu:/pub/Linux/docs/HOWTO. This
+ driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). The
+ module will be called fdomain.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
Generic NCR5380/53c400 SCSI support
CONFIG_SCSI_GENERIC_NCR5380
@@ -1429,8 +1748,9 @@ CONFIG_SCSI_GENERIC_NCR5380
the box, you may have to change some settings in
drivers/scsi/g_NCR5380.h. This driver is also available as a module
( = code which can be inserted in and removed from the running
- kernel whenever you want). If you want to compile it as a module,
- say M here and read Documentation/modules.txt.
+ kernel whenever you want). The module will be called g_NCR5380.o. If
+ you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
Enable NCR53c400 extensions
CONFIG_SCSI_GENERIC_NCR53C400
@@ -1439,8 +1759,7 @@ CONFIG_SCSI_GENERIC_NCR53C400
the Trantor T130B in its default configuration; you might have to
pass a command line option to the kernel at boot time if it doesn't
detect your card. See the file drivers/scsi/README.g_NCR5380 for
- details. If you want to compile it as a module, say M here and read
- Documentation/modules.txt.
+ details.
NCR5380/53c400 mapping method (use Port for T130B)
CONFIG_SCSI_G_NCR5380_PORT
@@ -1457,8 +1776,9 @@ CONFIG_SCSI_NCR53C7xx
box, you may have to change some settings in
drivers/scsi/53c7,8xx.h. This driver is also available as a module (
= code which can be inserted in and removed from the running kernel
- whenever you want). If you want to compile it as a module, say M
- here and read Documentation/modules.txt.
+ whenever you want). The module will be called 53c7,8xx.o. If you
+ want to compile it as a module, say M here and read
+ Documentation/modules.txt.
always negotiate synchronous transfers
CONFIG_SCSI_NCR53C7xx_sync
@@ -1469,13 +1789,13 @@ CONFIG_SCSI_NCR53C7xx_sync
allow FAST-SCSI [10MHz]
CONFIG_SCSI_NCR53C7xx_FAST
This will enable 10MHz FAST-SCSI transfers with your host
- adaptor. Some systems have problems with that speed, so it's safest
+ adapter. Some systems have problems with that speed, so it's safest
to say N here.
allow DISCONNECT
CONFIG_SCSI_NCR53C7xx_DISCONNECT
This enables the disconnect/reconnect feature of the NCR SCSI
- controller. When this is enabled, a slow SCSI device will not lock
+ controller. When you say Y here, a slow SCSI device will not lock
the SCSI bus while processing a request, allowing simultaneous use
of e.g. a SCSI hard disk and SCSI tape or CD-ROM drive, and
providing much better performance when using slow and fast SCSI
@@ -1490,36 +1810,40 @@ CONFIG_SCSI_NCR53C8XX
of PCI-SCSI controllers. This driver supports parity checking,
tagged command queuing, fast scsi II transfer up to 10 MB/s with
narrow scsi devices and 20 MB/s with wide scsi devices.
- Linux/i386 and Linux/Alpha are supported by this driver.
- Memory mapped io is currently untested under Linux/Alpha.
+ Support of Ultra SCSI data transfers with NCR53C860 and NCR53C875
+ controllers has been recently added to the driver.
Please read drivers/scsi/README.ncr53c8xx for more information.
+ Linux/i386 and Linux/Alpha are supported by this driver.
synchronous data transfers frequency
CONFIG_SCSI_NCR53C8XX_SYNC
SCSI-2 specifications allow scsi devices to negotiate a synchronous
transfer period of 25 nano-seconds or more.
The transfer period value is 4 times the agreed transfer period.
- So, data can be transferred at a 10 MHz frequency, allowing 10 MB/second
- throughput with 8 bits scsi-2 devices and 20 MB/second with wide16 devices.
- This frequency can be used safely with differential devices but may cause
- problems with singled-ended devices.
+ So, data can be transferred at a 10 MHz frequency, allowing 10
+ MB/second throughput with 8 bits scsi-2 devices and 20 MB/second
+ with wide16 devices. This frequency can be used safely with
+ differential devices but may cause problems with singled-ended
+ devices.
Specify 0 if you want to only use asynchronous data transfers.
- Otherwise, specify a value between 5 and 10.
- Commercial O/Ses generally use 5 Mhz frequency for synchronous transfers.
- It is a reasonnable default value.
- However, a flawless singled-ended scsi bus supports 10 MHz data transfers.
- Regardless the value choosen in the Linux configuration, the synchronous
- period can be changed after boot-up through the /proc/scsi file system.
- The generic command is:
+ Otherwise, specify a value between 5 and 10. Commercial O/Ses
+ generally use 5 Mhz frequency for synchronous transfers. It is a
+ reasonable default value.
+ However, a flawless singled-ended scsi bus supports 10 MHz data
+ transfers. Regardless the value chosen in the Linux configuration,
+ the synchronous period can be changed after boot-up through the
+ /proc/scsi file system. The generic command is:
echo "setsync #target period" >/proc/scsi/ncr53c8xx/0
Use a 25 ns period for 10 Mhz synchronous data transfers.
+ If you don't know what to do now, go with the default.
use normal IO
CONFIG_SCSI_NCR53C8XX_IOMAPPED
- Warning! Under linux/Alpha only normal io has been currently tested.
This option allows you to force the driver to use normal IO.
Memory mapped IO has less latency than normal IO and works for most
Intel-based hardware.
+ Under Linux/Alpha only normal IO is currently supported by the driver
+ and so, this option has no effect.
The normal answer therefore is N.
not allow targets to disconnect
@@ -1547,48 +1871,81 @@ CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE
maximum number of queued commands
CONFIG_SCSI_NCR53C8XX_MAX_TAGS
- This option allows you to specify the maximum number of commands that
- can be queud to a device, when tagged command queuing is possible.
- The default value is 4. Minimum is 2, maximum is 12.
- The normal answer therefore is the default one.
-
-force synchronous negotiation
-CONFIG_SCSI_NCR53C8XX_FORCE_SYNC_NEGO
- Some scsi-2 devices support synchronous negotiations but do not
- report this feature in byte 7 of inquiry data.
- Answer Y only if you suspect some device to be so humble.
- The normal answer therefore is N.
-
-disable master parity checking
-CONFIG_SCSI_NCR53C8XX_DISABLE_MPARITY_CHECK
- Some hardware may have problems with parity during master cycles on
- PCI bus. Only seen once. Answer Y if you suspect such problem. The
- normal answer therefore is N.
-
-disable scsi parity checking
-CONFIG_SCSI_NCR53C8XX_DISABLE_PARITY_CHECK
- Parity on scsi bus is a system option. If one device checks parity,
- then all devices on the scsi bus must generate parity. However, the
- parity can be ignored by the scsi devices. Answer Y only if you
- know what you are doing. The normal answer therefore is N.
+ This option allows you to specify the maximum number of commands
+ that can be queued to a device, when tagged command queuing is
+ possible. The default value is 4. Minimum is 2, maximum is 12. The
+ normal answer therefore is the default one.
+
+assume boards are SYMBIOS compatible
+CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT
+ This option allows you to enable some features depending on GPIO wiring.
+ These general purpose input/output pins can be used for vendor specific
+ features or implementation of the standard SYMBIOS features.
+ Genuine SYMBIOS boards use GPIO0 in output for controller LED and GPIO3
+ bit as a flag indicating singled-ended/differential interface.
+ If all the boards of your system are genuine SYMBIOS boards or use
+ BIOS and drivers from SYMBIOS, you would want to enable this option,
+ obviously at your own risks.
+ The driver behaves correctly on my system with this option enabled.
+ (SDMS 4.0 + Promise SCSI ULTRA 875 rev 0x3 + ASUS SC200 810A rev 0x12).
+ This option must be set to N if your system has at least one 53C8XX based
+ scsi board with a vendor-specific BIOS (example: Tekram DC-390/U/W/F).
+
+assume boards are SYMBIOS compatible
+CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT
+ This option allows you to enable some features depending on GPIO
+ wiring. These General Purpose Input/Output pins can be used for
+ vendor specific features or implementation of the standard SYMBIOS
+ features. Genuine SYMBIOS boards use GPIO0 in output for controller
+ LED and GPIO3 bit as a flag indicating singled-ended/differential
+ interface.
+ If all the boards of your system are genuine SYMBIOS boards or use
+ BIOS and drivers from SYMBIOS, you would want to enable this option,
+ obviously at your own risks.
+ The driver behaves correctly on my system with this option enabled.
+ (SDMS 4.0 + Promise SCSI ULTRA 875 rev 0x3 + ASUS SC200 810A rev
+ 0x12). This option must be set to N if your system has at least one
+ 53C8XX based scsi board with a vendor-specific BIOS (example: Tekram
+ DC-390/U/W/F). If unsure, say N.
+
+IBMMCA SCSI support
+CONFIG_SCSI_IBMMCA
+ If your computer sports an MCA bus system architecture (IBM PS/2)
+ with an SCSI harddrive, say Y here. Please read
+ Documentation/mca.txt. This driver is also available as a module ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want). The module will be called ibmmca.o. If you want
+ to compile it as a module, say M here and read
+ Documentation/modules.txt.
+ Normally, all IBM MCA SCSI adapters are automatically detected. You
+ can completely override auto-detection by specifying
+ "ibmmcascsi=io1,io2,..." at the boot loader's command prompt or
+ "io_port=io1,io2,... scsi_id=id1,id2,..." as a parameter of insmod.
+ "io" and "id" are the I/O base address and the SCSI ID of each
+ adapter, respectively.
Always IN2000 SCSI support
CONFIG_SCSI_IN2000
- This is support for an ISA bus SCSI host adaptor. You'll find
- more information in drivers/scsi/in2000.readme. If it doesn't
- work out of the box, you may have to change the jumpers for IRQ
- or address selection. If you want to compile this as a module
- ( = code which can be inserted in and removed from the running
- kernel whenever you want), say M here and read
- Documentation/modules.txt.
+ This is support for an ISA bus SCSI host adapter. You'll find more
+ information in drivers/scsi/in2000.readme. If it doesn't work out of
+ the box, you may have to change the jumpers for IRQ or address
+ selection. If you want to compile this as a module ( = code which
+ can be inserted in and removed from the running kernel whenever you
+ want), say M here and read Documentation/modules.txt. The module
+ will be called in2000.o.
PAS16 SCSI support
CONFIG_SCSI_PAS16
- This is support for a SCSI host adaptor. It is explained in section
+ This is support for a SCSI host adapter. It is explained in section
3.10 of the SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If it doesn't work out of the
box, you may have to change some settings in drivers/scsi/pas16.h.
-
+ This driver is also available as
+ a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ pas16.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
+
Qlogic FAS SCSI support
CONFIG_SCSI_QLOGIC_FAS
This driver works only with the ISA, VLB, and PCMCIA versions of the
@@ -1600,12 +1957,13 @@ CONFIG_SCSI_QLOGIC_FAS
the SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt.
+ running kernel whenever you want). The module will be called
+ qlogicfas.o. If you want to compile it as a module, say M here and
+ read Documentation/modules.txt.
Qlogic ISP SCSI support (EXPERIMENTAL)
CONFIG_SCSI_QLOGIC_ISP
- This driver works for all QLogic PCI SCSI host adaptors (IQ-PCI,
+ This driver works for all QLogic PCI SCSI host adapters (IQ-PCI,
IQ-PCI-10, IQ_PCI-D) except for the PCI-basic card. (This latter
card is supported by the "AM53/79C974 PCI SCSI" driver). If you say
Y here, make sure to say Y to "PCI BIOS support" as well. More
@@ -1614,68 +1972,94 @@ CONFIG_SCSI_QLOGIC_ISP
available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt.
+ running kernel whenever you want). The module will be called
+ qlogicisp.o. If you want to compile it as a module, say M here and
+ read Documentation/modules.txt.
Seagate ST-02 and Future Domain TMC-8xx SCSI support
CONFIG_SCSI_SEAGATE
- These are 8-bit SCSI controllers; the ST-01 is also supported by this
- driver. It is explained in section 3.9 of the SCSI-HOWTO, available
- via ftp (user: anonymous) at
+ These are 8-bit SCSI controllers; the ST-01 is also supported by
+ this driver. It is explained in section 3.9 of the SCSI-HOWTO,
+ available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If it doesn't work out of the
box, you may have to change some settings in drivers/scsi/seagate.h.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you
- want). If you want to compile it as a module, say M here and read
- Documentation/modules.txt.
+ want). The module will be called seagate.o. If you want to compile
+ it as a module, say M here and read Documentation/modules.txt.
Trantor T128/T128F/T228 SCSI support
CONFIG_SCSI_T128
- This is support for a SCSI host adaptor. It is explained in section
+ This is support for a SCSI host adapter. It is explained in section
3.11 of the SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If it doesn't work out of
the box, you may have to change some settings in
- drivers/scsi/t128.h. Note that Trantor was recently purchased by
- Adaptec, and some former Trantor products are being sold under the
- Adaptec name.
+ drivers/scsi/t128.h. Note that Trantor was purchased by Adaptec, and
+ some former Trantor products are being sold under the Adaptec
+ name. This driver is also available as a module ( = code which can
+ be inserted in and removed from the running kernel whenever you
+ want). The module will be called t128.o. If you want to compile it
+ as a module, say M here and read Documentation/modules.txt.
UltraStor SCSI support
CONFIG_SCSI_ULTRASTOR
This is support for the UltraStor 14F, 24F and 34F SCSI-2 host
- adaptor family. This driver is explained in section 3.12 of the
+ adapter family. This driver is explained in section 3.12 of the
SCSI-HOWTO, available via ftp (user: anonymous) at
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If it doesn't work out of the
box, you may have to change some settings in
drivers/scsi/ultrastor.h. If you want to compile this as a module (
= code which can be inserted in and removed from the running kernel
- whenever you want), say M here and read Documentation/modules.txt.
- Note that there is also another driver for UltraStor hardware:
+ whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called ultrastor.o.
+ Note that there is also another driver for the same hardware:
"UltraStor 14F/34F support", above.
7000FASST SCSI support
CONFIG_SCSI_7000FASST
- This driver supports the Western Digital 7000 SCSI host adaptor.
+ This driver supports the Western Digital 7000 SCSI host adapter.
Some information is in the source: drivers/scsi/wd7000.c. This
driver is also available as a module ( = code which can be inserted
- in and removed from the running kernel whenever you want). If you
- want to compile it as a module, say M here and read
- Documentation/modules.txt.
+ in and removed from the running kernel whenever you want). The
+ module will be called wd7000.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
EATA ISA/EISA/PCI (DPT and generic EATA/DMA-compliant boards) support
CONFIG_SCSI_EATA
This driver supports all the EATA/DMA-compliant SCSI host adapters
- and does not need any BIOS32 service.
- DPT ISA and all EISA i/o addresses are probed looking for the "EATA"
- signature. If "PCI bios support" is enabled, the addresses of all the
- PCI SCSI controllers reported by BIOS32 are probed as well.
- Note that there is also another driver for the same hardware:
- "EATA-DMA support". You should enable only one of them.
- You want to read the start of drivers/scsi/eata.c and the
- SCSI-HOWTO, available via ftp (user: anonymous) at
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to compile this
- as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want), say M here and read
- Documentation/modules.txt.
+ and does not need any BIOS32 service. DPT ISA and all EISA i/o
+ addresses are probed looking for the "EATA" signature. If you said Y
+ to "PCI bios support", the addresses of all the PCI SCSI controllers
+ reported by BIOS32 are probed as well. Note that there is also
+ another driver for the same hardware available: "EATA-DMA
+ support". You should say Y to only one of them. You want to read
+ the start of drivers/scsi/eata.c and the SCSI-HOWTO, available via
+ ftp (user: anonymous) at sunsite.unc.edu:/pub/Linux/docs/HOWTO. If
+ you want to compile this as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want), say M
+ here and read Documentation/modules.txt. The module will be called
+ eata.o.
+
+enable tagged command queuing
+CONFIG_SCSI_EATA_TAGGED_QUEUE
+ This is a feature of SCSI-2 which improves performance: the host
+ adapter can send several SCSI commands to a device's queue even if
+ previous commands haven't finished yet. Some SCSI devices don't
+ implement this properly, so the save answer is N.
+
+enable linked commands
+CONFIG_SCSI_EATA_LINKED_COMMANDS
+ This is a feature of SCSI-2 which improves performance: the host
+ adapter can send a whole list of commands to a device in one
+ batch. Some SCSI devices might not implement this properly, so the
+ save answer is N.
+
+maximum number of queued commands
+CONFIG_SCSI_EATA_MAX_TAGS
+ This specifies how many SCSI commands can be maximally queued for a
+ given SCSI device. Go with the default unless you know what you're
+ doing. Minimum is 2 and maximum is 16. This number will only have an
+ effect if you said Y to "enable tagged command queuing", above.
NCR53c406a SCSI support
CONFIG_SCSI_NCR53C406A
@@ -1685,14 +2069,19 @@ CONFIG_SCSI_NCR53C406A
anonymous) at sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to
compile this driver as a module ( = code which can be inserted in
and removed from the running kernel whenever you want), say M here
- and read Documentation/modules.txt.
+ and read Documentation/modules.txt. The module will be called
+ NCR53c406.o.
AM53/79C974 PCI SCSI support
CONFIG_SCSI_AM53C974
This is support for the AM53/79C974 SCSI host adapters. Please read
drivers/scsi/README.AM53C974 for details. Also, the SCSI-HOWTO,
available via ftp (user: anonymous) at
- sunsite.unc.edu:/pub/Linux/docs/HOWTO, is for you.
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO, is for you. If you want to
+ compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read Documentation/modules.txt. The module will be called
+ AM53C974.o.
IOMEGA Parallel Port ZIP drive SCSI support
CONFIG_SCSI_PPA
@@ -1707,9 +2096,23 @@ CONFIG_SCSI_PPA
drive, a parallel printer or PLIP on the same parallel port, you
should compile the drivers as modules and only insert them as
needed. To compile this driver as a module, say M here and read
- Documentation/modules.txt. Note that you can say N here if you have
- the SCSI version of the ZIP drive: it will be supported
- automatically if you enabled the generic "SCSI disk support", above.
+ Documentation/modules.txt. The module will be called ppa.o. Note
+ that you can say N here if you have the SCSI version of the ZIP
+ drive: it will be supported automatically if you said Y to the
+ generic "SCSI disk support", above.
+
+EPP FIFO Checking
+CONFIG_SCSI_PPA_HAVE_PEDANTIC
+ Some chipsets are slower then their motherboard. We have to control
+ the state of the FIFO now and then. The values are 0 (don't check
+ FIFO), 1 (check FIFO every 4 bytes), 2 (check FIFO every other byte)
+ and 3 (check FIFO every time). If your EPP chipset is from the SMC
+ series, you are likely to have to set this value greater than 0.
+
+EPP Timing
+CONFIG_SCSI_PPA_EPP_TIME
+ This is the "reset time period", a delay time. Too low a value may
+ cause all sorts of mid-level SCSI problems.
Network device support?
CONFIG_NETDEVICES
@@ -1755,16 +2158,17 @@ CONFIG_DUMMY
this device is consigned into oblivion) with a configurable IP
address. It is most commonly used in order to make your currently
inactive SLIP address seem like a real address for local
- programs. If you use SLIP or PPP, you might want to enable it. Read
+ programs. If you use SLIP or PPP, you might want to say Y here. Read
about it in the Network Administrator's Guide, available via ftp
(user: anonymous) from sunsite.unc.edu:/pub/Linux/docs/LDP. Since
this thing comes often handy, the default is Y. It won't enlarge
your kernel either. What a deal. If you want to compile this as a
module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt. If you want to use more than one dummy
- device at a time, you need to compile it as a module. Instead of
- 'dummy', it will they will then be called 'dummy0', 'dummy1' etc.
+ Documentation/modules.txt. The module will be called dummy.o. If you
+ want to use more than one dummy device at a time, you need to
+ compile it as a module. Instead of 'dummy', it will they will then
+ be called 'dummy0', 'dummy1' etc.
SLIP (serial line) support
CONFIG_SLIP
@@ -1790,7 +2194,8 @@ CONFIG_SLIP
want to compile this as a module ( = code which can be inserted in
and removed from the running kernel whenever you want), say M here
and read Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt.
+ Documentation/networking/net-modules.txt. The module will be called
+ slip.o.
CSLIP compressed headers
CONFIG_SLIP_COMPRESSED
@@ -1826,11 +2231,23 @@ Radio network interfaces
CONFIG_NET_RADIO
Radio based interfaces for Linux. This includes amateur radio
(AX.25), support for wireless ethernet and other systems. Note that
- the answer to this question won't directly affect the kernel:
- saying N will just cause this configure script to skip all the
- questions about radio interfaces. Some user-level drivers for scarab
- devices which don't require special kernel support are available via
- ftp (user: anonymous) from shadow.cabi.net. If unsure, say N.
+ the answer to this question won't directly affect the kernel: saying
+ N will just cause this configure script to skip all the questions
+ about radio interfaces. Some user-level drivers for scarab devices
+ which don't require special kernel support are available via ftp
+ (user: anonymous) from shadow.cabi.net.
+ If unsure, say N.
+
+AX.25 network interfaces
+CONFIG_NET_HAM
+ Say Y here if you want support for a device that connects your Linux
+ box to your amateur radio (HAM). AX.25 is the protocol used for
+ digital traffic over amateur radio connections. You might want to
+ read the HAM-HOWTO and the AX25-HOWTO, both available via ftp (user:
+ anonymous) from sunsite.unc.edu:/pub/Linux/docs/HOWTO. Note that the
+ answer to this question won't directly affect the kernel: saying N
+ will just cause this configure script to skip all the questions
+ about amateur radio interfaces.
PPP (point-to-point) support
CONFIG_PPP
@@ -1843,17 +2260,19 @@ CONFIG_PPP
anonymous) from sunsite.unc.edu:/pub/Linux/system/Network/serial/).
To use PPP, you need an additional program called pppd as described
in Documentation/networking/ppp.txt and in the PPP-HOWTO, available
- from sunsite.unc.edu:/pub/Linux/docs/HOWTO. Note that you don't need
- this option if you just want to run term (term is a program which
- gives you almost full Internet connectivity if you have a regular
- dial up shell account on some Internet connected UNIX computer. Read
- the Term-HOWTO). The PPP option enlarges your kernel by about
- 16kB. This driver is also available as a module ( = code which can
- be inserted in and removed from the running kernel whenever you
- want). If you said Y to "Version information on all symbols" above,
- then you cannot compile the PPP driver into the kernel; you can only
- compile it as a module. If you want to compile it as a module, say M
- here and read Documentation/modules.txt as well as
+ from sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you upgrade from an
+ older kernel, you might need to upgrade pppd as well. Note that you
+ don't need "PPP support" if you just want to run term (term is a
+ program which gives you almost full Internet connectivity if you
+ have a regular dial up shell account on some Internet connected UNIX
+ computer. Read the Term-HOWTO). The PPP option enlarges your kernel
+ by about 16kB. This driver is also available as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you said Y to "Version information on all
+ symbols" above, then you cannot compile the PPP driver into the
+ kernel; you can then only compile it as a module. The module will be
+ called ppp.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. Note that, no matter what
you do, the BSD compression code (used to compress the IP packets
sent over the serial line; has to be supported at the other end as
@@ -1861,13 +2280,7 @@ CONFIG_PPP
will show up in the directory modules once you have said "make
modules". If unsure, say N.
-16 channels instead of 4
-CONFIG_PPP_LOTS
- Saying Y here will allow you to have up to 16 PPP connections
- running in parallel. This is mainly useful if you intend your linux
- box to act as a dial-in PPP server. Most people can say N.
-
-STRIP (Starmode Radio IP) support
+STRIP (Metricom Starmode radio IP)
CONFIG_STRIP
Say Y if you have a Metricom radio and intend to use Starmode Radio
IP. STRIP is a radio protocol developed for the MosquitoNet project
@@ -1880,51 +2293,157 @@ CONFIG_STRIP
phone line and use it as a modem.) You can use STRIP on any Linux
machine with a serial port, although it is obviously most useful for
people with laptop computers. If you think you might get a Metricom
- radio in the future, there is no harm in saying yes to STRIP now,
- except that it makes the kernel a bit bigger.
-
-WIC (Radio IP bridge)
-CONFIG_WIC
- Support for the WIC parallel port radio bridge. You'll probably want
- to say N. If you want to compile this driver as a module though ( =
- code which can be inserted in and removed from the running kernel
- whenever you want), say M here and read Documentation/modules.txt.
+ radio in the future, there is no harm in saying Y to STRIP now,
+ except that it makes the kernel a bit bigger. You can also compile
+ this as a module ( = code which can be inserted in and removed from
+ the running kernel whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called strip.o.
+
+CONFIG_LAPBETHER
+LAPB over Ethernet driver
+ This is a driver for a pseudo device (usually called /dev/lapb0)
+ which allows you to open an LAPB point-to-point connection to some
+ other computer on your ethernet network. In order to do this, you
+ need to say Y or M to the driver for your ethernet card as well as
+ to "LAPB Data Link Driver". If you want to compile this driver as a
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called lapbether.o.
+ If unsure, say N.
Z8530 SCC driver for AX.25
CONFIG_SCC
These cards are used to connect your Linux box to an amateur radio
in order to communicate with other computers. If you want to use
- this, read Documentation/networking/z8530drv.txt and the AX.25-HOWTO,
- available via ftp (user: anonymous) at
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to compile this
+ this, read Documentation/networking/z8530drv.txt and the
+ AX.25-HOWTO, available via ftp (user: anonymous) at
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. Also make sure to say Y to
+ "Amateur Radio AX.25 Level 2" support. If you want to compile this
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt.
+ Documentation/modules.txt. The module will be called scc.o.
BAYCOM ser12 and par96 driver for AX.25
CONFIG_BAYCOM
This is an experimental driver for Baycom style simple amateur radio
modems that connect to either a serial interface or a parallel
interface. The driver supports the ser12 and par96 designs. To
- configure the driver, use the sethdlc utility available
- in the standard ax25 utilities package. For information on the modems,
- see http://www.baycom.de and drivers/net/README.baycom.
- If you want to compile this as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read Documentation/modules.txt. This is recommended.
+ configure the driver, use the sethdlc utility available in the
+ standard ax25 utilities package. For information on the modems, see
+ http://www.baycom.de and drivers/net/README.baycom. If you want to
+ compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read Documentation/modules.txt. This is recommended. The module
+ will be called baycom.o.
Soundcard modem driver for AX.25
CONFIG_SOUNDMODEM
- This experimental driver allows a standard SoundBlaster or
+ This experimental driver allows a standard SoundBlaster or
WindowsSoundSystem compatible soundcard to be used as a packet radio
- modem. To configure the driver, use the sethdlc, smdiag and smmixer
- utilities available in the standard ax25 utilities package. For
- informations on how to key the transmitter, see
+ modem, to send digital traffic over amateur radio. To configure the
+ driver, use the sethdlc, smdiag and smmixer utilities available in
+ the standard ax25 utilities package. For information on how to key
+ the transmitter, see
http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html and
- drivers/net/README.soundmodem. If you want to compile this as a
- module ( = code which can be inserted in and removed from the
+ drivers/net/README.soundmodem. If you want to compile this driver as
+ a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt. This is recommended.
+ Documentation/modules.txt. This is recommended. The module will be
+ called soundmodem.o.
+
+Soundcard modem support for SoundBlaster and compatible cards
+CONFIG_SOUNDMODEM_SBC
+ This option enables the soundmodem driver to use SoundBlaster and
+ compatible cards. If you have a dual mode card (i.e. a WSS cards
+ with a SoundBlaster emulation) you should say N here and Y to
+ "Soundcard modem support for WSS and Crystal cards", below, because
+ this usually results in better performance.
+
+Soundcard modem support for WSS and Crystal cards
+CONFIG_SOUNDMODEM_WSS
+ This option enables the soundmodem driver to use WindowsSoundSystem
+ compatible cards. These cards feature a codec chip from either
+ Analog Devices (such as AD1848, AD1845, AD1812) or Crystal
+ Semiconductors (such as CS4248, CS423x). This option also supports
+ the WSS full duplex operation which currently works with Crystal
+ CS423x chips. If you don't need full duplex operation, do not enable
+ it to save performance.
+
+Soundcard modem support for 1200 baud AFSK modulation
+CONFIG_SOUNDMODEM_AFSK1200
+ This option enables the soundmodem driver 1200 baud AFSK modem,
+ compatible to popular modems using TCM3105 or AM7911. The demodulator
+ requires about 12% of the CPU power of a Pentium 75 CPU per channel.
+
+Soundmodem 1200 baud AFSK using floating point
+CONFIG_SOUNDMODEM_AFSK1200_FP
+ This option enables floating point calculations to be used for the
+ AFSK1200 baud modem. The Intel Pentium is a perverted chip because
+ integer multiplications are, although easier to implement in silicon,
+ an order of magnitude slower than floating point calculations.
+ Enabling this option uses a highly optimized assembler routine for
+ correlations, modeled after the one published by Phil Karn, KA9Q.
+ This reduces the computing power needed on Intel Pentium chips to
+ about 50%. On the other hand, Pentium clones with faster integer
+ multiply and slower floating point multiply will probably take
+ longer with this option turned on. As a rule of thumb, enable it for
+ Intel Pentium and Pentium Pro processors, and disable it for
+ anything else.
+ I (sailer@ife.ee.ethz.ch) am very interested in figures. If you are
+ willing to give me a feedback, please compile the driver once with
+ this option enabled and once with it disabled, and send me the cycle
+ counter numbers obtained with both compilations, and your exact
+ chip. The cycle counter numbers can be obtained with a recent
+ sethdlc utility.
+
+Soundcard modem support for 4800 baud HAPN-1 modulation
+CONFIG_SOUNDMODEM_HAPN4800
+ This option enables the soundmodem driver 4800 baud HAPN-1
+ compatible modem. This modulation seems to be widely used 'down
+ under' and in the Netherlands. Here, nobody uses it, so I could not
+ test if it works. It is compatible to itself, however :-)
+
+Soundcard modem support for 9600 baud FSK G3RUH modulation
+CONFIG_SOUNDMODEM_FSK9600
+ This option enables the soundmodem driver 9600 baud FSK modem,
+ compatible to the G3RUH standard. The demodulator requires about 4%
+ of the CPU power of a Pentium 75 CPU per channel. You can say Y to
+ both 1200 baud AFSK and 9600 baud FSK if you want (but obviously you
+ can only use one protocol at a time, depending on what the other end
+ can understand).
+
+Soundcard modem support using floating point arithmetic
+CONFIG_SOUNDMODEM_FLOAT
+ This option enables floating point calculations to be used for the
+ AFSK1200 baud modem. The Intel Pentium is a perverted chip because
+ integer multiplications are, although easier to implement in silicon,
+ an order of a magnitude slower than floating point calculations.
+ Enabling this option uses a highly optimized assembler routine for
+ correlations, modeled after the one published by Phil Karn, KA9Q.
+ This reduces the computing power needed on Intel Pentium chips to
+ about 50%. On the other hand, Pentium clones with faster integer
+ multiply and slower floating point multiply will probably take
+ longer with this option turned on. As a rule of thumb, enable it for
+ Intel Pentium and Pentium Pro processors, and disable it for
+ anything else.
+ I (sailer@ife.ee.ethz.ch) am very interested in figures. If you are
+ willing to give me a feedback, please compile the driver once with
+ this option enabled and once with it disabled, and send me the cycle
+ counter numbers obtained with both compilations, and your exact
+ chip. The cycle counter numbers can be obtained by a recent sethdlc
+ utility.
+
+Serial port KISS driver for AX.25
+CONFIG_MKISS
+ KISS is the protocol used to send IP traffic over AX.25 radio
+ connections, somewhat similar to SLIP for telephone lines. Say Y
+ here if you intend to send internet traffic over amateur radio,
+ using some device connected to your machine's serial port. In that
+ case, you also have to say Y to "Amateur Radio AX.25 Level 2"
+ support. If you want to compile this driver as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called mkiss.o.
PLIP (parallel port) support
CONFIG_PLIP
@@ -1948,25 +2467,25 @@ CONFIG_PLIP
your kernel by about 8kB. If you want to compile this as a module (
= code which can be inserted in and removed from the running kernel
whenever you want), say M here and read Documentation/modules.txt as
- well as Documentation/networking/net-modules.txt. If you want to use
- both a parallel printer and PLIP, there are two cases: 1) If the
- printer and the PLIP cable are to use the same parallel port
- (presumably because you have just one), it is best to compile both
- drivers as modules and load and unload them as needed. 2) To use
- different parallel ports for the printer and the PLIP cable, you can
- say Y to the printer driver, specify the base address of the
- parallel port(s) to use for the printer(s) with the "lp" kernel
- command line option. (See the documentation of your boot loader
- (lilo or loadlin) about how to pass options to the kernel at boot
- time. The lilo procedure is also explained in the SCSI-HOWTO,
- available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO.) The standard base addresses
- as well as the syntax of the "lp" command line option can be found
- in drivers/char/lp.c. You can then say Y to this PLIP driver or,
- preferably, M in which case Documentation/networking/net-modules.txt
- tells you how to specify the port and IRQ to be used by PLIP at
- module load time.
- It's safe to say N here.
+ well as Documentation/networking/net-modules.txt. The module will be
+ called plip.o. If you want to use both a parallel printer and PLIP,
+ there are two cases: 1) If the printer and the PLIP cable are to use
+ the same parallel port (presumably because you have just one), it is
+ best to compile both drivers as modules and load and unload them as
+ needed. 2) In order to use different parallel ports for the printer
+ and the PLIP cable, you can say Y to the printer driver and specify
+ the base address of the parallel port(s) to use for the printer(s)
+ with the "lp" kernel command line option. (Try "man bootparam" or
+ see the documentation of your boot loader (lilo or loadlin) about
+ how to pass options to the kernel at boot time. The lilo procedure
+ is also explained in the SCSI-HOWTO, available via ftp (user:
+ anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO.) The standard
+ base addresses as well as the syntax of the "lp" command line option
+ can be found in drivers/char/lp.c. You can then say Y to this PLIP
+ driver or, preferably, M in which case
+ Documentation/networking/net-modules.txt tells you how to specify
+ the port and IRQ to be used by PLIP at module load time. It's safe
+ to say N here.
EQL (serial line load balancing) support
CONFIG_EQUALIZER
@@ -1979,8 +2498,9 @@ CONFIG_EQUALIZER
EQL Linux driver or with a Livingston Portmaster 2e. Say Y if you
want this and read drivers/net/README.eql. This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt.
+ from the running kernel whenever you want). The module will be
+ called eql.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt.
Frame Relay (DLCI) support
CONFIG_DLCI
@@ -1998,8 +2518,9 @@ CONFIG_DLCI
the net-tools package as explained in
Documentation/networking/framerelay.txt. This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt.
+ from the running kernel whenever you want). The module will be
+ called dlci.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt.
Max open DLCI
CONFIG_DLCI_COUNT
@@ -2017,24 +2538,111 @@ CONFIG_DLCI_MAX
Sangoma S502A FRAD support
CONFIG_SDLA
Say Y here if you need a driver for the Sangoma S502A, S502E, and
- S508 Frame Relay Access Devices. These are multi-protocol
- cards, but only frame relay is supported by the driver at this
- time. Please read Documentation/framerelay.txt. This driver is also
- available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt.
+ S508 Frame Relay Access Devices. These are multi-protocol cards, but
+ only frame relay is supported by the driver at this time. Please
+ read Documentation/framerelay.txt. This driver is also available as
+ a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ sdla.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
+
+WAN Router
+CONFIG_WAN_ROUTER
+ Wide Area Networks (WANs), such as X.25, frame relay and leased
+ lines, are used to interconnect Local Area Networks (LANs) over vast
+ distances with data transfer rates significantly higher than those
+ achievable with commonly used asynchronous modem connections.
+ Usually, a quite expensive external device called `WAN router' is
+ needed to connect to a WAN.
+ As an alternative, WAN routing can be built into the Linux
+ kernel. With relatively inexpensive WAN interface cards available
+ on the market, a perfectly usable router can be built for less than
+ half the price of an external router. If you have one of those
+ cards (with appropriate WAN Link Driver) and wish to use your Linux
+ box as a WAN router, you may say 'Y' to this option. You will also
+ need a wan-tools package available via FTP (user: anonymous) from
+ ftp.sangoma.com. Read Documentation/networking/wan-router.txt for
+ more information.
+ WAN routing is always built as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called wanrouter.o. For general information
+ about modules read Documentation/modules.txt.
+
+WAN Drivers
+CONFIG_WAN_DRIVERS
+ Say 'Y' to this option if you are planning to use your Linux box
+ as a WAN router ( = device used to interconnect local area networks
+ over wide area communication links, such as leased lines and public
+ data networks, e.g. X.25 and frame relay) and you will be offered a
+ list of WAN drivers currently available. For more information, read
+ Documentation/networking/wan-router.txt.
+
+Sangoma WANPIPE(tm) multiprotocol cards
+CONFIG_VENDOR_SANGOMA
+ WANPIPE from Sangoma Technologies Inc. (http://www.sangoma.com)
+ is a family of intelligent multiprotocol WAN adapters with data
+ transfer rates up to T1 (1.544 Mbps). They are also known as
+ Synchronous Data Link Adapters (SDLA) and designated S502E(A), S503
+ or S508. These cards support the X.25, Frame Relay, and PPP
+ protocols. If you have one or more of these cards, say 'Y' to this
+ option. The next questions will ask you about the protocols you
+ want the driver to support. The driver will be compiled as a module
+ ( = code which can be inserted in and removed from the running
+ kernel whenever you want). The module will be called wanpipe.o.
+ For general information about modules read
+ Documentation/modules.txt.
+
+Maximum number of cards
+CONFIG_WANPIPE_CARDS
+ Enter number of WANPIPE adapters installed in your machine. The
+ driver can support up to 8 cards. You may enter more than you
+ actually have if you plan to add more cards in the future without
+ re-compiling the driver, but remember that in this case you'll waste
+ some kernel memory (about 1K per card).
+
+WANPIPE X.25 support
+CONFIG_WANPIPE_X25
+ Say 'Y' to this option, if you are planning to connect a WANPIPE
+ card to an X.25 network. If you say 'N', the X.25 support will not
+ be included in the driver (saves about 16K of kernel memory).
+
+WANPIPE Frame Relay support
+CONFIG_WANPIPE_FR
+ Say 'Y' to this option, if you are planning to connect a WANPIPE
+ card to a frame relay network. If you say 'N', the frame relay
+ support will not be included in the driver (saves about 16K of
+ kernel memory).
+
+WANPIPE PPP support
+CONFIG_WANPIPE_PPP
+ Say 'Y' to this option, if you are planning to connect a WANPIPE
+ card to a leased line using Point-to-Point protocol (PPP). If you
+ say 'N', the PPP support will not be included in the driver (saves
+ about 16K of kernel memory).
Sun LANCE Ethernet support
CONFIG_SUN_LANCE
This is support for lance ethernet cards on Sun workstations such as
the Sparcstation IPC (any Sparc with a network interface 'le0' under
- SunOS basically).
+ SunOS basically). This driver is also available as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). The module will be called lance.o. If you want
+ to compile it as a module, say M here and read
+ Documentation/modules.txt.
Sun Intel Ethernet support
CONFIG_SUN_INTEL
This is support for the intel ethernet cards on some Sun workstations
(all those with a network interface 'ie0' under SunOS).
+Ethernet (10 or 100Mbit)
+CONFIG_NET_ETHERNET
+ Ethernet is a widely used protocol on local area networks. If you
+ have a ethernet card in your computer and want to use it under
+ Linux, say Y here. Note that the answer to this question doesn't
+ directly affect the kernel: saying N will just cause this configure
+ script to skip all the questions about ethernet card drivers.
+
Western Digital/SMC cards
CONFIG_NET_VENDOR_SMC
If you have a network (ethernet) card belonging to this class, say Y
@@ -2056,8 +2664,9 @@ CONFIG_WD80x3
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ wd.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2069,15 +2678,16 @@ CONFIG_ULTRA
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt as
- well as Documentation/networking/net-modules.txt. If you plan to use
- more than one network card under linux, read the
+ from the running kernel whenever you want). The module will be
+ called smc-ultra.o. If you want to compile it as a module, say M
+ here and read Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. If you plan to use more
+ than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
- sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
- Important: There have been many reports that, with some motherboards
- mixing an SMC Ultra and an Adaptec AHA1542 SCSI card causes corruption
- problems with many operating systems.
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini. Important: There have
+ been many reports that, with some motherboards mixing an SMC Ultra
+ and an Adaptec AHA1542 SCSI card causes corruption problems with
+ many operating systems.
SMC 9194 Support
CONFIG_SMC9194
@@ -2088,10 +2698,11 @@ CONFIG_SMC9194
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt as
- well as Documentation/networking/net-modules.txt. If you plan to use
- more than one network card under linux, read the
+ from the running kernel whenever you want). The module will be
+ called smc9194.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. If you plan to use more
+ than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
@@ -2099,9 +2710,10 @@ AMD LANCE and PCnet (AT1500 and NE2100) support
CONFIG_LANCE
If you have a network (ethernet) card of this type, say Y and read
the Ethernet-HOWTO, available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you plan to use more than
- one network card under linux, read the Multiple-Ethernet-mini-HOWTO,
- available from sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. Some LinkSys cards are of
+ this type. If you plan to use more than one network card under
+ linux, read the Multiple-Ethernet-mini-HOWTO, available from
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
3COM cards
CONFIG_NET_VENDOR_3COM
@@ -2120,13 +2732,16 @@ CONFIG_EL1
If you have a network (ethernet) card of this type, say Y and read
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. Also, consider buying a new
- card, since the 3c501 is slow and obsolete. This driver is also
+ card, since the 3c501 is slow, broken, and obsolete: you will have
+ problems. Some people suggest to ping ("man ping") a nearby machine
+ every minute ("man cron") when using this card. This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt as well
- as Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ from the running kernel whenever you want). The module will be
+ called 3c501.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. If you plan to use more
+ than one network card under linux, read the
+ Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini - and don't use 3c501s.
3c503 support
@@ -2135,8 +2750,9 @@ CONFIG_EL2
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ 3c503.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2151,19 +2767,34 @@ CONFIG_ELPLUS
compile this as a module ( = code which can be inserted in and
removed from the running kernel whenever you want), say M here and
read Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. The module will be called
+ 3c505.o. If you plan to use more than one network card under linux,
+ read the Multiple-Ethernet-mini-HOWTO, available from
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+
+3c507 support
+CONFIG_EL16
+ If you have a network (ethernet) card of this type, say Y and read
+ the Ethernet-HOWTO, available via ftp (user: anonymous) in
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
+ as a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ 3c507.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
-3c507 support
-CONFIG_EL16
+3c523 support
+CONFIG_ELMC
If you have a network (ethernet) card of this type, say Y and read
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ 3c523.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2177,9 +2808,9 @@ CONFIG_EL3
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ Documentation/networking/net-modules.txt. The module will be called
+ 3c509.o. If you plan to use more than one network card under linux,
+ read the Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini. If your card is not
working you may need to use the DOS setup disk to disable Plug &
Play mode, and to select the default media type.
@@ -2190,13 +2821,13 @@ CONFIG_VORTEX
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. More specific information is
in Documentation/networking/vortex.txt and in the comments at the
- beginning of drivers/net/3c59x.c. If you want to compile this
- as a module ( = code which can be inserted in and removed from the
+ beginning of drivers/net/3c59x.c. If you want to compile this as a
+ module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ Documentation/networking/net-modules.txt. The module will be called
+ 3c59x.o. If you plan to use more than one network card under linux,
+ read the Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini
Other ISA cards
@@ -2217,13 +2848,14 @@ CONFIG_NET_ISA
ARCnet support
CONFIG_ARCNET
If you have a network card of this type, say Y and check out the
- (arguably) beautiful poetry in Documentation/networking/arcnet.txt.
+ (arguably) beautiful poetry in Documentation/networking/arcnet.txt.
You might also want to have a look at the Ethernet-HOWTO, available
via ftp (user: anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO
(even though ARCnet is not really ethernet). This driver is also
available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile it
- as a module, say M here and read Documentation/modules.txt as well as
+ from the running kernel whenever you want). The module will be
+ called arcnet.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2231,14 +2863,14 @@ CONFIG_ARCNET
Enable arc0e (ARCnet "ether-encap" packet format)
CONFIG_ARCNET_ETH
- This allows you to use "ethernet encapsulation" with your ARCnet card
- via the virtual arc0e device. You only need arc0e if you want to
- talk to nonstandard ARCnet software, specifically, DOS/Windows-style
- "NDIS" drivers. You do not need to enable this option to communicate
- with industry-standard RFC1201 implementations, like the arcether.com
- packet driver or most DOS/Windows ODI drivers. RFC1201 is included
- automatically as the arc0 device. Please read the ARCnet
- documentation in Documentation/networking/arcnet.txt for more
+ This allows you to use "ethernet encapsulation" with your ARCnet
+ card via the virtual arc0e device. You only need arc0e if you want
+ to talk to nonstandard ARCnet software, specifically,
+ DOS/Windows-style "NDIS" drivers. You do not need to say Y here to
+ communicate with industry-standard RFC1201 implementations, like the
+ arcether.com packet driver or most DOS/Windows ODI drivers. RFC1201
+ is included automatically as the arc0 device. Please read the
+ ARCnet documentation in Documentation/networking/arcnet.txt for more
information about using arc0e and arc0s.
Enable arc0s (ARCnet RFC1051 packet format)
@@ -2246,8 +2878,8 @@ CONFIG_ARCNET_1051
This allows you to use RFC1051 with your ARCnet card via the virtual
arc0s device. You only need arc0s if you want to talk to ARCnet
software complying with the "old" standard, specifically, the DOS
- arcnet.com packet driver, Amigas running AmiTCP, and some variants of
- NetBSD. You do not need to enable this option to communicate with
+ arcnet.com packet driver, Amigas running AmiTCP, and some variants
+ of NetBSD. You do not need to say Y here to communicate with
industry-standard RFC1201 implementations, like the arcether.com
packet driver or most DOS/Windows ODI drivers. RFC1201 is included
automatically as the arc0 device. Please read the ARCnet
@@ -2260,13 +2892,29 @@ CONFIG_E2100
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ e2100.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+CS89x0 support
+CONFIG_CS89x0
+ Support for CS89x0 chipset based ethernet cards. If you have a
+ network (ethernet) card of this type, say Y and read the
+ Ethernet-HOWTO, available via ftp (user: anonymous) in
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO as well as
+ Documentation/networking/cs89x0.txt. If you want to compile this as
+ a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want), say M here and read
+ Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. The module will be called
+ cs89x.o. If you plan to use more than one network card under linux,
+ read the Multiple-Ethernet-mini-HOWTO, available from
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+
DEPCA support
CONFIG_DEPCA
If you have a network (ethernet) card of this type, say Y and read
@@ -2275,9 +2923,9 @@ CONFIG_DEPCA
drivers/net/depca.c. If you want to compile this as a module ( =
code which can be inserted in and removed from the running kernel
whenever you want), say M here and read Documentation/modules.txt as
- well as Documentation/networking/net-modules.txt. If you plan to use
- more than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ well as Documentation/networking/net-modules.txt. The module will be
+ called depca.o. If you plan to use more than one network card under
+ linux, read the Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
EtherWorks 3 support
@@ -2289,9 +2937,9 @@ CONFIG_EWRK3
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ Documentation/networking/net-modules.txt. The module will be called
+ ewrk3.o. If you plan to use more than one network card under linux,
+ read the Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
SEEQ8005 support
@@ -2311,19 +2959,20 @@ CONFIG_AT1700
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want). If you want to compile it as a
module, say M here and read Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ Documentation/networking/net-modules.txt. The module will be called
+ at1700.o. If you plan to use more than one network card under linux,
+ read the Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
FMV-181/182/183/184 support
CONFIG_FMV18X
If you have a Fujitsu FMV-181/182/183/184 network (ethernet) card,
- say Y and read the Ethernet-HOWTO, available via ftp (user: anonymous)
- in sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also
- available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile it
- as a module, say M here and read Documentation/modules.txt as well as
+ say Y and read the Ethernet-HOWTO, available via ftp (user:
+ anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is
+ also available as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want). The module will
+ be called fmv18x.o. If you want to compile it as a module, say M
+ here and read Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2337,8 +2986,9 @@ CONFIG_EEXPRESS_PRO
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ eepro.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2355,16 +3005,21 @@ CONFIG_EEXPRESS
module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ Documentation/networking/net-modules.txt. The module will be called
+ eexpress.o. If you plan to use more than one network card under
+ linux, read the Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
NI5210 support
CONFIG_NI52
If you have a network (ethernet) card of this type, say Y and read
the Ethernet-HOWTO, available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you plan to use more than
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
+ as a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ ni52.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. If you plan to use more than
one network card under linux, read the Multiple-Ethernet-mini-HOWTO,
available from sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
@@ -2372,14 +3027,17 @@ NI6510 support
CONFIG_NI65
If you have a network (ethernet) card of this type, say Y and read
the Ethernet-HOWTO, available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you plan to use more than
- one network card under linux, read the Multiple-Ethernet-mini-HOWTO,
- available from sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to compile it as
+ a module, say M here and read Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. The module will be called
+ ni65.o. If you plan to use more than one network card under linux,
+ read the Multiple-Ethernet-mini-HOWTO, available from
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
Ottawa PI and PI/2 support
CONFIG_PI
This is a driver for the Ottawa Amateur Radio Club PI and PI2 cards,
- which are commonly used to send internet traffic over amateur radio.
+ which are commonly used to send internet traffic over amateur radio.
More information about these cards is on the WWW at
http://hydra.carleton.ca/info/pi2.html (To browse the WWW, you need
to have access to a machine on the Internet that has one of the
@@ -2387,32 +3045,39 @@ CONFIG_PI
you can say Y here and should read the HAM-HOWTO, available via ftp
(user: anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. Also,
you should have said Y to "AX.25 support" above, because AX.25 is
- the protocol used for digital traffic over radio links.
+ the protocol used for digital traffic over radio links. If you want
+ to compile this as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want), say M here and
+ read Documentation/modules.txt. The module will be called pi2.o.
Gracilis PackeTwin support
CONFIG_PT
- This card is similar to the PI card (mentioned above). It is used
- mainly by amateur radio operators for packet radio. You should have
- already said Y to "AX.25 support" as this card uses that protocol.
- More information about this driver can be found in the file
- drivers/net/README.pt. NOTE: The card is capable of DMA and full
- duplex but neither of these have been coded in the driver as yet.
-
-WaveLAN support
+ This is a card used mainly by amateur radio operators for packet
+ radio. You should have already said Y to "AX.25 support" as this
+ card uses that protocol. More information about this driver can be
+ found in the file drivers/net/README.pt. NOTE: The card is capable
+ of DMA and full duplex but neither of these have been coded in the
+ driver as yet. This driver is also available as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. The module will be called
+ pt.o.
+
+AT&T WaveLAN & DEC RoamAbout DS support
CONFIG_WAVELAN
- These are cards for wireless ethernet-like networking. Supported are
- AT&T GIS and NCR WaveLAN cards. If you want to use a card of this
- type under Linux, say Y and read the Ethernet-HOWTO, available via
- ftp (user: anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. Some
- more specific information is contained in
- drivers/net/README.wavelan. This driver is also available as a
- module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
- sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+ The Lucent Wavelan (formerly NCR and AT&T ; or DEC RoamAbout DS)
+ is a Radio LAN (wireless ethernet-like) at 900 MHz and 2.4 GHz.
+ This driver support the ISA version of the Wavelan. A driver for
+ the pcmcia hardware is available in David Hinds's pcmcia package.
+ This driver is fairly stable and may be compiled as a module
+ (wavelan.o). It implements many nice feature and the Wireless
+ Extensions (you must get the Wireless tools from the net).
+ For documentation, refer to :
+ o the wavelan man page, wireless tools man pages
+ o wavelan.p.h and the source code
+ o Ethernet-HOWTO, Multiple-Ethernet-mini-HOWTO, Module-HOWTO
+ o More documentation to come when I will have the time :-)
HP PCLAN+ (27247B and 27252A) support
CONFIG_HPLAN_PLUS
@@ -2420,8 +3085,9 @@ CONFIG_HPLAN_PLUS
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ hp-plus.o. If you want to compile it as a module, say M here and
+ read Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2433,8 +3099,9 @@ CONFIG_HPLAN
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ hp.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2448,19 +3115,21 @@ CONFIG_HP100
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ Documentation/networking/net-modules.txt. The module will be called
+ hp100.o. If you plan to use more than one network card under linux,
+ read the Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
NE2000/NE1000 support
CONFIG_NE2000
If you have a network (ethernet) card of this type, say Y and read
the Ethernet-HOWTO, available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
- as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. Many ethernet cards without a
+ specific driver are compatible with NE2000. This driver is also
+ available as a module ( = code which can be inserted in and removed
+ from the running kernel whenever you want). The module will be
+ called ne.o. If you want to compile it as a module, say M here and
+ read Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2494,8 +3163,23 @@ CONFIG_AC3200
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ ac3200.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt. If you plan to use more
+ than one network card under linux, read the
+ Multiple-Ethernet-mini-HOWTO, available from
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+
+Racal-Interlan EISA ES3210 support
+CONFIG_ES3210
+ If you have a network (ethernet) card of this type, say Y and read
+ the Ethernet-HOWTO, available via ftp (user: anonymous) in
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
+ as a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ es3210.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2509,22 +3193,23 @@ CONFIG_APRICOT
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
Documentation/modules.txt as well as
- Documentation/networking/net-modules.txt. If you plan to use more
- than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available from
+ Documentation/networking/net-modules.txt. The module will be called
+ apricot.o. If you plan to use more than one network card under
+ linux, read the Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
-DE425, DE434, DE435 support
+Generic DECchip & DIGITAL EtherWORKS PCI/EISA
CONFIG_DE4X5
This is support for the DIGITAL series of PCI/EISA ethernet
cards. These include the DE425, DE434, DE435, DE450 and DE500
- models. If you have a network card of this type, say Y and read
- the Ethernet-HOWTO, available via ftp (user: anonymous) in
+ models. If you have a network card of this type, say Y and read the
+ Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. More specific information is
contained in drivers/net/README.de4x5. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ de4x5.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2534,29 +3219,32 @@ DECchip Tulip (dc21x4x) PCI support
CONFIG_DEC_ELCP
This driver is developed for the SMC EtherPower series ethernet
cards and also works with cards based on the DECchip
- 21040/21041/21140 (Tulip series) chips. (If your card is NOT SMC
- EtherPower 10/100 PCI (smc9332dst), you can also try the driver from
- "DE425, DE434, DE435 support", above.) However, most people with a
- network card of this type will say Y here. Do read the
- Ethernet-HOWTO, available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO. More specific information is
- contained in Documentation/networking/tulip.txt. This driver is also
- available as a module ( = code which can be inserted in and removed
- from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt as
- well as Documentation/networking/net-modules.txt.
+ 21040/21041/21140 (Tulip series) chips. Some LinkSys PCI cards are
+ of this type. (If your card is NOT SMC EtherPower 10/100 PCI
+ (smc9332dst), you can also try the driver for "Generic DECchip"
+ cards, above. However, most people with a network card of this type
+ will say Y here.) Do read the Ethernet-HOWTO, available via ftp
+ (user: anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. More
+ specific information is contained in
+ Documentation/networking/tulip.txt. This driver is also available as
+ a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ tulip.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
+ Documentation/networking/net-modules.txt.
Digi Intl. RightSwitch support
CONFIG_DGRS
This is support for the Digi International RightSwitch series of
PCI/EISA ethernet switch cards. These include the SE-4 and the SE-6
- models. If you have a network card of this type, say Y and read
- the Ethernet-HOWTO, available via ftp (user: anonymous) in
+ models. If you have a network card of this type, say Y and read the
+ Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. More specific information is
contained in drivers/net/README.dgrs. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ dgrs.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2568,8 +3256,9 @@ CONFIG_ETH16I
the Ethernet-HOWTO, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/HOWTO. This driver is also available
as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt as well as
+ running kernel whenever you want). The module will be called
+ eth16i.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. If you plan to use more
than one network card under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
@@ -2583,10 +3272,10 @@ CONFIG_ZNET
by this driver. Read the Ethernet-HOWTO, available via ftp (user:
anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO.
-Pocket and portable adaptors
+Pocket and portable adapters
CONFIG_NET_POCKET
Cute little network (ethernet) devices which attach to the parallel
- port ("pocket adaptors"), commonly used with laptops. If you have
+ port ("pocket adapters"), commonly used with laptops. If you have
one of those, say Y and read the Ethernet-HOWTO, available via ftp
(user: anonymous) from sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you
want to plug a network card into the PCMCIA slot of your laptop
@@ -2600,10 +3289,10 @@ CONFIG_NET_POCKET
plan to use more than one network device under linux, read the
Multiple-Ethernet-mini-HOWTO, available from
sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini. If you intend to use an
- adaptor attaching to the parallel port as well as a parallel
+ adapter attaching to the parallel port as well as a parallel
printer, you should compile both drivers as modules (if possible).
-AT-LAN-TEC/RealTek pocket adaptor support
+AT-LAN-TEC/RealTek pocket adapter support
CONFIG_ATP
This is a network (ethernet) device which attaches to your parallel
port. Read drivers/net/atp.c as well as the Ethernet-HOWTO,
@@ -2615,7 +3304,7 @@ CONFIG_ATP
this driver, you should have said N to the Parallel Printer support,
because the two drivers don't like each other.
-D-Link DE600 pocket adaptor support
+D-Link DE600 pocket adapter support
CONFIG_DE600
This is a network (ethernet) device which attaches to your parallel
port. Read drivers/net/README.DLINK as well as the Ethernet-HOWTO,
@@ -2623,13 +3312,14 @@ CONFIG_DE600
sunsite.unc.edu:/pub/Linux/docs/HOWTO if you want to use this. If
you want to compile this as a module ( = code which can be inserted
in and removed from the running kernel whenever you want), say M
- here and read Documentation/modules.txt. If you intend to use this
- pocket adaptor as well as a parallel printer, you should compile
- both drivers as modules. If you plan to use more than one network
- card under linux, read the Multiple-Ethernet-mini-HOWTO, available
- from sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+ here and read Documentation/modules.txt. The module will be called
+ de600.o. If you intend to use this pocket adapter as well as a
+ parallel printer, you should compile both drivers as modules. If you
+ plan to use more than one network card under linux, read the
+ Multiple-Ethernet-mini-HOWTO, available from
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
-D-Link DE620 pocket adaptor support
+D-Link DE620 pocket adapter support
CONFIG_DE620
This is a network (ethernet) device which attaches to your parallel
port. Read drivers/net/README.DLINK as well as the Ethernet-HOWTO,
@@ -2637,11 +3327,12 @@ CONFIG_DE620
sunsite.unc.edu:/pub/Linux/docs/HOWTO if you want to use this. If
you want to compile this as a module ( = code which can be inserted
in and removed from the running kernel whenever you want), say M
- here and read Documentation/modules.txt. If you intend to use this
- pocket adaptor as well as a parallel printer, you should compile
- both drivers as modules. If you plan to use more than one network
- card under linux, read the Multiple-Ethernet-mini-HOWTO, available
- from sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
+ here and read Documentation/modules.txt. The module will be called
+ de620.o. If you intend to use this pocket adapter as well as a
+ parallel printer, you should compile both drivers as modules. If you
+ plan to use more than one network card under linux, read the
+ Multiple-Ethernet-mini-HOWTO, available from
+ sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.
Token Ring driver support
CONFIG_TR
@@ -2650,15 +3341,42 @@ CONFIG_TR
ring network and want to use your Token Ring card under Linux, say Y.
Most people can say N here.
-IBM Tropic chipset based adaptor support
+IBM Tropic chipset based adapter support
CONFIG_IBMTR
This is support for all IBM Token Ring cards that don't use DMA. If
you have such a beast, say Y, otherwise N. Warning: this driver will
almost definitely fail if more than one active Token Ring card is
present. This driver is also available as a module ( = code which
can be inserted in and removed from the running kernel whenever you
- want). If you want to compile it as a module, say M here and read
- Documentation/modules.txt.
+ want). The module will be called ibmtr.o. If you want to compile it
+ as a module, say M here and read Documentation/modules.txt.
+
+Traffic Shaper (EXPERIMENTAL)
+CONFIG_SHAPER
+ The traffic shaper is a virtual network device that allows you to
+ limit the rate of outgoing data flow over another network
+ device. See Documentation/networking/shaper.txt for more
+ information. To set up and configure shaper devices, you need the
+ shapecfg program, available via ftp (user: anonymous) from
+ shadow.cabi.net/pub/Linux in the shaper package. This driver is
+ also available as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want). The module will
+ be called shaper.o. If you want to compile it as a module, say M
+ here and read Documentation/modules.txt. If unsure, say N.
+
+FDDI driver support
+CONFIG_FDDI
+ Fiber Distributed Data Interface is a high speed local area network
+ design; essentially a replacement for high speed ethernet. FDDI can
+ run over copper or fiber. If you are connected to such a network and
+ want a driver for the FDDI card in your computer, say Y here (and
+ then also Y to the driver for your FDDI card, below). Most people
+ will say N.
+
+Digital DEFEA and DEFPA adapter support
+CONFIG_DEFXX
+ This is support for the DIGITAL series of EISA (DEFEA) and PCI
+ (DEFPA) controllers which can connect you to a local FDDI network.
Support non-SCSI/IDE/ATAPI drives
CONFIG_CD_NO_IDESCSI
@@ -2690,23 +3408,37 @@ CONFIG_CDU31A
will not be auto detected by the kernel at boot time; you have to
provide the interface address as an option to the kernel at boot
time as described in Documentation/cdrom/cdu31a or fill in your
- parameters into linux/drivers/cdrom/cdu31a.c. See the documentation
- of your boot loader (lilo or loadlin) about how to pass options to
- the kernel. The lilo procedure is also explained in the SCSI-HOWTO.
+ parameters into linux/drivers/cdrom/cdu31a.c. Try "man bootparam" or
+ see the documentation of your boot loader (lilo or loadlin) about
+ how to pass options to the kernel. The lilo procedure is also
+ explained in the SCSI-HOWTO. If you say Y here, you should also say
+ Y to "ISO9660 cdrom filesystem support" below, because that's the
+ filesystem used on CDROMs. This driver is also available as a module
+ ( = code which can be inserted in and removed from the running
+ kernel whenever you want). The module will be called cdu31a.o. If
+ you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
Standard Mitsumi [no XA/Multisession] CDROM support
CONFIG_MCD
This is the older of the two drivers for the older Mitsumi models
- LU-005, FX-001 and FX-001D. This is not the right driver for the
- FX-001DE and the triple or quad speed models (all these are IDE/ATAPI
- models).
- With the old LU-005 model, the whole drive chassis slides out for
- cd insertion. The FX-xxx models use a motorized tray type mechanism.
- Note that this driver does not support XA or MultiSession CDs (PhotoCDs).
- There is a new driver (next question) which can do this. If you want
- that one, say N here.
- If the driver doesn't work out of the box, you might want to have
- a look at linux/include/linux/mcd.h.
+ LU-005, FX-001 and FX-001D. This is not the right driver for the
+ FX-001DE and the triple or quad speed models (all these are
+ IDE/ATAPI models).
+ With the old LU-005 model, the whole drive chassis slides out for cd
+ insertion. The FX-xxx models use a motorized tray type mechanism.
+ Note that this driver does not support XA or MultiSession CDs
+ (PhotoCDs). There is a new driver (next question) which can do
+ this. If you want that one, say N here.
+ If the driver doesn't work out of the box, you might want to have a
+ look at linux/include/linux/mcd.h. If you say Y here, you should
+ also say Y to "ISO9660 cdrom filesystem support" below, because
+ that's the filesystem used on CDROMs. Please also read the file
+ Documentation/cdrom/mcd. This driver is also available as a module (
+ = code which can be inserted in and removed from the running kernel
+ whenever you want). The module will be called mcd.o. If you want to
+ compile it as a module, say M here and read
+ Documentation/modules.txt.
Mitsumi [XA/MultiSession] support
CONFIG_MCDX
@@ -2715,7 +3447,14 @@ CONFIG_MCDX
FX-001 or FX-001D CDROM drive. In addition, this driver uses much less
kernel memory than the old one, if that is a concern. This driver is
able to support more than one drive, but each drive needs a separate
- interface card. Check out Documentation/cdrom/mcdx.
+ interface card.
+ If you say Y here, you should also say Y to "ISO9660 cdrom
+ filesystem support" below, because that's the filesystem used on
+ CDROMs. Please also read the file Documentation/cdrom/mcdx. This
+ driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). The
+ module will be called mcdx.o. If you want to compile it as a module,
+ say M here and read Documentation/modules.txt.
Matsushita/Panasonic/Creative, Longshine, TEAC CDROM support
CONFIG_SBPCD
@@ -2741,14 +3480,22 @@ CONFIG_SBPCD
card can support up to four CDROM drives; if you say Y here, you
will be asked how many controllers you have. If compiled as a
module, only one interface card (but with up to four drives) is
- usable.
+ usable.
+ If you say Y here, you should also say Y to "ISO9660 cdrom
+ filesystem support" below, because that's the filesystem used on
+ CDROMs. Please also read the file Documentation/cdrom/sbpcd. This
+ driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). The
+ module will be called sbpcd.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
Matsushita/Panasonic, ... second CDROM controller support
CONFIG_SBPCD2
Say Y here only if you have two CDROM controller boards of this type
(usually only if you have more than four drives). You should enter
the parameters for the second, third and fourth interface card into
- linux/include/linux/sbpcd.h before compiling the new kernel.
+ linux/include/linux/sbpcd.h before compiling the new kernel. Read
+ the file Documentation/cdrom/sbpcd.
Aztech/Orchid/Okano/Wearnes/TXC/CyDROM CDROM support
CONFIG_AZTCD
@@ -2756,23 +3503,60 @@ CONFIG_AZTCD
CD-3110, Okano or Wearnes CDD110, Conrad TXC, or CyCDROM CR520 or
CR540 CDROM drive. This driver - just like all these CDROM drivers
- is NOT for CDROM drives with IDE/ATAPI interface, such as Aztech
- CDA269-031SE.
+ CDA269-031SE. If you say Y here, you should also say Y to "ISO9660
+ cdrom filesystem support" below, because that's the filesystem used
+ on CDROMs. Please also read the file Documentation/cdrom/aztcd. This
+ driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). The
+ module will be called aztcd.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
Sony CDU535 CDROM support
CONFIG_CDU535
- This is the driver for the older Sony CDU-535 and CDU-531 CDROM drives.
+ This is the driver for the older Sony CDU-535 and CDU-531 CDROM
+ drives. If you say Y here, you should also say Y to "ISO9660 cdrom
+ filesystem support" below, because that's the filesystem used on
+ CDROMs. Please also read the file Documentation/cdrom/sonycd535.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you
+ want). The module will be called sonycd535.o. If you want to compile
+ it as a module, say M here and read Documentation/modules.txt.
Goldstar R420 CDROM support
CONFIG_GSCD
- If this is your CDROM drive, say Y here.
- As described in linux/Documentation/cdrom/gscd, you might have to
- change a setting in the file include/linux/gscd.h before compiling
- the kernel.
+ If this is your CDROM drive, say Y here. As described in
+ linux/Documentation/cdrom/gscd, you might have to change a setting
+ in the file include/linux/gscd.h before compiling the kernel. Please
+ read the file Documentation/cdrom/gscd. If you say Y here, you
+ should also say Y to "ISO9660 cdrom filesystem support" below,
+ because that's the filesystem used on CDROMs. This driver is also
+ available as a module ( = code which can be inserted in and removed
+ from the running kernel whenever you want). The module will be
+ called gscd.o. If you want to compile it as a module, say M here and
+ read Documentation/modules.txt.
+
+MicroSolutions backpack CDROM support
+CONFIG_BPCD
+ MicroSolutions backpack CDROM is an external drive that connects to
+ the parallel port. This driver supports model 164550 (and perhaps
+ other models). Say Y if you have one of these, and read the file
+ Documentation/cdrom/bpcd. If you say Y here, you should also say Y
+ to "ISO9660 cdrom filesystem support" below, because that's the
+ filesystem used on CDROMs. If you have several different devices
+ that will share a common parallel port, say M and build them as
+ modules. This module will be called bpcd.o.
Philips/LMS CM206 CDROM support
CONFIG_CM206
If you have a Philips/LMS CDROM drive cm206 in combination with a
- cm260 host adapter card, say Y here.
+ cm260 host adapter card, say Y here. Please also read the file
+ Documentation/cdrom/cm206. If you say Y here, you should also say Y
+ to "ISO9660 cdrom filesystem support" below, because that's the
+ filesystem used on CDROMs. This driver is also available as a module
+ ( = code which can be inserted in and removed from the running
+ kernel whenever you want). The module will be called cm206.o. If you
+ want to compile it as a module, say M here and read
+ Documentation/modules.txt.
Optics Storage DOLPHIN 8000AT CDROM support
CONFIG_OPTCD
@@ -2780,62 +3564,55 @@ CONFIG_OPTCD
compatible interface. It also works with the Lasermate CR328A. If
you have one of those, say Y. This driver does not work for the
Optics Storage 8001 drive; use the IDE-ATAPI CDROM driver for that
- one.
+ one. Please read the file Documentation/cdrom/optcd.
+ If you say Y here, you should also say Y to "ISO9660 cdrom
+ filesystem support" below, because that's the filesystem used on
+ CDROMs. This driver is also available as a module ( = code which can
+ be inserted in and removed from the running kernel whenever you
+ want). The module will be called optcd.o. If you want to compile it
+ as a module, say M here and read Documentation/modules.txt.
Sanyo CDR-H94A CDROM support
CONFIG_SJCD
- If this is your CDROM drive, say Y here. Command line option
- (or 'append=' option in /etc/lilo.conf) is:
- sjcd=<port>
- Here 'port' is the base i/o address used by the drive. It defaults
- to port=0x340.
+ If this is your CDROM drive, say Y here and read the file
+ Documentation/cdrom/sjcd. You should then also say Y to "ISO9660
+ cdrom filesystem support" below, because that's the filesystem used
+ on CDROMs. This driver is also available as a module ( = code which
+ can be inserted in and removed from the running kernel whenever you
+ want). The module will be called sjcd.o. If you want to compile it
+ as a module, say M here and read Documentation/modules.txt.
Soft configurable cdrom interface card support
CONFIG_CDI_INIT
If you want to include boot-time initialization of any cdrom
- interface card that is software configurable, say Y here.
- Currently only the ISP16/MAD16/Mozart cards are supported.
+ interface card that is software configurable, say Y here. Currently
+ only the ISP16/MAD16/Mozart soundcards with built-in cdrom
+ interfaces are supported. Note that the answer to this question
+ doesn't directly affect the kernel: saying N will just cause this
+ configure script to skip all the questions about these CDROM drives.
ISP16/MAD16/Mozart soft configurable cdrom interface support
CONFIG_ISP16_CDI
- If you want any of these cdrom interface cards based on the
- OPTi 82C928 or 82C929 chips get detected and possibly configured
- at boot time, please say Y. Boot time command line options (or
- 'append=' options in /etc/lilo.conf) are:
- isp16=<port>,<irq>,<dma>,<drive_type>
- Here 'port','irq' and 'dma' are the base i/o address, irq number and
- dma line assumed to be used by the attached cdrom
- drive. 'drive_type' is the type of cdrom drive or its emulation
- mode. Valid values for drive_type include: Sanyo, Panasonic (same as
- Sanyo), Sony and Mitsumi. Default values are: port=0x340, irq=0,
- dma=0, drive_type=Sanyo.
- The command line
- isp16=noisp16
- will skip detection and configuration after all.
- N.B. options are case sensitive.
- Read Documentation/cdrom/isp16 for details.
+ These are soundcards with with built-in cdrom interfaces using the
+ OPTi 82C928 or 82C929 chips. Say Y here to have them detected and
+ possibly configured at boot time. In addition, You'll have to say Y
+ to a driver for the particular cdrom drive you have attached to the
+ card. Read Documentation/cdrom/isp16 for details. This driver is
+ also available as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want). The module will
+ be called isp16.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt.
Quota support
CONFIG_QUOTA
If you say Y here, you will be able to set per user limits for disk
usage (also called diskquotas). Currently, it works only for the
ext2 filesystem. You need additional software in order to use quota
- support; check the file Documentation/Changes for that. Probably the
+ support; it is available via ftp (user: anonymous) from
+ ftp.funet.fi/pub/Linux/kernel/src/subsystems/quota/. Probably the
quota support is only useful for multi user systems. If unsure, say
N.
-Mandatory lock support
-CONFIG_LOCK_MANDATORY
- File locking is a system designed to prevent that several processes
- write to the same file at the same time, causing data
- corruption. Mandatory file locking is more secure than the usual
- algorithm and is used by some Unix System 5 style database
- applications. For details, read Documentation/mandatory.txt. To use
- this option safely you must have newer NFS daemons, new samba, new
- netatalk, new mars-nwe and other file servers. At the time of
- writing none of these are available. So it's safest to say N here
- unless you really know that you need this feature.
-
Minix fs support
CONFIG_MINIX_FS
Minix is a simple operating system used in many classes about
@@ -2846,18 +3623,12 @@ CONFIG_MINIX_FS
leaner. You don't want to use it on your harddisk because of certain
built-in restrictions. This option will enlarge your kernel by about
25 kB. Everyone should say Y or M so that they are able to read this
- common floppy format. If you want to compile this as a module
- ( = code which can be inserted in and removed from the
- running kernel whenever you want), say M here and read
- Documentation/modules.txt. Note that the filesystem of your root
- partition cannot be compiled as a module.
-
-Extended fs support
-CONFIG_EXT_FS
- This is the old Linux filesystem (= method to organize files on a
- harddisk partition or a floppy disk) and not in use anymore. It
- enlarges your kernel by about 25 kB. Let's all kill this beast. Say
- N.
+ common floppy format. If you want to compile this as a module ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called minix.o. Note
+ that the filesystem of your root partition cannot be compiled as a
+ module.
Second extended fs support
CONFIG_EXT2_FS
@@ -2874,37 +3645,33 @@ CONFIG_EXT2_FS
transition to a *real* Linux partition later. Another (rare) case
which doesn't require ext2fs is a diskless Linux box which mounts
all files over the network using NFS (in this case it's sufficient
- to enable NFS filesystem support below; if you are planning to do
- this, have a look at the netboot package in
- /pub/Linux/system/Linux-boot/, available via ftp (user: anonymous)
- from sunsite.unc.edu, extract with "tar xzvf filename"). There is a
- short ext2fs-FAQ, available via ftp (user: anonymous) in
+ to say Y to "NFS filesystem support" below). There is a short
+ ext2fs-FAQ, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/faqs. This option will enlarge your
- kernel by about 41 kB. Default is Y.
-
-xiafs filesystem support
-CONFIG_XIA_FS
- This is an old filesystem (= method to organize files on a harddisk
- partition or a floppy disk) and not in use anymore. This option
- would enlarge your kernel by about 28 kB. Let's all kill this beast:
- say N. If you want to compile this as a module ( = code which can
- be inserted in and removed from the running kernel whenever you
- want), say M here and read Documentation/modules.txt. Note that the
- filesystem of your root partition cannot be compiled as a module.
+ kernel by about 41 kB. If you want to compile this filesystem as a
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called ext2.o. Be
+ aware however that the filesystem of your root partition cannot be
+ compiled as a module, and so this could be dangerous. Most everyone
+ wants to say Y here.
fat fs support
CONFIG_FAT_FS
If you want to use one of the FAT-based filesystems (the MS-DOS,
- VFAT (Windows'95) and UMSDOS filesystems), then you must include
- FAT support. This is not a filesystem in itself, but it provides
- the foundation for the other filesystems. This option will enlarge
- your kernel about 24 kB. If unsure, say Y. If you want to compile
- this as a module however ( = code which can be inserted in and
- removed from the running kernel whenever you want), say M here and
- read Documentation/modules.txt. Note that if you compile the FAT
- support as a module, you cannot compile any of the FAT-based file-
- systems into the kernel - they will have to be modules as well.
- The filesystem of your root partition cannot be a module.
+ VFAT (Windows'95) and UMSDOS (used to run Linux on top of an
+ ordinary DOS partition) filesystems), then you must include FAT
+ support. This is not a filesystem in itself, but it provides the
+ foundation for the other filesystems. This option will enlarge your
+ kernel by about 24 kB. If unsure, say Y. If you want to compile this
+ as a module however ( = code which can be inserted in and removed
+ from the running kernel whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called fat.o. Note
+ that if you compile the FAT support as a module, you cannot compile
+ any of the FAT-based filesystems into the kernel - they will have to
+ be modules as well. The filesystem of your root partition cannot be
+ a module, so don't say M here if you intend to use UMSDOS as your
+ root filesystem.
msdos fs support
CONFIG_MSDOS_FS
@@ -2930,8 +3697,8 @@ CONFIG_MSDOS_FS
work if you said Y to "fat fs support" as well. If you want to
compile this as a module however ( = code which can be inserted in
and removed from the running kernel whenever you want), say M here
- and read Documentation/modules.txt. Note that the filesystem of your
- root partition cannot be a module.
+ and read Documentation/modules.txt. The module will be called
+ msdos.o.
vfat fs support
CONFIG_VFAT_FS
@@ -2941,11 +3708,12 @@ CONFIG_VFAT_FS
partitions. It does not support Windows'95 compressed filesystems.
You cannot use the VFAT filesystem for your root partition; use
UMSDOS instead. This option enlarges your kernel by about 10 kB and
- it only works if you enabled the "fat fs support" above. Please read
+ it only works if you said Y to the "fat fs support" above. Please read
the file Documentation/filesystems/vfat.txt for details.
If unsure, say N. If you want to compile this as a module ( = code
which can be inserted in and removed from the running kernel whenever
- you want), say M here and read Documentation/modules.txt.
+ you want), say M here and read Documentation/modules.txt. The module
+ will be called vfat.o.
umsdos: Unix like fs on top of std MSDOS fs
CONFIG_UMSDOS_FS
@@ -2959,14 +3727,14 @@ CONFIG_UMSDOS_FS
is to write files with long unix filenames to MSDOS floppies; it
also allows unix style softlinks and owner/permissions of files on
MSDOS floppies. You will need a program called umssync in order to
- make use of umsdos. Read Documentation/filesystems/umsdos.txt. This
+ make use of umsdos; read Documentation/filesystems/umsdos.txt. This
option enlarges your kernel by about 25 kB and it only works if you
- enabled both "fat fs support" and "msdos fs support" above. If
- unsure, say N. If you want to compile this as a module ( = code
- which can be inserted in and removed from the running kernel
- whenever you want), say M here and read
- Documentation/modules.txt. Note that the filesystem of your root
- partition cannot be a module.
+ said Y to both "fat fs support" and "msdos fs support" above. If you
+ want to compile this as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read Documentation/modules.txt. The module will be called
+ umsdos.o. Note that the filesystem of your root partition cannot be
+ a module, so this could be dangerous. If unsure, say N.
/proc filesystem support
CONFIG_PROC_FS
@@ -2975,28 +3743,28 @@ CONFIG_PROC_FS
your harddisk: the files are created on the fly when you access
them. Also, you cannot read the files with less: you need to use
more or cat. The filesystem is explained in the Kernel Hacker's
- Guide, available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/LDP and also on the proc(8) manpage
- ("man 8 proc"). This option will enlarge your kernel by about 18
- kB. It's totally cool; for example, "cat /proc/interrupts" gives
- information about what the different IRQs are used for at the moment
- (there is a small number of Interrupt ReQuest lines in your computer
- that are used by the periphery to gain the CPU's attention - often a
- source of trouble if two devices are mistakenly configured to use
- the same IRQ). Several programs depend on this, so everyone should
- say Y here.
+ Guide at http://www.redhat.com:8080/HyperNews/get/khg.html on the
+ Web, and also on the proc(8) manpage ("man 8 proc"). This option
+ will enlarge your kernel by about 18 kB. It's totally cool; for
+ example, "cat /proc/interrupts" gives information about what the
+ different IRQs are used for at the moment (there is a small number
+ of Interrupt ReQuest lines in your computer that are used by the
+ attached devices to gain the CPU's attention - often a source of
+ trouble if two devices are mistakenly configured to use the same
+ IRQ). Several programs depend on this, so everyone should say Y
+ here.
NFS filesystem support
CONFIG_NFS_FS
If you are connected to some other (usually local) Unix computer
- (using SLIP, PLIP, PPP or ethernet) and want to mount files
- residing on that computer (the NFS server) using the Network
- File Sharing protocol, say Y. "Mounting files" means that the client
- can access the files with usual UNIX commands as if they were
- sitting on the client's harddisk. For this to work, the server must
- run the programs nfsd and mountd (but does not need to have NFS
- filesystem support enabled). NFS is explained in the Network
- Administrator's Guide, available via ftp (user: anonymous) in
+ (using SLIP, PLIP, PPP or ethernet) and want to mount files residing
+ on that computer (the NFS server) using the Network File Sharing
+ protocol, say Y. "Mounting files" means that the client can access
+ the files with usual UNIX commands as if they were sitting on the
+ client's harddisk. For this to work, the server must run the
+ programs nfsd and mountd (but does not need to have NFS filesystem
+ support enabled). NFS is explained in the Network Administrator's
+ Guide, available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/docs/LDP, and on its man page: "man
nfs". There is also a NFS-FAQ in
sunsite.unc.edu:/pub/Linux/docs/faqs which presumes that you know
@@ -3004,11 +3772,15 @@ CONFIG_NFS_FS
to TCP/IP networking also. This option would enlarge your kernel by
about 27 kB. This filesystem is also available as a module ( = code
which can be inserted in and removed from the running kernel
- whenever you want). If you want to compile it as a module, say M
- here and read Documentation/modules.txt. If you configure a diskless
- machine which will mount its root filesystem over nfs, you cannot
- compile this driver as a module. If you don't know what all this is
- about, say N.
+ whenever you want). The module is called nfs.o. If you want to
+ compile it as a module, say M here and read
+ Documentation/modules.txt. If you configure a diskless machine which
+ will mount its root filesystem over nfs (in order to do that, check
+ out the netboot package, available via ftp (user: anonymous) from
+ sunsite.unc.edu in /pub/Linux/system/Linux-boot/, extract with "tar
+ xzvf filename", and say Y to "Root file system on NFS" below), then
+ you cannot compile this driver as a module. If you don't know what
+ all this is about, say N.
Root file system on NFS
CONFIG_ROOT_NFS
@@ -3053,7 +3825,7 @@ CONFIG_ISO9660_FS
kernel by about 27 kB; otherwise say N. If you want to compile this
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt.
+ Documentation/modules.txt. The module will be called isofs.o.
OS/2 HPFS filesystem support (read only)
CONFIG_HPFS_FS
@@ -3065,17 +3837,18 @@ CONFIG_HPFS_FS
able to read them. Read Documentation/filesystems/hpfs.txt. This
filesystem is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you
- want). If you want to compile it as a module, say M here and read
- Documentation/modules.txt. If unsure, say N.
+ want). The module is called hpfs.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt. If unsure,
+ say N.
System V and Coherent filesystem support
CONFIG_SYSV_FS
SCO, Xenix and Coherent are commercial Unix systems for intel
- machines. Enabling this option would allow you to read and write to
- and from their floppies and harddisk partitions. If you have a
- floppy or harddisk partition like that, it is probable that they
- contain binaries from those other Unix systems; in order to run
- these binaries, you will want to install iBCS2 (iBCS2 [Intel Binary
+ machines. Saying Y here would allow you to read and write to and
+ from their floppies and harddisk partitions. If you have a floppy or
+ harddisk partition like that, it is probable that they contain
+ binaries from those other Unix systems; in order to run these
+ binaries, you will want to install iBCS2 (iBCS2 [Intel Binary
Compatibility Standard] is a kernel module which lets you run SCO,
Xenix, Wyse, Unix Ware, Dell Unix and System V programs under Linux
and is often needed to run commercial software, most prominently
@@ -3092,61 +3865,73 @@ CONFIG_SYSV_FS
kernel by about 34 kB. If you want to compile this as a module ( =
code which can be inserted in and removed from the running kernel
whenever you want), say M here and read
- Documentation/modules.txt. If you haven't heard about all of this
- before, it's safe to say N.
+ Documentation/modules.txt. The module will be called sysv.o. If you
+ haven't heard about all of this before, it's safe to say N.
+
+Kernel automounter support (experimental)
+CONFIG_AUTOFS_FS
+ The automounter is a tool to automatically mount remote filesystems
+ on demand. This implementation is partially kernel-based to reduce
+ overhead in the already-mounted case; this is unlike the BSD
+ automounter (amd), which is only in user space. To use the
+ automounter you also need the user-space tools from
+ ftp.kernel.org:/pub/linux/daemons/autofs. If you are not a part of
+ a fairly large, distributed network, you probably do not need an
+ automounter, and can say N here.
BSD UFS filesystem support (read only)
CONFIG_UFS_FS
BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD
and NeXTstep) use a filesystem called UFS. Some System V Unixes can
- create and mount partitions and diskettes using this filesystem
- as well. Enabling this option allows you to mount these partitions
- and diskettes read-only. If you only intend to mount files from
- some other Unix over the network using NFS, you don't need the
- UFS filesystem support (but you need nfs filesystem support
+ create and mount partitions and diskettes using this filesystem as
+ well. Saying Y here allows you to mount these partitions and
+ diskettes read-only. If you only intend to mount files from some
+ other Unix over the network using NFS, you don't need the UFS
+ filesystem support (but you need nfs filesystem support
obviously). Note that this option is generally not needed for
floppies, since a good portable way to transport files and
- directories between unixes (and even other operating systems)
- is given by the tar program ("man tar"). When accessing NeXTstep
- files, you may need to convert them from the NeXT character set
- to the Latin1 character set; use GNU recode for this purpose.
- Say Y to build UFS support into your kernel. If you want to compile
- this as a module ( = code which can be inserted in and removed from
- the running kernel whenever you want), say M here and read
- Documentation/modules.txt. If you haven't heard about all of this
- before, it's safe to say N.
+ directories between unixes (and even other operating systems) is
+ given by the tar program ("man tar"). When accessing NeXTstep files,
+ you may need to convert them from the NeXT character set to the
+ Latin1 character set; use GNU recode for this purpose. Say Y to
+ build UFS support into your kernel. If you want to compile this as a
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called ufs.o. If you
+ haven't heard about all of this before, it's safe to say N.
BSD disklabel (FreeBSD partition tables) support
CONFIG_BSD_DISKLABEL
FreeBSD uses its own partition scheme on your PC. It requires only
one entry in the primary partition table of your disk and manages it
similarly to DOS extended partitions, putting in its first sector a
- new partition table in disklabel format. Enabling this option allows
- you to read these disklabels and further mount FreeBSD partitions on
- your Linux box if you also have configured BSD ufs filesystem
- support. If you don't know what all this is about, say N.
+ new partition table in disklabel format. Saying Y here allows you to
+ read these disklabels and further mount FreeBSD partitions on your
+ Linux box if you also have configured BSD ufs filesystem support. If
+ you don't know what all this is about, say N.
SMD disklabel (Sun partition tables) support
CONFIG_SMD_DISKLABEL
Like most systems, SunOS uses its own partition table format,
- incompatible with all others. Enabling this option allows you to read
- these partition tables and further mount SunOS disks on your Linux
- box if you also have configured BSD ufs filesystem support. This is
- mainly used to carry data from a Sparc under SunOS to your Linux box
- via a removable medium like magneto-optical or ZIP drives. If you
- don't know what all this is about, say N.
+ incompatible with all others. Saying Y here allows you to read these
+ partition tables and further mount SunOS disks on your Linux box if
+ you also have configured BSD ufs filesystem support. This is mainly
+ used to carry data from a Sparc under SunOS to your Linux box via a
+ removable medium like magneto-optical or ZIP drives. If you don't
+ know what all this is about, say N.
SMB filesystem support (to mount WfW shares etc..)
CONFIG_SMB_FS
SMB (Server Message Buffer) is the protocol Windows for Workgroups
- (WfW), Windows NT and Lan Manager use to talk to each other over an
- ethernet. Enabling this allows you to mount their filesystems and
- access them just like any other unix directory. For details, read
+ (WfW), Windows 95, Windows NT and Lan Manager use to share files and
+ printers over local networks. Saying Y here allows you to mount
+ their filesystems (often called "shares" in this context) and access
+ them just like any other unix directory. For details, read
Documentation/filesystems/smbfs.txt. Note: if you just want your
box to act as an SMB *server* and make files and printing services
available to Windows clients (which need to have a TCP/IP stack),
- you don't need to enable this filesystem support; you can use the
- program samba (available via ftp (user: anonymous) in
+ you don't need to say Y here; you can use the program samba
+ (available via ftp (user: anonymous) in
sunsite.unc.edu:/pub/Linux/system/Network/samba) for that. General
information about how to connect Linux, Windows machines and Macs is
on the WWW at http://eats.com/linux_mac_win.html (to browse the WWW,
@@ -3154,7 +3939,8 @@ CONFIG_SMB_FS
the programs lynx, netscape or Mosaic). If you want to compile the
SMB support as a module ( = code which can be inserted in and
removed from the running kernel whenever you want), say M here and
- read Documentation/modules.txt. Most people say N, however.
+ read Documentation/modules.txt. The module will be called
+ smbfs.o. Most people say N, however.
SMB Win95 bug work-around
CONFIG_SMB_WIN95
@@ -3166,33 +3952,60 @@ CONFIG_SMB_WIN95
NCP filesystem support (to mount NetWare volumes)
CONFIG_NCP_FS
NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
- used by Novel NetWare clients to talk to file servers. It is to IPX
- what nfs is to tcp/ip, if that helps. Enabling this option allows
- you to mount NetWare file server volumes and to access them just
- like any other Unix directory. For details, please read the file
+ used by Novell NetWare clients to talk to file servers. It is to IPX
+ what nfs is to tcp/ip, if that helps. Saying Y here allows you to
+ mount NetWare file server volumes and to access them just like any
+ other Unix directory. For details, please read the file
Documentation/filesystems/ncpfs.txt in the kernel source and the
IPX-HOWTO on sunsite.unc.edu:/pub/Linux/docs/howto. If you want to
compile this as a module ( = code which can be inserted in and
removed from the running kernel whenever you want), say M here and
- read Documentation/modules.txt.
+ read Documentation/modules.txt. The module will be called
+ ncpfs.o. Say N unless you are connected to a Novell network.
-Amiga FFS filesystem support (EXPERIMENTAL)
+Amiga FFS filesystem support
CONFIG_AFFS_FS
- The Fast File System (FFS) is the common filesystem used on harddisks
- by Amiga (tm) Systems since AmigaOS Version 1.3 (34.20). It's also
- possible to mount diskfiles used by the Un*X Amiga Emulator by Bernd
- Schmidt (http://www-users.informatik.rwth-aachen.de/~crux/uae.html)
- If you want to do the latter, you will also need the loop device
- support. Say Y if you want to be able to read and write files from
- and to an Amiga FFS partition of your harddrive. Amiga floppies
- however cannot be read with this driver due to an incompatibility of
- the floppy controller used in an Amiga and the standard floppy
- controller in PCs and workstations. Read
- Documentation/filesystems/affs.txt. This filesystem is also available
- as a module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read Documentation/modules.txt.
- If unsure, say N.
+ The Fast File System (FFS) is the common filesystem used on
+ harddisks by Amiga(tm) Systems since AmigaOS Version 1.3
+ (34.20). With this driver you can also mount diskfiles used by the
+ Un*X Amiga Emulator by Bernd Schmidt
+ (http://www-users.informatik.rwth-aachen.de/~crux/uae.html). If you
+ want to do the latter, you will also need to say Y to "Loop device
+ support", above. Say Y if you want to be able to read and write
+ files from and to an Amiga FFS partition on your harddrive. Amiga
+ floppies however cannot be read with this driver due to an
+ incompatibility of the floppy controller used in an Amiga and the
+ standard floppy controller in PCs and workstations. Read
+ Documentation/filesystems/affs.txt. This filesystem is also
+ available as a module ( = code which can be inserted in and removed
+ from the running kernel whenever you want). The module is called
+ affs.o. If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say N.
+
+ROM filesystem support
+CONFIG_ROMFS_FS
+ This is a very small read-only filesystem mainly intended for
+ initial ram disks of installation disk, but it could be used for
+ other read-only media as well. Read
+ Documentation/filesystems/romfs.txt for details. This filesystem is
+ also available as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want). The module is
+ called romfs.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt. If you don't know whether you
+ need it, then you don't need it: say N.
+
+Virtual terminal
+CONFIG_VT
+ This includes support for a terminal device using display and
+ keyboard devices. Only people using embedded systems want to say N
+ here. Most say Y here.
+
+Console on virtual terminal
+CONFIG_VT_CONSOLE
+ If you enable this option, all kernel messages will be sent to the
+ device /dev/tty which corresponds to the virtual terminal you have
+ visible on your display. You should say Y here if you have no other
+ console device.
Standard/generic serial support
CONFIG_SERIAL
@@ -3201,15 +4014,27 @@ CONFIG_SERIAL
setting up dedicated ethernet WWW/ftp servers, or users that have
one of the various bus mice instead of a serial mouse. (Note that
the Cyclades and Stallion multi serial port drivers do not need this
- driver built in for them to work. They are completely independent of
- each other.) If you want to compile this driver as a module, say M
- here and read Documentation/modules.txt. [WARNING: Do not compile
- this driver as a module if you are using non-standard serial ports,
- since the configuration information will be lost when kerneld
- automatically unloads the driver. This limitation may be lifted in
- the future.] Most people will say Y or M here, so that they can use
- serial mice, modems and similar devices connecting to the standard
- serial ports.
+ driver built in for them to work.) If you want to compile this
+ driver as a module, say M here and read
+ Documentation/modules.txt. The module will be called
+ serial.o. [WARNING: Do not compile this driver as a module if you
+ are using non-standard serial ports, since the configuration
+ information will be lost when kerneld automatically unloads the
+ driver. This limitation may be lifted in the future.] BTW: If you
+ have a mouseman serial mouse which is not recognized by the X window
+ system, try running gpm first. Most people will say Y or M here, so
+ that they can use serial mice, modems and similar devices connecting
+ to the standard serial ports.
+
+Console on serial port
+CONFIG_SERIAL_CONSOLE
+ If you enable this option, all kernel messages will be sent to the
+ device /dev/ttyS1 which corresponds to a serial port; this could be
+ useful if you attached a terminal or printer to that port. You can
+ use this in combination with console on virtual terminal, in which
+ case you get the output on both serial and display. Most people say
+ N here so that they can use the serial port for modem, mouse or some
+ other device.
Digiboard PC/Xx Support
CONFIG_DIGI
@@ -3217,16 +4042,19 @@ CONFIG_DIGI
that give you many serial ports. You would need something like this
to connect more than two modems to your linux box, for instance in
order to become a BBS. If you have a card like that, say Y here and
- read the file Documentation/digiboard.txt.
+ read the file Documentation/digiboard.txt. If you want to compile
+ this driver as a module, say M here and read
+ Documentation/modules.txt. The module will be called pcxx.o.
SDL RISCom/8 card support
CONFIG_RISCOM8
This is a driver for the SDL Communications RISCom/8 multiport card,
- that give you many serial ports. You would need something like this
- to connect more than two modems to your linux box, for instance in
- order to become a BBS. If you have a card like that, say Y here and
- read the file Documentation/riscom8.txt. Also it's possible to say
- M here and compile this driver as kernel loadable module.
+ which gives you many serial ports. You would need something like
+ this to connect more than two modems to your linux box, for instance
+ in order to become a BBS. If you have a card like that, say Y here
+ and read the file Documentation/riscom8.txt. Also it's possible to
+ say M here and compile this driver as kernel loadable module; the
+ module will be called riscom8.o.
Cyclades async mux support
CONFIG_CYCLADES
@@ -3235,9 +4063,10 @@ CONFIG_CYCLADES
your linux box, for instance in order to become a BBS. If you want
to compile this as a module ( = code which can be inserted in and
removed from the running kernel whenever you want), say M here and
- read Documentation/modules.txt. If you haven't heard about it, it's
- safe to say N. (As of 1.3.9x kernels, this driver's minor numbers
- start at 0 instead of 32.)
+ read Documentation/modules.txt. The module will be called
+ cyclades.o. If you haven't heard about it, it's safe to say N. (As
+ of 1.3.9x kernels, this driver's minor numbers start at 0 instead of
+ 32.)
Stallion multiport serial support
CONFIG_STALDRV
@@ -3249,21 +4078,45 @@ CONFIG_STALDRV
heard about all this, it's safe to say N.
Stallion EasyIO or EC8/32 support
-CONFIG_STALLION n
+CONFIG_STALLION
If you have an EasyIO or EasyConnection 8/32 multiport Stallion
card, then this is for you; say Y. Make sure to read
- drivers/char/README.stallion. If you want to compile this as a
+ Documentation/stallion.txt. If you want to compile this as a
module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt.
+ Documentation/modules.txt. The module will be called stallion.o.
Stallion EC8/64, ONboard, Brumby support
CONFIG_ISTALLION
If you have an EasyConnection 8/64, ONboard, Brumby or Stallion
serial multiport card, say Y here. Make sure to read
- drivers/char/README.stallion. To compile it as a module ( = code
+ Documentation/stallion.txt. To compile it as a module ( = code
which can be inserted in and removed from the running kernel
- whenever you want), say M here and read Documentation/modules.txt.
+ whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called istallion.o.
+
+Hayes ESP serial port support
+CONFIG_ESPSERIAL
+ This is a driver which supports Hayes ESP serial ports. It uses DMA
+ to transfer data to and from the host. Make sure to read
+ drivers/char/README.esp. To compile this driver as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called esp.o.
+ If unsure, say N.
+
+Hayes ESP serial port DMA channel
+CONFIG_ESPSERIAL_DMA_CHANNEL
+ This is the DMA channel to be used to transfer data to and from the
+ host. One DMA channel is shared between all the ESP ports. Valid
+ values are 1 and 3.
+
+Hayes ESP serial port trigger level
+CONFIG_ESPSERIAL_TRIGGER_LEVEL
+ This is the trigger level (in bytes) of the transmit FIFO and the
+ receive FIFO. Larger values may result in fewer interrupts;
+ however, a value too high could result in data loss. Valid values
+ are 1 through 1015.
Parallel printer support
CONFIG_PRINTER
@@ -3274,24 +4127,12 @@ CONFIG_PRINTER
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to compile this
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt. If you want to use both a parallel
- printer and PLIP, there are two cases: 1) If the printer and the
- PLIP cable are to use the same parallel port (presumably because you
- have just one), it is best to compile both drivers as modules and
- load and unload them as needed. 2) To use different parallel ports
- for the printer and the PLIP cable, you can say Y to this printer
- driver, specify the base address of the parallel port(s) to use for
- the printer(s) with the "lp" kernel command line option. (See the
- documentation of your boot loader (lilo or loadlin) about how to
- pass options to the kernel at boot time. The lilo procedure is also
- explained in the SCSI-HOWTO, available via ftp (user: anonymous) in
- sunsite.unc.edu:/pub/Linux/docs/HOWTO.) The standard base addresses
- as well as the syntax of the "lp" command line option can be found
- in drivers/char/lp.c. You can then say Y to the PLIP driver or,
- preferably, M in which case Documentation/networking/net-modules.txt
- tells you how to specify the port and IRQ to be used by PLIP at
- module load time.
+ Documentation/modules.txt.
+CONFIG_PRINTER_READBACK
+ If your printer conforms to IEEE 1284, it may be able to provide a status
+ indication when you read from it (for example, with `cat /dev/lp1'). To
+ use this feature, say Y here.
Mouse Support (not serial mice)
CONFIG_MOUSE
@@ -3318,8 +4159,9 @@ CONFIG_BUSMOUSE
sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to compile this
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt. If you are unsure, say N and read the
- HOWTO nevertheless: it will tell you what you have.
+ Documentation/modules.txt. The module will be called busmouse.o. If
+ you are unsure, say N and read the HOWTO nevertheless: it will tell
+ you what you have.
PS/2 mouse (aka "auxiliary device") support
CONFIG_PSMOUSE
@@ -3332,11 +4174,15 @@ CONFIG_PSMOUSE
particular, the C&T 82C710 mouse on TI Travelmates is a PS/2
mouse. Although PS/2 mice are not technically bus mice, they are
explained in detail in the Busmouse-HOWTO, available via ftp (user:
- anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to
- compile this as a module ( = code which can be inserted in and
- removed from the running kernel whenever you want), say M here and
- read Documentation/modules.txt. If you are unsure, say N and read
- the HOWTO nevertheless: it will tell you what you have.
+ anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. When using a
+ PS/2 mouse, you can get problems if you want to use the mouse both
+ on the Linux console and under X. The mconv utility, available in
+ sunsite.unc.edu:/pub/Linux/system/Misc, solves this problem. If you
+ want to compile this mouse driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read Documentation/modules.txt. The module will be
+ called psaux.o. If you are unsure, say N and read the HOWTO
+ nevertheless: it will tell you what you have.
C&T 82C710 mouse port support (as on TI Travelmate)
CONFIG_82C710_MOUSE
@@ -3353,10 +4199,11 @@ CONFIG_MS_BUSMOUSE
(user: anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you
want to compile this as a module ( = code which can be inserted in
and removed from the running kernel whenever you want), say M here
- and read Documentation/modules.txt. If you are unsure, say N and
- read the HOWTO nevertheless: it will tell you what you have. Also be
- aware that several vendors talk about 'Microsoft busmouse' and
- actually mean PS/2 busmouse - so count the pins on the connector.
+ and read Documentation/modules.txt. The module will be called
+ msbusmouse.o. If you are unsure, say N and read the HOWTO
+ nevertheless: it will tell you what you have. Also be aware that
+ several vendors talk about 'Microsoft busmouse' and actually mean
+ PS/2 busmouse - so count the pins on the connector.
ATIXL busmouse support
CONFIG_ATIXL_BUSMOUSE
@@ -3366,8 +4213,9 @@ CONFIG_ATIXL_BUSMOUSE
anonymous) in sunsite.unc.edu:/pub/Linux/docs/HOWTO. If you want to
compile this as a module ( = code which can be inserted in and
removed from the running kernel whenever you want), say M here and
- read Documentation/modules.txt. If you are unsure, say N and read
- the HOWTO nevertheless: it will tell you what you have.
+ read Documentation/modules.txt. The module will be called
+ atixlmouse.o. If you are unsure, say N and read the HOWTO
+ nevertheless: it will tell you what you have.
Support for user miscellaneous modules
CONFIG_UMISC
@@ -3379,30 +4227,38 @@ CONFIG_UMISC
QIC-02 tape support
CONFIG_QIC02_TAPE
- If you have a non-SCSI tape drive like that, say Y.
+ If you have a non-SCSI tape drive like that, say Y. Or, if you want
+ to compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read Documentation/modules.txt. The module will be called
+ tpqic02.o.
Do you want runtime configuration for QIC-02
CONFIG_QIC02_DYNCONF
You can either configure this driver once and for all by editing a
- header file, in which case you should say N, or you can fetch a
- program via anonymous ftp which is able to configure this driver
- during runtime. If you want this, say Y.
+ header file (include/linux/tpqic02.h), in which case you should
+ say N, or you can fetch a program via anonymous ftp which is able
+ to configure this driver during runtime. The program to do this is
+ called 'qic02conf' and it is part of the 'tpqic02-support-X.Y.tar.gz'
+ support package.
+ If you want to use the qic02conf program, say Y.
Ftape (QIC-80/Travan) support
CONFIG_FTAPE
If you have a tape drive that is connected to your floppy
controller, say Y here. Some tape drives (like the Iomega Ditto
3200) come with a high speed controller of its own. These drives
- (and their companion controller) is also supported. If you have a
- special controller (such as the CMS FC-10, FC-20, Iomega Mach-II, or
- Ditto Dash), you must configure it by editing the file
+ (and their companion controller) are also supported by this driver,
+ so say Y if you have one. If you have a special controller (such as
+ the CMS FC-10, FC-20, Iomega Mach-II, or Ditto Dash), you must say Y
+ here and configure it by editing the file
drivers/char/ftape/Makefile. If you want to use such a tape drive on
a PCI-bus based system, please read the file
drivers/char/ftape/README.PCI. This driver is also available as a
runtime loadable module ( = code which can be inserted in and
removed from the running kernel whenever you want). If you want to
compile it as a module, say M here and read
- Documentation/modules.txt.
+ Documentation/modules.txt. The module will be called ftape.o.
Zilog serial support
CONFIG_SUN_ZS
@@ -3416,19 +4272,31 @@ CONFIG_APM
APM compliant BIOSes. Specifically, the time will be reset after a
USER RESUME operation, the /proc/apm device will provide battery
status information, and user-space programs will receive
- notification of APM "events" (e.g., battery status change). This
- driver does not spin down disk drives (see hdparm(8) for that); and
- it doesn't turn off VESA-compliant "green" monitors. This driver
- does not support the TI 4000M TravelMate and the ACER 486/DX4/75
- because they don't have compliant BIOSes. Many "green" desktop
- machines also don't have compliant BIOSes, and this driver will
- cause those machines to panic during the boot phase (typically,
- these machines are using a data segment of 0040, which is reserved
- for the Linux kernel). If you get random kernel OOPSes that don't
- seem to be related to anything and you have a motherboard with APM
- support, try disabling/enabling this option. Generally, if you don't
- have a battery in your machine, there isn't much point in using this
- driver.
+ notification of APM "events" (e.g., battery status
+ change). Supporting software can be gotten via ftp (user: anonymous)
+ from tsx-11.mit.edu/pub/linux/packages/laptops/apm/. This driver
+ does not spin down disk drives (see hdparm(8) for that); and it
+ doesn't turn off VESA-compliant "green" monitors. This driver does
+ not support the TI 4000M TravelMate and the ACER 486/DX4/75 because
+ they don't have compliant BIOSes. Many "green" desktop machines
+ also don't have compliant BIOSes, and this driver will cause those
+ machines to panic during the boot phase (typically, these machines
+ are using a data segment of 0040, which is reserved for the Linux
+ kernel). Generally, if you don't have a battery in your machine,
+ there isn't much point in using this driver and you should say N.
+ If you get random kernel OOPSes or reboots that don't seem to be
+ related to anything, try disabling/enabling this option. Some other
+ things to try when experiencing seemingly random, "weird" problems:
+ 1) passing the "no-hlt" option to the kernel
+ 2) passing the "no-387" option to the kernel
+ 3) passing the "floppy=nodma" option to the kernel
+ 4) passing the "mem=4M" option to the kernel (thereby disabling
+ all but the first 4M of RAM)
+ 5) reading the sig11 FAQ at http://www.bitwizard.nl/sig11/
+ 6) disabling the cache from your BIOS settings
+ 7) installing a better fan
+ 8) exchanging RAM chips
+ 9) exchanging the motherboard.
Ignore USER SUSPEND
CONFIG_APM_IGNORE_USER_SUSPEND
@@ -3480,28 +4348,32 @@ CONFIG_APM_POWER_OFF
Watchdog Timer Support
CONFIG_WATCHDOG
- If you enable this option and create a character special file
- /dev/watchdog with major number 10 and minor number 130 using mknod
- ("man mknod"), you will get a watchdog, i.e.: subsequently opening
- the file and failing to write to it for longer than 1 minute will
- result in rebooting the machine. This could be useful for a
- networked machine that needs to come back online as fast as possible
- after a lock-up. There's a watchdog implementation entirely in
- software (which can sometimes fail to reboot the machine) and a
- driver for hardware watchdog boards, which are more robust and can
- also keep track of the temperature inside your computer. For
- details, read Documentation/watchdog.txt in the kernel source. If
- unsure, say N. This driver is also available as a module ( = code
- which can be inserted in and removed from the running kernel
- whenever you want). If you want to compile it as a module, say M
- here and read Documentation/modules.txt.
+ If you say Y here (and to one of the following options) and create a
+ character special file /dev/watchdog with major number 10 and minor
+ number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
+ subsequently opening the file and failing to write to it for longer
+ than 1 minute will result in rebooting the machine. This could be
+ useful for a networked machine that needs to come back online as
+ fast as possible after a lock-up. There's both a watchdog
+ implementation entirely in software (which can sometimes fail to
+ reboot the machine) and a driver for hardware watchdog boards, which
+ are more robust and can also keep track of the temperature inside
+ your computer. For details, read Documentation/watchdog.txt in the
+ kernel source.
+ The watchdog is usually used together with the watchdog daemon which
+ is available via ftp (user: anonymous) from
+ tsx-11.mit.edu/pub/linux/sources/sbin/. This daemon can also monitor
+ NFS connections and can reboot the machine when the process table is
+ full.
+ If unsure, say N.
Disable watchdog shutdown on close
CONFIG_WATCHDOG_NOWAYOUT
- The default watchdog behaviour is to stop the timer if the process
- managing it closes the file /dev/watchdog. It's always remotely
- possible that this process might get killed. If you enable this
- option, the watchdog cannot be stopped once it has been started.
+ The default watchdog behaviour (which you get if you say N here) is
+ to stop the timer if the process managing it closes the file
+ /dev/watchdog. It's always remotely possible that this process might
+ get killed. If you say Y here, the watchdog cannot be stopped once
+ it has been started.
WDT Watchdog timer
CONFIG_WDT
@@ -3511,7 +4383,7 @@ CONFIG_WDT
source at the top of drivers/char/wdt.c. If you want to compile this
as a module ( = code which can be inserted in and removed from the
running kernel whenever you want), say M here and read
- Documentation/modules.txt.
+ Documentation/modules.txt. The module will be called wdt.o.
WDT501 features
CONFIG_WDT_501
@@ -3534,35 +4406,43 @@ CONFIG_SOFT_WATCHDOG
from. Equally it's a lot cheaper to install. This driver is also
available as a module ( = code which can be inserted in and removed
from the running kernel whenever you want). If you want to compile
- it as a module, say M here and read Documentation/modules.txt.
+ it as a module, say M here and read Documentation/modules.txt. The
+ module will be called softdog.o.
-Berkshire Products PC Watchdog card
+Berkshire Products PC Watchdog
CONFIG_PCWATCHDOG
This is the driver for the Berkshire Products PC Watchdog card.
This card simply watches your kernel to make sure it doesn't freeze,
and if it does, it resets your computer after a certain amount of
time. This driver is like the WDT501 driver but for different
- hardware. The PC watchdog cards can be ordered from
- http://www.berkprod.com. Some example rc.local files are available
- from ftp.bitgate.com. This driver is also available as a module ( =
- code which can be inserted in and removed from the running kernel
- whenever you want). If you want to compile it as a module, say M
- here and read Documentation/modules.txt. Most people will say N.
+ hardware. Please read Documentation/pcwd-watchdog.txt. The PC
+ watchdog cards can be ordered from http://www.berkprod.com. Some
+ example rc.local files are available from ftp.bitgate.com. This
+ driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). The
+ module is called pcwd.o. If you want to compile it as a module, say
+ M here and read Documentation/modules.txt. Most people will say N.
Enhanced Real Time Clock Support
CONFIG_RTC
- If you enable this option and create a character special file
- /dev/rtc with major number 10 and minor number 135 using mknod ("man
- mknod"), you will get access to the real time clock built into your
+ If you say Y here and create a character special file /dev/rtc with
+ major number 10 and minor number 135 using mknod ("man mknod"), you
+ will get access to the real time clock built into your
computer. Every PC has such a clock built in. It can be used to
generate signals from as low as 1Hz up to 8192Hz, and can also be
used as a 24 hour alarm. It reports status information via the file
/proc/rtc and its behaviour is set by various ioctls on
/dev/rtc. People running SMP (= multiprocessor) versions of Linux
- should enable this option to read and set the RTC clock in a SMP
- compatible fashion. If you think you have a use for such a device
- (such as periodic data sampling), then say Y here, and go read the
- file Documentation/rtc.txt for details.
+ should say Y here to read and set the RTC clock in a SMP compatible
+ fashion. (They should also read Documentation/smp.) If you think you
+ have a use for such a device (such as periodic data sampling), then
+ say Y here, and go read the file Documentation/rtc.txt for details.
+
+ARC console time
+CONFIG_RTC_ARC
+ If you boot your Alpha using the ARC firmware, say Y here. This option
+ adjusts the RTC clock to take into account the different starting epoch
+ used by ARC.
Sound card support
CONFIG_SOUND
@@ -3585,13 +4465,13 @@ CONFIG_SOUND
ProAudioSpectrum 16 support
CONFIG_PAS
Answer Y only if you have a Pro Audio Spectrum 16, ProAudio Studio
- 16 or Logitech SoundMan 16. Don't answer 'y' if you have some other
+ 16 or Logitech SoundMan 16. Don't answer Y if you have some other
card made by Media Vision or Logitech since they are not PAS16
compatible.
SoundBlaster (SB, SBPro, SB16, clones) support
CONFIG_SB
- Answer "y" if you have an original SoundBlaster card made by
+ Answer Y if you have an original SoundBlaster card made by
Creative Labs or a 100% hardware compatible clone (like the
Thunderboard or SM Games). If your card was in the list of supported
cards look at the card specific instructions in the
@@ -3609,14 +4489,14 @@ CONFIG_ADLIB
Gravis Ultrasound support
CONFIG_GUS
- Enable this option for any type of Gravis Ultrasound card, including
+ Say Y here for any type of Gravis Ultrasound card, including
the GUS or GUS MAX.
MPU-401 support (NOT for SB16)
CONFIG_MPU401
Be careful with this question. The MPU401 interface is supported by
all soundcards. However, some natively supported cards have their
- own driver for MPU401. Enabling the MPU401 option with these cards
+ own driver for MPU401. Enabling this MPU401 option with these cards
will cause a conflict. Also, enabling MPU401 on a system that
doesn't really have a MPU401 could cause some trouble. If your card
was in the list of supported cards, look at the card specific
@@ -3638,8 +4518,8 @@ CONFIG_PSS
16 bit sampling option of GUS (_NOT_ GUS MAX)
CONFIG_GUS16
Answer Y if you have installed the 16 bit sampling daughtercard on
- your GUS. Answer N if you have a GUS MAX, since enabling this
- option disables GUS MAX support.
+ your GUS. Answer N if you have a GUS MAX, since saying Y here
+ disables GUS MAX support.
GUS MAX support
CONFIG_GUSMAX
@@ -3666,7 +4546,7 @@ CONFIG_MSS
synthesizers (OPL2, OPL3 and OPL4), 6850 UART MIDI Interface.
For cards having native support in VoxWare, consult the card
specific instructions in drivers/sound/Readme.cards. Some drivers
- have their own MSS support and enabling this option will cause a
+ have their own MSS support and saying Y to this option will cause a
conflict.
Ensoniq Soundscape support
@@ -3691,11 +4571,11 @@ CONFIG_MAD16
Support for Crystal CS4232 based (PnP) cards
CONFIG_CS4232
- Enable this if you have a card based on the Crystal CS4232 chip set.
+ Say Y here if you have a card based on the Crystal CS4232 chip set.
Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers
CONFIG_MAUI
- Enable this option if you have a Turtle Beach Wave Front, Maui, or
+ Say Y here if you have a Turtle Beach Wave Front, Maui, or
Tropez sound card.
Support for Crystal CS4232 based (PnP) cards
@@ -3724,50 +4604,80 @@ CONFIG_SUN_AUDIO
This is support for the soundcards on Sun workstations. The code
does not exist yet, so you might as well say N here.
+SB32/AWE support
+CONFIG_AWE32_SYNTH
+ Say Y here if you have a SB32 or SB AWE soundcard. See
+ linux/drivers/sound/lowlevel/README.awe for more info.
+
+Additional low level drivers
+CONFIG_LOWLEVEL_SOUND
+ If you need additional low level sound drivers which are not part
+ of USS/Lite (UNIX Sound System), say Y. The only such driver at
+ present is the ACI driver for the miroSOUND PCM12 and PCM20.
+
+ACI mixer (miroPCM12)
+CONFIG_ACI_MIXER
+ Audio Command Interface (ACI) driver. ACI is a protocol used to
+ communicate with the microcontroller on some sound cards produced
+ by miro, e.g. the miroSOUND PCM12 and PCM20. The main function
+ of the ACI is to control the mixer and to get a product
+ identification. This Voxware ACI driver currently only supports
+ the ACI functions on the miroSOUND PCM12 card. On the PCM20, ACI
+ also controls the radio tuner on this card, however this is not
+ yet supported in this software.
+
Kernel profiling support
CONFIG_PROFILE
This is for kernel hackers who want to know how much time the kernel
spends in the various procedures. The information is stored in
- /proc/profile (enable the /proc filesystem!) and in order to read
- it, you need the readprofile package from sunsite.unc.edu. Its
+ /proc/profile (say Y to "/proc filesystem support"!) and in order to
+ read it, you need the readprofile package from sunsite.unc.edu. Its
manpage gives information regarding the format of profiling data. To
- become a kernel hacker, you can start with the Kernel Hacker's
- Guide, available via ftp (user: anonymous) from
- sunsite.unc.edu:/pub/Linux/docs/LDP. Mere mortals say N.
+ become a kernel hacker, you can start with the Kernel Hacker's Guide
+ at http://www.redhat.com:8080/HyperNews/get/khg.html. Mere mortals
+ say N.
Profile shift count
CONFIG_PROFILE_SHIFT
This is used to adjust the granularity with which the addresses of
executed instructions get recorded in /proc/profile. But since you
- enabled "Kernel profiling support", you must be a kernel hacker and
+ said Y to "Kernel profiling support", you must be a kernel hacker and
hence you know what this is about :-)
ISDN subsystem
CONFIG_ISDN
- ISDN ("Integrated Services Digital Networks", called RNIS in
- France) is a special type of fully digital telephone line; it's
- mostly used to connect to your Internet service provider (with SLIP
- or PPP). The main advantage is that the speed is higher than
- ordinary modem/telephone connections. It only works if your computer
- is equipped with an ISDN card and both you and your service provider
- purchased an ISDN line from your phone company. For details, read
- http://alumni.caltech.edu/~dank/isdn/ on the WWW. (To browse the
- WWW, you need to have access to a machine on the Internet that has
- one of the programs lynx, netscape or Mosaic.) This driver allows
- you to use an ISDN-card for networking connections and as dialin/out
- device. The isdn-tty's have a built in AT-compatible modem
- emulator. Network devices support autodial, channel-bundling,
+ ISDN ("Integrated Services Digital Networks", called RNIS in France)
+ is a special type of fully digital telephone service; it's mostly
+ used to connect to your Internet service provider (with SLIP or
+ PPP). The main advantage is that the speed is higher than ordinary
+ modem/telephone connections, and that you can have voice
+ conversations while downloading stuff. It only works if your
+ computer is equipped with an ISDN card and both you and your service
+ provider purchased an ISDN line from the phone company. For
+ details, read http://alumni.caltech.edu/~dank/isdn/ on the WWW. (To
+ browse the WWW, you need to have access to a machine on the Internet
+ that has one of the programs lynx, netscape or Mosaic.) This driver
+ allows you to use an ISDN-card for networking connections and as
+ dialin/out device. The isdn-tty's have a built in AT-compatible
+ modem emulator. Network devices support autodial, channel-bundling,
callback and caller-authentication without having a daemon
running. A reduced T.70 protocol is supported with tty's suitable
for German BTX. On D-Channel, the protocols EDSS1 and 1TR6 are
- supported. See Documentation/isdn/README for more information.
+ supported. See Documentation/isdn/README for more information. If
+ you want to compile the ISDN as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read Documentation/modules.txt. The module will be
+ called isdn.o. If unsure, say N.
Support synchronous PPP
CONFIG_ISDN_PPP
- This enables synchronous PPP via ISDN. This protocol is used by
- Cisco or Sun for example. So you want say Y here if the other end of
- your ISDN connection supports it. You will need a special version of
- pppd (called ipppd) for using this feature. See
+ Over digital connections such as ISDN, there is no need to
+ synchronize sender and recipient's clocks with start and stop bits
+ as is done over telephone lines. Instead, one can use "synchronous
+ PPP". Saying Y here will include this protocol. This protocol is
+ used by Cisco and Sun for example. So you want to say Y here if the
+ other end of your ISDN connection supports it. You will need a
+ special version of pppd (called ipppd) for using this feature. See
Documentation/isdn/README.syncppp and Documentation/isdn/syncPPP.FAQ
for more information.
@@ -3783,13 +4693,13 @@ CONFIG_ISDN_PPP_VJ
Support audio via ISDN
CONFIG_ISDN_AUDIO
- With this option enabled, the modem-emulator supports a subset
- of the EIA Class 8 Voice commands. Using a getty with voice-support
+ If you say Y here, the modem-emulator will support a subset of the
+ EIA Class 8 Voice commands. Using a getty with voice-support
(mgetty+sendfax by gert@greenie.muc.de with an extension, available
- with the ISDN utility package for example), you will be able
- to use your Linux box as an ISDN-answering machine. Of course, this
- must be supported by the lowlevel driver also. Currently, the Teles
- driver is the only voice-supporting one. See
+ with the ISDN utility package for example), you will be able to use
+ your Linux box as an ISDN-answering machine. Of course, this must be
+ supported by the lowlevel driver also. Currently, the Teles and
+ HiSax drivers are the only voice-supporting drivers. See
Documentation/isdn/README.audio for more information.
ICN 2B and 4B support
@@ -3800,16 +4710,87 @@ CONFIG_ISDN_DRV_ICN
this card, additional firmware is necessary, which has to be
downloaded into the card using a utility which is distributed
separately. See Documentation/isdn/README and README.icn for more
- information.
+ information. If you want to compile this as a module ( = code which
+ can be inserted in and removed from the running kernel whenever you
+ want), say M here and read Documentation/modules.txt. The module
+ will be called icn.o.
Teles, NICCY1016PC, Creatix support
CONFIG_ISDN_DRV_TELES
This enables support for the Teles ISDN-cards S0-16.0, S0-16.3, S0-8
- and many compatibles. By default, the driver is configured to
- support a 16.0-type using EDSS1-protocol. See
- Documentation/isdn/README on how to configure it using 16.3, a
- different D-channel protocol, or non-standard irq/port/shmem
- settings.
+ and many compatibles.
+ There is a new, heavily improved driver called HiSax which can be
+ enabled in the next section. This driver will be removed soon. Please
+ use this driver only if you cannot get the HiSax driver to work.
+ By default, the driver is configured to support a 16.0-type using
+ EDSS1-protocol. See Documentation/isdn/README on how to configure
+ it using 16.3, a different D-channel protocol, or non-standard
+ irq/port/shmem settings.
+
+HiSax SiemensChipSet driver support
+CONFIG_ISDN_DRV_HISAX
+ This is an alternative driver supporting the Siemens chipset on
+ various ISDN-cards (like AVM A1, Elsa ISDN cards, Teles S0-16.0,
+ Teles S0-16.3, Teles S0-8, Teles/Creatix PnP, ITK micro ix1 and many
+ compatibles). It's a complete rewrite of the original Teles driver.
+ So you either say M or Y here and N in the above Teles section. If
+ you want to compile this as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want), say M
+ here and read Documentation/modules.txt. The module will be called
+ hisax.o. See Documentation/isdn/README.HiSax for further
+ informations on using this driver.
+
+HiSax Support for Teles 16.0/8.0
+CONFIG_HISAX_16_0
+ This enables HiSax support for the Teles ISDN-cards S0-16.0,
+ S0-8 and many compatibles.
+ See Documentation/isdn/README.HiSax on how to configure it
+ using the different cards, a different D-channel protocol, or
+ non-standard irq/port/shmem settings.
+
+HiSax Support for Teles 16.3 or PNP or PCMCIA
+CONFIG_HISAX_16_3
+ This enables HiSax support for the Teles ISDN-cards S0-16.3
+ the Teles/Creatix PnP and the Teles PCMCIA.
+ See Documentation/isdn/README.HiSax on how to configure it
+ using the different cards, a different D-channel protocol, or
+ non-standard irq/port/shmem settings.
+
+HiSax Support for AVM A1 (Fritz)
+CONFIG_HISAX_AVM_A1
+ This enables HiSax support for the AVM A1 (aka "Fritz").
+ See Documentation/isdn/README.HiSax on how to configure it
+ using the different cards, a different D-channel protocol, or
+ non-standard irq/port/shmem settings.
+
+HiSax Support for Elsa cards
+CONFIG_HISAX_ELSA_PCC
+ This enables HiSax support for the Elsa Mircolink cards and
+ for the Elsa Quickstep series cards.
+ See Documentation/isdn/README.HiSax on how to configure it
+ using the different cards, a different D-channel protocol, or
+ non-standard irq/port/shmem settings.
+
+HiSax Support for ITK ix1-micro Revision 2
+CONFIG_HISAX_IX1MICROR2
+ This enables HiSax support for the ITK ix1-micro Revision 2 card.
+ See Documentation/isdn/README.HiSax on how to configure it
+ using the different cards, a different D-channel protocol, or
+ non-standard irq/port/shmem settings.
+
+HiSax Support for EURO/DSS1
+CONFIG_HISAX_EURO
+ You should choose the D-channel protocol your local
+ telephone service provider uses here by saying Y or N.
+ NOTE: This is mutually exclusive with HiSax Support for
+ German 1TR6 if you have only one ISDN card installed.
+
+HiSax Support for German 1TR6
+CONFIG_HISAX_1TR6
+ You should choose the D-channel protocol your local
+ telephone service provider uses here by saying Y or N.
+ NOTE: This is mutually exclusive with HiSax Support for
+ EURO/DSS1 if you have only one ISDN card installed.
PCBIT-D support
CONFIG_ISDN_DRV_PCBIT
@@ -3818,24 +4799,436 @@ CONFIG_ISDN_DRV_PCBIT
firmware is necessary, which has to be downloaded into the card
using a utility which is distributed separately. See
Documentation/isdn/README and Documentation/isdn/README.pcbit for
- more information.
+ more information. If you want to compile this as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want), say M here and read
+ Documentation/modules.txt. The module will be called pcbit.o.
+
+Spellcaster support (EXPERIMENTAL)
+CONFIG_ISDN_DRV_SC
+ This enables support for the Spellcaster BRI ISDN boards. This
+ driver currently builds only in a modularized version ( = code which
+ can be inserted in and removed from the running kernel whenever you
+ want, details in Documentation/modules.txt); the module will be
+ called sc.o. See Documentation/isdn/README.sc and
+ http://www.spellcast.com for more information.
Support for AP1000 multicomputer
CONFIG_AP1000
This enables support for a sparc based parallel multi-computer
- called an AP1000+. For details on our efforts to port Linux to this
+ called AP1000+. For details on our efforts to port Linux to this
machine see http://cap.anu.edu.au/cap/projects/linux or mail to
hackers@cafe.anu.edu.au
-Video mode selection support
-CONFIG_VIDEO_SELECT
- This enables support for text mode selection on kernel startup. If you
- want to take advantage of some high-resolution text mode your card's
- BIOS offers, but the traditional Linux utilities like SVGATextMode
- don't, you can enable this and set the mode using the "vga=" option
- from your boot loader (LILO or LOADLIN) or set "vga=ask" which brings
- up a video mode menu on kernel startup. Read Documentation/svga.txt
- for more information. If unsure, say "n".
+Sparc ESP SCSI support
+CONFIG_SCSI_SUNESP
+ This is the driver for the Sun ESP SCSI host adapter. The ESP
+ chipset is present in most SPARC-based computers.
+
+Sparc /dev/openprom compatibility driver
+CONFIG_SUN_OPENPROMIO
+ This driver provides user programs with an interface to the Sparc
+ PROM device tree. The driver implements a SunOS-compatible
+ interface and a NetBSD-compatible interface. If you want to
+ compile this as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want), say M and read
+ Documentation/modules.txt. If unsure, say Y.
+
+# m68k-specific kernel options
+# Documented by Chris Lawrence <quango@themall.net> et al.
+
+Amiga support
+CONFIG_AMIGA
+ This option enables support for the Amiga series of computers. If
+ you plan to use this kernel on an Amiga, say Y here; otherwise say N.
+
+Atari support
+CONFIG_ATARI
+ This option enables support for the 68000-based Atari series of
+ computers (including the TT, Falcon and Medusa). If you plan to use
+ this kernel on an Atari, say Y here; otherwise say N.
+
+Macintosh support
+CONFIG_MAC
+ This option would enable support for the Apple Macintosh if there was
+ any for it. Say N unless you've coded all the necessary support. ;)
+
+# CONFIG_APOLLO, etc. coming soon (?)
+
+68020 support
+CONFIG_M68020
+ If you anticipate running this kernel on a computer with a MC68020
+ processor, say Y. Otherwise, say N. Note that the 68020 requires a
+ 68851 MMU (= memory management unit) to run Linux/m68k.
+
+68030 support
+CONFIG_M68030
+ If you anticipate running this kernel on a computer with a MC68030
+ processor, say Y. Otherwise, say N. Note that a MC68EC030 will not
+ work, as it does not include an MMU (= memory management unit).
+
+68040 support
+CONFIG_M68040
+ If you anticipate running this kernel on a computer with a MC68LC040
+ or MC68040 processor, say Y. Otherwise, say N. Note that an
+ MC68EC040 will not work, as it does not include an MMU (= memory
+ management unit).
+
+Use -m68040 flag for 68040 specific optimizations
+CONFIG_OPTIMIZE_040
+ If you will only be running this kernel on a 68040-series processor,
+ this will make the kernel run somewhat faster. However, it will no
+ longer run on a 68020 or 68030, no matter whether you included 68020
+ and 68030 support or not. Say N unless the only processor you are
+ compiling support for is the 68040 (or 68LC040).
+
+68060 support
+CONFIG_M68060
+ If you anticipate running this kernel on a computer with a MC68060
+ processor, say Y. Otherwise, say N.
+
+Use -m68060 flag for 68060 specific optimizations
+CONFIG_OPTIMIZE_060
+ If you will only be running this kernel on a 68060-series processor,
+ this will make the kernel run somewhat faster. However, it will no
+ longer run on a 68020, 68030 or 68040, no matter whether you
+ included support for those processors or not. Say N unless the only
+ processor you are compiling support for is the 68060.
+
+Advanced processor options
+CONFIG_ADVANCED_CPU
+ This gives you access to some advanced options for the CPU. The
+ defaults should be fine for most users, but these options may make
+ it possible for you to improve performance somewhat if you know what
+ you are doing. Most users should say N to this question.
+
+Use read-modify-write instructions
+CONFIG_RMW_INSNS
+ This allows to use certain instructions that work with indivisible
+ read-modify-write bus cycles. While this is faster than the
+ workaround of disabling interrupts, it can conflict with DMA (=
+ direct memory access) on many Amiga systems, and it is also said to
+ destabilize other machines. It is very likely that this will cause
+ serious problems on any Amiga or Atari Medusa if set. The only
+ configuration where it should work are 68030-based Ataris, where it
+ apparently improves performance. But you've been warned! Unless you
+ really know what you are doing, say N. Try Y only if you're
+ quite adventurous.
+
+Amiga AutoConfig Identification
+CONFIG_ZORRO
+ This enables support for automatic identification of Amiga expansion
+ cards that obey the AutoConfig(tm) specification. You should say Y
+ to this question unless you have no expansion cards and no intention
+ of getting any.
+
+Amiga OCS chipset support
+CONFIG_AMIFB_OCS
+ This enables support for the original Agnus and Denise video chips,
+ found in the Amiga 1000 and most A500's and A2000's. If you intend
+ to run Linux on any of these systems, say Y; otherwise say N.
+
+Amiga ECS chipset support
+CONFIG_AMIFB_ECS
+ This enables support for the Enhanced Chip Set, found in later
+ A500's, later A2000's, the A600, the A3000, the A3000T and CDTV. If
+ you intend to run Linux on any of these systems, say Y; otherwise
+ say N.
+
+Amiga AGA chipset support
+CONFIG_AMIFB_AGA
+ This enables support for the Advanced Graphics Architecture (also
+ known as the AGA or AA) Chip Set, found in the A1200, A4000, A4000T
+ and CD32. If you intend to run Linux on any of these systems, say Y;
+ otherwise say N.
+
+Amiga Cybervision support
+CONFIG_FB_CYBER
+ This enables support for the Cybervision 64 graphics card from Phase5.
+ Please note that its use is not all that intuitive (i.e. if you have
+ any questions, be sure to ask!). Say N unless you have a Cybervision
+ 64 or plan to get one before you next recompile the kernel.
+
+Amiga GSP (TMS340x0) support
+CONFIG_AMIGA_GSP
+ Include support for Amiga graphics cards that use the Texas
+ Instruments TMS340x0 GSP (= graphics signal processor) chips. Say Y
+ if you want to use a DMI Resolver or Commodore A2410 (Lowell)
+ graphics card on an Amiga; otherwise, say N.
+
+DMI Resolver support
+CONFIG_GSP_RESOLVER
+ Include support in the kernel for the DMI Resolver graphics card. If
+ you have one, say Y; otherwise, say N.
+
+A2410 support
+CONFIG_GSP_A2410
+ Include support in the kernel for the Commodore/University of Lowell
+ A2410 graphics card. If you have one, say Y; otherwise, say N.
+
+Amiga Zorro II ramdisk support
+CONFIG_AMIGA_Z2RAM
+ This enables support for using Chip RAM and Zorro II RAM as a
+ ramdisk or as a swap partition. Say Y if you want to include this
+ driver in the kernel. This driver is also available as a module ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want). The module is called z2ram.o. If you want to
+ compile it as a module, say M here and read
+ Documentation/modules.txt.
+
+Atari ACSI support
+CONFIG_ATARI_ACSI
+ This enables support for the Atari ACSI interface. The driver
+ supports hard disks and CD-ROMs, which have 512-byte sectors, or can
+ be switched to that mode. Due to the ACSI command format, only disks
+ up to 1 GB are supported. Special support for certain ACSI to SCSI
+ adapters, which could relax that, isn't included yet. The ACSI
+ driver is also the basis for certain other drivers for devices
+ attached to the ACSI bus: Atari SLM laser printer, BioNet-100
+ Ethernet, and PAMsNet Ethernet. If you want to use one of these
+ devices, you need ACSI support, too. This driver is
+ also available as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want). The module will
+ be called acsi.o.
+
+Probe all LUNs on each ACSI device
+CONFIG_ACSI_MULTI_LUN
+ If you have a ACSI device that supports more than one LUN (Logical
+ Unit Number), e.g. a CD jukebox, you should say Y here so that all
+ will be found by the ACSI driver. An ACSI device with multiple LUNs
+ acts logically like multiple ACSI devices. The vast majority of ACSI
+ devices have only one LUN, and so most people can say N here and
+ should in fact do so, because it is safer.
+
+Atari SLM laser printer support
+CONFIG_ATARI_SLM
+ If you have an Atari SLM laser printer, say Y to include support for
+ it in the kernel. Otherwise, say N. This driver is also available as
+ a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ acsi_slm.o. Be warned: the driver needs much ST-RAM and can cause
+ problems due to that fact!
+
+A3000 WD33C93A support
+CONFIG_A3000_SCSI
+ If you have an Amiga 3000 and have SCSI devices connected to the
+ built-in SCSI controller, say Y. Otherwise, say N. This driver is
+ also available as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want). The module is
+ called wd33c93.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt.
+
+A2091 WD33C93A support
+CONFIG_A2091_SCSI
+ If you have a Commodore A2091 SCSI controller, say Y. Otherwise,
+ say N. This driver is also available as a module ( = code which can
+ be inserted in and removed from the running kernel whenever you
+ want). The module is called wd33c93.o. If you want to compile it as
+ a module, say M here and read Documentation/modules.txt.
+
+GVP Series II WD33C93A support
+CONFIG_GVP11_SCSI
+ If you have a Great Valley Products Series II SCSI controller, say
+ Y. Also say Y if you have a later model of GVP SCSI controller
+ (such as the GVP A4008 or a Combo board). Otherwise, say N.
+ This driver does NOT work for the T-Rex series of accelerators from
+ TekMagic and GVP-M.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you
+ want). The module will be called gvp11.o. If you want to compile it
+ as a module, say M here and read Documentation/modules.txt.
+
+Cyberstorm SCSI support
+CONFIG_CYBERSTORM_SCSI
+ If you have an Amiga with an original (MkI) Phase5 Cyberstorm
+ accelerator board and the optional Cyberstorm SCSI controller, say
+ Y. Otherwise, say N.
+
+Cyberstorm II SCSI support
+CONFIG_CYBERSTORMII_SCSI
+ If you have an Amiga with a Phase5 Cyberstorm MkII accelerator board
+ and the optional Cyberstorm SCSI controller, say Y. Otherwise, say N.
+
+Blizzard 2060 SCSI support
+CONFIG_BLZ2060_SCSI
+ If you have an Amiga with a Phase5 Blizzard 2060 accelerator board
+ and want to use the onboard SCSI controller, say Y. Otherwise, say
+ N.
+
+Blizzard 1230IV/1260 SCSI support
+CONFIG_BLZ1230_SCSI
+ If you have an Amiga 1200 with a Phase5 Blizzard 1230IV or Blizzard
+ 1260 accelerator, and the optional SCSI module, say Y. Otherwise,
+ say N.
+
+Atari native SCSI support
+CONFIG_ATARI_SCSI
+ If you have an Atari with built-in NCR5380 SCSI controller (TT,
+ Falcon, ...) say Y to get it supported. Of course also, if you have
+ an compatible SCSI controller (e.g. for Medusa). This driver is also
+ available as a module ( = code which can be inserted in and removed
+ from the running kernel whenever you want). The module is called
+ atari_scsi.o. If you want to compile it as a module, say M here and
+ read Documentation/modules.txt. This driver supports both styles of
+ NCR integration into the system: the TT style (separate DMA), and
+ the Falcon style (via ST-DMA, replacing ACSI). It does NOT support
+ other schemes, like in the Hades (without DMA).
+
+Long delays for Toshiba CD-ROMs
+CONFIG_ATARI_SCSI_TOSHIBA_DELAY
+ This option increases the delay after a SCSI arbitration to
+ accommodate some flaky Toshiba CD-ROM drives. Say Y if you intend to
+ use a Toshiba CD-ROM drive; otherwise, the option is not needed and
+ would impact performance a bit, so say N.
+
+Ariadne support
+CONFIG_ARIADNE
+ If you have a VillageTronics Ariadne Ethernet adapter, say Y.
+ Otherwise, say N.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you
+ want). The module is called ariadne.o. If you want to compile it as
+ a module, say M here and read Documentation/modules.txt.
+
+A2065 support
+CONFIG_A2065
+ If you have a Commodore A2065 Ethernet adapter, say Y. Otherwise,
+ say N.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you
+ want). The module is called a2065.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
+
+Hydra support
+CONFIG_HYDRA
+ If you have a Hydra Ethernet adapter, say Y. Otherwise, say N.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you
+ want). The module is called hydra.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
+
+Atari Lance support
+CONFIG_ATARILANCE
+ Say Y to include support for several Atari Ethernet adapters based
+ on the AMD Lance chipset: RieblCard (with or without battery), or
+ PAMCard VME (also the version by Rhotron, with different addresses).
+
+BioNet-100 support
+CONFIG_ATARI_BIONET
+ Say Y to include support for BioData's BioNet-100 Ethernet adapter
+ for the ACSI port. The driver works (has to work...) with a polled
+ I/O scheme, so it's rather slow :-(
+
+PAMsNet support
+CONFIG_ATARI_PAMSNET
+ Say Y to include support for the PAMsNet Ethernet adapter for the
+ ACSI port ("ACSI node"). The driver works (has to work...) with a
+ polled I/O scheme, so it's rather slow :-(
+
+Multiface Card III parallel support
+CONFIG_MULTIFACE_III_LP
+ If you have a Multiface III card for your Amiga, and want to use its
+ parallel port in Linux, say Y. Otherwise, say N. This driver is
+ also available as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want). The module is
+ called lp_m68k.o. If you want to compile it as a module, say M here
+ and read Documentation/modules.txt.
+
+Amiga mouse support
+CONFIG_AMIGAMOUSE
+ If you want to be able to use an Amiga mouse in Linux, say Y. This
+ driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). The
+ module is called amigamouse.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
+
+Amiga Copper Console
+CONFIG_COPCON
+ This configures the console to use the Amiga's graphics coprocessor
+ for scrolling, instead of using the CPU. This option markedly
+ improves response times in the high color modes (5 bitplanes and
+ up). If you would like to use this, say Y; otherwise, say N.
+
+Atari mouse support
+CONFIG_ATARIMOUSE
+ If you want to be able to use an Atari mouse in Linux, say Y. This
+ driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). The
+ module is called atarimouse.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
+
+Atari MFP serial support
+CONFIG_ATARI_MFPSER
+ If you like to use the MFP serial ports ("Modem1", "Serial1") under
+ Linux, say Y. The driver equally supports all kinds of MFP serial
+ ports and automatically detects whether Serial1 is available. This
+ driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). If you
+ want to compile it as a module, say M here and read
+ Documentation/modules.txt.
+ Note for Falcon users: You also have an MFP port, it's just not
+ wired to the outside... But you could use the port under Linux.
+
+Atari SCC serial support
+CONFIG_ATARI_SCC
+ If you have serial ports based on a Zilog SCC chip (Modem2, Serial2,
+ LAN) and like to use them under Linux, say Y. All built-in SCC's are
+ supported (TT, MegaSTE, Falcon), and also the ST-ESCC. If you have
+ two connectors for channel A (Serial2 and LAN), they are visible as
+ two separate devices. This driver is also available as a module ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read Documentation/modules.txt.
+
+Atari MIDI serial support
+CONFIG_ATARI_MIDI
+ If you want to use your Atari's MIDI port in Linux, say Y.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you
+ want). If you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
+
+Amiga builtin serial support
+CONFIG_AMIGA_BUILTIN_SERIAL
+ If you want to use your Amiga's built-in serial port in Linux, say
+ Y.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you
+ want). If you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
+
+GVP IO-Extender support
+CONFIG_GVPIOEXT
+ If you want to use a GVP IO-Extender serial card in Linux, say Y.
+ Otherwise, say N.
+
+Multiface Card III serial support
+CONFIG_MULTIFACE_III_TTY
+ If you want to use a Multiface III card's serial port in Linux, say
+ Y.
+ This driver is also available as a module ( = code which can be inserted
+ in and removed from the running kernel whenever you want). If you
+ want to compile it as a module, say M here and read
+ Documentation/modules.txt.
+
+Amiga or Atari DMA sound support
+CONFIG_DMASOUND
+ If you want to use the internal audio of your Atari or Amiga in
+ Linux, answer Y to this question. This will provide a Sun-like
+ /dev/audio, compatible with the Linux/i386 sound system. Otherwise,
+ say N.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you
+ want). If you want to compile it as a module, say M here and read
+ Documentation/modules.txt.
+
+MSDOS partition support
+CONFIG_MSDOS_PARTITION
+ This option enables support for using hard disks that were
+ partitioned on an MS-DOS system. This may be useful if you are
+ sharing a hard disk between i386 and m68k Linux boxes, for example.
+ Say Y if you need this feature; users who are only using their
+ system-native partitioning scheme can say N here.
# need an empty line after last entry, for sed script in Configure.
@@ -3894,7 +5287,7 @@ CONFIG_VIDEO_SELECT
# LocalWords: wdt hdb hdc bugfix SiS vlb Acculogic CSA DTC dtc Holtek ht QDI
# LocalWords: QD qd UMC umc ALI ali lena fnet fr homepage azstarnet axplinux
# LocalWords: Avanti XL AlphaStations Jensen DECpc AXPpci UDB Cabriolet MCA RC
-# LocalWords: AlphaPC uwaterloo cpbeaure mca AOUT OUTput PPro sipx gwdg lo nwe
+# LocalWords: AlphaPC mca AOUT OUTput PPro sipx gwdg lo nwe FourPort Boca unm
# LocalWords: Keepalive linefill RELCOM keepalive analogue CDR conf CDI INIT
# LocalWords: OPTi isp irq noisp VFAT vfat NTFS losetup dmsdosfs dosfs ISDN MP
# LocalWords: NOWAYOUT behaviour dialin isdn callback BTX Teles ICN EDSS Cisco
@@ -3924,4 +5317,35 @@ CONFIG_VIDEO_SELECT
# LocalWords: mgetty sendfax gert greenie muc lowlevel Lasermate LanManager io
# LocalWords: OOPSes trackball binghamton mobileip ncr IOMAPPED settags ns ser
# LocalWords: setsync NEGO MPARITY autotuning prefetch PIIX cdwrite utils rc
-# LocalWords: PCWATCHDOG berkprod bitgate
+# LocalWords: PCWATCHDOG berkprod bitgate boldt ucsb jf kyoto jp euc Tetsuyasu
+# LocalWords: YAMADA tetsu cauchy nslab ntt nevod perm su doc kaf kheops wsc
+# LocalWords: traduc Bourgin dbourgin helptext menuconfig kfill READMEs HOWTOs
+# LocalWords: IDEDISK IDEFLOPPY EIDE firewalls QMAGIC ZMAGIC LocalWords opti
+# LocalWords: SVGATextMode vga svga Xterminal Xkernel syr jmwobus comfaqs dhcp
+# LocalWords: IPv IPng interoperability ipng ipv radio's tapr pkthome PLP nano
+# LocalWords: Ses Mhz sethdlc SOUNDMODEM WindowsSoundSystem smdiag pcf inka ES
+# LocalWords: smmixer ptt circ soundmodem MKISS FDDI DEFEA DEFPA DEFXX redhat
+# LocalWords: HyperNews khg mconv sed lina wuftpd MicroChannel netlink irc cum
+# LocalWords: raudio realaudio PPROP NETBIOS GUI IBMMCA ELMC Racal Interlan fi
+# LocalWords: eth shapecfg src esp PCWD PREVSTAT bootparam sig bitwizard SBC
+# LocalWords: downloads AFSK TCM FP Karn KA FSK RUH LinkSys cron mouseman LLC
+# LocalWords: SyQuest SyQuest's CCITT MicroSolutions BPCD bpcd ESPSERIAL PROM
+# LocalWords: SUNESP openprom OPENPROMIO quango themall al TT MC MMU LC RMW AA
+# LocalWords: INSNS Ataris AutoConfig ZORRO OCS AMIFB Agnus Denise ECS CDTV GB
+# LocalWords: AGA Cybervision CYBER GSP TMS DMI Zorro ACSI ROMs SLM BioNet GVP
+# LocalWords: PAMsNet TekMagic Cyberstorm MkI CYBERSTORMII MkII BLZ onboard cx
+# LocalWords: VillageTronics ATARILANCE RieblCard PAMCard VME MFP sangoma LAPB
+# LocalWords: Rhotron BioData's Multiface AMIGAMOUSE COPCON Amiga's bitplanes
+# LocalWords: ATARIMOUSE MFPSER SCC's MegaSTE ESCC Atari's GVPIOEXT DMASOUND
+# LocalWords: fdutils cisco univercd rpcg htm iface lapb LAPBETHER tpqic qic
+# LocalWords: SYNTH xd en binfmt aout ipip terra ipx fileserver sd sr sg wic
+# LocalWords: ibmmca lapbether mkiss dlci sdla fmv eepro eexpress ni hp ne es
+# LocalWords: ibmtr isofs ROMFS romfs pcxx cyclades istallion psaux msbusmouse
+# LocalWords: atixlmouse sbin softdog pcwd USS Lite ACI miroSOUND PCM miroPCM
+# LocalWords: microcontroller miro Voxware downloading teles acsi slm gvp ltpc
+# LocalWords: atari ariadne amigamouse atarimouse builtin IPDDP maths bradford
+# LocalWords: LocalTalk AppleTalk Farallon PhoneNet Zubkoff lnz SCCB HAPN WANs
+# LocalWords: wanrouter WANPIPE multiprotocol Mbps wanpipe EtherWORKS nodma SC
+# LocalWords: smp HiSax SiemensChipSet Siemens AVM Elsa ITK hisax PCC MICROR
+# LocalWords: Mircolink EURO DSS Spellcaster BRI sc spellcast Digiboards GPIO
+# LocalWords: SYMBIOS COMPAT SDMS rev ASUS Tekram
diff --git a/Documentation/cdrom/00-INDEX b/Documentation/cdrom/00-INDEX
index f41a8f54f..fee4a7e66 100644
--- a/Documentation/cdrom/00-INDEX
+++ b/Documentation/cdrom/00-INDEX
@@ -2,6 +2,9 @@
- this file (info on CD-ROMs and Linux)
aztcd
- info on Aztech/Orchid/Okano/Wearnes/Conrad/CyCDROM driver.
+bpcd
+ - info on MicroSolutions backpack CDROM
+
cdrom-standard.tex
- LaTeX document on standardizing the CD-ROM programming interface.
cdu31a
diff --git a/Documentation/cdrom/bpcd b/Documentation/cdrom/bpcd
new file mode 100644
index 000000000..877d7fe05
--- /dev/null
+++ b/Documentation/cdrom/bpcd
@@ -0,0 +1,74 @@
+linux/Documentation/cdrom/bpcd (c) 1996 Grant R. Guenther <grant@torque.net>
+
+This file documents the bpcd driver for the MicroSolutions backpack CDrom,
+an external parallel port device.
+
+There are apparently two versions of the backpack protocol. This
+driver knows about the version 2 protocol - as is used in the 4x
+and 6x products. There is no support for the sound hardware that
+is included in some models. It should not be difficult to add
+support for the ATAPI audio play functions and the corresponding
+ioctls.
+
+The driver was developed by reverse engineering the protocol
+and testing it on the backpack model 164550. This model
+is actually a stock ATAPI drive packaged with a custom
+ASIC that implements the IDE over parallel protocol.
+I tested with a backpack that happened to contain a Goldstar
+drive, but I've seen reports of Sony and Mitsumi drives as well.
+
+Before attempting to use the driver, you will need to
+create a new device special file. The following commands will
+do that for you:
+
+ mknod /dev/bpcd b 41 0
+ chown root:disk /dev/bpcd
+ chmod 660 /dev/bpcd
+
+Afterward, you can mount a disk in the usual way:
+
+ mount -t iso9660 /dev/bpcd /cdrom
+
+(assuming you have made a directory /cdrom to use as a mount point).
+
+The driver will attempt to detect which parallel port your
+backpack is connected to. If this fails for any reason, you
+can override it by specifying a port on the LILO command line
+(for built in drivers) or the insmod command (for drivers built
+as modules). If your drive is on the port at 0x3bc, you would
+use one of these commands:
+
+ LILO: bpcd=0x3bc
+
+ insmod: insmod bpcd bp_base=0x3bc
+
+The driver can detect if the parallel port supports 8-bit
+transfers. If so, it will use them. You can force it to use
+4-bit (nybble) mode by setting the variable bp_nybble to 1 on
+an insmod command, or using the following LILO parameters:
+
+ bpcd=0x3bc,1
+
+(you must specify the correct port address if you use this method.)
+
+There is currently no support for EPP or ECP modes. Also,
+as far as I can tell, the MicroSolutions protocol does not
+support interrupts in the 4-bit and 8-bit modes.
+
+MicroSolutions' protocol allows for several drives to be
+chained together off the same parallel port. Currently, this
+driver will recognise only one of them. If you do have more
+than one drive, it will choose the one with the lowest id number,
+where the id number is the last two digits of the product's
+serial number.
+
+It is not currently possible to connect a printer to the chained
+port on the BackPack and expect Linux to use both devices at once.
+If you need to use this driver together with a printer on the
+same port, build both the bpcd and lp drivers as modules.
+
+Keep an eye on http://www.torque.net/bpcd.html for news and
+other information about the driver. If you have any problems
+with this driver, please send me, grant@torque.net, some mail
+directly before posting into the newsgroups or mailing lists.
+
diff --git a/Documentation/cdrom/cdrom-standard.tex b/Documentation/cdrom/cdrom-standard.tex
index ba95b97ff..5c9e91de8 100644
--- a/Documentation/cdrom/cdrom-standard.tex
+++ b/Documentation/cdrom/cdrom-standard.tex
@@ -1,5 +1,5 @@
\documentclass{article}
-\def\version{$Id: cdrom-standard.tex,v 1.2 1996/09/22 20:18:00 david Exp $}
+\def\version{$Id: cdrom-standard.tex,v 1.6 1996/12/29 20:45:18 davem Exp $}
\evensidemargin=0pt
\oddsidemargin=0pt
@@ -128,12 +128,14 @@ important that these drives behave in the same way. (In December 1994,
one of the cheapest \cdrom\ drives was a Philips cm206, a double-speed
proprietary drive. In the months that I was busy writing a \linux\
driver for it, proprietary drives became old-fashioned and IDE/ATAPI
-drives became standard. At the time of writing (April 1996) the
-cheapest double speed drive is IDE and at one fifth of the price of
-its predecessor. Eight speed drives are available now.)
+drives became standard. At the time of writing (December 1996) the
+cheapest drive is quadruple speed IDE and at less than half the price
+of its predecessor. Twelve speed drives are available now.)
-This document defines (in pre-release versions: proposes) the various
-$ioctl$s, and the way the drivers should implement this.
+This document defines the various $ioctl$s, and the way the drivers
+should implement this. Currently (in the kernel 2.1.$n$ development
+line) three low-level \cdrom\ drivers use this interface, among
+which are the most important drivers for IDE and SCSI.
\section{Standardizing through another software level}
\label{cdrom.c}
@@ -166,7 +168,7 @@ $$
\halign{$#$\ \hfil&$#$\ \hfil&$/*$ \rm# $*/$\hfil\cr
struct& file_operations\ cdrom_fops = \{\hidewidth\cr
&NULL, & lseek \cr
- &block_read, & read---general\ block-dev\ read \cr
+ &block_read, & read---general block-dev read \cr
&block_write, & write---general block-dev write \cr
&NULL, & readdir \cr
&NULL, & select \cr
@@ -176,7 +178,7 @@ struct& file_operations\ cdrom_fops = \{\hidewidth\cr
&cdrom_release, & release \cr
&NULL, & fsync \cr
&NULL, & fasync \cr
- &cdrom_media_changed, & media_change \cr
+ &cdrom_media_changed, & media change \cr
&NULL & revalidate \cr
\};\cr
}
@@ -193,11 +195,11 @@ Registration of the \cdrom\ device driver should now be to the general
routines in \cdromc, not to the VFS any more. The interfacing with
\cdromc\ is implemented trough two general structures, that contain
information about the capabilities of the driver, and the specific
-drives on which the driver operates. The structures are seperated to
+drives on which the driver operates. The structures are separated to
contain information about
\begin{description}
\item[the low-level driver] It lists the routines that actually
- implement cdrom operations, and hence the structure is called
+ implement \cdrom\ operations, and hence the structure is called
$cdrom_device_ops$. The structure is conceptually connected to the
major number of the device (although some drivers may have have
different major numbers, as is the case for the IDE driver).
@@ -209,20 +211,20 @@ contain information about
The registration is done for each drive found by the driver (and hence
for each minor number) though the call
-$$register_cdrom(kdev_t\ dev, char * name,
- struct\ cdrom_device_info\ <device>_info)
+$$register_cdrom(struct\ cdrom_device_info * <device>_info, char * name)
$$
-This device information structure (described shortly) contains all
-information needed for the kernel to interface with the low-level
-cdrom device driver. One of the main entries of this structure is a
-pointer to the $cdrom_device_ops$ structure of the driver.
-
-This device operations structure lists the implemented routines for
-interfacing to the hardware. [It is impossible to come up with a
-complete list of all capabilities of (future) \cdrom\ drives, as the
-developments in technology follow-up at an incredible rate. Maybe
-write-operation (WORM devices) will become very popular in the
-future.] The list now is:
+This device information structure $<device>_info$ (described
+shortly) contains all information needed for the kernel to interface
+with the low-level \cdrom\ device driver. One of the main entries of
+this structure is a pointer to the $cdrom_device_ops$ structure of the
+driver.
+
+This device operations structure $cdrom_device_ops$ lists the
+implemented routines for interfacing to the hardware. [It is
+impossible to come up with a complete list of all capabilities of
+(future) \cdrom\ drives, as the developments in technology follow-up
+at an incredible rate. Maybe write-operation (WORM devices) will
+become very popular in the future.] The list now is:
$$
\halign{$#$\ \hfil&$#$\ \hfil&\hbox to 10em{$#$\hss}&
$/*$ \rm# $*/$\hfil\cr
@@ -236,14 +238,17 @@ struct& cdrom_device_ops\ \{ \hidewidth\cr
&int& (* lock_door)(struct\ cdrom_device_info *, int);\cr
&int& (* select_speed)(struct\ cdrom_device_info *, int);\cr
&int& (* select_disc)(struct\ cdrom_device_info *, int);\cr
- &int& (* get_last_session) (struct\ cdrom_device_info *, struct\ cdrom_multisession *{});\cr
+ &int& (* get_last_session) (struct\ cdrom_device_info *,
+ struct\ cdrom_multisession *{});\cr
&int& (* get_mcn)(struct\ cdrom_device_info *, struct\ cdrom_mcn *{});\cr
&int& (* reset)(struct\ cdrom_device_info *);\cr
- &int& (* audio_ioctl)(struct\ cdrom_device_info *, unsigned\ int, void *{});\cr
- &int& (* dev_ioctl)(struct\ cdrom_device_info *, unsigned\ int, unsigned\ long);\cr
+ &int& (* audio_ioctl)(struct\ cdrom_device_info *, unsigned\ int,
+ void *{});\cr
+ &int& (* dev_ioctl)(struct\ cdrom_device_info *, unsigned\ int,
+ unsigned\ long);\cr
\noalign{\medskip}
&\llap{const\ }int& capability;& capability flags \cr
- &int& n_minors;& number of supported minor devices \cr
+ &int& n_minors;& number of active minor devices \cr
}
$$
The \cdrom-driver should simply implement (some of) these
@@ -254,14 +259,14 @@ registration of the device. The value $n_minors$ should be a positive
value indicating the number of minor devices that are supported by the
driver, normally~1. Although these two variables are `informative'
rather than `operational,' they are included in $cdrom_device_ops$
-because they describe the cabability of the {\em driver\/} rather than
+because they describe the capability of the {\em driver\/} rather than
the {\em drive}. Nomenclature has always been difficult in computer
programming.
Note that most functions have fewer parameters than their
$blkdev_fops$ counterparts. This is because very little of the
information in the structures $inode$ and $file$ are used, the main
-parameter is the device $dev$, from which the minor-number can be
+parameter is the first, from which the major and minor number can be
extracted. (Most low-level \cdrom\ drivers don't even look at that value
as only one device is supported.) This will be available through $dev$
in $cdrom_device_info$ described below.
@@ -272,11 +277,11 @@ $$
\halign{$#$\ \hfil&$#$\ \hfil&\hbox to 10em{$#$\hss}&
$/*$ \rm# $*/$\hfil\cr
struct& cdrom_device_info\ \{ \hidewidth\cr
- & \llap{$const\ $}struct\ cdrom_device_ops *& ops;& device operations for this major\cr
+ & struct\ cdrom_device_ops *& ops;& device operations for this major\cr
& struct\ cdrom_device_info *& next;& next device_info for this major\cr
& void *& handle;& driver-dependent data\cr
\noalign{\medskip}
- & \llap{$const\ $}kdev_t& dev;& device number (incorporates minor)/\cr
+ & kdev_t& dev;& device number (incorporates minor)/\cr
& int& mask;& mask of capability: disables them \cr
&\llap{$const\ $}int& speed;& maximum speed for reading data \cr
&\llap{$const\ $}int& n_discs;& number of discs in jukebox \cr
@@ -287,7 +292,7 @@ struct& cdrom_device_info\ \{ \hidewidth\cr
\}\cr
}$$
-With this $struct$, a linked list of minor devices registrered with
+With this $struct$, a linked list of minor devices registered with
the same low-level driver is built, though the field $next$. The
device number, the device operations struct and specifications of
properties of the drive are stored in this structure.
@@ -296,7 +301,7 @@ The flags $mask$ can be used to mask out some of the capabilities
listed in $ops\to capability$, if a specific drive doesn't support a
feature of the driver. The value $speed$ specifies the maximum
head-rate of the drive, measured in units of normal audio speed
-(176\,kB/sec raw data or 150\,kB/sec filesystem data). The value
+(176\,kB/sec raw data or 150\,kB/sec file system data). The value
$n_discs$ should reflect the number of discs the drive can hold
simultaneously, if it is designed as a juke-box, or otherwise~1.
The parameters are declared $const$ because they describe properties
@@ -453,10 +458,16 @@ means `auto-selection', i.e., maximum data-rate or real-time audio
rate. If the drive doesn't have this `auto-selection' capability, the
decision should be made on the current disc loaded and the return
value should be positive. A negative return value indicates an
-error. (Although the audio-low-pass filters probably aren't designed
-for it, more than real-time playback of audio might be used for
-high-speed copying of audio tracks). Badly pressed \cdrom s may
-benefit from less-than-maximum head rate.
+error.
+
+There are a few reasons for having the speed to be selectable. Badly
+pressed \cdrom s may benefit from less-than-maximum head rate. Modern
+\cdrom\ drives can obtain very high head rates (up to twelve times
+audio speed is common), but these drives tend to make an annoyingly
+loud noise. A lower speed may reduce this. Finally, although the
+audio-low-pass filters probably aren't designed for it, more than
+real-time playback of audio might be used for high-speed copying of
+audio tracks.
\subsection{$Select_disc(struct\ cdrom_device_info * cdi, int\ number)$}
@@ -573,10 +584,10 @@ The capability flag is declared $const$, to prevent drivers from
accidentally tampering with the contents. The capability fags actually
inform \cdromc\ on what the driver is capable of. If the drive found
by the driver does not have the capability, is can be masked out by
-the $cdrom_device_info$ variable $mask$. For instance, the SCSI cdrom
-driver has implemeted the code for loading and ejecting cdrom's, and
+the $cdrom_device_info$ variable $mask$. For instance, the SCSI \cdrom\
+driver has implemented the code for loading and ejecting \cdrom's, and
hence its corresponding flags in $capability$ will be set. But a SCSI
-cdrom drive might be a caddy system, which can't load the tray, and
+\cdrom\ drive might be a caddy system, which can't load the tray, and
hence for this drive the $cdrom_device_info$ struct will have set
the $CDC_CLOSE_TRAY$ bit in $mask$.
@@ -690,7 +701,7 @@ Well, these companies are in the lucky position that they generally
control both the hardware and software of their supported products,
and are large enough to set their own standard. They do not have to
deal with a dozen or more different, competing hardware
-configurations.\footnote{Personally, I think that SUN's approach to
+configurations.\footnote{Incidentally, I think that SUN's approach to
mounting \cdrom s is very good in origin: under Solaris a
volume-daemon automatically mounts a newly inserted \cdrom\ under {\tt
/cdrom/$<volume-name>$/}. In my opinion they should have pushed this
@@ -750,7 +761,7 @@ that `take over' the interface to the kernel. The header file
belonging to \cdromc\ is called \ucdrom, but may be included in {\tt
cdrom.h} in the future.
-\subsection{$struct\ file_operations\ cdrom_fops$}
+\subsection{$Struct\ file_operations\ cdrom_fops$}
The contents of this structure has been described in
section~\ref{cdrom.c}, and this structure should be used in
@@ -759,15 +770,15 @@ $$
register_blkdev(major, <name>, \&cdrom_fops);
$$
-\subsection{$Int\ register_cdrom(kdev_t\ dev, char * name, struct\
-cdrom_device_info\ * cdi)$}
+\subsection{$Int\ register_cdrom( struct\ cdrom_device_info\ * cdi,
+ char * name,)$}
Similar to registering $cdrom_fops$ to the kernel, the device
operations and information structures, as described in
section~\ref{cdrom.c}, should be registered to the general \cdrom\
interface:
$$
-register_cdrom(dev, <name>, \&<device>_info);
+register_cdrom(\&<device>_info), <name>);
$$
This function returns zero upon success, and non-zero upon
failure. The structure $<device>_info$ should have a pointer the
@@ -853,7 +864,7 @@ specified by $arg$ of type $struct\ cdrom_tocentry *{}$.
\item[CDROMPLAYMSF] Play audio fragment specified in Minute, Second,
Frame format, delimited by $arg$ of type $struct\ cdrom_msf *{}$.
\item[CDROMPLAYTRKIND] Play audio fragment in track-index format
-delimited by $arg$ of type $struct\ cdrom_ti *{}$.
+delimited by $arg$ of type $struct\ \penalty-1000 cdrom_ti *{}$.
\item[CDROMVOLCTRL] Set volume specified by $arg$ of type $struct\
cdrom_volctrl *{}$.
\item[CDROMVOLREAD] Read volume into by $arg$ of type $struct\
@@ -886,16 +897,23 @@ the current flags.
\item[CDROM_MEDIA_CHANGED] Returns 1 if a disc has been changed since
the last call. Note that calls to $cdrom_media_changed$ by the VFS
are treated by an independent queue, so both mechanisms will detect
- a media change once. Currently, \cdromc\ implements maximum 16 minors
- per major device.
+ a media change once. For Juke-boxes, an extra argument $arg$
+ specifies the slot for which the information is given. The special
+ value $CDSL_CURRENT$ requests that information about the currently
+ selected slot is returned.
\item[CDROM_DRIVE_STATUS] Returns the status of the drive by a call to
$drive_status()$. Return values are as defined in section~\ref{drive
status}. Note that this call doesn't return information on the
current playing activity of the drive; this can be polled through an
- $ioctl$ call to $CDROMSUBCHNL$.
+ $ioctl$ call to $CDROMSUBCHNL$. For Juke-boxes, an extra argument
+ $arg$ specifies the slot for which (possibly limited) information is
+ given. The special value $CDSL_CURRENT$ requests that information
+ about the currently selected slot is returned.
\item[CDROM_DISC_STATUS] Returns the type of the disc currently in the
drive by a call to $disc_status()$. Return values are as defined in
section~\ref{disc status}.
+\item[CDROM_CHANGER_NSLOTS] Returns the number of slots in a
+ juke-box.
\end{description}
\subsubsection{Device dependent $ioct$s}
@@ -908,48 +926,53 @@ if implemented. No memory allocation or verification is carried out.
\begin{enumerate}
\item Make a backup of your current driver.
\item Get hold of the files \cdromc\ and \ucdrom, they should be in
-the directory tree that came with this documentation.
+ the directory tree that came with this documentation.
\item Include {\tt \char`\<linux/ucdrom.h>} just after {\tt cdrom.h}.
\item Change the 3rd argument of $register_blkdev$ from
$\&<your-drive>_fops$ to $\&cdrom_fops$.
-\item Just after that line, add a line to register to the \cdrom\
-routines:
-$$register_cdrom(major, <name>, <your-drive>_dops);$$
-Similarly, add a call to $unregister_cdrom()$.
-\item Copy an example of the device-operations $struct$ to your source,
-e.g., from {\tt cm206.c} $cm206_dops$, and change all entries to names
-corresponding to your driver, or names you just happen to like. If
-your driver doesn't support a certain function, make the entry
-$NULL$. At the entry $capability$ you should list all capabilities
-your drive could support, in principle. If your drive has a capability
-that is not listed, please send me a message.
+\item Just after that line, add a line to register to the \cdrom\
+ routines:
+ $$register_cdrom(\&<your-drive>_info, <name>);$$
+ Similarly, add a
+ call to $unregister_cdrom()$.
+\item Copy an example of the device-operations $struct$ to your
+ source, e.g., from {\tt cm206.c} $cm206_dops$, and change all
+ entries to names corresponding to your driver, or names you just
+ happen to like. If your driver doesn't support a certain function,
+ make the entry $NULL$. At the entry $capability$ you should list all
+ capabilities your drive could support, in principle. If your drive
+ has a capability that is not listed, please send me a message.
+\item Copy the $cdrom_device_info$ declaration from the same example
+ driver, and modify the entries according to your needs. If your
+ driver dynamically determines the capabilities of the hardware, this
+ structure should also be declared dynamically.
\item Implement all functions in your $<device>_dops$ structure,
-according to prototypes listed in \ucdrom, and specifications given in
-section~\ref{cdrom.c}. Most likely you have already implemented
-the code in a large part, and you may just have to adapt the prototype
-and return values.
+ according to prototypes listed in \ucdrom, and specifications given
+ in section~\ref{cdrom.c}. Most likely you have already implemented
+ the code in a large part, and you may just have to adapt the
+ prototype and return values.
\item Rename your $<device>_ioctl()$ function to $audio_ioctl$ and
-change the prototype a little. Remove entries listed in the first part
-in section~\ref{cdrom-ioctl}, if your code was OK, these are just calls
-to the routines you adapted in the previous step.
+ change the prototype a little. Remove entries listed in the first
+ part in section~\ref{cdrom-ioctl}, if your code was OK, these are
+ just calls to the routines you adapted in the previous step.
\item You may remove all remaining memory checking code in the
-$audio_ioctl()$ function that deals with audio commands (these are
-listed in the second part of section~\ref{cdrom-ioctl}). There is no
-need for memory allocation either, so most $case$s in the $switch$
-statement look similar to:
-$$
-case\ CDROMREADTOCENTRY\colon
-get_toc_entry\bigl((struct\ cdrom_tocentry *{})\ arg\bigr);
-$$
+ $audio_ioctl()$ function that deals with audio commands (these are
+ listed in the second part of section~\ref{cdrom-ioctl}). There is no
+ need for memory allocation either, so most $case$s in the $switch$
+ statement look similar to:
+ $$
+ case\ CDROMREADTOCENTRY\colon get_toc_entry\bigl((struct\
+ cdrom_tocentry *{})\ arg\bigr);
+ $$
\item All remaining $ioctl$ cases must be moved to a separate
-function, $<device>_ioctl$, the device-dependent $ioctl$s. Note that
-memory checking and allocation must be kept in this code!
+ function, $<device>_ioctl$, the device-dependent $ioctl$s. Note that
+ memory checking and allocation must be kept in this code!
\item Change the prototypes of $<device>_open()$ and
-$<device>_release()$, and remove any strategic code (i.e., tray
-movement, door locking, etc.).
+ $<device>_release()$, and remove any strategic code (i.e., tray
+ movement, door locking, etc.).
\item Try to recompile the drivers. We advice you to use modules, both
-for {\tt cdrom.o} and your driver, as debugging is much easier this
-way.
+ for {\tt cdrom.o} and your driver, as debugging is much easier this
+ way.
\end{enumerate}
\section{Thanks}
@@ -965,7 +988,91 @@ want to thank Linus Torvalds for making this possible in the first
place.
\vfill
-$\version$
+$ \version\ $
\eject
\end{document}
+\def\versionlog{
+$Log: cdrom-standard.tex,v $
+Revision 1.6 1996/12/29 20:45:18 davem
+Merge to 2.1.18, versioned module symbols are
+disabled until new modutils is released.
+
+Revision 1.6 1996/12/23 21:17:44 david
+Added reasons for speed selection.
+
+Revision 1.5 1996/12/22 21:54:25 david
+Repared version definition.
+
+Revision 1.4 1996/12/22 21:40:26 david
+Added older version log at end of text.
+
+Revision 1.3 1996/12/22 21:31:58 david
+Adapted text to fit kernel changes up to 2.1.15.
+
+Sun Dec 22 21:31:58 1996 David A. van Leeuwen <david@ElseWare>
+
+ * cdrom-standard.tex: Adapted text to fit kernel changes up to 2.1.15.
+
+Sun Sep 22 20:18:00 1996 David
+
+ * cdrom-standard.tex:
+ Documentation adapted to align with developments started by Scott
+ Snyder, Gerd Knorr and myself.
+
+ Split _ops in _info (minor stuff) and _ops (major stuff).
+ Moved capability back to _ops, added n_minors.
+ Implemented use_count in _info.
+ Removed open_files().
+
+Sat Aug 10 10:57:16 1996 David
+
+ * cdrom-standard.tex:
+ Weakened Eberhard's annoying comments by making it a quotation and
+ having it appear smaal-type. He doesn't react to my email-messages.
+
+ Changed float speed to int speed.
+
+Tue May 21 15:27:10 1996 David
+
+ * cdrom-standard.tex:
+ Typographic errors introduced by Eberhard Moenkeberg were corrected,
+ as well one of my own typos. I deepfully respect the person that
+ corrects all typos i make in code and documentation!
+
+ Linux version 1.99.6.
+
+ * cdrom-standard.tex:
+ Changes made by Eberhard Moenkeberg, much to my annoyance. The
+ contents of the introduction were altered completely so that it now
+ says the opposite of what I wrote before: that there is no need for an
+ additional unform cdrom layer. This makes the whole document and the
+ project for that matter worthless.
+
+ ---david
+
+ * cdrom-standard.tex:
+ Version as it appeared first in the official kernel documentation
+ tree, Linux 1.99.2, Documentation/cdrom/cdrom-standard.tex.
+
+ Some improvements in use of English language have been made by people
+ that know better English than me.
+
+Wed Apr 17 20:46:34 1996 David
+
+ * cdrom-standard.tex: changed #minors from 4 to 16.
+
+Sun Apr 14 20:53:17 1996 David
+
+ * cdrom-standard.tex:
+ Update to go with cdrom.c version 0.3. More ioctl stuff.
+
+Wed Apr 10 18:00:28 1996 David
+
+ * cdrom-standard.tex:
+ Version as first distributed among CDrom device driver authors.
+
+Mon Apr 8 18:25:21 1996 David A. van Leeuwen <david@ElseWare>
+
+ * cdrom-standard.tex: *** empty log message ***
+}
diff --git a/Documentation/devices.tex b/Documentation/devices.tex
index f7997b9a9..80dc0f9de 100644
--- a/Documentation/devices.tex
+++ b/Documentation/devices.tex
@@ -34,15 +34,19 @@
\newcommand{\link}[4]{{\file #1} \> {\file #2} \> #3 \> #4 \\}
\newcommand{\vlink}[4]{{\file #1} \> {\em #2 \/} \> #3 \> #4 \\}
\newcommand{\node}[3]{{\file #1} \> #2 \> #3 \\}
+\newcommand{\tum}{$''$}
\newenvironment{nodelist}%
{\begin{tabbing}%
{\file /dev/crambamboli} \= {\file /proc/self/fd/99} \= symbolicxxx \=
foo \kill}%
{\end{tabbing}}
%
+% If you reformat this document, *please* make sure this information
+% gets included!
+%
\title{{\bf Linux Allocated Devices}}
\author{Maintained by H. Peter Anvin $<$hpa@zytor.com$>$}
-\date{Last revised: November 18, 1996}
+\date{Last revised: April 7, 1997}
\maketitle
%
\noindent
@@ -65,8 +69,8 @@ where that applies (e.g.\ busmice), please contact me with the
appropriate device information. Also, if you have additional
information regarding any of the devices listed below, or if I have
made a mistake, I would greatly appreciate a note. When sending me
-mail, please include the word ``device'' in the subject so your mail
-won't accidentally get buried!
+mail, {\em please\/} include the word ``device'' in the subject so
+your mail won't accidentally get buried!
Allocations marked (68k/Amiga) apply to Linux/68k on the Amiga
platform only. Allocations marked (68k/Atari) apply to Linux/68k on
@@ -153,7 +157,6 @@ reply.
\major{34}{}{char }{Z8530 HDLC driver}
\major{ }{}{block}{Fourth IDE hard disk/CD-ROM interface}
\major{35}{}{char }{tclmidi MIDI driver}
-\major{ }{}{block}{Modular RAM disk}
\major{36}{}{char }{Netlink support}
\major{ }{}{block}{MCA ESDI hard disk}
\major{37}{}{char }{IDE tape}
@@ -168,6 +171,7 @@ reply.
\major{ }{}{block}{MicroSolutions BackPack parallel port CD-ROM}
\major{42}{}{}{Demo/sample use}
\major{43}{}{char }{isdn4linux virtual modem}
+\major{ }{}{block}{Network block devices}
\major{44}{}{char }{isdn4linux virtual modem -- alternate devices}
\major{45}{}{char }{isdn4linux ISDN BRI driver}
\major{46}{}{char }{Comtrol Rocketport serial card}
@@ -185,7 +189,25 @@ reply.
\major{58}{}{char }{Hayes ESP serial card -- alternate devices}
\major{59}{}{char }{sf firewall package}
\major{60}{--63}{}{Local/experimental use}
-\major{64}{--119}{}{Unallocated}
+\major{64}{}{char }{ENskip kernel encryption package}
+\major{65}{}{char }{Sundance ``plink'' Transputer boards}
+\major{66}{}{char }{YARC PowerPC PCI coprocessor card}
+\major{67}{}{char }{Coda network filesystem}
+\major{68}{}{char }{CAPI 2.0 interface}
+\major{69}{}{char }{MA16 numeric accelerator card}
+\major{70}{}{char }{SpellCaster Protocol Services Interface}
+\major{71}{}{char }{Computone IntelliPort II serial card}
+\major{72}{}{char }{Computone IntelliPort II serial card -- alternate devices}
+\major{73}{}{char }{Computone IntelliPort II serial card -- control devices}
+\major{74}{}{char }{SCI bridge}
+\major{75}{}{char }{Specialix IO8+ serial card}
+\major{76}{}{char }{Specialix IO8+ serial card -- alternate devices}
+\major{77}{}{char }{ComScire Quantum Noise Generator}
+\major{78}{}{char }{PAM Software's multimodem boards}
+\major{79}{}{char }{PAM Software's multimodem boards -- alternate devices}
+\major{80}{}{char }{Photometrics AT200 CCD camera}
+\major{81}{}{char }{Brooktree Bt848 frame grabbers}
+\major{82}{--119}{}{Unallocated}
\major{120}{--127}{}{Local/experimental use}
\major{128}{--239}{}{Unallocated}
\major{240}{--254}{}{Local/experimental use}
@@ -194,7 +216,6 @@ reply.
\section{Minor numbers}
-
\begin{devicelist}
\major{0}{}{}{Unnamed devices (e.g. non-device mounts)}
\minor{0}{}{reserved as null device number}
@@ -254,37 +275,38 @@ the position within the series.
\\
\major{}{}{}{To specify format, add to the autodetect device number}
\minor{ 0}{/dev/fd?}{Autodetect format}
- \minor{ 4}{/dev/fd?d360}{5.25" \num{4}{360}K in a \num{4}{360}K drive\1}
- \minor{ 20}{/dev/fd?h360}{5.25" \num{4}{360}K in a 1200K drive\1}
- \minor{ 48}{/dev/fd?h410}{5.25" \num{4}{410}K in a 1200K drive}
- \minor{ 64}{/dev/fd?h420}{5.25" \num{4}{420}K in a 1200K drive}
- \minor{ 24}{/dev/fd?h720}{5.25" \num{4}{720}K in a 1200K drive}
- \minor{ 80}{/dev/fd?h880}{5.25" \num{4}{880}K in a 1200K drive\1}
- \minor{ 8}{/dev/fd?h1200}{5.25" 1200K in a 1200K drive\1}
- \minor{ 40}{/dev/fd?h1440}{5.25" 1440K in a 1200K drive\1}
- \minor{ 56}{/dev/fd?h1476}{5.25" 1476K in a 1200K drive}
- \minor{ 72}{/dev/fd?h1494}{5.25" 1494K in a 1200K drive}
- \minor{ 92}{/dev/fd?h1600}{5.25" 1600K in a 1200K drive\1}
\minor{}{}{}
- \minor{ 12}{/dev/fd?u360}{3.5" \num{4}{360}K Double Density}
- \minor{ 16}{/dev/fd?u720}{3.5" \num{4}{720}K Double Density\1}
- \minor{120}{/dev/fd?u800}{3.5" \num{4}{800}K Double Density\2}
- \minor{ 52}{/dev/fd?u820}{3.5" \num{4}{820}K Double Density}
- \minor{ 68}{/dev/fd?u830}{3.5" \num{4}{830}K Double Density}
- \minor{ 84}{/dev/fd?u1040}{3.5" 1040K Double Density\1}
- \minor{ 88}{/dev/fd?u1120}{3.5" 1120K Double Density\1}
- \minor{ 28}{/dev/fd?u1440}{3.5" 1440K High Density\1}
- \minor{124}{/dev/fd?u1600}{3.5" 1600K High Density\1}
- \minor{ 44}{/dev/fd?u1680}{3.5" 1680K High Density\3}
- \minor{ 60}{/dev/fd?u1722}{3.5" 1722K High Density}
- \minor{ 76}{/dev/fd?u1743}{3.5" 1743K High Density}
- \minor{ 96}{/dev/fd?u1760}{3.5" 1760K High Density}
- \minor{116}{/dev/fd?u1840}{3.5" 1840K High Density\3}
- \minor{100}{/dev/fd?u1920}{3.5" 1920K High Density\1}
- \minor{ 32}{/dev/fd?u2880}{3.5" 2880K Extra Density\1}
- \minor{104}{/dev/fd?u3200}{3.5" 3200K Extra Density}
- \minor{108}{/dev/fd?u3520}{3.5" 3520K Extra Density}
- \minor{112}{/dev/fd?u3840}{3.5" 3840K Extra Density\1}
+ \minor{ 4}{/dev/fd?d360}{5.25\tum\ \num{4}{360}K in a \num{4}{360}K drive\1}
+ \minor{ 20}{/dev/fd?h360}{5.25\tum\ \num{4}{360}K in a 1200K drive\1}
+ \minor{ 48}{/dev/fd?h410}{5.25\tum\ \num{4}{410}K in a 1200K drive}
+ \minor{ 64}{/dev/fd?h420}{5.25\tum\ \num{4}{420}K in a 1200K drive}
+ \minor{ 24}{/dev/fd?h720}{5.25\tum\ \num{4}{720}K in a 1200K drive}
+ \minor{ 80}{/dev/fd?h880}{5.25\tum\ \num{4}{880}K in a 1200K drive\1}
+ \minor{ 8}{/dev/fd?h1200}{5.25\tum\ 1200K in a 1200K drive\1}
+ \minor{ 40}{/dev/fd?h1440}{5.25\tum\ 1440K in a 1200K drive\1}
+ \minor{ 56}{/dev/fd?h1476}{5.25\tum\ 1476K in a 1200K drive}
+ \minor{ 72}{/dev/fd?h1494}{5.25\tum\ 1494K in a 1200K drive}
+ \minor{ 92}{/dev/fd?h1600}{5.25\tum\ 1600K in a 1200K drive\1}
+ \minor{}{}{}
+ \minor{ 12}{/dev/fd?u360}{3.5\tum\ \num{4}{360}K Double Density}
+ \minor{ 16}{/dev/fd?u720}{3.5\tum\ \num{4}{720}K Double Density\1}
+ \minor{120}{/dev/fd?u800}{3.5\tum\ \num{4}{800}K Double Density\2}
+ \minor{ 52}{/dev/fd?u820}{3.5\tum\ \num{4}{820}K Double Density}
+ \minor{ 68}{/dev/fd?u830}{3.5\tum\ \num{4}{830}K Double Density}
+ \minor{ 84}{/dev/fd?u1040}{3.5\tum\ 1040K Double Density\1}
+ \minor{ 88}{/dev/fd?u1120}{3.5\tum\ 1120K Double Density\1}
+ \minor{ 28}{/dev/fd?u1440}{3.5\tum\ 1440K High Density\1}
+ \minor{124}{/dev/fd?u1600}{3.5\tum\ 1600K High Density\1}
+ \minor{ 44}{/dev/fd?u1680}{3.5\tum\ 1680K High Density\3}
+ \minor{ 60}{/dev/fd?u1722}{3.5\tum\ 1722K High Density}
+ \minor{ 76}{/dev/fd?u1743}{3.5\tum\ 1743K High Density}
+ \minor{ 96}{/dev/fd?u1760}{3.5\tum\ 1760K High Density}
+ \minor{116}{/dev/fd?u1840}{3.5\tum\ 1840K High Density\3}
+ \minor{100}{/dev/fd?u1920}{3.5\tum\ 1920K High Density\1}
+ \minor{ 32}{/dev/fd?u2880}{3.5\tum\ 2880K Extra Density\1}
+ \minor{104}{/dev/fd?u3200}{3.5\tum\ 3200K Extra Density}
+ \minor{108}{/dev/fd?u3520}{3.5\tum\ 3520K Extra Density}
+ \minor{112}{/dev/fd?u3840}{3.5\tum\ 3840K Extra Density\1}
\minor{}{}{}
\minor{36}{/dev/fd?CompaQ}{Compaq 2880K drive; probably obsolete}
\\
@@ -294,11 +316,12 @@ the position within the series.
\end{devicelist}
NOTE: The letter in the device name ({\file d}, {\file q}, {\file h}
-or {\file u}) signifies the type of drive supported: 5.25" Double
-Density ({\file d}), 5.25" Quad Density ({\file q}), 5.25" High
-Density ({\file h}) or 3.5" (any type, {\file u}). The capital
-letters {\file D}, {\file H}, or {\file E} for the 3.5" models have
-been deprecated, since the drive type is insignificant for these devices.
+or {\file u}) signifies the type of drive supported: 5.25\tum\ Double
+Density ({\file d}), 5.25\tum\ Quad Density ({\file q}), 5.25\tum\
+High Density ({\file h}) or 3.5\tum\ (any type, {\file u}). The
+capital letters {\file D}, {\file H}, or {\file E} for the 3.5\tum\
+models have been deprecated, since the drive type is insignificant for
+these devices.
\begin{devicelist}
\major{3}{}{char}{Pseudo-TTY slaves}
@@ -320,9 +343,10 @@ been deprecated, since the drive type is insignificant for these devices.
\end{devicelist}
\noindent
-For Linux/i386, partitions 1-4 are the primary partitions, partitions
-5 and up are logical partitions. Other versions of Linux use
-partitioning schemes appropriate to their respective architectures.
+For MS-DOS style partition tables (typically used by Linux/i386),
+partitions 1-4 are the primary partitions, partitions 5 and up are
+logical partitions. For other partitioning schemes, the meaning of
+the numbers vary.
\begin{devicelist}
\major{ 4}{}{char }{TTY devices}
@@ -333,19 +357,19 @@ partitioning schemes appropriate to their respective architectures.
\minor{64}{/dev/ttyS0}{First serial port}
\minordots
\minor{127}{/dev/ttyS63}{64th serial port}
- \minor{128}{/dev/ptyp0}{First pseudo-tty master}
+ \minor{128}{/dev/ptyp0}{First old pseudo-tty master}
\minordots
- \minor{191}{/dev/ptysf}{64th pseudo-tty master}
- \minor{192}{/dev/ttyp0}{First pseudo-tty slave}
+ \minor{191}{/dev/ptysf}{64th old pseudo-tty master}
+ \minor{192}{/dev/ttyp0}{First old pseudo-tty slave}
\minordots
- \minor{255}{/dev/ttysf}{64th pseudo-tty slave}
+ \minor{255}{/dev/ttysf}{64th old pseudo-tty slave}
\end{devicelist}
\noindent
For compatibility with previous versions of Linux, the first 64 PTYs
-are replicated under this device number. This use will be obsolescent
-with the release of Linux 2.0 and may be removed in a future version
-of Linux.
+are replicated under this device number. This use is deprecated with
+the release of Linux 2.0 and may be removed in a future version of
+Linux. To ensure proper operation, do not mix old and new PTY devices.
\begin{devicelist}
\major{ 5}{}{char }{Alternate TTY devices}
@@ -388,6 +412,11 @@ NOTE: These devices permit both read and write access.
\minordots
\end{devicelist}
+\noindent
+The loopback devices are used to mount filesystems not associated with
+block devices. The binding to the loopback devices is handled by
+{\bf mount}(8) or {\bf losetup}(8).
+
\begin{devicelist}
\major{ 8}{}{block}{SCSI disk devices}
\minor{0}{/dev/sda}{First SCSI disk whole disk}
@@ -470,13 +499,13 @@ physical disks.
\minor{137}{/dev/qcam1}{QuickCam on {\file lp1}}
\minor{138}{/dev/qcam2}{QuickCam on {\file lp2}}
\minor{139}{/dev/openprom}{SPARC OpenBoot PROM}
+ \minor{140}{/dev/relay8}{Berkshire Products Octal relay card}
+ \minor{141}{/dev/relay16}{Berkshire Products ISO-16 relay card}
+ \minor{142}{/dev/msr}{x86 model specific registers}
+ \minor{143}{/dev/pciconf}{PCI configuration space}
+ \minor{144}{/dev/nvram}{Non-volatile configuration RAM}
\end{devicelist}
-\noindent
-The loopback devices are used to mount filesystems not associated with
-block devices. The binding to the loopback devices is usually handled
-by {\bf mount}(8).
-
\begin{devicelist}
\major{11}{}{char }{Raw keyboard device}
\minor{0}{/dev/kbd}{Raw keyboard device}
@@ -640,6 +669,11 @@ See the Double documentation for an explanation of the ``mirror'' devices.
\minordots
\end{devicelist}
+\noindent
+Most distributions name these {\file /dev/sga}, {\file /dev/sgb}...
+This sets an unneccesary limit of 26 SCSI devices in the system, and
+is counter to standard Linux device-naming practice.
+
\begin{devicelist}
\major{22}{}{char }{Digiboard serial card}
\minor{0}{/dev/ttyD0}{First Digiboard port}
@@ -907,15 +941,8 @@ major number 3).
\minor{129}{/dev/smpte1}{Second MIDI port, SMPTE timed}
\minor{130}{/dev/smpte2}{Third MIDI port, SMPTE timed}
\minor{131}{/dev/smpte3}{Fourth MIDI port, SMPTE timed}
-\\
-\major{ }{}{block}{Modular RAM disk}
\end{devicelist}
-\noindent
-This device number is provided for older kernels which did not have
-the modular RAM disk in the standard distribution. See major number
-1. This assignment will be removed when the 2.0 kernel is released.
-
\begin{devicelist}
\major{36}{}{char }{Netlink support}
\minor{0}{/dev/route}{Routing, device updates (kernel to user)}
@@ -1021,8 +1048,20 @@ driver with this number should not cause ill effects to the system
\minor{0}{/dev/ttyI0}{First virtual modem}
\minordots
\minor{63}{/dev/ttyI63}{64th virtual modem}
+\\
+\major{ }{}{block}{Network block devices}
+ \minor{0}{/dev/nd0}{First network block device}
+ \minor{1}{/dev/nd1}{Second network block device}
+ \minordots
\end{devicelist}
+\noindent
+Network Block Device is somehow similar to loopback devices: If you
+read from it, it sends packet accross network asking server for
+data. If you write to it, it sends packet telling server to write. It
+could be used to mounting filesystems over the net, swapping over the
+net, implementing block device in userland etc.
+
\begin{devicelist}
\major{44}{}{char }{isdn4linux virtual modem -- alternate devices}
\minor{0}{/dev/cui0}{Callout device corresponding to {\file ttyI0}}
@@ -1162,7 +1201,198 @@ For devices not assigned official numbers, these ranges should be
used, in order to avoid conflict with future assignments.
\begin{devicelist}
-\major{64}{--119}{}{Unallocated}
+\major{64}{}{char }{ENskip kernel encryption package}
+ \minor{0}{/dev/enskip}{Communication with ENskip kernel
+ module}
+\end{devicelist}
+
+\begin{devicelist}
+\major{65}{}{char }{Sundance ``plink'' Transputer boards}
+ \minor{0}{/dev/plink0}{First plink device}
+ \minor{1}{/dev/plink1}{Second plink device}
+ \minor{2}{/dev/plink2}{Third plink device}
+ \minor{3}{/dev/plink3}{Fourth plink device}
+ \minor{64}{/dev/rplink0}{First plink device, raw}
+ \minor{65}{/dev/rplink1}{Second plink device, raw}
+ \minor{66}{/dev/rplink2}{Third plink device, raw}
+ \minor{67}{/dev/rplink3}{Fourth plink device, raw}
+ \minor{128}{/dev/plink0d}{First plink device, debug}
+ \minor{129}{/dev/plink1d}{Second plink device, debug}
+ \minor{130}{/dev/plink2d}{Third plink device, debug}
+ \minor{131}{/dev/plink3d}{Fourth plink device, debug}
+ \minor{192}{/dev/rplink0d}{First plink device, raw, debug}
+ \minor{193}{/dev/rplink1d}{Second plink device, raw, debug}
+ \minor{194}{/dev/rplink2d}{Third plink device, raw, debug}
+ \minor{195}{/dev/rplink3d}{Fourth plink device, raw, debug}
+\end{devicelist}
+
+\noindent
+This is a commercial driver; contact James Howes
+$<$jth@prosig.demon.co.uk$>$ for information.
+
+\begin{devicelist}
+\major{66}{}{char }{YARC PowerPC PCI coprocessor card}
+ \minor{0}{/dev/yppcpci0}{First YARC card}
+ \minor{1}{/dev/yppcpci1}{Second YARC card}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{67}{}{char }{Coda network filesystem}
+ \minor{0}{/dev/cfs0}{Coda cache manager}
+\end{devicelist}
+
+\noindent
+See {\em http://www.coda.cs.cmu.edu\/} for information about Coda.
+
+\begin{devicelist}
+\major{68}{}{char }{CAPI 2.0 interface}
+ \minor{0}{/dev/capi20}{Control device}
+ \minor{1}{/dev/capi20.00}{First CAPI 2.0 application}
+ \minor{2}{/dev/capi20.01}{Second CAPI 2.0 application}
+ \minordots
+ \minor{20}{/dev/capi20.19}{19th CAPI 2.0 application}
+\end{devicelist}
+
+\noindent
+ISDN CAPI 2.0 driver for use with CAPI 2.0 applications; currently
+supports the AVM B1 card.
+
+\begin{devicelist}
+\major{69}{}{char }{MA16 numeric accelerator card}
+ \minor{0}{/dev/ma16}{Board memory access}
+\end{devicelist}
+
+\begin{devicelist}
+\major{70}{}{char }{SpellCaster Protocol Services Interface}
+ \minor{0}{/dev/apscfg}{Configuration interface}
+ \minor{1}{/dev/apsauth}{Authentication interface}
+ \minor{2}{/dev/apslog}{Logging interface}
+ \minor{3}{/dev/apsdbg}{Debugging interface}
+ \minor{64}{/dev/apsisdn}{ISDN command interface}
+ \minor{65}{/dev/apsasync}{Async command interface}
+ \minor{128}{/dev/apsmon}{Monitor interface}
+\end{devicelist}
+
+\begin{devicelist}
+\major{71}{}{char }{Computone IntelliPort II serial card}
+ \minor{0}{/dev/ttyF0}{IntelliPort II board 0, port 0}
+ \minor{1}{/dev/ttyF1}{IntelliPort II board 0, port 1}
+ \minordots
+ \minor{63}{/dev/ttyF63}{IntelliPort II board 0, port 63}
+ \minor{64}{/dev/ttyF64}{IntelliPort II board 1, port 0}
+ \minor{65}{/dev/ttyF65}{IntelliPort II board 1, port 1}
+ \minordots
+ \minor{127}{/dev/ttyF127}{IntelliPort II board 1, port 63}
+ \minor{128}{/dev/ttyF128}{IntelliPort II board 2, port 0}
+ \minor{129}{/dev/ttyF129}{IntelliPort II board 2, port 1}
+ \minordots
+ \minor{191}{/dev/ttyF191}{IntelliPort II board 2, port 63}
+ \minor{192}{/dev/ttyF192}{IntelliPort II board 3, port 0}
+ \minor{193}{/dev/ttyF193}{IntelliPort II board 3, port 1}
+ \minordots
+ \minor{255}{/dev/ttyF255}{IntelliPort II board 3, port 63}
+\end{devicelist}
+
+\begin{devicelist}
+\major{72}{}{char }{Computone IntelliPort II serial card -- alternate devices}
+ \minor{0}{/dev/cuf0}{Callout device corresponding to {\file ttyF0}}
+ \minor{1}{/dev/cuf1}{Callout device corresponding to {\file ttyF1}}
+ \minordots
+ \minor{63}{/dev/cuf63}{Callout device corresponding to {\file ttyF63}}
+ \minor{64}{/dev/cuf64}{Callout device corresponding to {\file ttyF64}}
+ \minor{65}{/dev/cuf65}{Callout device corresponding to {\file ttyF65}}
+ \minordots
+ \minor{127}{/dev/cuf127}{Callout device corresponding to {\file ttyF127}}
+ \minor{128}{/dev/cuf128}{Callout device corresponding to {\file ttyF128}}
+ \minor{129}{/dev/cuf129}{Callout device corresponding to {\file ttyF129}}
+ \minordots
+ \minor{191}{/dev/cuf191}{Callout device corresponding to {\file ttyF191}}
+ \minor{192}{/dev/cuf192}{Callout device corresponding to {\file ttyF192}}
+ \minor{193}{/dev/cuf193}{Callout device corresponding to {\file ttyF193}}
+ \minordots
+ \minor{255}{/dev/cuf255}{Callout device corresponding to {\file ttyF255}}
+\end{devicelist}
+
+\begin{devicelist}
+\major{73}{}{char }{Computone IntelliPort II serial card -- control devices}
+ \minor{0}{/dev/ip2ipl0}{Loadware device for board 0}
+ \minor{1}{/dev/ip2stat0}{Status device for board 0}
+ \minor{4}{/dev/ip2ipl1}{Loadware device for board 1}
+ \minor{5}{/dev/ip2stat1}{Status device for board 1}
+ \minor{8}{/dev/ip2ipl2}{Loadware device for board 2}
+ \minor{9}{/dev/ip2stat2}{Status device for board 2}
+ \minor{12}{/dev/ip2ipl3}{Loadware device for board 3}
+ \minor{13}{/dev/ip2stat3}{Status device for board 3}
+\end{devicelist}
+
+\begin{devicelist}
+\major{74}{}{char }{SCI bridge}
+ \minor{0}{/dev/SCI/0}{SCI device 0}
+ \minor{1}{/dev/SCI/1}{SCI device 1}
+ \minordots
+\end{devicelist}
+
+\noindent
+Currently for Dolphin Interconnect Solutions' PCI-SCI bridge.
+
+\begin{devicelist}
+\major{75}{}{char }{Specialix IO8+ serial card}
+ \minor{0}{/dev/ttyW0}{First IO8+ port, first card}
+ \minor{1}{/dev/ttyW1}{Second IO8+ port, first card}
+ \minordots
+ \minor{8}{/dev/ttyW8}{First IO8+ port, second card}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{76}{}{char }{Specialix IO8+ serial card -- alternate devices}
+ \minor{0}{/dev/cuw0}{Callout device corresponding to {\file ttyW0}}
+ \minor{1}{/dev/cuw1}{Callout device corresponding to {\file ttyW1}}
+ \minordots
+ \minor{8}{/dev/cuw8}{Callout device corresponding to {\file ttyW8}}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{77}{}{char }{ComScire Quantum Noise Generator}
+ \minor{0}{/dev/qng}{ComScire Quantum Noise Generator}
+\end{devicelist}
+
+\begin{devicelist}
+\major{78}{}{char }{PAM Software's multimodem boards}
+ \minor{0}{/dev/ttyM0}{First PAM modem}
+ \minor{1}{/dev/ttyM1}{Second PAM modem}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{79}{}{char }{PAM Software's multimodem boards -- alternate devices}
+ \minor{0}{/dev/cum0}{Callout device corresponding to {\file ttyM0}}
+ \minor{1}{/dev/cum1}{Callout device corresponding to {\file ttyM1}}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{80}{}{char }{Photometrics AT200 CCD camera}
+ \minor{0}{/dev/at200}{Photometrics AT200 CCD camera}
+\end{devicelist}
+
+\begin{devicelist}
+\major{81}{}{char }{Brooktree Bt848 frame grabbers}
+ \minor{0}{/dev/bttv0}{First Bt848 card}
+ \minor{0}{/dev/bttv1}{Second Bt848 card}
+ \minordots
+ \minor{16}{/dev/bttvc0}{Control for first Bt848 card}
+ \minor{17}{/dev/bttvc1}{Control for second Bt848 card}
+ \minordots
+ \minor{32}{/dev/bttv-vbi0}{VBI data of first Bt848 card}
+ \minor{33}{/dev/bttv-vbi1}{VBI data of second Bt848 card}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{82}{--119}{}{Unallocated}
\end{devicelist}
\begin{devicelist}
@@ -1266,5 +1496,111 @@ Common entries are:
\node{/dev/gpmdata}{socket}{{\file gpm} mouse multiplexer}
\end{nodelist}
-\end{document}
+\section{Terminal devices}
+
+Terminal, or TTY devices are a special class of character devices. A
+terminal device is any device that could act as a controlling terminal
+for a session; this includes virtual consoles, serial ports, and
+pseudoterminals (PTYs).
+
+All terminal devices share a common set of capabilities known as line
+diciplines; these include the common terminal line dicipline as well
+as SLIP and PPP modes.
+
+All terminal devices are named similarly; this section explains the
+naming and use of the various types of TTYs. Note that the naming
+conventions include several historical warts; some of these are
+Linux-specific, some were inherited from other systems, and some
+reflect Linux outgrowing a borrowed convention.
+
+A hash mark ($\#$) in a device name is used here to indicate a decimal
+number without leading zeroes.
+
+\subsection{Virtual consoles and the console device}
+
+Virtual consoles are full-screen terminal displays on the system video
+monitor. Virtual consoles are named {\file /dev/tty$\#$}, with
+numbering starting at {\file /dev/tty1}; {\file /dev/tty0} is the
+current virtual console. {\file /dev/tty0} is the device that should
+be used to access the system video card on those architectures for
+which the frame buffer devices ({\file /dev/fb*}) do not exist
+(including the x86). Do not use {\file /dev/console} for this
+purpose.
+
+The {\em console device\/}, {\file /dev/console}, is the device to
+which system messages should be sent, and on which logins should be
+permitted in single-user mode. {\file /dev/console} should be a
+symbolic link to either {\file /dev/tty0}, a specific virtual console
+such as {\file /dev/tty1}, or to a serial port primary ({\file tty})
+device, depending on the configuration of the system.
+
+\subsection{Serial ports}
+
+Serial ports are RS-232 serial ports and any device which simulates
+one, either in hardware (such as internal modems) or in software (such
+as the ISDN driver.) Under Linux, each serial ports has two device
+names, the primary or callin device and the alternate or callout one.
+Each kind of device is indicated by a different letter. For any
+letter $X$, the names of the devices are {\file /dev/tty${X\#}$} and
+{\file /dev/cu${x\#}$}, respectively; for historical reasons, {\file
+/dev/ttyS$\#$} and {\file /dev/ttyC$\#$} correspond to {\file
+/dev/cua$\#$} and {\file /dev/cub$\#$}. In the future, it should be
+expected that multiple letters will be used; all letters will be upper
+case for the {\file tty} device and lower case for the {\file cu}
+device.
+
+The names {\file /dev/ttyQ$\#$} and {\file /dev/cuq$\#$} are reserved
+for local use.
+
+The alternate devices provide for kernel-based exclusion and somewhat
+different defaults than the primary devices. Their main purpose is to
+allow the use of serial ports with programs with no inherent or broken
+support for serial ports. For programs with proper knowledge of
+serial port operation, their use should probably be avoided.
+
+Arbitration of serial ports is provided by the use of lock files with
+the names {\file /var/lock/LCK..tty${X\#}$}. The contents of the lock
+file should be the PID of the locking process as an ASCII number.
+
+It is common practice to install links such as {\file /dev/modem\/}
+which point to serial ports. In order to ensure proper locking in the
+presence of these links, it is recommended that software chase
+symlinks and lock all possible names; additionally, it is recommended
+that a lock file be installed with the corresponding alternate
+device. In order to avoid deadlocks, it is recommended that the locks
+are acquired in the following order, and released in the reverse:
+\begin{itemize}
+\item{The symbolic link name, if any ({\file /var/lock/LCK..modem})}
+\item{The {\file tty} name ({\file /var/lock/LCK..ttyS2})}
+\item{The alternate device name ({\file /var/lock/LCK..cua2})}
+\end{itemize}
+In the case of nested symbolic links, the lock files should be
+installed in the order the symlinks are resolved.
+
+Under no circumstances should an application hold a lock while waiting
+for another to be released. In addition, applications which attempt
+to create lock files for the corresponding alternate device names
+should take into account the possibility of being used on a non-serial
+port TTY, for which no alternate device would exist.
+
+\subsection{Pseudoterminals (PTYs)}
+
+Pseudoterminals, or PTYs, are used to create login sessions or provide
+other capabilities requiring a TTY line dicipline (including SLIP or
+PPP capability) to arbitrary data-generation processes. Each PTY has
+a {\em master\/} side, named {\file /dev/pty[p-za-e][0-9a-f]\/}, and a
+{\em slave\/} side, named {\file /dev/tty[p-za-e][0-9a-f]\/}. The
+kernel arbitrates the use of PTYs by allowing each master side to be
+opened only once.
+
+Once the master side has been opened, the corresponding slave device
+can be used in the same manner as any TTY device. The master and
+slave devices are connected by the kernel, generating the equivalent
+of a bidirectional pipe with TTY capabilities.
+
+The entire namespace {\file /dev/[pt]ty[p-za-o][0-9a-z]\/} should be
+considered reserved for the future use of PTYs. Should more than 936
+PTYs ever become a necessity, we will likely adopt a System V-like
+scheme by which PTYs use a subdirectory of {\file /dev}.
+\end{document}
diff --git a/Documentation/devices.txt b/Documentation/devices.txt
index 89dc3aaac..17a99de95 100644
--- a/Documentation/devices.txt
+++ b/Documentation/devices.txt
@@ -1,8 +1,7 @@
LINUX ALLOCATED DEVICES
-
Maintained by H. Peter Anvin <hpa@zytor.com>
- Last revised: November 18, 1996
+ Last revised: April 7, 1997
This list is the successor to Rick Miller's Linux Device List, which
he stopped maintaining when he got busy with other things in 1993. It
@@ -22,7 +21,7 @@ where that applies (e.g. busmice), please contact me with the
appropriate device information. Also, if you have additional
information regarding any of the devices listed below, or if I have
made a mistake, I would greatly appreciate a note. When sending me
-mail, please include the word "device" in the subject so your mail
+mail, *please* include the word "device" in the subject so your mail
won't accidentally get buried!
Allocations marked (68k/Amiga) apply to Linux/68k on the Amiga
@@ -160,18 +159,19 @@ reply.
64 = /dev/ttyS0 First serial port
...
127 = /dev/ttyS63 64th serial port
- 128 = /dev/ptyp0 First pseudo-tty master
+ 128 = /dev/ptyp0 First old pseudo-tty master
...
- 191 = /dev/ptysf 64th pseudo-tty master
- 192 = /dev/ttyp0 First pseudo-tty slave
+ 191 = /dev/ptysf 64th old pseudo-tty master
+ 192 = /dev/ttyp0 First old pseudo-tty slave
...
- 255 = /dev/ttysf 64th pseudo-tty slave
+ 255 = /dev/ttysf 64th old pseudo-tty slave
For compatibility with previous versions of Linux, the
- first 64 PTYs are replicated under this device
- number. This use will be obsolescent with the release
- of Linux 1.4 and may be removed in a future version of
- Linux.
+ first 64 PTYs are replicated under this device number.
+ This use is deprecated with the release of Linux 2.0
+ and may be removed in a future version of Linux. To
+ ensure proper operation, do not mix old and new PTY
+ devices.
5 char Alternate TTY devices
0 = /dev/tty Current TTY device
@@ -207,7 +207,7 @@ reply.
The loopback devices are used to mount filesystems not
associated with block devices. The binding to the
- loopback devices is usually handled by mount(8).
+ loopback devices is handled by mount(8) or losetup(8).
8 block SCSI disk devices
0 = /dev/sda First SCSI disk whole disk
@@ -282,6 +282,11 @@ reply.
137 = /dev/qcam1 QuickCam on lp1
138 = /dev/qcam2 QuickCam on lp2
139 = /dev/openprom SPARC OpenBoot PROM
+ 140 = /dev/relay8 Berkshire Products Octal relay card
+ 141 = /dev/relay16 Berkshire Products ISO-16 relay card
+ 142 = /dev/msr x86 model-specific registers
+ 143 = /dev/pciconf PCI configuration space
+ 144 = /dev/nvram Non-volatile configuration RAM
11 char Raw keyboard device
0 = /dev/kbd Raw keyboard device
@@ -407,6 +412,11 @@ reply.
1 = /dev/sg1 Second generic SCSI device
...
+ Most distributions name these /dev/sga, /dev/sgb...;
+ this sets an unnecessary limit of 26 SCSI devices in
+ the system and is counter to standard Linux
+ device-naming practice.
+
22 char Digiboard serial card
0 = /dev/ttyD0 First Digiboard port
1 = /dev/ttyD1 Second Digiboard port
@@ -625,12 +635,6 @@ reply.
129 = /dev/smpte1 Second MIDI port, SMPTE timed
130 = /dev/smpte2 Third MIDI port, SMPTE timed
131 = /dev/smpte3 Fourth MIDI port, SMPTE timed
- block Modular RAM disk device
-
- This device number is provided for older kernels which
- did not have the modular RAM disk in the standard
- distribution. See major number 1. This assignment
- will be removed when the 2.0 kernel is released.
36 char Netlink support
0 = /dev/route Routing, device updates, kernel to user
@@ -710,6 +714,17 @@ reply.
0 = /dev/ttyI0 First virtual modem
...
63 = /dev/ttyI63 64th virtual modem
+ block Network block devices
+ 0 = /dev/nb0 First network block device
+ 1 = /dev/nb1 Second network block device
+ ...
+
+ Network Block Device is somehow similar to loopback
+ devices: If you read from it, it sends packet accross
+ network asking server for data. If you write to it, it
+ sends packet telling server to write. It could be used
+ to mounting filesystems over the net, swapping over
+ the net, implementing block device in userland etc.
44 char isdn4linux virtual modem - alternate devices
0 = /dev/cui0 Callout device corresponding to ttyI0
@@ -813,7 +828,158 @@ reply.
assigned official numbers, these ranges should be
used, in order to avoid conflicting with future assignments.
- 64-119 UNALLOCATED
+ 64 char ENskip kernel encryption package
+ 0 = /dev/enskip Communication with ENskip kernel module
+
+ 65 char Sundance "plink" Transputer boards
+ 0 = /dev/plink0 First plink device
+ 1 = /dev/plink1 Second plink device
+ 2 = /dev/plink2 Third plink device
+ 3 = /dev/plink3 Fourth plink device
+ 64 = /dev/rplink0 First plink device, raw
+ 65 = /dev/rplink1 Second plink device, raw
+ 66 = /dev/rplink2 Third plink device, raw
+ 67 = /dev/rplink3 Fourth plink device, raw
+ 128 = /dev/plink0d First plink device, debug
+ 129 = /dev/plink1d Second plink device, debug
+ 130 = /dev/plink2d Third plink device, debug
+ 131 = /dev/plink3d Fourth plink device, debug
+ 192 = /dev/rplink0d First plink device, raw, debug
+ 193 = /dev/rplink1d Second plink device, raw, debug
+ 194 = /dev/rplink2d Third plink device, raw, debug
+ 195 = /dev/rplink3d Fourth plink device, raw, debug
+
+ This is a commercial driver; contact James Howes
+ <jth@prosig.demon.co.uk> for information.
+
+ 66 char YARC PowerPC PCI coprocessor card
+ 0 = /dev/yppcpci0 First YARC card
+ 1 = /dev/yppcpci1 Second YARC card
+ ...
+
+ 67 char Coda network file system
+ 0 = /dev/cfs0 Coda cache manager
+
+ See http://www.coda.cs.cmu.edu for information about Coda.
+
+ 68 char CAPI 2.0 interface
+ 0 = /dev/capi20 Control device
+ 1 = /dev/capi20.00 First CAPI 2.0 application
+ 2 = /dev/capi20.01 Second CAPI 2.0 application
+ ...
+ 20 = /dev/capi20.19 19th CAPI 2.0 application
+
+ ISDN CAPI 2.0 driver for use with CAPI 2.0
+ applications; currently supports the AVM B1 card.
+
+ 69 char MA16 numeric accelerator card
+ 0 = /dev/ma16 Board memory access
+
+ 70 char SpellCaster Protocol Services Interface
+ 0 = /dev/apscfg Configuration interface
+ 1 = /dev/apsauth Authentication interface
+ 2 = /dev/apslog Logging interface
+ 3 = /dev/apsdbg Debugging interface
+ 64 = /dev/apsisdn ISDN command interface
+ 65 = /dev/apsasync Async command interface
+ 128 = /dev/apsmon Monitor interface
+
+ 71 char Computone IntelliPort II serial card
+ 0 = /dev/ttyF0 IntelliPort II board 0, port 0
+ 1 = /dev/ttyF1 IntelliPort II board 0, port 1
+ ...
+ 63 = /dev/ttyF63 IntelliPort II board 0, port 63
+ 64 = /dev/ttyF64 IntelliPort II board 1, port 0
+ 65 = /dev/ttyF65 IntelliPort II board 1, port 1
+ ...
+ 127 = /dev/ttyF127 IntelliPort II board 1, port 63
+ 128 = /dev/ttyF128 IntelliPort II board 2, port 0
+ 129 = /dev/ttyF129 IntelliPort II board 2, port 1
+ ...
+ 191 = /dev/ttyF191 IntelliPort II board 2, port 63
+ 192 = /dev/ttyF192 IntelliPort II board 3, port 0
+ 193 = /dev/ttyF193 IntelliPort II board 3, port 1
+ ...
+ 255 = /dev/ttyF255 IntelliPort II board 3, port 63
+
+ 72 char Computone IntelliPort II serial card - alternate devices
+ 0 = /dev/cuf0 Callout device corresponding to ttyF0
+ 1 = /dev/cuf1 Callout device corresponding to ttyF1
+ ...
+ 63 = /dev/cuf63 Callout device corresponding to ttyF63
+ 64 = /dev/cuf64 Callout device corresponding to ttyF64
+ 65 = /dev/cuf65 Callout device corresponding to ttyF65
+ ...
+ 127 = /dev/cuf127 Callout device corresponding to ttyF127
+ 128 = /dev/cuf128 Callout device corresponding to ttyF128
+ 129 = /dev/cuf129 Callout device corresponding to ttyF129
+ ...
+ 191 = /dev/cuf191 Callout device corresponding to ttyF191
+ 192 = /dev/cuf192 Callout device corresponding to ttyF192
+ 193 = /dev/cuf193 Callout device corresponding to ttyF193
+ ...
+ 255 = /dev/cuf255 Callout device corresponding to ttyF255
+
+ 73 char Computone IntelliPort II serial card - control devices
+ 0 = /dev/ip2ipl0 Loadware device for board 0
+ 1 = /dev/ip2stat0 Status device for board 0
+ 4 = /dev/ip2ipl1 Loadware device for board 1
+ 5 = /dev/ip2stat1 Status device for board 1
+ 8 = /dev/ip2ipl2 Loadware device for board 2
+ 9 = /dev/ip2stat2 Status device for board 2
+ 12 = /dev/ip2ipl3 Loadware device for board 3
+ 13 = /dev/ip2stat3 Status device for board 3
+
+ 74 char SCI bridge
+ 0 = /dev/SCI/0 SCI device 0
+ 1 = /dev/SCI/1 SCI device 1
+ ...
+
+ Currently for Dolphin Interconnect Solutions' PCI-SCI
+ bridge.
+
+ 75 char Specialix IO8+ serial card
+ 0 = /dev/ttyW0 First IO8+ port, first card
+ 1 = /dev/ttyW1 Second IO8+ port, first card
+ ...
+ 8 = /dev/ttyW8 First IO8+ port, second card
+ ...
+
+ 76 char Specialix IO8+ serial card - alternate devices
+ 0 = /dev/cuw0 Callout device corresponding to ttyW0
+ 1 = /dev/cuw1 Callout device corresponding to ttyW1
+ ...
+ 8 = /dev/cuw8 Callout device corresponding to ttyW8
+ ...
+
+ 77 char ComScire Quantum Noise Generator
+ 0 = /dev/qng ComScire Quantum Noise Generator
+
+ 78 char PAM Software's multimodem boards
+ 0 = /dev/ttyM0 First PAM modem
+ 1 = /dev/ttyM1 Second PAM modem
+ ...
+
+ 79 char PAM Software's multimodem boards - alternate devices
+ 0 = /dev/cum0 Callout device corresponding to ttyM0
+ 1 = /dev/cum1 Callout device corresponding to ttyM1
+ ...
+
+ 80 char Photometrics AT200 CCD camera
+ 0 = /dev/at200 Photometrics AT200 CCD camera
+
+ 81 char Brooktree Bt848 frame grabbers
+ 0 = /dev/bttv0 First Bt848 card
+ 1 = /dev/bttv1 Second Bt848 card
+ ...
+ 16 = /dev/bttvc0 Control for first Bt848 card
+ 17 = /dev/bttvc1 Control for second Bt848 card
+ ...
+ 32 = /dev/bttv-vbi0 VBI data of first Bt848 card
+ 33 = /dev/bttv-vbi1 VBI data of second Bt848 card
+ ...
+
+ 82-119 UNALLOCATED
120-127 LOCAL/EXPERIMENTAL USE
@@ -824,9 +990,7 @@ reply.
255 RESERVED
-
-
- ADDITIONAL /dev DIRECTORY ENTRIES
+ **** ADDITIONAL /dev DIRECTORY ENTRIES
This section details additional entries that should or may exist in
the /dev directory. It is preferred that symbolic links use the same
@@ -894,3 +1058,106 @@ Non-transient sockets and named pipes may exist in /dev. Common entries are:
/dev/printer socket lpd local socket
/dev/log socket syslog local socket
/dev/gpmdata socket gpm mouse multiplexer
+
+
+ **** TERMINAL DEVICES
+
+Terminal, or TTY devices are a special class of character devices. A
+terminal device is any device that could act as a controlling terminal
+for a session; this includes virtual consoles, serial ports, and
+pseudoterminals (PTYs).
+
+All terminal devices share a common set of capabilities known as line
+diciplines; these include the common terminal line dicipline as well
+as SLIP and PPP modes.
+
+All terminal devices are named similarly; this section explains the
+naming and use of the various types of TTYs. Note that the naming
+conventions include several historical warts; some of these are
+Linux-specific, some were inherited from other systems, and some
+reflect Linux outgrowing a borrowed convention.
+
+A hash mark (#) in a device name is used here to indicate a decimal
+number without leading zeroes.
+
+ Virtual consoles and the console device
+
+Virtual consoles are full-screen terminal displays on the system video
+monitor. Virtual consoles are named /dev/tty#, with numbering
+starting at /dev/tty1; /dev/tty0 is the current virtual console.
+/dev/tty0 is the device that should be used to access the system video
+card on those architectures for which the frame buffer devices
+(/dev/fb*) do not exist (including the x86). Do not use /dev/console
+for this purpose.
+
+The console device, /dev/console, is the device to which system
+messages should be sent, and on which logins should be permitted in
+single-user mode. /dev/console should be a symbolic link to either
+/dev/tty0, a specific virtual console such as /dev/tty1, or to a
+serial port primary (tty*, not cu*) device, depending on the
+configuration of the system.
+
+ Serial ports
+
+Serial ports are RS-232 serial ports and any device which simulates
+one, either in hardware (such as internal modems) or in software (such
+as the ISDN driver.) Under Linux, each serial ports has two device
+names, the primary or callin device and the alternate or callout one.
+Each kind of device is indicated by a different letter. For any
+letter X, the names of the devices are /dev/ttyX# and /dev/cux#,
+respectively; for historical reasons, /dev/ttyS# and /dev/ttyC#
+correspond to /dev/cua# and /dev/cub#. In the future, it should be
+expected that multiple letters will be used; all letters will be upper
+case for the "tty" device and lower case for the "cu" device.
+
+The names /dev/ttyQ# and /dev/cuq# are reserved for local use.
+
+The alternate devices provide for kernel-based exclusion and somewhat
+different defaults than the primary devices. Their main purpose is to
+allow the use of serial ports with programs with no inherent or broken
+support for serial ports. For programs with proper knowledge of
+serial port operation, their use should probably be avoided.
+
+Arbitration of serial ports is provided by the use of lock files with
+the names /var/lock/LCK..ttyX#. The contents of the lock file should
+be the PID of the locking process as an ASCII number.
+
+It is common practice to install links such as /dev/modem
+which point to serial ports. In order to ensure proper locking in the
+presence of these links, it is recommended that software chase
+symlinks and lock all possible names; additionally, it is recommended
+that a lock file be installed with the corresponding alternate
+device. In order to avoid deadlocks, it is recommended that the locks
+are acquired in the following order, and released in the reverse:
+
+ 1. The symbolic link name, if any (/var/lock/LCK..modem)
+ 2. The "tty" name (/var/lock/LCK..ttyS2)
+ 3. The alternate device name (/var/lock/LCK..cua2)
+
+In the case of nested symbolic links, the lock files should be
+installed in the order the symlinks are resolved.
+
+Under no circumstances should an application hold a lock while waiting
+for another to be released. In addition, applications which attempt
+to create lock files for the corresponding alternate device names
+should take into account the possibility of being used on a non-serial
+port TTY, for which no alternate device would exist.
+
+ Pseudoterminals (PTYs)
+
+Pseudoterminals, or PTYs, are used to create login sessions or provide
+other capabilities requiring a TTY line dicipline (including SLIP or
+PPP capability) to arbitrary data-generation processes. Each PTY has
+a master side, named /dev/pty[p-za-e][0-9a-f], and a slave side, named
+/dev/tty[p-za-e][0-9a-f]. The kernel arbitrates the use of PTYs by
+allowing each master side to be opened only once.
+
+Once the master side has been opened, the corresponding slave device
+can be used in the same manner as any TTY device. The master and
+slave devices are connected by the kernel, generating the equivalent
+of a bidirectional pipe with TTY capabilities.
+
+The entire namespace /dev/[pt]ty[p-za-o][0-9a-z] should be considered
+reserved for the future use of PTYs. Should more than 936 PTYs ever
+become a necessity, we will likely adopt a System V-like scheme by
+which PTYs use a subdirectory of /dev.
diff --git a/Documentation/digiboard.txt b/Documentation/digiboard.txt
index 654d87d4b..0a49a427f 100644
--- a/Documentation/digiboard.txt
+++ b/Documentation/digiboard.txt
@@ -3,37 +3,184 @@ The Linux Digiboard Driver
The Digiboard Driver for Linux supports the following boards:
- DigiBoard PC/Xe, PC/Xi, PC/Xeve
+ DigiBoard PC/Xi, PC/Xe, PC/Xeve(which is the newer, smaller Xe with
+ a 8K window which is also known as PC/Xe(8K) and has no memory/irq
+ switches) You can use up to 4 cards with this driver and should work
+ on other architectures than intel also.
-Limitations:
-------------
-Currently the Driver does not do autoprobing!
+In case you have problems with this version(1.6.1) of this driver, please
+email directly to me as I made the last update. It you have a report about
+runnning it on other architectures than intel, email me, so I can document
+it here.
-The preconfigured I/O address is 0200h and the default memory address
-0D0000h, ALT-PIN feature on and 16 ports available.
+An version of this driver has been taken by Digiboard to make a driver
+software package which supports also PC/Xem cards and newer PCI cards
+but it don't support the old PC/Xi cards and it isn't yet ported to
+linux-2.1.x and may not be useable on other architectures than intel now.
+It is available from ftp.digi.com/ftp.digiboard.com. You can write me if
+you need an patch for this driver.
-Use them and you will not have to worry about configuring anything.
+ Bernhard Kaindl (bkaindl@netway.at) 6. April 1997.
-You can configure the driver via lilo. Have a look at the end of this
-message. The default settings vanish as soon as you give a digi= commandline.
-You can give multiple digi= commandline parameters to define multiple
-boards.
+Configuring the Driver
+----------------------
+
+The driver can be build direct into the kernel or as module.
+The pcxx driver can be configured using the command line feature while
+loading the kernel with LILO or LOADLIN or, if built as a module,
+with arguments to insmod and modprobe or with parameters in
+/etc/conf.modules for modprobe and kerneld.
+
+After configuring the driver you need to create the device special files
+as described in "Device file creation:" below and set the appropriate
+permissions for your application.
+
+As Module
+---------
+
+modprobe pcxx io=<io> \
+ membase=<membase> \
+ memsize=<memsize> \
+ numports=<numports> \
+ altpin=<altpin> \
+ verbose=<verbose>
+
+or, if several cards are installed
+
+modprobe pcxx io=<io-1>,<io-2>,... \
+ membase=<membase-1>,<membase-2>,... \
+ memsize=<memsize-1>,<memsize-2>,... \
+ numports=<numports-1>,<numports-2>,... \
+ altpin=<altpin-1>,<altpin-2>,... \
+ verbose=<verbose>
+
+where <io-N> is the io address of the Nth card and <membase-N> is the
+memory base address of the Nth card, etc.
+
+The parameters can be specified in any order. For example, the numports
+parameter can precede the membase parameter, or vice versa. If several
+cards are installed the ordering within the comma separated parameter
+lists must be consistent, of course.
+
+io - I/O port address of that card.
+membase - Memory start address of that card.
+memsize - Memory size of that card, in kilobytes. If given, this value
+ is compared against the card to verify configuration and
+ hinder the driver to use a misconfigured card. If the parameter
+ does not match the board it is disabled with a memory size error.
+numports - Number of ports on this card. This is the number of devices to
+ assign to this card or reserve if disabled.
+altpin - 1: swap DCD and DSR for 8-pin RJ-45 with modems.
+ 0: don't swap DCD and DSR.
+ other values count as 1.
+verbose - 1: give nice verbose output during initialisation of the driver.
+ possibly helpful during board configuration.
+ 0: normal terse output.
+
+Only the parameters which differ from the defaults need to be specified.
+If the io= parameter is not given, the default config is used. This is
+
+ io=0x200 membase=0xD0000 numports=16 altpin=0
+
+Only parameters applicable need be specified. For example to configure
+2 boards, first one at 0x200 with 8 ports, rest defaults, second one at
+0x120, memory at 0xD80000, altpin enabled, rest defaults, you can do this
+by using these parameters:
+
+ modprobe pcxx io=0x200,0x120 numports=8,8 membase=,0xD80000 altpin=,1
+
+To disable a temporary unuseable board without changing the mapping of the
+devices following that board, you can empty the io-value for that board:
+
+ modprobe pcxx io=,0x120 numports=8,8 membase=,0xD80000 altpin=,1
+
+The remainig board still uses ttyD8-ttyD15 and cud8-cud15.
+
+Example line for /etc/conf.modules for use with kerneld and as default
+parameters for modprobe:
+
+options pcxx io=0x200 numports=8
+
+For kerneld to work you will likely need to add these two lines to your
+/etc/conf.modules:
+
+alias char-major-22 pcxx
+alias char-major-23 pcxx
+
+
+Boot-time configuration when linked into the kernel
+---------------------------------------------------
+
+Per Board to be configured, pass a digi= commandline parameter to the
+kernel using lilo or loadlin. It consists of a string of comma separated
+identifiers or integers. The 6 values in order are:
+
+Card status: Enable - use that board
+ Disable - don't actually use that board.
+
+Card type: PC/Xi - the old ones with 64/128/256/512K RAM.
+ PC/Xe - PC/Xe(old ones with 64k mem range).
+ PC/Xeve - PC/Xe(newers with 8k mem range).
+
+Note: This is for documentation only, the type is detected from the board.
+
+Altpin setting: Enable - swap DCD and DSR for 8-pin RJ-45 with modems.
+ Disable - don't swap DCD and DSR.
+
+Number of ports: 1 ... 16 - Number of ports on this card. This is the
+ number of devices to assign to this card.
+
+I/O port address: eg. 200 - I/O Port address where the card is configured.
+
+Memory base addr: eg. 80000 - Memory address where the board's memory starts.
+
+This is an example for a line which you can insert into you lilo.conf:
+
+ append="digi=Enable,PC/Xi,Disable,4,120,D0000"
+
+there is an alternate form, in which you must use decimal values only:
+
+ append="digi=1,0,0,16,512,851968"
+
+If you don't give a digi= commandline, the compiled-in defaults of
+board 1: io=0x200, membase=0xd0000, altpin=off and numports=16 are used.
+
+If you have the resources (io&mem) free for use, configure your board to
+these settings and you should be set up fine even if yours has not 16 ports.
+
+
+Sources of Information
+----------------------
+
+Webpage: http://private.fuller.edu/clameter/digi.html
+
+Mailing List: digiboard@list.fuller.edu
+
+(Write e-mail to that address to subscribe. Common ListServ commands work.
+Archive of messages available)
+
+Christoph Lameter (clameter@fuller.edu) 16. April 1996.
+
+Supporting Tools
+----------------
-Supporting Tools:
------------------
Some tools and more detailed information can be found at
ftp://ftp.fuller.edu/Linux/digi
-WARNING: Most of the stuff available right now uses the WRONG Major Device
-numbers and the wrong call out devices. Be careful and check them first.
-Better not use any of the software in that directory if you run a recent
-1.3.X Kernel or later!
-
The "ditty" tool described in the Digiboard Manuals for other Unixes
is also available.
+
+Device file creation
+--------------------
+
Currently the Linux MAKEDEV command does not support generating the Digiboard
-Devices. Use the following script to generate the devices:
+Devices.
+
+The /dev/cud devices behave like the /dev/cua devices
+and the ttyD devices are like the /dev/ttyS devices.
+
+Use the following script to generate the devices:
------------------ mkdigidev begin
#!/bin/sh
@@ -66,8 +213,10 @@ do
boardnum=`expr $boardnum + 1`
done
------------------ mkdigidev end
+
or apply the following patch to /dev/MAKEDEV and do a
-make digi
+sh /dev/MAKEDEV digi
+
----- MAKEDEV Patch
--- /dev/MAKEDEV Sun Aug 13 15:48:23 1995
+++ MAKEDEV Tue Apr 16 17:53:27 1996
@@ -105,51 +254,3 @@ make digi
;;
par[0-2])
----- End Makedev patch
-
-The /dev/cud?? devices behave like the /dev/cua?? devices
-and the ttyD devices are like the /dev/ttyS?? devices.
-
-Sources of Information
-----------------------
-
-Webpage: http://private.fuller.edu/clameter/digi.html
-
-Mailing List: digiboard@list.fuller.edu
-
-(Write e-mail to that address to subscribe. Common ListServ commands work.
-Archive of messages available)
-
-Christoph Lameter (clameter@fuller.edu) 16. April 1996.
-
------------------------------------------------------------------------------
-
-Changes v1.5.5:
-
-The ability to use the kernel's command line to pass in the configuration for
-boards. Using LILO's APPEND command, a string of comma separated identifiers
-or integers can be used. The 6 values in order are:
-
- Enable/Disable this card,
- Type of card: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)
- Enable/Disable alternate pin arrangement,
- Number of ports on this card,
- I/O Port where card is configured (in HEX if using string identifiers),
- Base of memory window (in HEX if using string identifiers),
-
-Samples:
- append="digi=E,PC/Xi,D,16,200,D0000"
- append="digi=1,0,0,16,512,(whatever D0000 is in base 10 :)
-
-Driver's minor device numbers are conserved. This means that instead of
-each board getting a block of 16 minors pre-assigned, it gets however
-many it should, with the next card following directly behind it. A
-system with 4 2-port PC/Xi boards will use minor numbers 0-7.
-This conserves some memory, and removes a few hard coded constants.
-
-NOTE!! NOTE!! NOTE!!
-The definition of PC/Xem as a valid board type is the BEGINNING of support
-for this device. The driver does not currently recognise the board, nor
-does it want to initialize it. At least not the EISA version.
-
-Mike McLagan <mike.mclagan@linux.org> 5, April 1996.
-
diff --git a/Documentation/ez.txt b/Documentation/ez.txt
new file mode 100644
index 000000000..9fb314e14
--- /dev/null
+++ b/Documentation/ez.txt
@@ -0,0 +1,85 @@
+linux/Documentation/ez.txt (c) 1996 Grant R. Guenther <grant@torque.net>
+
+This file documents the ez driver for the parallel port versions of
+SyQuest's EZ135 and EZ230 removable media disk drives.
+
+Special thanks go to Pedro Soria-Rodriguez for his help testing
+the EZFlyer 230 support.
+
+The drive is actually SyQuest's IDE product with a ShuttleTech
+IDE <-> parallel converter chip built in.
+
+Before attempting to access the new driver, you will need to
+create some device special files. The following commands will
+do that for you:
+
+ mknod /dev/eza b 40 0
+ mknod /dev/eza1 b 40 1
+ mknod /dev/eza2 b 40 2
+ mknod /dev/eza3 b 40 3
+ mknod /dev/eza4 b 40 4
+ chown root:disk /dev/ez*
+ chmod 660 /dev/ez*
+
+You can make devices for more partitions (up to 15) if you need to.
+
+You can alter certain driver parameters on the LILO or LOADLIN
+command line. The general syntax is
+
+ ez=base[,irq]
+
+where base is the base address of the parallel port you want to use
+and irq is the interrupt number for that port. By default, the
+driver uses the ports at 0x378 and irq 7. You can disable the
+interrupt by specifying it as 0. For example, to run the driver
+on port 0x3bc without an interrupt, you would append the following
+to the LILO command line:
+
+ ez=0x3bc,0
+
+If you have configured the driver as a loadable module, you can
+adjust these parameters on the insmod command line using the
+variables ez_base and ez_irq. For example:
+
+ insmod ez ez_base=0x3bc
+
+The driver can detect if the parallel port supports 8-bit
+transfers. If so, it will use them.
+
+The driver can be used with or without interrupts. If an IRQ
+is specified the driver will use it - if it can. If the irq
+number is set to 0, an alternative, polling-based, strategy
+will be used. Polling consumes more CPU time, but may be more
+stable on some systems.
+
+If you experience timeout errors while using this driver - and
+you have enabled interrupts - try disabling the interrupt. I
+have heard reports of some parallel ports having exceptionally
+unreliable interrupts. This could happen on misconfigured
+systems in which an inactive sound card shares the same IRQ with
+the parallel port. (Remember that most people do not use the
+parallel port interrupt for printing.)
+
+It would be advantageous to use multiple mode transfers,
+but ShuttleTech's driver does not appear to use them, so I'm not
+sure that the converter can handle it.
+
+It is not currently possible to connect a printer to the chained
+port on an EZ drive and expect Linux to use both devices at once.
+If you need to do this, build both the ez and lp drivers as modules
+and load one or the other as required.
+
+When the EZ230 powers on, the "standby timer" is set to about 6
+minutes: if the drive is idle for that length of time, it will
+put itself into a low power standby mode. It takes a couple of
+seconds for the drive to come out of standby mode. So, if you
+load this driver while it is in standby mode, you will notice
+a "freeze" of a second or two as the driver waits for the EZ230
+to come back to life. Once loaded, this driver disables the
+standby timer (until you next power up the EZ230 ...)
+
+Keep an eye on http://www.torque.net/ez135.html for news and
+other information about the driver. If you have any problems
+with this driver, please send me, grant@torque.net, some mail
+directly before posting into the newsgroups or mailing lists.
+
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX
index edb8c5212..36a1dfa12 100644
--- a/Documentation/filesystems/00-INDEX
+++ b/Documentation/filesystems/00-INDEX
@@ -6,6 +6,8 @@ hpfs.txt
- info and mount options for the OS/2 HPFS.
ncpfs.txt
- info on Novell Netware(tm) filesystem using NCP protocol.
+romfs.txt
+ - Description of the ROMFS filesystem.
smbfs.txt
- info on using filesystems with the SMB protocol (Win 3.11, Win NT)
sysv-fs.txt
diff --git a/Documentation/filesystems/romfs.txt b/Documentation/filesystems/romfs.txt
new file mode 100644
index 000000000..5b8bafb46
--- /dev/null
+++ b/Documentation/filesystems/romfs.txt
@@ -0,0 +1,152 @@
+
+ROMFS - ROM FILE SYSTEM
+
+This is a quite dumb, read only filesystem, mainly for initial ram
+disks of installation disks. It has grown up by the need of having
+modules linked at boot time. Using this filesystem, you get a very
+similar feature, and even the possibility of a small kernel, with a
+file system which doesn't take up useful memory from the router
+functions in the basement of your office.
+
+For comparison, both the older minix and xiafs filesystems (compiled
+as module) need more than 20000 bytes, while romfs is less than a
+page, about 4000 bytes (assuming ix86 code). Under the same
+conditions, the msdos filesystem would need about 30K (and does not
+support device nodes or symlinks), while the nfs module with nfsroot
+is about 57K. Furthermore, as a bit unfair comparison, an actual
+rescue disk used up 3202 blocks with ext2, while with romfs, it needed
+3079 blocks.
+
+To create such a file system, you'll need a user program named
+genromfs. It is (or will be shortly) available via ftp on
+sunsite.unc.edu and its mirrors, in the /pub/Linux/system/Filesystems/
+directory.
+
+As the name suggests, romfs could be also used (space-efficiently) on
+various read-only medias, like (E)EPROM disks if someone will have the
+motivation.. :)
+
+However, the main purpose of romfs is to have a very small kernel,
+which has only this filesystem linked in, and then can load any module
+later, with the current module utilities. It can also be used to run
+some program to decide if you need SCSI devices, and even IDE or
+floppy drives can be loaded later if you use the "initrd" -- initial
+ram disk -- feature of the kernel. This would not be really news
+flash, but with romfs, you can even spare off your ext2 or minix or
+maybe even affs filesystem until you really know that you need it.
+
+For example, a distribution boot disk can contain only the cd disk
+drivers (and possibly the SCSI drivers), and the ISO filesystem
+module. The kernel can be small enough, since it doesn't have other
+filesystems, like the quite large ext2fs module, which can then be
+loaded off the CD at a later stage of the installation. Another use
+would be for a recovery disk, when you are reinstalling a workstation
+from the network, and you will have all the tools/modules available
+from a nearby server, so you don't want to carry two disks for this
+purpose, just because it won't fit into ext2.
+
+romfs operates on block devices as you can expect, and the underlying
+structure is very simple. Every accessible structure begins on 16
+byte boundaries for fast access. The minimum space a file will take
+is 32 bytes (this is an empty file, with a less than 16 character
+name). The maximum overhead for any non-empty file is the header, and
+the 16 byte padding for the name and the contents, also 16+14+15 = 45
+bytes. This is quite rare however, since most file names are longer
+than 3 bytes, and shorter than 15 bytes.
+
+The layout of the filesystem is the following:
+
+offset content
+
+ +---+---+---+---+
+ 0 | - | r | o | m | \
+ +---+---+---+---+ The ASCII representation of those bytes
+ 4 | 1 | f | s | - | / (i.e. "-rom1fs-"
+ +---+---+---+---+
+ 8 | full size | The number of accessible bytes in this fs.
+ +---+---+---+---+
+ 12 | checksum | The checksum of the FIRST 512 BYTES.
+ +---+---+---+---+
+ 16 | volume name | The zero terminated name of the volume,
+ : : padded to 16 byte boundary.
+ +---+---+---+---+
+ xx | file |
+ : headers :
+
+Every multi byte value (32 bit words, I'll use the longwords term from
+now on) must be in big endian order.
+
+The first eight bytes identify the filesystem, even for the casual
+reader. After that in the 3rd longword, it contains the number of
+bytes accessible from the start of this filesystem. The 4th longword
+is the checksum of the first 512 bytes (or the number of bytes
+accessible, whichever is smallest). The applied algorithm is the same
+as in the AFFS filesystem, namely a simple sum of the longwords
+(assuming bigendian quantities again). For details, please consult
+the source. This algorithm was chosen because although it's not quite
+reliable, it does not require any tables, and it is very simple.
+
+The following bytes are now part of the file system; each file header
+must begin on a 16 byte boundary.
+
+offset content
+
+ +---+---+---+---+
+ 0 | next filehdr|X| The offset of the next file header
+ +---+---+---+---+ (zero if no more files)
+ 4 | spec.info | Info for directories/hard links/devices
+ +---+---+---+---+
+ 8 | size | The size of this file in bytes
+ +---+---+---+---+
+ 12 | checksum | Covering the meta data, including the file
+ +---+---+---+---+ name, and padding
+ 16 | file name | The zero terminated name of the file,
+ : : padded to 16 byte boundary.
+ +---+---+---+---+
+ xx | file data |
+ : :
+
+Since the file headers begin always at a 16 byte boundary, the lowest
+4 bits would be always zero in the next filehdr pointer. These four
+bits are used for the mode information. Bits 0..2 specify the type of
+the file; while bit 4 shows if the file is executable or not. The
+permissions are assumed to be world readable, if this bit is not set,
+and world executable if it is; except the character and block devices,
+they are readable only for the owner. The owner of every file is user
+and group 0, this should never be a problem for the intended use. The
+mapping of the 8 possible values to file types is the following:
+
+ mapping spec.info means
+ 0 hard link link destination [file header]
+ 1 directory first file's header
+ 2 regular file unused, must be zero [MBZ]
+ 3 symbolic link unused, MBZ (file data is the link content)
+ 4 block device 16/16 bits major/minor number
+ 5 char device - " -
+ 6 socket unused, MBZ
+ 7 fifo unused, MBZ
+
+Note that hard links are specifically marked in this filesystem, but
+they will behave as you can expect (i.e. share the inode number).
+Note also that your responsibility to not create hard link loops, and
+creating all the . and .. links for directories. This is normally
+done correctly by the genromfs program. Please refrain from using the
+executable bits on the socket and fifo special files, they may have
+other uses in the future. Additionally, please remember that only
+regular files, and symlinks are supposed to have a nonzero size field;
+they contain the number of bytes available directly after the (padded)
+file name.
+
+Another thing to note is that romfs works on file headers and data
+aligned to 16 byte boundaries, but most hardware devices and the block
+device drivers are unable to cope with smaller than block-sized data.
+To overcome this limitation, the whole size of the file system must be
+padded to an 1024 byte boundary.
+
+If you have any problems or suggestions concerning this file system,
+please contact me. However, think twice before wanting me to add
+features and code, because the primary advantage of this file system
+is the small code.
+
+Have fun,
+Janos Farkas <chexum@shadow.banki.hu>
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
new file mode 100644
index 000000000..e4922c3b9
--- /dev/null
+++ b/Documentation/filesystems/vfs.txt
@@ -0,0 +1,173 @@
+A Brief Overview of the Virtual File System
+===========================================
+ by Benjamin LaHaise (blah@dot.superaje.com)
+
+Noone else seems to be writing this, so here's a quick description of what
+I've learned while writing lofs...
+
+The VFS relatively simple, but it is nice not to have to browse through
+pages of code to determine what is expected when writing a filesystem.
+Hopefully this helps anyone attempting such a feat, as well as clearing up
+a few important points/dependancies.
+
+
+register_filesystem (struct file_system_type *fstype)
+=====================================================
+
+All filesystems are created equal... or at least they start out that way.
+A filesystem, be it in module form, or linked into the kernel, needs to add
+itself to the table of filesystems by calling register_filesystem with an
+initialized file_system_type structure. Any further functions of the
+filesystem are accessed through the following function tables...
+
+
+struct file_system_type
+=======================
+
+ struct super_block *(*read_super) (struct super_block *sb, void *options, int silent);
+
+ This is the entry point of all filesystems. If the filesystem succeeds
+ in mounting itself, sb should be returned, otherwise NULL. options is
+ a pointer to a maximum of PAGE_SIZE-1 bytes of options, typically a zero
+ terminated string passed from mount. This page is freed after read_super
+ returns, so do not use any pointers into it.
+
+ This routine _must_ set the s_op member of sb to point to a valid
+ super_operations structure.
+
+ const char *name;
+
+ Name points to a string that the system will know the filesystem by.
+
+ int requires_dev;
+
+ Set this flag to 1 if the filesystem requires a block device to be mounted
+ on.
+
+ struct file_system_type * next;
+
+ This field points to the next file_system_type that is present in the system,
+ and should be initialized to NULL.
+
+struct super_operations
+=======================
+
+The super_operations structure is found through the s_op member of the
+super_block structure.
+
+ void (*read_inode) (struct inode *inode);
+ [optional - doesn't quite make sense]
+ read_inode is called by the VFS when iget is called requesting an inode
+ not already present in the inode table. i_ino is set to the number of the
+ inode requested.
+
+ The i_op member of inode should be set to a valid inode_operations
+ structure. Typically filesystems have separate inode_operations for
+ directories, files and symlinks. i_op can be NULL.
+
+ int (*notify_change) (struct inode *, struct iattr *);
+ [optional]
+ void (*write_inode) (struct inode *);
+ [optional]
+
+ int (*put_inode) (struct inode *inode);
+ [optional]
+ put_inode is called by the VFS when the last instance of inode is released
+ with a call to iput. The only special consideration that should be made
+ is that iget may reuse inode without calling read_inode unless clear_inode
+ is called. put_inode MUST return 1 if it called clear_inode on the inode,
+ otherwise zero.
+
+ void (*put_super) (struct super_block *);
+ [optional]
+ void (*write_super) (struct super_block *);
+ [optional]
+ void (*statfs) (struct super_block *, struct statfs *, int);
+ [optional]
+ int (*remount_fs) (struct super_block *, int *, char *);
+ [optional]
+
+
+struct inode_operations
+=======================
+
+ struct file_operations * default_file_ops;
+ [mandatory]
+ All inode_operations structures must have default_file_ops pointing to
+ a valid file_operations structure.
+
+ int (*create) (struct inode *,const char *,int,int,struct inode **);
+ [optional]
+
+ int (*lookup) (struct inode *dir, const char *name, int len, struct inode **result);
+ [optional]
+ lookup is called when the VFS wishes to have the filesystem resolve a name
+ into an inode. Dir is a directory on the filesystem that [hopefully] contains
+ the zero terminated string name (length len). A return value of zero indicates
+ that there is a valid inode stored in *result.
+
+*** Note: lofs assumes that any filesystem returns an inode within the filesystem
+ for all directory inodes. Therefore, __iget(sb,ino,0) should be used to fetch
+ the inode in a filesystem's lookup routine.
+
+ int (*link) (struct inode *,struct inode *,const char *,int);
+ [optional]
+ int (*unlink) (struct inode *,const char *,int);
+ [optional]
+ int (*symlink) (struct inode *,const char *,int,const char *);
+ [optional]
+ int (*mkdir) (struct inode *,const char *,int,int);
+ [optional]
+ int (*rmdir) (struct inode *,const char *,int);
+ [optional]
+ int (*mknod) (struct inode *,const char *,int,int,int);
+ [optional]
+ int (*rename) (struct inode *,const char *,int,struct inode *,const char *,int, int);
+ [optional]
+
+ int (*readlink) (struct inode *inode, char *buf, int len);
+ [optional]
+ readlink is called by the VFS to read the contents of a symbolic link.
+ inode is an inode that meets the S_ISLNK test, and buf points to a buffer
+ of len bytes.
+
+ int (*follow_link) (struct inode *,struct inode *,int,int,struct inode **);
+ [optional]
+ The follow_link function is only nescessary if a filesystem uses a really
+ twisted form of symbolic links - namely if the symbolic link comes from a
+ foriegn filesystem that makes no sense....
+ I threw this one out - too much redundant code!
+
+ int (*readpage) (struct inode *, struct page *); [optional]
+ int (*writepage) (struct inode *, struct page *); [mandatory with readpage]
+
+ In order for files to be mmap'd, readpage and writepage are required.
+ A filesystem can use generic_readpage/writepage if it supports the bmap
+ function. Otherwise, a custom version must be written.
+
+ int (*bmap) (struct inode *,int);
+ [optional]
+ void (*truncate) (struct inode *);
+ [optional]
+ int (*permission) (struct inode *, int);
+ [optional]
+ int (*smap) (struct inode *,int);
+ [optional]
+
+struct file_operations
+======================
+
+ int (*lseek) (struct inode *, struct file *, off_t, int);
+ int (*read) (struct inode *, struct file *, char *, int);
+ int (*write) (struct inode *, struct file *, const char *, int);
+ int (*readdir) (struct inode *, struct file *, void *, filldir_t);
+ unsigned int (*poll) (struct file *, poll_table *);
+ int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
+ int (*mmap) (struct inode *, struct file *, struct vm_area_struct *);
+ int (*open) (struct inode *, struct file *);
+ void (*release) (struct inode *, struct file *);
+ int (*fsync) (struct inode *, struct file *);
+ int (*fasync) (struct inode *, struct file *, int);
+ int (*check_media_change) (kdev_t dev);
+ int (*revalidate) (kdev_t dev);
+
diff --git a/Documentation/ide.txt b/Documentation/ide.txt
index 09a969f5c..f9ececdd5 100644
--- a/Documentation/ide.txt
+++ b/Documentation/ide.txt
@@ -66,6 +66,7 @@ NEW! - support for IDE ATAPI *floppy* drives
- the hdparm-3.1 package can be used to set PIO modes for some chipsets.
NEW! - support for the OPTi 82C621 chipset, courtesy of Jaromir Koutek.
NEW! - support for loadable modules
+NEW! - optional SCSI host adapter emulation for ATAPI devices
For work in progress, see the comments in ide.c, ide-cd.c, triton.c, ...
@@ -110,12 +111,12 @@ shell script: /usr/src/linux/scripts/MAKEDEV.ide
Apparently many releases of Slackware 2.2/2.3 have incorrect entries
in /dev for hdc* and hdd* -- this can also be corrected by running MAKEDEV.ide
-ide.c automatically probes for the primary and secondary interfaces,
+ide.c automatically probes for the standard four IDE interfaces,
for the drives/geometries attached to those interfaces, and for the
-IRQ numbers being used by the interfaces (normally IRQ14 & IRQ15).
+IRQ numbers being used by the interfaces (normally 14, 15, 11 and 10).
-Interfaces beyond the first two are not normally probed for, but may be
-specified using kernel "command line" options. For example,
+For special cases, interfaces may be specified using kernel "command line"
+options. For example,
ide3=0x168,0x36e,10 /* ioports 0x168-0x16f,0x36e, irq 10 */
@@ -234,6 +235,25 @@ and still allows newer hardware to run on the 2nd/3rd/4th IDE ports
under control of ide.c. To have ide.c also "take over" the primary
IDE port in this situation, use the "command line" parameter: ide0=0x1f0
+The IDE driver is partly modularized. The high level disk/cdrom/tape/floppy
+drivers can always be compiled as loadable modules, the chipset drivers
+can only be compiled into the kernel, and the core code (ide.c) can be
+compiled as a loadable module provided no chipset support and no special
+partition table translations are needed.
+
+When using ide.c/ide-tape.c as modules in combination with kerneld, add:
+
+ alias block-major-3 ide-probe
+ alias char-major-37 ide-tape
+
+respectively to /etc/conf.modules.
+
+When ide.c is used as a module, you can pass command line parameters to the
+driver using the "options=" keyword to insmod, while replacing any ',' with
+';'. For example:
+
+ insmod ide.o options="ide0=serialize ide2=0x1e8;0x3ee;11"
+
mlord@pobox.com
snyder@fnald0.fnal.gov
================================================================================
@@ -256,6 +276,7 @@ Summary of ide driver parameters for kernel "command line":
older/odd IDE drives.
"hdx=slow" : insert a huge pause after each access to the data
port. Should be used only as a last resort.
+ "hdx=swapdata" : when the drive is a disk, byte swap all data
"idebus=xx" : inform IDE driver of VESA/PCI bus speed in MHz,
where "xx" is between 20 and 66 inclusive,
@@ -283,6 +304,7 @@ Summary of ide driver parameters for kernel "command line":
This is the default for most chipsets,
except the cmd640.
"idex=serialize" : do not overlap operations on idex and ide(x^1)
+ "idex=reset" : reset interface after probe
The following are valid ONLY on ide0,
and the defaults for the base,ctl ports must not be altered.
@@ -430,10 +452,10 @@ by doing the following after installing slackware (or whatever):
0. Boot from the "boot floppy" created during the installation
1. Mount your DOS partition as /dos (and stick it in /etc/fstab)
- 2. Move your kernel (/vmlinuz) to /dos/vmlinuz with: mv /vmlinuz /dos
- 3. Edit /etc/lilo.conf to change /vmlinuz to /dos/vmlinuz
- 4. Move /boot to /dos/boot with: cp -a /boot /dos ; rm -r /boot
- 5. Create a symlink for LILO to use with: ln -s /dos/boot /boot
+ 2. Move /boot to /dos/boot with: cp -a /boot /dos ; rm -r /boot
+ 3. Create a symlink for LILO to use with: ln -s /dos/boot /boot
+ 4. Move your kernel (/vmlinuz) to /boot/vmlinuz: mv /vmlinuz /boot
+ 5. Edit /etc/lilo.conf to change /vmlinuz to /boot/vmlinuz
6. Re-run LILO with: lilo
A danger with this approach is that whenever an MS-DOS "defragmentation"
diff --git a/Documentation/ioctl-number.txt b/Documentation/ioctl-number.txt
index 73ba54c38..4e1eba41e 100644
--- a/Documentation/ioctl-number.txt
+++ b/Documentation/ioctl-number.txt
@@ -1,7 +1,7 @@
Ioctl Numbers
-5 Oct 1996
+5 Apr 1997
Michael Chastain
-<mec@duracef.shout.net>
+<mec@shout.net>
If you are adding new ioctl's to the kernel, you should use the _IO
macros defined in <linux/ioctl.h>:
@@ -21,8 +21,7 @@ The first argument to _IO, _IOW, _IOR, or _IOWR is an identifying letter
or number from the table below. If you are writing a driver for a new
device and need a letter, pick an unused letter. You can register the
letter by patching this file and submitting the patch to Linus Torvalds.
-Or you can e-mail me at <mec@duracef.shout.net> and I'll register one
-for you.
+Or you can e-mail me at <mec@shout.net> and I'll register one for you.
The second argument to _IO, _IOW, _IOR, or _IOWR is a sequence number
to distinguish ioctls from each other. The third argument is the size
@@ -51,7 +50,7 @@ Following the convention is good because:
code to call verify_area to validate parameters.
This table lists ioctls visible from user land for Linux/i386. It is
-current to Linux 2.1.1
+current to Linux 2.1.15.
Code Seq# Include File Comments
========================================================
@@ -64,10 +63,8 @@ Code Seq# Include File Comments
0x09 all linux/md.h
0x12 all linux/fs.h
0x20 all linux/cm206.h
-0x22 all linux/scc.h conflict! (version 2.01 of z8530drv)
-0x22 all scsi/sg.h conflict!
+0x22 all scsi/sg.h
'A' all linux/apm_bios.h
-'B' all linux/baycom.h
'C' all linux/soundcard.h
'F' all linux/fb.h
'I' all linux/isdn.h
@@ -84,12 +81,16 @@ Code Seq# Include File Comments
'T' all linux/soundcard.h conflict!
'T' all asm-i386/ioctls.h conflict!
'V' all linux/vt.h
-'W' 00-1F linux/pcwd.h
+'W' 00-1F linux/router.h conflict [Please reallocate]
+'W' 00-1F linux/watchdog.h
+'W' 20-27 linux/octal-relay.h in development
+'W' 28-2F linux/iso16-relay.h in development
'Y' all linux/cyclades.h
-'Z' all linux/scc.h version 2.2 of z8530drv
'a' all various, see http://lrcwww.epfl.ch/linux-atm/magic.html
'c' all linux/comstats.h
'f' all linux/ext2_fs.h
+'l' 00-3F linux/tcfs_fs.h in development:
+ <http://mikonos.dia.unisa.it/tcfs>
'm' all linux/mtio.h conflict!
'm' all linux/soundcard.h conflict!
'n' all linux/ncp_fs.h
@@ -100,9 +101,16 @@ Code Seq# Include File Comments
't' 80-8F linux/isdn_ppp.h
'u' all linux/smb_fs.h
'v' all linux/ext2_fs.h
-'w' all CERN SCI driver (in development)
+'w' all CERN SCI driver in development
0x89 00-0F asm-i386/sockios.h
-0x89 10-FF linux/sockios.h
+0x89 10-DF linux/sockios.h
+0x89 E0-EF linux/sockios.h SIOCPROTOPRIVATE range
+0x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range
+0x8B all linux/wireless.h
+0x8C 00-3F WiNRADiO driver in development:
+ <mailto:brian@proximity.com.au>
0x90 00 linux/sbpcd.h
-0x99 00-0F 537-Addinboard driver (in development, e-mail contact:
- b.kohl@ipn-b.comlink.apc.org)
+0x99 00-0F 537-Addinboard driver in development:
+ <mailto:b.kohl@ipn-b.comlink.apc.org>
+0xA0 all Small Device Project in development:
+ <mailto:khollis@northwest.com>
diff --git a/Documentation/isdn/CREDITS b/Documentation/isdn/CREDITS
index 6c546c4e1..f1201a6b1 100644
--- a/Documentation/isdn/CREDITS
+++ b/Documentation/isdn/CREDITS
@@ -12,11 +12,18 @@ Volker Götz (volker@oops.franken.de)
For contribution of man-pages, the imontty-tool and a perfect
maintaining of the mailing-list at hub-wue.
+Bernhard Hailer (Bernhard.Hailer@lrz.uni-muenchen.de)
+ For maintaining the FAQ.
+
+Michael 'Ghandi' Herold (michael@abadonna.franken.de)
+ For contribution of the vbox answering machine.
+
Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
For his Sync-PPP-code.
Karsten Keil (isdn4@temic-ech.spacenet.de)
For adding 1TR6-support to the Teles-driver.
+ For the HiSax-driver.
Michael Knigge (knick@cove.han.de)
For contributing the imon-tool
@@ -39,7 +46,7 @@ Max Riegel (riegel@max.franken.de)
Gerhard 'Fido' Schneider (fido@wuff.franken.de)
For heavy-duty-beta-testing with his BBS ;)
-Thomas Uhl (uhl@hn-net.de)
+Thomas Uhl (uhl@think.de)
For distributing the cards.
For pushing me to work ;-)
diff --git a/Documentation/isdn/INTERFACE b/Documentation/isdn/INTERFACE
index 6ba401123..81dddb081 100644
--- a/Documentation/isdn/INTERFACE
+++ b/Documentation/isdn/INTERFACE
@@ -1,4 +1,4 @@
-$Id: INTERFACE,v 1.3 1996/06/25 17:52:41 fritz Exp $
+$Id: INTERFACE,v 1.6 1997/02/10 22:40:57 fritz Exp $
Description of the Interface between Linklevel and Hardwarelevel
of isdn4linux:
@@ -140,7 +140,7 @@ Description of the Interface between Linklevel and Hardwarelevel
int (*writebuf)(int, int, u_char*, int, int);
- ***CHANGEc1.14: Declared obsolete. Do NOT use this field/function
+ ***CHANGED1.14: Declared obsolete. Do NOT use this field/function
anymore, since it will be removed when all current
LL drivers have been changed accordingly. Set this
field to NULL and use writebuf_skb instead.
@@ -199,7 +199,7 @@ Description of the Interface between Linklevel and Hardwarelevel
int driver-Id.
int channel-number locally to the HL-driver. (starts with 0)
-***CHANGEc1.14: The driver-Id and channel-number are new since this revision.
+***CHANGED1.14: The driver-Id and channel-number are new since this revision.
Returnvalue:
Length of data accepted on success, else error-code (-EINVAL etc.)
@@ -223,7 +223,7 @@ Description of the Interface between Linklevel and Hardwarelevel
int driver-Id.
int channel-number locally to the HL-driver. (starts with 0)
-***CHANGEc1.14: The driver-Id and channel-number are new since this revision.
+***CHANGED1.14: The driver-Id and channel-number are new since this revision.
Returnvalue:
Length of data on success, else error-code (-EINVAL etc.)
@@ -249,6 +249,9 @@ Description of the Interface between Linklevel and Hardwarelevel
Until now, the following commands are defined:
+***CHANGED1.34: The parameter "num" has been replaced by a union "para" containing
+ the old "num" and a new setup_type struct used for ISDN_CMD_DIAL
+ and ISDN_STAT_ICALL callback.
ISDN_CMD_IOCTL:
@@ -262,10 +265,10 @@ Description of the Interface between Linklevel and Hardwarelevel
called with the field command set to 1.
Parameter:
- driver = driver-Id.
- command = ISDN_CMD_IOCTL
- arg = Original ioctl-cmd - IIOCDRVCTL
- num = first bytes filled with (unsigned long)arg
+ driver = driver-Id.
+ command = ISDN_CMD_IOCTL
+ arg = Original ioctl-cmd - IIOCDRVCTL
+ para.num = first bytes filled with (unsigned long)arg
Returnvalue:
Depending on driver.
@@ -280,12 +283,14 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_DIAL
arg = channel-number locally to the driver. (starting with 0)
- num = An ASCII-String containing the number to dial, the own
- EAZ or MSN, the Service-Indicator and the Additional
- Info. Format:
- "%s,%s,%d,%d" RemotePhoneNumber,EazOrMsn,SI,AI
+
+ para.setup.phone = An ASCII-String containing the number to dial.
+ para.setup.eazmsn = An ASCII-Sting containing the own EAZ or MSN.
+ para.setup.si1 = The Service-Indicator.
+ para.setup.si2 = Additional Service-Indicator.
+
If the Line has been designed as SPV (a special german
- feature, meaning semi-leased-line) the number has to
+ feature, meaning semi-leased-line) the phone has to
start with an "S".
***CHANGE0.6: In previous versions the EAZ has been given in the
highbyte of arg.
@@ -300,7 +305,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_ACCEPTD
arg = channel-number locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_CMD_ACCEPTB:
@@ -311,7 +316,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_ACCEPTB
arg = channel-number locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_CMD_HANGUP:
@@ -323,7 +328,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_HANGUP
arg = channel-number locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_CMD_CLREAZ:
@@ -334,7 +339,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_CLREAZ
arg = channel-number locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_CMD_SETEAZ:
@@ -345,7 +350,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_SETEAZ
arg = channel-number locally to the driver. (starting with 0)
- num = ASCII-String, containing the desired EAZ's/MSN's
+ para.num = ASCII-String, containing the desired EAZ's/MSN's
(comma-separated). If an empty String is given, the
HL-driver should respond to ALL incoming calls,
regardless of the destination-address.
@@ -360,7 +365,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_GETEAZ
arg = channel-number locally to the driver. (starting with 0)
- num = ASCII-String, containing the current EAZ's/MSN's
+ para.num = ASCII-String, containing the current EAZ's/MSN's
ISDN_CMD_SETSIL: (currently unused)
@@ -371,7 +376,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_SETSIL
arg = channel-number locally to the driver. (starting with 0)
- num = ASCII-String, containing the desired Service-Indicators.
+ para.num = ASCII-String, containing the desired Service-Indicators.
ISDN_CMD_GETSIL: (currently unused)
@@ -382,7 +387,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_SETSIL
arg = channel-number locally to the driver. (starting with 0)
- num = ASCII-String, containing the current Service-Indicators.
+ para.num = ASCII-String, containing the current Service-Indicators.
ISDN_CMD_SETL2:
@@ -397,7 +402,7 @@ Description of the Interface between Linklevel and Hardwarelevel
arg = channel-number locally to the driver. (starting with 0)
logical or'ed with (protocol-Id << 8)
protocol-Id is one of the constants ISDN_PROTO_L2...
- num = unused.
+ para = unused.
ISDN_CMD_GETL2: (currently unused)
@@ -408,7 +413,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_GETL2
arg = channel-number locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
Returnvalue:
current protocol-Id (one of the constants ISDN_L2_PROTO)
@@ -425,7 +430,7 @@ Description of the Interface between Linklevel and Hardwarelevel
arg = channel-number locally to the driver. (starting with 0)
logical or'ed with (protocol-Id << 8)
protocol-Id is one of the constants ISDN_PROTO_L3...
- num = unused.
+ para = unused.
ISDN_CMD_GETL2: (currently unused)
@@ -436,7 +441,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_GETL3
arg = channel-number locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
Returnvalue:
current protocol-Id (one of the constants ISDN_L3_PROTO)
@@ -450,7 +455,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_LOCK
arg = unused.
- num = unused.
+ para = unused.
ISDN_CMD_UNLOCK:
@@ -462,7 +467,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id.
command = ISDN_CMD_UNLOCK
arg = unused.
- num = unused.
+ para = unused.
3. Description of the events to be signaled by the HL-driver to th LL.
@@ -484,19 +489,29 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_STAVAIL
arg = length of available data.
- num = unused.
+ para = unused.
ISDN_STAT_ICALL:
With this call, the HL-driver signals an incoming call to the LL.
Parameter:
- driver = driver-Id
- command = ISDN_STAT_ICALL
- arg = channel-number, locally to the driver. (starting with 0)
- num = ASCII-String in the following format:
- "%s,%d,%d,%s",CallerNumber,ServiceIndicator,AddInfo,
- CalledNumber.
+ driver = driver-Id
+ command = ISDN_STAT_ICALL
+ arg = channel-number, locally to the driver. (starting with 0)
+ para.setup.phone = Callernumber.
+ para.setup.eazmsn = CalledNumber.
+ para.setup.si1 = Service Indicator.
+ para.setup.si2 = Additional Service Indicator.
+ para.setup.plan = octet 3 from Calling party number Information Element.
+ para.setup.screen = octet 3a from Calling party number Information Element.
+
+ Return:
+ 0 = No device matching this call.
+ 1 = At least one device matching this call (RING on ttyI).
+ HL-driver may send ALERTING on the D-channel in this case.
+ 2 = Call will be rejected.
+ -1 = An error happened. (Invalid parameters for example.)
ISDN_STAT_RUN:
@@ -507,7 +522,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_RUN
arg = unused.
- num = unused.
+ para = unused.
ISDN_STAT_STOP:
@@ -518,7 +533,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_STOP
arg = unused.
- num = unused.
+ para = unused.
ISDN_STAT_DCONN:
@@ -529,7 +544,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_DCONN
arg = channel-number, locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_STAT_BCONN:
@@ -541,7 +556,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_BCONN
arg = channel-number, locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_STAT_DHUP:
@@ -554,7 +569,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_DHUP
arg = channel-number, locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_STAT_BHUP:
@@ -566,7 +581,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_BHUP
arg = channel-number, locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_STAT_CINF:
@@ -577,7 +592,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_CINF
arg = channel-number, locally to the driver. (starting with 0)
- num = ASCII string containing charge-units (digits only).
+ para.num = ASCII string containing charge-units (digits only).
ISDN_STAT_LOAD: (currently unused)
@@ -590,7 +605,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_UNLOAD
arg = unused.
- num = unused.
+ para = unused.
ISDN_STAT_BSENT:
@@ -602,7 +617,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_BSENT
arg = channel-number, locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_STAT_NODCH:
@@ -613,7 +628,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_NODCH
arg = channel-number, locally to the driver. (starting with 0)
- num = unused.
+ para = unused.
ISDN_STAT_ADDCH: (currently unused)
@@ -627,7 +642,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_ADDCH
arg = to be defined.
- num = to be defined.
+ para = to be defined.
ISDN_STAT_CAUSE:
@@ -640,5 +655,5 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_STAT_NODCH
arg = channel-number, locally to the driver. (starting with 0)
- num = ASCII string containing CAUSE-message.
+ para.num = ASCII string containing CAUSE-message.
diff --git a/Documentation/isdn/README b/Documentation/isdn/README
index 36cc1336f..d03f2142d 100644
--- a/Documentation/isdn/README
+++ b/Documentation/isdn/README
@@ -27,7 +27,14 @@ README for the ISDN-subsystem
subscribe isdn4linux <your_email_address>
To write to the mailing-list, write to isdn4linux@hub-wue.franken.de
+
+ This mailinglist is bidirectionally gated to the newsgroup
+
+ de.alt.comm.isdn4linux
+ There is also a well maintained FAQ (both english and german) available
+ at ftp.franken.de in /pub/isdn4linux/FAQ/
+ This FAQ is also available at http://www.lrz-muenchen.de/~ui161ab/www/isdn/
1.1 Technical details
@@ -89,6 +96,7 @@ README for the ISDN-subsystem
ATI Return "ISDN for Linux...".
ATI0 "
ATI1 "
+ ATI2 Report of last connection.
ATO On line (data mode).
ATQ0 Enable result codes (default).
ATQ1 Disable result codes (default).
@@ -173,6 +181,10 @@ README for the ISDN-subsystem
1 = T.70 protocol (Only for BTX!) on
Bit 2: 0 = Don't hangup on DTR low.
1 = Hangup on DTR low.
+ Bit 3: 0 = Standard response messages
+ 1 = Extended response messages
+ Bit 4: 0 = CALLER NUMBER before every RING.
+ 1 = CALLER NUMBER after first RING.
14 0 Layer-2 protocol:
0 = X75/LAPB with I-frames
1 = X75/LAPB with UI-frames
@@ -201,6 +213,14 @@ README for the ISDN-subsystem
20 0 Bit coded register (readonly)
Service-Octet-1 of last call.
Bit mapping is the same like register 18
+ 21 0 Bit coded register (readonly)
+ Set on incoming call (during RING) to
+ octet 3 of calling party number IE (Numbering plan)
+ See section 4.5.10 of ITU Q.931
+ 22 0 Bit coded register (readonly)
+ Set on incoming call (during RING) to
+ octet 3a of calling party number IE (Screening info)
+ See section 4.5.10 of ITU Q.931
Last but not least a (at the moment fairly primitive) device to request
the line-status (/dev/isdninfo) is made available.
@@ -243,16 +263,11 @@ README for the ISDN-subsystem
2 System prerequisites:
- ATTENTION! The program "insmod" from the Package "modules-1.2.8" (It's
- on nearly all newer distributions) has a bug, which makes
- it impossible to set both driver-Id's when loading the
- icn-module for the Double-ICN-Card. A patch is supplied
- in the utility-package called "insmod-1.2.8.patch". Change into
- the source-directory of insmod, and type
- "patch < insmod-1.2.8.patch". Then recompile it. This will fix
- the bug.
- This bug does NOT occur when using insmod with the Teles-driver
- or a single ICN-card.
+ ATTENTION!
+
+ Always use the latest module utilities. The current version is
+ named in Documentation/Changes. Some old versions of insmod
+ are not capable of setting the driver-Ids correctly.
3. Lowlevel-driver configuration.
diff --git a/Documentation/isdn/README.HiSax b/Documentation/isdn/README.HiSax
new file mode 100644
index 000000000..6d4807909
--- /dev/null
+++ b/Documentation/isdn/README.HiSax
@@ -0,0 +1,343 @@
+HiSax is a Linux hardware level driver for passive ISDN cards with Siemens
+chipset (ISAC_S 2085/2086/2186 HSCX SAB 82525). It is based on the Teles
+driver from Jan den Ouden.
+It is meant to be used with isdn4linux, an ISDN Link-level module for Linux
+written by Fritz Elfert.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+Supported Cards
+---------------
+
+Teles 8.0/16.0/16.3 and compatible
+Teles S0/PCMCIA
+Creatix PnP S0
+AVM A1 (Fritz)
+ELSA Microlink PCC-16 PCF PCF-Pro PCC-8
+ELSA Quickstep 1000
+ITK ix1-micro Rev.2
+
+Note: PCF PCF-Pro only the ISDN part is supported yet
+ PCC-8 not tested yet
+ Teles PCMCIA is EXPERIMENTAL
+
+If you know other passive cards with the Siemens chipset, please let me know.
+To use the PNP cards you need the isapnptools.
+
+
+Configuring the Driver
+----------------------
+
+The driver can be build direct into the kernel or as module.
+The HiSax driver can be configured using the command line feature
+while loading the kernel with LILO or LOADLIN or, if built as a module,
+using insmod/modprobe with parameters.
+Please note: All PnP cards need config with isapnp and will work only as
+module.
+
+As Module
+---------
+
+insmod/modprobe hisax.o \
+ io=iobase irq=IRQ mem=membase type=card_type \
+ protocol=D_channel_protocol id=idstring
+
+or, if several cards are installed:
+
+insmod/modprobe hisax.o \
+ io=iobase1,iobase2,... mem=membase1,membase2,... \
+ type=card_type1,card_type2,... \
+ protocol=D_channel_protocol1,D_channel_protocol2,... \
+ id=idstring1%idstring2 ...
+
+where iobaseN = io base address of the Nth card, membaseN = memory
+base address of the Nth card, etc.
+The reason for the delimiter "%" in the idstrings is that "," won't
+work with the current modules package.
+
+The parameters can be specified in any order. For example, the io
+parameter can precede the irq parameter, or vice versa. If several
+cards are installed the ordering within the comma separated parameter
+lists must be consistent, of course.
+
+Only parameters applicable to the card type need be specified. For
+example, the Teles 16.3 card is not memory mapped, so the mem
+parameter may be omitted for a Teles 16.3. Sometimes it is necessary
+to specify a dummy parameter, however. This is the case when there is
+a card of a different type later in the list that needs a parameter
+which the preceding card does not. For instance, if a Teles 16.0 card
+is listed after a Teles 16.3 card, a dummy mem=0 parameter must be
+specified for the 16.3. Instead of a dummy value, the parameter can
+also be skipped by simply omitting the value. For example:
+mem=,0xd0000. See example 6 below.
+The protocol parameter for the D-channel may be omittedprotocol may be
+omitted, if you select the correct one during kernel config.
+Valid values are 1 for german 1TR6, 2 for DSS1 (EURO) and 3 for leased lines
+(no D-channel).
+
+The Creatix/Teles PnP cards uses io1= and io2= instead of io= for specifying
+the I/O addresses of the ISAC and HSCX chips, respectively.
+
+Card types:
+
+ Type Required parameters (in addition to type and protocol)
+
+ 1 Teles 16.0 irq, mem, io
+ 2 Teles 8.0 irq, mem
+ 3 Teles 16.3 (non PnP) irq, io
+ 4 Creatix/Teles PnP irq, io0 (ISAC), io1 (HSCX)
+ 5 AVM A1 (Fritz) irq, io
+ 6 ELSA PCC/PCF cards io or nothing for autodetect (the iobase is
+ only required, if you have more than one ELSA
+ card in your PC)
+ 7 ELSA Quickstep 1000 irq, io (from isapnp setup)
+ 8 Teles 16.3 PCMCIA irq, io
+ 9 ITK ix1-micro Rev.2 irq, io
+
+At the moment IRQ sharing is not possible. Please make sure that your IRQ
+is free and enabled for ISA use.
+
+Examples for module loading
+
+1. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 10
+ modprobe hisax type=3 protocol=2 io=0x280 irq=10
+
+2. Teles 16.0, 1TR6 ISDN, I/O base d80 hex, IRQ 5, Memory d0000 hex
+ modprobe hisax protocol=1 type=1 io=0xd80 mem=0xd0000 irq=5
+
+3. Fritzcard, Euro ISDN, I/O base 340 hex, IRQ 10 and ELSA PCF, Euro ISDN
+ modprobe hisax type=5,6 protocol=2,2 io=0x340 irq=10 id=Fritz%Elsa
+
+4. Any ELSA PCC/PCF card Euro ISDN
+ modprobe hisax type=6 protocol=2
+
+5. Teles 16.3 PnP, Euro ISDN, with isapnp configured
+ isapnp config: (INT 0 (IRQ 10 (MODE +E)))
+ (IO 0 (BASE 0x0580))
+ (IO 1 (BASE 0x0180))
+ modprobe hisax type=4 protocol=2 io0=0x580 io1=0x180
+
+6. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 12 and
+ Teles 16.0, 1TR6, IRQ 5, Memory d0000 hex
+ modprobe hisax type=3,1 protocol=2,1 io=0x280 mem=0,0xd0000
+
+ Please note the dummy 0 memory address for the Teles 16.3 in the last
+ example as placeholder.
+
+7. Teles PCMCIA EURO 180 hex IRQ 15 (default values)
+ modprobe hisax type=8 protocol=2 io=0x180 irq=15
+
+
+LILO/LOADLIN with driver compiled direct into the kernel:
+
+hisax=typ1,dp1,pa_1,pb_1,pc_1[,typ2,dp2,pa_2 ... \
+ typn,dpn,pa_n,pb_n,pc_n][,idstring1[,idstring2,...,idstringn]]
+
+where
+ typ1 = Cardtype of 1st card. (default: depends on kernel settings)
+ dp1 = D-channel protocol of 1st card. 1=1TR6, 2=EDSS1, 3=leased
+ pa_1 = 1. parameter (depend on the cardtype)
+ pb_1 = 2. parameter (depend on the cardtype)
+ pc_1 = 3. parameter (depend on the cardtype)
+
+ typ2,dp2,pa_2,pb_2,pc_2 = Parameters of second card (defaults: none)
+ typn,dpn,pa_n,pb_n,pc_n = Parameters of n'th card (up to 16 cards are supported)
+
+ idstring = Driver-Id for accessing with utilities and identification
+ when using a Line-monitor. (default: HiSax)
+ idstring must start with a character!
+
+Card types:
+
+ typ
+ 1 Teles 16.0 pa=irq pb=membase pc=iobase
+ 2 Teles 8.0 pa=irq pb=membase
+ 3 Teles 16.3 pa=irq pb=iobase
+ 4 Creatix/Teles PNP ONLY WORK AS MODULE !
+ 5 AVM A1 (Fritz) pa=irq pb=iobase
+ 6 ELSA PCC/PCF cards pa=iobase or nothing for autodetect
+ 7 ELSA Quickstep 1000 ONLY WORK AS MODULE !
+ 8 Teles S0 PCMCIA pa=irq pb=iobase
+ 9 ITK ix1-micro Rev.2 pa=irq pb=iobase
+
+
+Running
+-------
+
+When you insmod isdn.o and hisax.o (or with the kernel-version, during
+boottime) a few lines should appear in your syslog. Look for something like:
+
+Oct 13 20:46:39 kke01 kernel: ISDN subsystem Rev: 1.23/1.21/1.18/1.13/none loaded
+Oct 13 20:46:41 kke01 kernel: HiSax: Driver for Siemens Chipset ISDN cards
+Oct 13 20:46:41 kke01 kernel: HiSax: Revision (1.3)
+Oct 13 20:46:41 kke01 kernel: HiSax: Total 1 card defined
+Oct 13 20:46:41 kke01 kernel: HiSax: Card 1 Protocol EDSS1
+...
+Oct 13 20:46:41 kke01 kernel: Elsa: PCC16 found at 0x360 Rev.:B IRQ 9
+...
+Oct 13 20:46:41 kke01 kernel: HiSax: 2 channels available
+Oct 13 20:46:41 kke01 kernel: HiSax: module installed
+
+This means that the card is ready for use.
+Cabling problems or line downs are not detected, ELSA can detect the
+S0 power.
+
+Remember, that according to the new strategy for accessing Low-level-drivers
+from within isdn4linux you should also define a driver-id while doing
+insmod: Simply append hisax_id=<SomeString> to the insmod-commandline. This
+string MUST NOT start with a digit or a small 'x'!
+
+At this point you can run a 'cat /dev/isdnctrl0' and view debugging
+messages.
+In the moment debugging messages are enabled with the telesctrl tool :
+
+ telesctrl <DriverId> DebugCmd <debugging_flags>
+
+<DriverId> default is HiSax, if you didn't specified one.
+
+DebugCmd is 1 for generic Debug
+ 11 for Layer 1 development Debug
+ 13 for Layer 3 development Debug
+
+where <debugging_flags> is the integer sum of the following debugging
+options you wish enabled:
+
+With DebugCmd 1 is
+
+ 1 Link-level <--> Hardware-level communication
+ 2 Top state machine
+ 4 D channel Q.931 (call control messages)
+ 8 D channel Q.921
+ 16 B channel X.75
+ 32 D channel l2
+ 64 B channel l2
+ 128 D-Channel link state debug
+ 256 B-Channel link state debug
+ 512 Tei debug
+ 1024 LOCK debug in callc.c
+
+With DebugCmd 11 is
+
+ 1 Warnings (default on)
+ 2 Irq Status
+ 4 Isac
+ 8 Isac fifo
+ 16 Hscx
+ 32 Hscx fifo (attention full B-channel output)
+ 64 D-channel LAPD frame types
+
+With DebugCmd 13 is
+
+ 1 Warnings (default on)
+ 2 l3 protocol discriptor errors
+ 4 l3 stat machine
+ 8 charge info debug (1TR6)
+
+For example 'telesctrl HiSax 1 0x3ff' enables full generic debugging.
+
+
+
+Warning
+-------
+HiSax is a work in progress and may crash your machine. It has not been
+certified and therefore operation on your PTT's ISDN network is probably
+illegal.
+
+Limitations
+-----------
+HiSax only works on Euro ISDN lines and german 1TR6-lines.(in this time)
+
+Bugs
+----
+If you find any please let me know.
+
+Thanks
+------
+Special thanks to:
+
+ Emil Stephan for the name HiSax which is a mix of HSCX and ISAC.
+
+ Fritz Elfert, Jan den Ouden, Michael Hipp, Michael Wein,
+ Andreas Kool, Pekka Sarnila, Sim Yskes, Johan Myrre'en,
+ Klaus-Peter Nischke (ITK AG), Christof Petig, Werner Fehn (Elsa GmbH),
+ Volker Schmidt
+ and more people, who are hunting bugs (If I forgot somebody, please
+ send me a mail).
+
+ Firma ELSA GmbH
+
+ My girl friend and partner in life Ute for her patience with me
+
+
+Enjoy,
+
+Karsten Keil
+keil@temic-ech.spacenet.de
+
+Appendix: PCMCIA driver
+-----------------------
+
+Up to now, the Teles PCMCIA driver is a complete hack. I had no
+documentation about the card - it might destroy your hardware (though mine
+at last works fine).
+
+Second I'm working on a module for linux pcmcia services, this version
+clearly assumes some (unrealistic) facts about your hardware:
+ - you MUST have an i82365
+ - Teles PCMCIA MUST be in slot 0 (the upper one) and the ONLY card
+ (since you can't use cardmgr, there's no use for a second one)
+ - ports 0x180-0x1e0 must be free, it uses IRQ 15
+
+The following program will initialize the PCMCIA chip to the values I probed
+inside Windows95 (native Teles driver).
+
+------------------telesinit.c-----------------------------------------
+/* telesinit.c, compile with
+ * gcc -O -o telesinit telesinit.c
+ */
+#include <asm/io.h>
+#define inportb(x) inb(x)
+#define outportb(x,v) outb(v,x)
+#define BASE 0x180
+#define NUM 97
+#define CARD 0x3e0
+#define i365(x) ( outportb(CARD,x), inportb(CARD+1) )
+#define i365w(x,y) ( outportb(CARD,x), outportb(CARD+1,y) )
+
+void main(int argc,char **argv)
+{ int i;
+ static unsigned char i365_cont[]=
+ { 0x83,0x7f,0xf5,0x6f, 0x00,0x08,0x60,0x00,
+ 0x80,0x01,0xe0,0x01, 0xff,0xff,0xff,0xff,
+ 0xd0,0x00,0xd0,0x00, 0x30,0x7f,0x00,0x0f,
+ 0xff,0x07,0xff,0x07, 0x00,0x00,0x00,0xff
+ };
+
+ ioperm(BASE,NUM,1); ioperm(CARD,2,1);
+ for (i=0;i<32;i++)
+ { if (i365_cont[i]==i365(i)) continue;
+ outportb(CARD+1,i365_cont[i]);
+ }
+
+ outportb(BASE+0x18,0x41);
+ /* enable the teles card and its IRQ */
+ /* this was found by brute force */
+}
+------------------------------------------------------------------------
+
+If you want to wait for the PCMCIA services driver ... I finish my diploma
+about end of February 1997 ... please be patient with me
+ Christof Petig (ea0141@uni-wuppertal.de)
diff --git a/Documentation/isdn/README.audio b/Documentation/isdn/README.audio
index c2c2d272d..d9a409179 100644
--- a/Documentation/isdn/README.audio
+++ b/Documentation/isdn/README.audio
@@ -1,4 +1,4 @@
-$Id: README.audio,v 1.3 1996/06/05 02:19:36 fritz Exp $
+$Id: README.audio,v 1.4 1997/02/03 23:43:47 fritz Exp $
ISDN subsystem for Linux.
Description of audio mode.
@@ -86,8 +86,11 @@ General behavior and description of data formats/protocol.
starts sending audio data to the application. There are several
escape sequences defined, all using DLE (0x10) as Escape char:
- <DLE><ETX> End of audio data. Emulator stops
+ <DLE><ETX> End of audio data. (i.e. caused by a
+ hangup of the remote side) Emulator stops
recording, responding with VCON.
+ <DLE><DC4> Abort recording, (send by appl.) Emulator
+ stops recording, sends DLE,ETX.
<DLE><DLE> Escape sequence for DLE in data stream.
<DLE>0 Touchtone "0" received.
...
@@ -107,13 +110,16 @@ General behavior and description of data formats/protocol.
<DLE>s silence. Silence detected from the
start of recording.
- Any character sent by the application, except XON (0x11) or XOFF (0x13)
- immediately stops recording.
-
Audio playback.
When sending audio data, upon AT+VTX command, emulator responds with
CONNECT, and starts transferring data from application to the phone line.
The same DLE sequences apply to this mode.
+ Full-Duplex-Audio:
+
+ When _both_ commands for recording and playback are given in _one_
+ AT-command-line (i.e.: "AT+VTX+VRX"), full-duplex-mode is selected.
+ In this mode, the only way to stop recording is sending <DLE><DC4>
+ and the only way to stop playback is to send <DLE><ETX>.
diff --git a/Documentation/isdn/README.sc b/Documentation/isdn/README.sc
new file mode 100644
index 000000000..0ea8ca165
--- /dev/null
+++ b/Documentation/isdn/README.sc
@@ -0,0 +1,274 @@
+Welcome to Beta Release 2 of the combination ISDN driver for SpellCaster's
+ISA ISDN adapters. Please note this release 2 includes support for the
+DataCommute/BRI and TeleCommute/BRI adapters only and any other use is
+guaranteed to fail. If you have a DataCommute/PRI installed in the test
+computer, we recommend removing it as it will be detected but will not
+be usable. To see what we have done to Beta Release 2, see section 3.
+
+Speaking of guarantees, THIS IS BETA SOFTWARE and as such contains
+bugs and defects either known or unknown. Use this software at your own
+risk. There is NO SUPPORT for this software. Some help may be available
+through the web site or the mailing list but such support is totally at
+our own option and without warrantee. If you choose to assume all and
+total risk by using this driver, we encourage you to join the beta
+mailing list.
+
+To join the Linux beta mailing list, send a message to:
+majordomo@spellcast.com with the words "subscribe linux-beta" as the only
+contents of the message. Do not include a signature. If you choose to
+remove yourself from this list at a later date, send another message to
+the same address with the words "unsubscribe linux-beta" as it's only
+contents.
+
+TABLE OF CONTENTS
+-----------------
+ 1. Introduction
+ 1.1 What is ISDN4Linux?
+ 1.2 What is different between this driver and previous drivers?
+ 1.3 How do I setup my system with the correct software to use
+ this driver release?
+
+ 2. Basic Operations
+ 2.1 Unpacking and installing the driver
+ 2.2 Read the man pages!!!
+ 2.3 Installing the driver
+ 2.4 Removing the driver
+ 2.5 What to do if it doesn't load
+ 2.6 How to setup ISDN4Linux with the driver
+
+ 3. Beta Change Summaries and Miscellaneous Notes
+
+1. Introduction
+---------------
+
+The revision 2 Linux driver for SpellCaster ISA ISDN adapters is built
+upon ISDN4Linux available seperately or as included in Linux 2.0 and later.
+The driver will support a maximum of 4 adapters in any one system of any
+type including DataCommute/BRI, DataCommute/PRI and TeleCommute/BRI for a
+maximum of 92 channels for host. The driver is supplied as a module in
+source form and needs to be complied before it can be used. It has been
+tested on Linux 2.0.20.
+
+1.1 What Is ISDN4Linux
+
+ISDN4Linux is a driver and set of tools used to access and use ISDN devices
+on a Linux platform in a common and standard way. It supports HDLC and PPP
+protocols and offers channel bundling and MLPPP support. To use ISDN4Linux
+you need to configure your kernel for ISDN support and get the ISDN4Linux
+tool kit from our web site.
+
+ISDN4Linux creates a channel pool from all of the available ISDN channels
+and therefore can function across adapters. When an ISDN4Linux compliant
+driver (such as ours) is loaded, all of the channels go into a pool and
+are used on a first-come first-served basis. In addition, individual
+channels can be specifically bound to particular interfaces.
+
+1.2 What is different between this driver and previous drivers?
+
+The revision 2 driver besides adopting the ISDN4Linux architecture has many
+subtle and not so subtle functional differences from previous releases. These
+include:
+ - More efficient shared memory management combined with a simpler
+ configuration. All adapters now use only 16Kbytes of shared RAM
+ versus between 16K and 64K. New methods for using the shared RAM
+ allow us to utilize all of the available RAM on the adapter through
+ only one 16K page.
+ - Better detection of available upper memory. The probing routines
+ have been improved to better detect avaialble shared RAM pages and
+ used pages are now locked.
+ - Decreased loading time and a wider range of I/O ports probed.
+ We have significantly reduced the amount of time it takes to load
+ the driver and at the same time doubled the number of I/O ports
+ probed increasing the likelyhood of finding an adapter.
+ - We now support all ISA adapter models with a single driver instead
+ of seperate drivers for each model. The revision 2 driver supports
+ the DataCommute/BRI, DataCommute/PRI and TeleCommute/BRI in any
+ combination up to a maximum of four adapters per system.
+ - On board PPP protocol support has been removed in favour of the
+ sync-PPP support used in ISDN4Linux. This means more control of
+ the protocol parameters, faster negotiation time and a more
+ familiar interface.
+
+1.3 How do I setup my system with the correct software to use
+ this driver release?
+
+Before you can compile, install and use the SpellCaster ISA ISDN driver, you
+must ensure that the following software is installed, configuraed and running:
+
+ - Linux kernel 2.0.20 or later with the required init and ps
+ versions. Please see your distribution vendor for the correct
+ utility packages. The latest kernel is available from
+ ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0/
+
+ - The latest modules package (modules-2.0.0.tar.gz) from
+ ftp://sunsite.unc.edu/pub/Linux/kernel/modules-2.0.0.tar.gz
+
+ - The ISDN4Linux tools available from
+ ftp://ftp.franken.de/pub/isdn4linux/v2.0/isdn4k-utils-2.0.tar.gz
+ This package may fail to compile for you so you can alternatively
+ get a pre-compiled version from
+ ftp://ftp.spellcast.com/pub/drivers/isdn4linux/isdn4k-bin-2.0.tar.gz
+
+
+2. Basic Operations
+-------------------
+
+2.1 Unpacking and installing the driver
+
+ 1. As root, create a directory in a convienient place. We suggest
+ /usr/src/spellcaster.
+
+ 2. Unpack the archive with :
+ tar xzf sc-n.nn.tar.gz -C /usr/src/spellcaster
+
+ 3. Change directory to /usr/src/spellcaster
+
+ 4. Read the README and RELNOTES files.
+
+ 5. Run 'make' and if all goes well, run 'make install'.
+
+2.2 Read the man pages!!!
+
+Make sure you read the scctrl(8) and sc(4) manual pages before continuing
+any further. Type 'man 8 scctrl' and 'man 4 sc'.
+
+2.3 Installing the driver
+
+To install the driver, type '/sbin/insmod sc' as root. sc(4) details options
+you can specify but you shouldn't need to use any unless this doesn't work.
+
+Make sure the driver loaded and detected all of the adapters by typing
+'dmesg'.
+
+The driver can be configured so that it is loaded upon startup. To do this,
+edit the file "/etc/modules/'uname -f'/'uname -v'" and insert the driver name
+"sc" into this file.
+
+2.4 Removing the driver
+
+To remove the driver, delete any interfaces that may exist (see isdnctrl(8)
+for more on this) and then type '/sbin/rmmod sc'.
+
+2.5 What to do if it doesn't load
+
+If, when you try to install the driver, you get a message mentioning
+'register_isdn' then you do not have the ISDN4Linux system installed. Please
+make sure that ISDN support is configured in the kernel.
+
+If you get a message that says 'initialization of sc failed', then the
+driver failed to detect an adapter or failed to find resources needed such
+as a free IRQ line or shared memory segment. If you are sure there are free
+resources available, use the insmod options detailed in sc(4) to override
+the probing function.
+
+Upon testing, the following problem was noted, the driver would load without
+problems, but the board would not respond beyond that point. When a check was
+done with 'cat /proc/interrupts' the interrupt count for sc was 0. In the event
+of this problem, change the BIOS settings so that the interrupts in question are
+reserved for ISA use only.
+
+
+2.6 How to setup ISDN4Linux with the driver
+
+There are two main configurations which you can use with the driver:
+
+A) Basic HDLC connection
+B) PPP connection
+C) MLPPP connection
+
+It should be mentioned here that you may also use a tty connection if you desire.
+The Documentation directory of the isdn4linux subsystem offers a good documentation
+on this feature.
+
+A) 10 steps to the establishment of a basic HDLC connection
+-----------------------------------------------------------
+
+- please open the isdn-hdlc file in the examples directory and follow along...
+
+ This file is a script used to configure a BRI ISDN TA to establish a basic HDLC
+ connection between its two channels. There two network interfaces which are
+ created and two routes added between the channels.
+
+ i) using the isdnctrl utitity, add an interface with "addif" and name it "isdn0"
+ ii) add the outgoing and inbound telephone numbers
+ iii) set the Layer 2 protocol to hdlc
+ iv) set the eaz of the interface to be the phone number of that specific channel
+ v) to turn the callback features off, set the callback to "off" and
+ the callback delay (cbdelay) to 0.
+ vi) the hangup timeout can be set to a specified number of seconds
+ vii) the hangup upon incomming call can be set on or off
+ viii) use the ifconfig command to bring-up the network interface with a specific
+ IP address and point to point address
+ viv) add a route to the IP address through the isdn0 interface
+ x) a ping should result in the establishment of the connection
+
+
+B) Establishment of a PPP connection
+------------------------------------
+
+- please open the isdn-ppp file in the examples directory and follow along...
+
+ This file is a script used to configure a BRI ISDN TA to establish a PPP connection
+ between the two channels. The file is almost identical to the HDLC connection
+ example except that the packet ecapsulation type has to be set.
+
+ use the same procedure as in the HDLC connection from steps i) to iii) then,
+ after the Layer 2 protocol is set, set the encapsulation "encap" to syncppp.
+ With this done, the rest of the steps, iv) to x) can be followed from above.
+
+ Then, the ipppd (ippp daemon) must be setup:
+
+ xi) use the ipppd function found in /sbin/ipppd to set the following:
+ xii) take out (minus) VJ compression and bsd compression
+ xiii) set the mru size to 2000
+ xiv) link the two /dev interfaces to the daemon
+
+NOTE: A "*" in the inbound telephone number specifies that a call can be accepted
+ on any number.
+
+C) Establishment of a MLPPP connection
+--------------------------------------
+
+- please open the isdn-mppp file in the examples directory and follow along...
+
+ This file is a script used to configure a BRI ISDN TA to accept a Multi Link PPP
+ connection.
+
+ i) using the isdnctrl utitity, add an interface with "addif" and name it "ippp0"
+ ii) add the inbound telephone number
+ iii) set the Layer 2 protocol to hdlc and the Layer 3 protocol to trans (transparent)
+ iv) set the packet encapsulation to syncppp
+ v) set the eaz of the interface to be the phone number of that specific channel
+ vi) to turn the callback features off, set the callback to "off" and
+ the callback delay (cbdelay) to 0.
+ vi) the hangup timeout can be set to a specified number of seconds
+ vii) the hangup upon incomming call can be set on or off
+ viii) add a slave interface and name it "ippp32" for example
+ viv) set the similar parameters for the ippp32 interface
+ x) use the ifconfig command to bring-up the ippp0 interface with a specific
+ IP address and point to point address
+ xi) add a route to the IP address through the ippp0 interface
+ xii) use the ipppd function found in /sbin/ipppd to set the following:
+ xiii) take out (minus) bsd compression
+ xiv) set the mru size to 2000
+ xv) add (+) the multi-link function "+mp"
+ xv) link the two /dev interfaces to the daemon
+
+NOTE: To use the MLPPP connection to dial OUT to a MLPPP connection, change the
+ inbound telephone numbers to the outgoing telephone numbers of the MLPPP
+ host.
+
+
+3. Beta Change Summaries and Miscellaneous Notes
+------------------------------------------------
+When using the "scctrl" utility to upload firmware revisions on the board, please
+note that the byte count displayed at the end of the operation may be different
+than the total number of bytes in the "dcbfwn.nn.sr" file. Please disregard the
+displayed byte count.
+
+It was noted that in Beta Release 1, the module would fail to load and result in a
+segmentation fault when insmod"ed". This problem was created when one of the
+isdn4linux parameters, (isdn_ctrl, data field) was filled in. In some cases, this
+data field was NULL, and was left unchecked, so when it was referenced.. segv.
+The bug has been fixed around line 63-68 of event.c.
+
diff --git a/Documentation/m68k/amiboot.README b/Documentation/m68k/amiboot.README
new file mode 100644
index 000000000..1e25e1d37
--- /dev/null
+++ b/Documentation/m68k/amiboot.README
@@ -0,0 +1,241 @@
+
+ Linux/m68k Amiga Bootstrap version 5.1
+ --------------------------------------
+
+
+0. Introduction
+---------------
+
+Amiboot is used to boot Linux/m68k on Amiga from the CLI/Shell.
+
+Before you try to boot Linux/m68k for the first time, please read the FAQ
+
+ http://www-agrw.informatik.uni-kl.de/~jmayer/linux68k/linux68k-faq
+
+and the Installation Guide
+
+ http://www.informatik.uni-oldenburg.de/~amigo/inst.html
+
+first. Although the Installation Guide is getting a bit outdated, it's still a
+good starting point.
+
+Amiboot 5.1 is meant for Linux/m68k 2.0.x, 2.1.x or higher (kernel bootinfo
+interface versions 1.x and 2.x). Please use an older version for older kernels.
+
+
+1. Running Amiboot
+------------------
+
+The Amiboot invocation syntax looks like
+
+ amiboot [options] [kernel command line]
+
+Valid options are:
+
+ --help Display the usage information
+
+ --kernel file Use kernel image `file' (default is `vmlinux')
+
+ --ramdisk file Use ramdisk image `file'.
+
+ --debug Enable debug mode
+
+ --baud Set the serial port speed (default is 9600)
+
+ --memfile file Use memory file `file'
+
+ --keep-video Don't reset the video mode
+
+ --model id Set the Amiga model to `id'.
+
+The kernel command line contains the options you want to pass to the kernel and
+to init, the process that's started first by Linux. Please read
+linux/Documentation/m68k/kernel-options.txt for more information.
+
+Normally you only use the --kernel option to specify the file that contains the
+Linux/m68k kernel image, and --ramdisk if you want to boot from a ramdisk file,
+i.e. a file containing a complete file system, instead of from a hard disk
+partition.
+
+Example:
+
+ amiboot -k vmlinux-2.1.13 root=/dev/hda3 video=font:PEARL8x8
+
+Amiboot will boot the kernel image `vmlinux-2.1.13' and will pass
+`root=/dev/hda3 video=font:PEARL8x8' to the kernel.
+
+
+The other options are more specialized. Don't use them unless you really have
+to and you know what you're doing.
+
+The --baud option allows you to specify the serial port speed for initial boot
+information and initial kernel messages. Note: this option does not work with
+kernels with bootinfo interface versions prior to 2.0.
+
+The --memfile option is used to specify the blocks of memory that will be used
+by Linux.
+
+The --keep-video option is necessary if you want to retain the current graphics
+mode (on a graphics board) under Linux. Currently this is only useful if you
+have a CyberVision 64 graphics board.
+
+Finally, --model allows you to specify your Amiga model, and --debug is for
+debugging purposes.
+
+
+2. The memory file
+------------------
+
+If you have some non-AutoConfig memory you want to use under Linux, or if you
+want to disable some parts of your memory (e.g. Zorro II RAM on '040 based
+systems), you have to use a memory file and the --memfile option. This file
+contains information about the memory chunks you want to use under Linux. The
+format for the file is:
+
+ chipramsize
+ [0xfastchunkaddr fastchunksize]
+ [0xfastchunkaddr fastchunksize]
+ ...
+
+For example, if you don't want Linux to use your 2nd meg of chipram, you would
+create a file that looks contains only:
+
+ 1048576
+
+If you had 1M of chip ram, 2M of 16 bit FAST ram at address 0x200000 and 16M of
+32 bit FAST ram at address 0x80000000, and you didn't want Linux to use the
+slow 16 bit FAST ram, you'd create a file that looks like:
+
+ 1048576
+ 0x80000000 16777216
+
+The memory file can also be used to specify in which block of memory the kernel
+will be put. Normally Amiboot will put the kernel in the first block of Fast
+RAM it will find. If you use a memory file, it will put the kernel in the first
+block of fast RAM you specify.
+
+
+3. Amiga models
+---------------
+
+If Amiboot incorrectly detects the model of your Amiga, you can force it to
+detect any model you want using the --model option. `id' must be one of the
+numbers as defined in linux/include/asm-m68k/amigahw.h (AMI_*). Currently the
+following models are known:
+
+ Model ID
+ ----- --
+ Amiga 500 1
+ Amiga 500+ 2
+ Amiga 600 3
+ Amiga 1000 4
+ Amiga 1200 5
+ Amiga 2000 6
+ Amiga 2500 7
+ Amiga 3000 8
+ Amiga 3000T 9
+ Amiga 3000+ 10
+ Amiga 4000 11
+ Amiga 4000T 12
+ CDTV 13
+ CD32 14
+ Draco 15
+
+Note that Amiboot can't distinguish among Amiga models that are very similar to
+each other (e.g. A500/A1000/A2000/A2500 and A3000/A3000T). Of course this is
+harmless and there's no real need to use --model in that case.
+
+Please send me the output of amiboot used with the --debug option if your Amiga
+model is detected incorrectly.
+
+
+4. Abbreviations
+----------------
+
+All options also have a shorthand:
+
+ --help -h
+ --kernel -k
+ --ramdisk -r
+ --debug -d
+ --baud -b
+ --memfile -m
+ --keep-video -v
+ --model -t
+
+
+5. Miscellaneous
+----------------
+
+Some expansion boards keep on generating interrupts once they were initialized
+under AmigaOS. This can cause an interrupt deadlock while booting Linux. The
+following boards are recognized and disabled:
+
+ o Helfrich Rainbow 3 Graphics Board
+ o Helfrich Piccolo Graphics Board
+ o Helfrich SD64 Graphics Board
+ o Village Tronic Ariadne Ethernet Board
+ o Hydra Systems Amiganet Ethernet Board
+
+The following boards are known to cause problems but we don't have a disable
+routine for them yet:
+
+ o Commodore A2060 Arcnet Card
+ o Ameristar A560 Arcnet Card
+
+If you write a routine to disable an expansion board, please let me know.
+
+
+6. Troubleshooting
+------------------
+
+ - Amiboot says
+
+ This bootstrap is too old/new for this kernel
+
+ This means that you're using a version of Amiboot that's not compatible
+ with the kernel you want to boot.
+
+ Solution: use the correct Amiboot, or use another kernel.
+
+ - Amiboot says
+
+ Warning: too many AutoConfig devices. Ignoring device at 0x????????
+
+ or
+
+ Warning: too many memory blocks. Ignoring block of ???K at 0x????????
+
+ This means that you have more AutoConfig devices or memory chunks than
+ Amiboot supports. Note that you can still boot Linux/m68k, but that the
+ additional devices or memory blocks can't be used.
+
+ Solution: increase the ZORRO_NUM_AUTO (for AutoConfig devices) or
+ NUM_MEMINFO (for memory chunks) values in the kernel sources
+ (linux/include/asm-m68k/zorro.h and linux/include/asm-m68k/setup.h) and
+ recompile both Amiboot and the kernel.
+
+ - If all you get is a grey screen, or if Linux/m68k suddenly locks up during
+ booting, try the following things:
+
+ o Boot with the Startup-Sequence disabled, run SetPatch and try again.
+
+ o If that doesn't work, remove any expansion devices and retry.
+
+ o Look at the characters that are dumped to the serial port during
+ booting.
+
+
+7. Amiga-Lilo
+-------------
+
+Once you have a stable Linux/m68k installation, you may want to try Amiga-Lilo.
+Amiga-Lilo allows you to boot Linux/m68k without the overhead of booting
+AmigaOS first, and it provides you with a boot menu.
+
+
+8. Credits
+----------
+
+This readme was written by Geert Uytterhoeven. A lot of information was taken
+from the ANNOUNCE-* files by Hamish Macdonald.
diff --git a/Documentation/m68k/kernel-options.txt b/Documentation/m68k/kernel-options.txt
new file mode 100644
index 000000000..b5878662d
--- /dev/null
+++ b/Documentation/m68k/kernel-options.txt
@@ -0,0 +1,835 @@
+
+
+ Command Line Options for Linux/m68k
+ ===================================
+
+Date: Sep 14, 1996
+Linux/m68k version: 2.0.20
+Author: Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek)
+Update: jds@kom.auc.dk (Jes Sorensen)
+
+0) Introduction
+===============
+
+ Often I've been asked which command line options the Linux/m68k
+kernel understands, or how the exact syntax for the ... option is, or
+... about the option ... . I hope, this document supplies all the
+answers...
+
+ Note that some options might be outdated, their descriptions being
+incomplete or missing. Please update the information and send in the
+patches.
+
+
+1) Overview of the Kernel's Option Processing
+=============================================
+
+The kernel knows three kinds of options on its command line:
+
+ 1) kernel options
+ 2) environment settings
+ 3) arguments for init
+
+To which of these classes an argument belongs is determined as
+follows: If the option is known to the kernel itself, i.e. if the name
+(the part before the '=') or, in some cases, the whole argument string
+is known to the kernel, it belongs to class 1. Otherwise, if the
+argument contains an '=', it is of class 2, and the definition is put
+into init's environment. All other arguments are passed to init as
+command line options.
+
+ This document describes the valid kernel options for Linux/m68k in
+the version mentioned at the start of this file. Later revisions may
+add new such options, and some may be missing in older versions.
+
+ In general, the value (the part after the '=') of an option is a
+list of values separated by commas. The interpretation of these values
+is up to the driver that "owns" the option. This association of
+options with drivers is also the reason that some are further
+subdivided.
+
+
+2) General Kernel Options
+=========================
+
+2.1) root=
+----------
+
+Syntax: root=/dev/<device>
+ or: root=<hex_number>
+
+This tells the kernel which device it should mount as the root
+filesystem. The device must be a block device with a valid filesystem
+on it.
+
+ The first syntax gives the device by name. These names are converted
+into a major/minor number internally in the kernel in an unusual way.
+Normally, this "conversion" is done by the device files in /dev, but
+this isn't possible here, because the root filesystem (with /dev)
+isn't mounted yet... So the kernel parses the name itself, with some
+hardcoded name to number mappings. The name must always be a
+combination of two or three letters, followed by a decimal number.
+Valid names are:
+
+ /dev/ram: -> 0x0100 (initial ramdisk)
+ /dev/hda: -> 0x0300 (first IDE disk)
+ /dev/hdb: -> 0x0340 (second IDE disk)
+ /dev/sda: -> 0x0800 (first SCSI disk)
+ /dev/sdb: -> 0x0810 (second SCSI disk)
+ /dev/sdc: -> 0x0820 (third SCSI disk)
+ /dev/sdd: -> 0x0830 (forth SCSI disk)
+ /dev/sde: -> 0x0840 (fifth SCSI disk)
+ /dev/fd : -> 0x0200 (floppy disk)
+ /dev/xda: -> 0x0c00 (first XT disk, unused in Linux/m68k)
+ /dev/xdb: -> 0x0c40 (second XT disk, unused in Linux/m68k)
+ /dev/ada: -> 0x1c00 (first ACSI device)
+ /dev/adb: -> 0x1c10 (second ACSI device)
+ /dev/adc: -> 0x1c20 (third ACSI device)
+ /dev/add: -> 0x1c30 (forth ACSI device)
+
+The last for names are available only if the kernel has been compiled
+with Atari and ACSI support.
+
+ The name must be followed by a decimal number, that stands for the
+partition number. Internally, the value of the number is just
+added to the device number mentioned in the table above. The
+exceptions are /dev/ram and /dev/fd, where /dev/ram refers to an
+initial ramdisk loaded by your bootstrap program (please consult the
+instructions for your bootstrap program to find out how to load an
+initial ramdisk). As of kernel version 2.0.18 you must specify
+/dev/ram as the root device if you want to boot from an initial
+ramdisk. For the floppy devices, /dev/fd, the number stands for the
+floppy drive number (there are no partitions on floppy disks). I.e.,
+/dev/fd0 stands for the first drive, /dev/fd1 for the second, and so
+on. Since the number is just added, you can also force the disk format
+by adding a number greater than 3. If you look into your /dev
+directory, use can see the /dev/fd0D720 has major 2 and minor 16. You
+can specify this device for the root FS by writing "root=/dev/fd16" on
+the kernel command line.
+
+[Strange and maybe uninteresting stuff ON]
+
+ This unusual translation of device names has some strange
+consequences: If, for example, you have a symbolic link from /dev/fd
+to /dev/fd0D720 as an abbreviation for floppy driver #0 in DD format,
+you cannot use this name for specifying the root device, because the
+kernel cannot see this symlink before mounting the root FS and it
+isn't in the table above. If you would use it, the root device weren't
+set at all, without error message. Another example: You cannot use a
+partition on e.g. the sixth SCSI disk as the root filesystem, if you
+want to specify it by name. This is, because only the devices up to
+/dev/sde are in the table above, but not /dev/sdf. Although, you can
+use the sixth SCSI disk for the root FS, but you have to specify the
+device by number... (see below). Or, even more strange, you can use the
+fact that there is no range checking of the partition number, and your
+knowledge that each disk uses 16 minors, and write "root=/dev/sde17"
+(for /dev/sdf1).
+
+[Strange and maybe uninteresting stuff OFF]
+
+ If the device containing your root partition isn't in the table
+above, you can also specify it by major and minor numbers. These are
+written in hex, with no prefix and no separator between. E.g., if you
+have a CD with contents appropriate as a root filesystem in the first
+SCSI CD-ROM drive, you boot from it by "root=0b00". Here, hex "0b" =
+decimal 11 is the major of SCSI CD-ROMs, and the minor 0 stands for
+the first of these. You can find out all valid major numbers by
+looking into include/linux/major.h.
+
+
+2.2) ro, rw
+-----------
+
+Syntax: ro
+ or: rw
+
+These two options tell the kernel whether it should mount the root
+filesystem read-only or read-write. The default is read-only, except
+for ramdisks which are read-write.
+
+
+2.3) debug
+----------
+
+Syntax: debug
+
+This raises the kernel log level to 10 (the default is 7). This is the
+same level as set by the "dmesg" command, just that the maximum level
+selectable by dmesg is 8.
+
+
+2.4) debug=
+-----------
+
+Syntax: debug=<device>
+
+This option causes certain kernel messages be printed to the selected
+debugging device. This can aid debugging the kernel, since the
+messages can be captured and analyzed on some other machine. Which
+devices are possible depends on the machine type. There are no checks
+for the validity of the device name. If the device isn't implemented,
+nothing happens.
+
+ Messages logged this way are in general stack dumps after kernel
+memory faults or bad kernel traps, and kernel panics. To be exact: all
+messages of level 0 (panic messages) and all messages printed while
+the log level is 8 or more (their level doesn't matter). Before stack
+dumps, the kernel sets the log level to 10 automatically. A level of
+at least 8 can also be set by the "debug" command line option (see
+2.3) and at run time with "dmesg -n 8".
+
+Devices possible for Amiga:
+
+ - "ser": built-in serial port; parameters: 9600bps, 8N1
+ - "mem": Save the messages to a reserved area in chip mem. After
+ rebooting, they can be read under AmigaOS with the tool
+ 'dmesg'.
+
+Devices possible for Atari:
+
+ - "ser1": ST-MFP serial port ("Modem1"); parameters: 9600bps, 8N1
+ - "ser2": SCC channel B serial port ("Modem2"); parameters: 9600bps, 8N1
+ - "ser" : default serial port
+ This is "ser2" for a Falcon, and "ser1" for any other machine
+ - "par" : parallel port
+ The printing routine for this implements a timeout for the
+ case there's no printer connected (else the kernel would
+ lock up). The timeout is not exact, but usually a few
+ seconds.
+
+
+2.6) ramdisk=
+-------------
+
+Syntax: ramdisk=<size>
+
+ This option instructs the kernel to set up a ramdisk of the given
+size in KBytes. Do not use this option if the ramdisk contents are
+passed by bootstrap! In this case, the size is selected automatically
+and should not be overwritten.
+
+ The only application is for root filesystems on floppy disks, that
+should be loaded into memory. To do that, select the corresponding
+size of the disk as ramdisk size, and set the root device to the disk
+drive (with "root=").
+
+
+2.7) swap=
+-----------
+
+Syntax: swap=<max_age>,<adv>,<decl>,<init_age>,<cl_fract>,<cl_min>,\
+ <pgout_wgt>,<bfout_wgt>
+(All optional)
+
+TODO
+
+
+2.8) buff=
+-----------
+
+Syntax: buff=<max_age>,<adv>,<decl>,<init_age>,<bfout_wgt>,<mem_grace>
+(All optional)
+
+TODO
+
+
+
+3) General Device Options (Amiga and Atari)
+===========================================
+
+3.1) ether=
+-----------
+
+Syntax: ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>
+
+ <dev-name> is the name of a net driver, as specified in
+drivers/net/Space.c in the Linux source. Most prominent are eth0, ...
+eth3, sl0, ... sl3, ppp0, ..., ppp3, dummy, and lo.
+
+ The non-ethernet drivers (sl, ppp, dummy, lo) obviously ignore the
+settings by this options. Also, the existing ethernet drivers for
+Linux/m68k (ariadne, a2065, hydra) don't use them because Zorro boards
+are really Plug-'n-Play, so the "ether=" option is useless altogether
+for Linux/m68k.
+
+
+3.2) hd=
+--------
+
+Syntax: hd=<cylinders>,<heads>,<sectors>
+
+ This option sets the disk geometry of an IDE disk. The first hd=
+option is for the first IDE disk, the second for the second one.
+(I.e., you can give this option twice.) In most cases, you won't have
+to use this option, since the kernel can obtain the geometry data
+itself. It exists just for the case that this fails for one of your
+disks.
+
+
+3.3) max_scsi_luns=
+-------------------
+
+Syntax: max_scsi_luns=<n>
+
+ Sets the maximum number of LUNs (logical units) of SCSI devices to
+be scanned. Valid values for <n> are between 1 and 8. Default is 8 if
+"Probe all LUNs on each SCSI device" was selected during the kernel
+configuration, else 1.
+
+
+3.4) st=
+--------
+
+Syntax: st=<buffer_size>,[<write_thres>,[<max_buffers>]]
+
+ Sets several parameters of the SCSI tape driver. <buffer_size> is
+the number of 512-byte buffers reserved for tape operations for each
+device. <write_thres> sets the number of blocks which must be filled
+to start an actual write operation to the tape. Maximum value is the
+total number of buffers. <max_buffer> limits the total number of
+buffers allocated for all tape devices.
+
+
+3.5) dmasound=
+--------------
+
+Syntax: dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]
+
+ This option controls some configurations of the Linux/m68k DMA sound
+driver (Amiga and Atari): <buffers> is the number of buffers you want
+to use (minimum 4, default 4), <buffer-size> is the size of each
+buffer in kilobytes (minimum 4, default 32) and <catch-radius> says
+how much percent of error will be tolerated when setting a frequency
+(maximum 10, default 0). For example with 3% you can play 8000Hz
+AU-Files on the Falcon with its hardware frequency of 8195Hz and thus
+don't need to expand the sound.
+
+
+
+4) Options for Atari Only
+=========================
+
+4.1) video=
+--------------
+
+Syntax: video=<sub-options...>
+
+The <sub-options> is a comma-separated list of the sub-options listed
+below.
+
+NB: Please notice that this option was renamed from `atavideo' to
+ `video' during the development of the 1.3.x kernels, thus you
+ might need to update your boot-scripts if upgrading to 2.0.x from
+ an 1.2.13ply kernel.
+
+4.1.1) Video Mode
+-----------------
+
+This sub-option may be any of the predefined video modes, as listed
+in atari/atafb.c in the Linux/m68k source tree. The kernel will
+activate the given video mode at boot time and make it the default
+mode, if the hardware allows. Currently defined names are:
+
+ - stlow : 320x200x4
+ - stmid, default5 : 640x200x2
+ - sthigh, default4: 640x400x1
+ - ttlow : 320x480x8, TT only
+ - ttmid, default1 : 640x480x4, TT only
+ - tthigh, default2: 1280x960x1, TT only
+ - vga2 : 640x480x1, Falcon only
+ - vga4 : 640x480x2, Falcon only
+ - vga16, default3 : 640x480x4, Falcon only
+ - vga256 : 640x480x8, Falcon only
+ - falh2 : 896x608x1, Falcon only
+ - falh16 : 896x608x4, Falcon only
+
+ If no video mode is given on the command line, the kernel tries the
+modes names "default<n>" in turn, until one is possible with the
+hardware in use.
+
+ A video mode setting doesn't make sense, if the external driver is
+activated by a "external:" sub-option.
+
+4.1.2) inverse
+--------------
+
+Invert the display. This affects both, text (consoles) and graphics
+(X) display. Usually, the background is chosen to be black. With this
+option, you can make the background white.
+
+4.1.3) font
+-----------
+
+Syntax: font:<fontname>
+
+Specify the font to use in text modes. Currently you can choose only
+between `VGA8x8', `VGA8x16' and `PEARL8x8'. `VGA8x8' is default, if the
+vertical size of the display is less than 400 pixel rows. Otherwise, the
+`VGA8x16' font is the default.
+
+4.1.4) hwscroll_
+----------------
+
+Syntax: hwscroll_<n>
+
+The number of additional lines of video memory to reserve for
+speeding up the scrolling ("hardware scrolling"). Hardware scrolling
+is possible only if the kernel can set the video base address in steps
+fine enough. This is true for STE, MegaSTE, TT, and Falcon. It is not
+possible with plain STs and graphics cards (The former because the
+base address must be on a 256 byte boundary there, the latter because
+the kernel doesn't know how to set the base address at all.)
+
+ By default, <n> is set to the number of visible text lines on the
+display. Thus, the amount of video memory is doubled, compared to no
+hardware scrolling. You can turn off the hardware scrolling altogether
+by setting <n> to 0.
+
+4.1.5) internal:
+----------------
+
+Syntax: internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]
+
+This option specifies the capabilities of some extended internal video
+hardware, like e.g. OverScan. <xres> and <yres> give the (extended)
+dimensions of the screen.
+
+ If your OverScan needs a black border, you have to write the last
+three arguments of the "internal:". <xres_max> is the maximum line
+length the hardware allows, <yres_max> the maximum number of lines.
+<offset> is the offset of the visible part of the screen memory to its
+physical start, in bytes.
+
+ Often, extended interval video hardware has to be activated somehow.
+For this, see the "sw_*" options below.
+
+4.1.6) sw_acia, sw_snd6, sw_snd7
+--------------------------------
+
+This specifies the method for turning on extended internal video
+hardware, like OverScan. Several methods are in use:
+
+ sw_acia: Set RTS of the keyboard ACIA high
+ sw_snd6: Set bit 6 of the PSG port A
+ sw_snd7: Set bit 7 of the PSG port A
+
+These sub-options are generally only useful together with "internal:".
+
+4.1.7) external:
+----------------
+
+Syntax:
+ external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>\
+ [;<colw>[;<coltype>]]]]
+
+[I had to break this line...]
+
+ This is probably the most complicated parameter... It specifies that
+you have some external video hardware (a graphics board), and how to
+use it under Linux/m68k. The kernel cannot know more about the hardware
+than you tell it here! The kernel also is unable to set or change any
+video modes, since it doesn't know about any board internal. So, you
+have to switch to that video mode before you start Linux, and cannot
+switch to another mode once Linux has started.
+
+ The first 3 parameters of this sub-option should be obvious: <xres>,
+<yres> and <depth> give the dimensions of the screen and the number of
+planes (depth). The depth is is the logarithm to base 2 of the number
+of colors possible. (Or, the other way round: The number of colors is
+2^depth).
+
+ You have to tell the kernel furthermore how the video memory is
+organized. This is done by a letter as <org> parameter:
+
+ 'n': "normal planes", i.e. one whole plane after another
+ 'i': "interleaved planes", i.e. 16 bit of the first plane, than 16 bit
+ of the next, and so on... This mode is used only with the
+ built-in Atari video modes, I think there is no card that
+ supports this mode.
+ 'p': "packed pixels", i.e. <depth> consecutive bits stand for all
+ planes of one pixel; this is the most common mode for 8 planes
+ (256 colors) on graphic cards
+ 't': "true color" (more or less packed pixels, but without a color
+ lookup table); usually depth is 24
+
+For monochrome modes (i.e., <depth> is 1), the <org> letter has a
+different meaning:
+
+ 'n': normal colors, i.e. 0=white, 1=black
+ 'i': inverted colors, i.e. 0=black, 1=white
+
+ The next important information about the video hardware is the base
+address of the video memory. That is given in the <scrmem> parameter,
+as a hexadecimal number with a "0x" prefix. You have to find out this
+address in the documentation of your hardware.
+
+ The next parameter, <scrlen>, tells the kernel about the size of the
+video memory. If it's missing, the size is calculated from <xres>,
+<yres>, and <depth>. For now, it is not useful to write a value here.
+It would be used only for hardware scrolling (which isn't possible
+with the external driver, because the kernel cannot set the video base
+address), or for virtual resolutions under X (which the X server
+doesn't support yet). So, it's currently best to leave this field
+empty, either by ending the "external:" after the video address or by
+writing two consecutive semicolons, if you want to give a <vgabase>
+(it is allowed to leave this parameter empty).
+
+ The <vgabase> parameter is optional. If it is not given, the kernel
+cannot read or write any color registers of the video hardware, and
+thus you have to set appropriate colors before you start Linux. But if
+your card is somehow VGA compatible, you can tell the kernel the base
+address of the VGA register set, so it can change the color lookup
+table. You have to look up this address in your board's documentation.
+To avoid misunderstandings: <vgabase> is the _base_ address, i.e. a 4k
+aligned address. For read/writing the color registers, the kernel
+uses the addresses vgabase+0x3c7...vgabase+0x3c9. The <vgabase>
+parameter is written in hexadecimal with a "0x" prefix, just as
+<scrmem>.
+
+ <colw> is meaningful only if <vgabase> is specified. It tells the
+kernel how wide each of the color register is, i.e. the number of bits
+per single color (red/green/blue). Default is 6, another quite usual
+value is 8.
+
+ Also <coltype> is used together with <vgabase>. It tells the kernel
+about the color register model of your gfx board. Currently, the types
+"vga" (which is also the default) and "mv300" (SANG MV300) are
+implemented.
+
+4.1.8) eclock:
+--------------
+
+The external pixel clock attached to the Falcon VIDEL shifter. This
+currently works only with the ScreenWonder!
+
+4.1.9) monitorcap:
+-------------------
+
+Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
+
+This describes the capabilities of a multisync monitor. Don't use it
+with a fixed-frequency monitor! For now, only the Falcon frame buffer
+uses the settings of "monitorcap:".
+
+ <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
+your monitor can work with, in Hz. <hmin> and <hmax> are the same for
+the horizontal frequency, in kHz.
+
+ The defaults are 58;62;31;32 (VGA compatible).
+
+ The defaults for TV/SC1224/SC1435 cover both PAL and NTSC standards.
+
+4.1.10) keep
+------------
+
+If this option is given, the framebuffer device doesn't do any video
+mode calculations and settings on its own. The only Atari fb device
+that does this currently is the Falcon.
+
+ What you reach with this: Settings for unknown video extensions
+aren't overridden by the driver, so you can still use the mode found
+when booting, when the driver doesn't know to set this mode itself.
+But this also means, that you can't switch video modes anymore...
+
+ An example where you may want to use "keep" is the ScreenBlaster for
+the Falcon.
+
+
+4.2) atamouse=
+--------------
+
+Syntax: atamouse=<x-threshold>,[<y-threshold>]
+
+ With this option, you can set the mouse movement reporting threshold.
+This is the number of pixels of mouse movement that have to accumulate
+before the IKBD sends a new mouse packet to the kernel. Higher values
+reduce the mouse interrupt load and thus reduce the chance of keyboard
+overruns. Lower values give a slightly faster mouse responses and
+slightly better mouse tracking.
+
+ You can set the threshold in x and y separately, but usually this is
+of little practical use. If there's just one number in the option, it
+is used for both dimensions. The default value is 2 for both
+thresholds.
+
+
+4.3) ataflop=
+-------------
+
+Syntax: ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]
+
+ The drive type may be 0, 1, or 2, for DD, HD, and ED, resp. This
+ setting affects how much buffers are reserved and which formats are
+ probed (see also below). The default is 1 (HD). Only one drive type
+ can be selected. If you have two disk drives, select the "better"
+ type.
+
+ The second parameter <trackbuffer> tells the kernel whether to use
+ track buffering (1) or not (0). The default is machine dependant:
+ no for the Medusa and yes for all others.
+
+ With the two following parameters, you can change the default
+ steprate used for drive A and B, resp.
+
+
+4.4) atascsi=
+-------------
+
+Syntax: atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]
+
+ This option sets some parameters for the Atari native SCSI driver.
+Generally, any number of arguments can be omitted from the end. And
+for each of the numbers, a negative value means "use default". The
+defaults depend on whether TT-style or Falcon-style SCSI is used.
+Below, defaults are noted as n/m, where the first value refers to
+TT-SCSI and the latter to Falcon-SCSI. If an illegal value is given
+for one parameter, an error message is printed and that one setting is
+ignored (other aren't affected).
+
+ <can_queue>:
+ This is the maximum number of SCSI commands queued internal to the
+ Atari SCSI driver. A value of 1 effectively turns off the driver
+ internal multitasking (if it makes problems). Legal values are >=
+ 1. <can_queue> can be as high as you like, but values greater than
+ <cmd_per_lun> times the number of SCSI targets (LUNs) you have
+ don't make sense. Default: 16/8.
+
+ <cmd_per_lun>:
+ Maximum number of SCSI commands issued to the driver for one
+ logical unit (LUN, usually one SCSI target). Legal values start
+ from 1. If tagged queuing (see below) is not used, values greater
+ than 2 don't make sense, but waste memory. Otherwise, the maximum
+ is the number of command tags available to the driver (currently
+ 32). Default: 8/1. (Note: Values > 1 seem to cause problems on a
+ Falcon, cause not yet known.)
+
+ The <cmd_per_lun> value at a great part determines the amount of
+ memory SCSI reserves for itself. The formula is rather
+ complicated, but I can give you some hints:
+ no scatter-gather : cmd_per_lun * 232 bytes
+ full scatter-gather: cmd_per_lun * approx. 17 Kbytes
+
+ <scat-gat>:
+ Size of the scatter-gather table, i.e. the number of requests
+ consecutive on the disk that can be merged into one SCSI command.
+ Legal values are between 0 and 255. Default: 255/0. Note: This
+ value is forced to 0 on a Falcon, since scatter-gather isn't
+ possible with the ST-DMA. Not using scatter-gather hurts
+ perfomance significantly.
+
+ <host-id>:
+ The SCSI ID to be used by the initiator (your Atari). This is
+ usually 7, the highest possible ID. Every ID on the SCSI bus must
+ be unique. Default: determined at run time: If the NV-RAM checksum
+ is valid, and bit 7 in byte 30 of the NV-RAM is set, the lower 3
+ bits of this byte are used as the host ID. (This method is defined
+ by Atari and also used by some TOS HD drivers.) If the above
+ isn't given, the default ID is 7. (both, TT and Falcon).
+
+ <tagged>:
+ 0 means turn off tagged queuing support, all other values > 0 mean
+ use tagged queuing for targets that support it. Default: currently
+ off, but this may change when tagged queuing handling has been
+ proofed to be reliable.
+
+ Tagged queuing means that more than one command can be issued to
+ one LUN, and the SCSI device itself orders the requests so they
+ can be performed in optimal order. Not all SCSI devices support
+ tagged queuing (:-().
+
+
+
+5) Options for Amiga Only:
+==========================
+
+5.1) video=
+-----------
+
+Syntax: video=<sub-options...>
+
+The <sub-options> is a comma-separated list of the sub-options listed
+below. This option is organized similar to the Atari version of the
+"video"-option (4.1), but knows fewer sub-options.
+
+5.1.1) video mode
+-----------------
+
+Again, similar to the video mode for the Atari (see 4.1.1). Predefined
+modes depend on the used frame buffer device.
+
+OCS, ECS and AGA machines all use the color frame buffer. The following
+predefined video modes are available:
+
+NTSC modes:
+ - ntsc : 640x200, 15 kHz, 60 Hz
+ - ntsc-lace : 640x400, 15 kHz, 60 Hz interlaced
+PAL modes:
+ - pal : 640x256, 15 kHz, 50 Hz
+ - pal-lace : 640x512, 15 kHz, 50 Hz interlaced
+ECS modes:
+ - multiscan : 640x480, 29 kHz, 57 Hz
+ - multiscan-lace : 640x960, 29 kHz, 57 Hz interlaced
+ - euro36 : 640x200, 15 kHz, 72 Hz
+ - euro36-lace : 640x400, 15 kHz, 72 Hz interlaced
+ - euro72 : 640x400, 29 kHz, 68 Hz
+ - euro72-lace : 640x800, 29 kHz, 68 Hz interlaced
+ - super72 : 800x300, 23 kHz, 70 Hz
+ - super72-lace : 800x600, 23 kHz, 70 Hz interlaced
+ - dblntsc-ff : 640x400, 27 kHz, 57 Hz
+ - dblntsc-lace : 640x800, 27 kHz, 57 Hz interlaced
+ - dblpal-ff : 640x512, 27 kHz, 47 Hz
+ - dblpal-lace : 640x1024, 27 kHz, 47 Hz interlaced
+ - dblntsc : 640x200, 27 kHz, 57 Hz doublescan
+ - dblpal : 640x256, 27 kHz, 47 Hz doublescan
+VGA modes:
+ - vga : 640x480, 31 kHz, 60 Hz
+ - vga70 : 640x400, 31 kHz, 70 Hz
+
+Please notice that the ECS and VGA modes require either an ECS or AGA
+chipset, and that these modes are limited to 2-bit color for the ECS
+chipset and 8-bit color for the AGA chipset.
+
+5.1.2) depth
+------------
+
+Syntax: depth:<nr. of bit-planes>
+
+Specify the number of bit-planes for the selected video-mode.
+
+5.1.3) inverse
+--------------
+
+Use inverted display. Functionally the same as the "inverse"
+sub-option for the Atari.
+
+5.1.4) font
+-----------
+
+Syntax: font:<fontname>
+
+Specify the font to use in text modes. Functionally the same as the
+"font" sub-option for the Atari, except that `PEARL8x8' is used instead
+of `VGA8x8' if the vertical size of the display is less than 400 pixel
+rows.
+
+5.1.5) monitorcap:
+-------------------
+
+Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
+
+This describes the capabilities of a multisync monitor. For now, only
+the color frame buffer uses the settings of "monitorcap:".
+
+ <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
+your monitor can work with, in Hz. <hmin> and <hmax> are the same for
+the horizontal frequency, in kHz.
+
+ The defaults are 50;90;15;38 (Generic Amiga monitor).
+
+
+5.2) fd_def_df0=
+----------------
+
+Syntax: fd_def_df0=<value>
+
+Sets the df0 value for "silent" floppy drives. The value should be in
+hexadecimal with "0x" prefix.
+
+
+5.3) wd33c93=
+-------------
+
+Syntax: wd33c93=<sub-options...>
+
+The <sub-options> is a comma-separated list of the sub-options listed
+below.
+
+5.3.1) nosync
+-------------
+
+Syntax: nosync:bitmask
+
+ bitmask is a byte where the 1st 7 bits correspond with the 7
+possible SCSI devices. Set a bit to prevent sync negotiation on that
+device. To maintain backwards compatibility, a command-line such as
+"wd33c93=255" will be automatically translated to
+"wd33c93=nosync:0xff". The default is to disable sync negotiation for
+all devices, eg. nosync:0xff.
+
+5.3.2) period
+-------------
+
+Syntax: period:ns
+
+ `ns' is the minimum # of nanoseconds in a SCSI data transfer
+period. Default is 500; acceptable values are 250 - 1000.
+
+5.3.3) disconnect
+-----------------
+
+Syntax: disconnect:x
+
+ Specify x = 0 to never allow disconnects, 2 to always allow them.
+x = 1 does 'adaptive' disconnects, which is the default and generally
+the best choice.
+
+5.3.4) debug
+------------
+
+Syntax: debug:x
+
+ If `DEBUGGING_ON' is defined, x is a bit mask that causes various
+types of debug output to printed - see the DB_xxx defines in
+wd33c93.h.
+
+5.3.5) clock
+------------
+
+Syntax: clock:x
+
+ x = clock input in MHz for WD33c93 chip. Normal values would be from
+8 through 20. The default value depends on your hostadapter(s),
+default for the A3000 internal controller is 14, for the A2091 its 8
+and for the GVP hostadapters its either 8 or 14, depending on the
+hostadapter and the SCSI-clock jumper present on some GVP
+hostadapters.
+
+5.3.6) next
+-----------
+
+ No argument. Used to separate blocks of keywords when there's more
+than one host adapter in the system.
+
+
+5.4) gvp11=
+-----------
+
+Syntax: gvp11=<addr-mask>
+
+ The earlier versions of the GVP driver did not handle DMA
+address-mask settings correctly which made it necessary for some
+people to use this option, in order to get their GVP controller
+running under Linux. These problems have hopefully been solved and the
+use of this option is now highly unrecommended!
+
+ Incorrect use can lead to unpredictable behavior, so please only use
+this option if you *know* what you are doing and have a reason to do
+so. In any case if you experience problems and need to use this
+option, please inform us about it by mailing to the Linux/68k kernel
+mailing list.
+
+ The address mask set by this option specifies which addresses are
+valid for DMA with the GVP Series II SCSI controller. An address is
+valid, if no bits are set except the bits that are set in the mask,
+too.
+
+ Some versions of the GVP can only DMA into a 24 bit address range,
+some can address a 25 bit address range while others can use the whole
+32 bit address range for DMA. The correct setting depends on your
+controller and should be autodetected by the driver. An example is the
+24 bit region which is specified by a mask of 0x00fffffe.
+
+
+/* Local Variables: */
+/* mode: text */
+/* End: */
diff --git a/Documentation/magic-number.txt b/Documentation/magic-number.txt
index 1c28f155f..c8ea597f4 100644
--- a/Documentation/magic-number.txt
+++ b/Documentation/magic-number.txt
@@ -54,6 +54,7 @@ SCC_MAGIC 0x8530 struct scc_channel include/linux/scc.h
ISDN_ASYNC_MAGIC 0x49344C01 modem_info include/linux/isdn.h
ISDN_NET_MAGIC 0x49344C02 isdn_net_ndev include/linux/isdn.h
STLI_BOARDMAGIC 0x4bc6c825 stlibrd_t include/linux/istallion.h
+ROUTER_MAGIC 0x524d4157 wanlink_t include/linux/router.h
STLI_PORTMAGIC 0xe671c7a1 stliport_t include/linux/istallion.h
STL_PANELMAGIC 0x7ef621a1 stlpanel_t include/linux/stallion.h
STL_BOARDMAGIC 0xa2267f52 stlbrd_t include/linux/stallion.h
diff --git a/Documentation/mca.txt b/Documentation/mca.txt
new file mode 100644
index 000000000..62b777de4
--- /dev/null
+++ b/Documentation/mca.txt
@@ -0,0 +1,210 @@
+i386 Micro Channel Architecture Support
+=======================================
+
+MCA support is enabled using the CONFIG_MCA define. A machine with a MCA
+bus will have the kernel variable MCA_bus set, assuming the BIOS feature
+bits are set properly (see arch/i386/boot/setup.S for information on
+how this detection is done).
+
+Adapter Detection
+=================
+
+The ideal MCA adapter detection is done through the use of the
+Programmable Option Select registers. Generic functions for doing
+this have been added in include/linux/mca.h and arch/i386/kernel/mca.c.
+Everything needed to detect adapters and read (and write) configuration
+information is there. A number of MCA-specific drivers already use
+this. The typical probe code looks like the following:
+
+ #include <linux/mca.h>
+
+ unsigned char pos2, pos3, pos4, pos5;
+ struct device* dev;
+ int slot;
+
+ if( MCA_bus ) {
+ slot = mca_find_adapter( ADAPTER_ID, 0 );
+ if( slot == MCA_NOTFOUND ) {
+ return ENODEV;
+ }
+ /* optional - see below */
+ mca_set_adapter_name( slot, "adapter name & description" );
+ mca_set_adapter_procfn( slot, dev_getinfo, dev );
+
+ /* read the POS registers. Most devices only need
+ 2 and 3 */
+ pos2 = mca_read_stored_pos( slot, 2 );
+ pos3 = mca_read_stored_pos( slot, 3 );
+ pos4 = mca_read_stored_pos( slot, 4 );
+ pos5 = mca_read_stored_pos( slot, 5 );
+ } else {
+ return ENODEV;
+ }
+
+ /* extract configuration from pos[2345] and set everything up */
+
+Loadable modules should modify this to test that the specified IRQ and
+IO ports (plus whatever other stuff) match. See 3c523.c for example
+code.
+
+Keep in mind that devices should never directly access the POS registers
+(via inb(), outb(), etc). While it's generally safe, there is a small
+potential for blowing up hardware when it's done at the wrong time.
+Furthermore, accessing a POS register disables a device temporarily.
+This is usually okay during startup, but do _you_ want to rely on it?
+During initial configuration, mca_init() reads all the POS registers
+into memory. mca_read_stored_pos() accesses that data. mca_read_pos()
+and mca_write_pos() are also available for (safer) direct POS access,
+but their use is _highly_ discouraged. mca_write_pos() is particularly
+dangerous, as it is possible for adapters to be put in inconsistent
+states (i.e. sharing IO address, etc) and may result in crashes, toasted
+hardware, and operator injury.
+
+User level drivers (such as the AGX X server) can use /proc/mca to find
+adapters (see below).
+
+Some MCA adapters can also be detected via the usual ISA-style device
+probing (many SCSI adapters, for example). This sort of thing is highly
+discouraged. Perfectly good information is available telling you what's
+there, so there's no excuse for messing with random IO ports. However,
+we MCA people still appreciate any ISA-style driver that will work with
+our hardware. You take what you can get...
+
+Level-Triggered Interrupts
+==========================
+
+Because MCA uses level-triggered interrupts, a few problems arise with
+what might best be described as the ISA mindset and its effects on
+drivers. These sorts of problems are expected to become less common as
+more people use shared IRQs on PCI machines.
+
+In general, an interrupt must be acknowledged not only at the ICU (which
+is done automagically by the kernel), but at the device level. In
+particular, IRQ 0 must be reset after a timer interrupt (now done in
+arch/i386/kernel/time.c) or the first timer interrupt hangs the system.
+There were also problems with the 1.3.x floppy drivers, but that seems
+to have been fixed.
+
+IRQs are also shareable, and most MCA-specific devices should be coded
+with shared IRQs in mind.
+
+/proc/mca
+=========
+
+I did a major rewrite of /proc/mca. It is now a directory containing
+various files for adapters and other stuff.
+
+ /proc/mca/pos Straight listing of POS registers
+ /proc/mca/slot[1-8] Information on adapter in specific slot
+ /proc/mca/video Same for integrated video
+ /proc/mca/scsi Same for integrated SCSI
+ /proc/mca/machine Machine information
+
+Device drivers can easily add their own information function for
+specific slots (including integrated ones) via the
+mca_set_adapter_procfn() call. Drivers that support this are ESDI, IBM
+SCSI, and 3c523. If a device is also a module, make sure that the proc
+function is removed in the module cleanup. This will require storing
+the slot information in a private structure somewhere. See the 3c523
+driver for details.
+
+Your typical proc function will look something like this:
+
+ static int
+ dev_getinfo( char* buf, int slot, void* d ) {
+ struct device* dev = (struct device*) d;
+ int len = 0;
+
+ len += sprintf( buf+len, "Device: %s\n", dev->name );
+ len += sprintf( buf+len, "IRQ: %d\n", dev->irq );
+ len += sprintf( buf+len, "IO Port: %#lx-%#lx\n", ... );
+ ...
+
+ return len;
+ }
+
+Some of the standard MCA information will already be printed, so don't
+bother repeating it. Don't try putting in more that 3K of information.
+
+Enable this function with:
+ mca_set_adapter_procfn( slot, dev_getinfo, dev );
+
+Disable it with:
+ mca_set_adapter_procfn( slot, NULL, NULL );
+
+It is also recommended that, even if you don't write a proc function, to
+set the name of the adapter (i.e. "PS/2 ESDI Controller") via
+mca_set_adapter_name( int slot, char* name ). Up to 30 characters are
+used.
+
+MCA Device Drivers
+==================
+
+Currently, there are a number of MCA-specific device drivers.
+
+1) PS/2 ESDI
+ drivers/block/ps2esdi.c
+ include/linux/ps2esdi.h
+ Uses major number 36, and should use /dev files /dev/eda, /dev/edb.
+ Supports two drives, but only one controller. Usually requires the
+ command-line args ed=cyl,head,sec
+
+2) PS/2 SCSI
+ drivers/scsi/ibmmca.c
+ drivers/scsi/ibmmca.h
+ The driver for the IBM SCSI subsystem. Includes both integrated
+ controllers and adapter cards. May require command-line arg
+ ibmmcascsi=pun to force detection of an adapter.
+
+3) 3c523
+ drivers/net/3c523.c
+ drivers/net/3c523.h
+ 3Com 3c523 Etherlink/MC ethernet driver.
+
+4) SMC Ultra/MCA
+ drivers/net/smc-mca.c
+ drivers/net/smc-mca.h
+ Elite/A (8013EP/A) and Elite10T/A (8013WP/A) ethernet driver
+
+As well, drivers/char/psaux.c was modified to support IRQ sharing (it's
+#ifdef CONFIG_MCA'ed, for your convenience, although PCI users might be
+able to use it...)
+
+The serial drivers were modified to support the extended IO port range
+of the typical MCA system (also #ifdef CONFIG_MCA).
+
+The following devices work with existing drivers:
+1) Token-ring
+2) Future Domain SCSI (MCS-600, MCS-700, not MCS-350)
+3) Adaptec 1640 SCSI (aha1542 driver)
+4) Buslogic SCSI (various)
+
+Bugs & Other Weirdness
+======================
+
+NMIs tend to occur with MCA machines because of various hardware
+weirdness, bus timeouts, and many other non-critical things. Those of
+you who have NMI problems should probably set the CONFIG_IGNORE_NMI flag
+somewhere. NMIs seem to be particularly common on the model 70.
+
+Various Pentium machines have serious problems with the FPU test in
+bugs.h. You may need to comment out the FPU test before you can even
+boot. This occurs, as far as we know, on the Pentium-equipped 85s, 95s,
+and some servers. The PCI/MCA PC 750s are fine as far as I can tell.
+
+The model 80 has a raft of problems that are just too weird and unique
+to get into here. Some people have no trouble while others have nothing
+but problems. I'd suspect the problems are related to the age of the
+average 80 and accompanying hardware deterioration.
+
+Credits
+=======
+A whole pile of people have contributed to the MCA code. I'd include
+their names here, but I don't have a list handy. Check the MCA Linux
+home page (URL below) for an out-of-date list.
+
+=====================================================================
+http://glycerine.cetmm.uni.edu/mca
+
+Chris Beauregard
+chrisb@truespectra.com
diff --git a/Documentation/memory.txt b/Documentation/memory.txt
new file mode 100644
index 000000000..8e43d27b5
--- /dev/null
+++ b/Documentation/memory.txt
@@ -0,0 +1,60 @@
+There are several classic problems related to memory on Linux
+systems.
+
+ 1) There are some buggy motherboards which cannot properly
+ deal with the memory above 16MB. Consider exchanging
+ your motherboard.
+
+ 2) You cannot do DMA on the ISA bus to addresses above
+ 16M. Most device drivers under Linux allow the use
+ of bounce buffers which work around this problem. Drivers
+ that don't use bounce buffers will be unstable with
+ more than 16M installed. Drivers that use bounce buffers
+ will be OK, but may have slightly higher overhead.
+
+ 3) There are some motherboards that will not cache above
+ a certain quantity of memory. If you have one of these
+ motherboards, your system will be SLOWER, not faster
+ as you add more memory. Consider exchanging your
+ motherboard.
+
+ 4) Linux will not currently detect above 64M of RAM,
+ regardless of how much memory is actually installed.
+
+All of these problems can be addressed with the "mem=XXXM" boot option
+(where XXX is the size of RAM to use in megabytes). Adding this boot
+option to your boot loader can help Linux see more than 64M. It can
+also tell Linux to use less memory than is actually installed.
+
+See the documentation of your boot loader (LILO, loadlin, etc.) about
+how to pass options to the kernel.
+
+There are other memory problems which Linux cannot deal with. Random
+corruption of memory is usually a sign of serious hardware trouble.
+Try:
+
+ * Reducing memory settings in the BIOS to the most conservative
+ timings.
+
+ * Adding a cooling fan.
+
+ * Not overclocking your CPU.
+
+ * Having the memory tested in a memory tester or exchanged
+ with the vendor.
+
+ * Exchanging your CPU, cache, or motherboard for one that works.
+
+ * Disabling the cache from the BIOS.
+
+ * Try passing the "mem=4M" option to the kernel to limit
+ Linux to using a very small amount of memory.
+
+
+Other tricks:
+
+ * Try passing the "no-387" option to the kernel to ignore
+ a buggy FPU.
+
+ * Try passing the "no-hlt" option to disable the potentially
+ buggy HLT instruction in your CPU.
diff --git a/Documentation/modules.txt b/Documentation/modules.txt
index 9fb147ecc..1a38f26e7 100644
--- a/Documentation/modules.txt
+++ b/Documentation/modules.txt
@@ -49,7 +49,7 @@ the official kernel sources, you will certainly like this option...
Here is a sample of the available modules included in the kernel sources:
- Most filesystems: minix, xiafs, msdos, umsdos, sysv, isofs, hpfs,
+ Most filesystems: minix, msdos, umsdos, sysv, isofs, hpfs,
smbfs, nfs
Mid-level SCSI support (required by top and low level scsi drivers).
@@ -63,6 +63,7 @@ Here is a sample of the available modules included in the kernel sources:
aztcd: Aztech,Orchid,Okano,Wearnes
cm206: Philips/LMS CM206
gscd: Goldstar GCDR-420
+ bpcd: MicroSolutions backpack CDrom
mcd, mcdx: Mitsumi LU005, FX001
optcd: Optics Storage Dolphin 8000AT
sjcd: Sanyo CDR-H94A
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX
index f5182b1c7..6bc7c31ac 100644
--- a/Documentation/networking/00-INDEX
+++ b/Documentation/networking/00-INDEX
@@ -14,18 +14,28 @@ ax25.txt
- info on using AX.25 and NET/ROM code for Linux
framerelay.txt
- info on using Frame Relay/Data Link Connection Identifier (DLCI).
+lapb-module.txt
+ - programming information on the LAPB module.
ncsa-telnet
- notes on how NCSA telnet (DOS) breaks with MTU discovery enabled.
net-modules.txt
- info and "insmod" parameters for all network driver modules.
ppp.txt
- info on what software you should use to run PPP.
+shaper.txt
+ - info on the module that can shape/limit transmitted traffic.
tcp.txt
- short blurb on how TCP output takes place.
tulip.txt
- info on using DEC 21040/21041/21140 based PCI ethernet cards.
vortex.txt
- info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) e'net cards.
+wan-router.txt
+ - Wan router documentation
+x25.txt
+ - general info on X.25 development.
+x25-iface.txt
+ - description of the X.25 Packet Layer to LAPB device interface.
z8530drv.txt
- info about Linux driver for Z8530 based HDLC cards for AX.25
diff --git a/Documentation/networking/ax25.txt b/Documentation/networking/ax25.txt
index bcce0ff6b..937b9efe6 100644
--- a/Documentation/networking/ax25.txt
+++ b/Documentation/networking/ax25.txt
@@ -1,53 +1,14 @@
-With the version of the AX.25, NET/ROM and Rose protocol stacks provided in
-the Linux kernel from 2.1.9 onwards, a change has occurred in the
-configuration of the protocols. With previous versions such changes were
-made via ioctl calls, but now use is being made of the sysctl interface.
+To use the amateur radio protocols within Linux you will need to get a
+suitable copy of the AX.25 Utilities. More detailed information about these
+and associated programs can be found on http://www.cs.nott.ac.uk/~jsn/.
-Each AX.25 device will be represented in the directory /proc/sys/net/ax25,
-in the form "dev.parms" where dev is the device name, eg ax0. In it are a
-string of numbers that represent different values for the different
-parameters, they are:
-
-No. Name Meaning Default
-1 IP Default Mode 0=DG 1=VC 0
-2 AX.25 Default Mode 0=Normal 1=Extended 0
-3 Allow Vanilla Connects 0=No 1=Yes 1
-4 Backoff 0=Linear 1=Exponential 1
-5 Connected Mode 0=No 1=Yes 1
-6 Standard Window 1 <= N <= 7 2
-7 Extended Window 1 <= N <= 63 32
-8 T1 Timeout 1s <= N <= 30s 10s
-9 T2 Timeout 1s <= N <= 20s 3s
-10 T3 Timeout 0s <= N <= 3600s 300s
-11 Idle Timeout 0m <= N 20m
-12 N2 1 <= N <= 31 10
-13 AX.25 MTU 1 <= N <= 512 256
-14 Max Queue 1 <= N <= 20 2
-15 Digipeater Mode 0=None 1=Inband 2=XBand 3=Both 3
-
-In the above list T1, T2 and T3 are given in seconds, and the Idle Timeout
-is given in minutes. But please note that the values used in the sysctl
-interface are given in internal units where the time in seconds is
-multiplied by 10, this allows resolution down to 1/10 of a second. With
-timers that are allowed to be zero, eg T3 and Idle, a zero value indicates
-that the timer is disabled.
-
-With NET/ROM and Rose protocol stacks, the entries in /proc/sys/net/netrom
-and /proc/sys/net/rose are more obvious. Each file in these directories has
-a name more in keeping with its function, and will not be explained in any
-greater depth here. As with the AX.25 sysctl entries, timers operate with a
-resolution of 100ms and so values should be written accordingly.
-
-It is possible that the AX.25 sysctl interface will change in the future and
-become more user friendly.
-
-For more information about the AX.25 and NET/ROM protocol stacks, see the
-AX25-HOWTO written by Terry Dawson <terry@perf.no.itg.telstra.com.au> who is
-also the AX.25 Utilities maintainer.
+For more information about the AX.25, NET/ROM and ROSE protocol stacks, see
+the AX25-HOWTO written by Terry Dawson <terry@perf.no.itg.telstra.com.au>
+who is also the AX.25 Utilities maintainer.
There is an active mailing list for discussing Linux amateur radio matters
called linux-hams. To subscribe to it, send a message to
-majordomo@vger.rutgers.edu with the words "subscribe linux-hams" in the body
+Majordomo@vger.rutgers.edu with the words "subscribe linux-hams" in the body
of the message, the subject field is ignored.
Jonathan G4KLX
diff --git a/Documentation/networking/cs89x0.txt b/Documentation/networking/cs89x0.txt
new file mode 100644
index 000000000..ab89d645e
--- /dev/null
+++ b/Documentation/networking/cs89x0.txt
@@ -0,0 +1,651 @@
+CRYSTAL LAN CS8900/CS8920 ETHERNET ADAPTERS
+Linux Network Interface Driver ver. 1.02
+===============================================================================
+
+
+TABLE OF CONTENTS
+
+1.0 CRYSTAL LAN CS8900/CS8920 ETHERNET ADAPTERS
+ 1.1 Product Overview
+ 1.2 Driver Description
+ 1.2.1 Driver Name
+ 1.2.2 File in the Driver Package
+ 1.3 System Requirements
+ 1.4 Licensing Information
+
+2.0 ADAPTER INSTALLATION and CONFIGURATION
+ 2.1 CS8900-based Adapter Configuration
+ 2.2 CS8920-based Adapter Configuration
+
+3.0 LOADING THE DRIVER AS A MODULE
+
+4.0 COMPILING THE DRIVER
+ 4.1 Compiling the Driver As a Loadable Module
+ 4.2 Compiling the Driver Into the Kernel
+ 4.3 Compiling the Driver for a Linux v1.2.13 Kernel
+
+5.0 TESTING AND TROUBLESHOOTING
+ 5.1 Known Defects and Limitations
+ 5.2 Testing the Adapter
+ 5.2.1 Diagnostic Self-Test
+ 5.2.2 Diagnostic Network Test
+ 5.3 Using the Adapter's LEDs
+ 5.4 Resolving I/O Conflicts
+
+6.0 TECHNICAL SUPPORT
+ 6.1 Contacting Crystal's Technical Support
+ 6.2 Information Required Before Contacting Technical Support
+ 6.3 Obtaining the Latest Driver Version
+ 6.3.1 Crystal's Web Site
+ 6.3.2 Crystal's Bulletin Board Service
+
+
+8.3 OBTAINING THE LATEST DRIVER VERSION
+
+You can obtain the latest CS89XX drivers and support software from Crystal's
+BBS or Web site.
+
+
+8.3.1 CRYSTAL'S WEB SITE
+
+Crystal Semiconductor maintains a web page at http://www.crystal.com with the
+the latest drivers and technical publications.
+
+
+8.3.2 CRYSTAL'S BULLETIN BOARD SERVICE
+
+
+
+
+1.0 CRYSTAL LAN CS8900/CS8920 ETHERNET ADAPTERS
+===============================================================================
+
+
+1.1 PRODUCT OVERVIEW
+
+The CS8900-based ISA Ethernet Adapters from Crystal Semiconductor follow
+IEEE 802.3 standards and support half or full-duplex operation in ISA bus
+computers on 10 Mbps Ethernet networks. The adapters are designed for
+operation in 16-bit ISA or EISA bus expansion slots and are available in
+10BaseT-only or 3-media configurations (10BaseT, 10Base2, and AUI for 10Base-5
+or fiber networks).
+
+CS8920-based adapters are similar to the CS8900-based adapter with additional
+features for Plug and Play (PnP) support and Wakeup Frame recognition. As
+such, the configuration procedures differ somewhat between the two types of
+adapters. Refer to the "Adapter Configuration" section for details on
+configuring both types of adapters.
+
+
+1.2 DRIVER DESCRIPTION
+
+The CS8900/CS8920 Ethernet Adapter driver for Linux supports the Linux v1.2.13
+and v2.0 (or greater) kernels. It can be compiled directly into the kernel or
+loaded at run-time as a device driver module.
+
+1.2.1 Driver Name: cs89x0
+
+1.2.2 Files in the Driver Archive:
+
+ readme.txt - this file
+ release.txt - known defects and modifcation log
+ cs89x0.c - driver C code
+ cs89x0.h - driver header file
+ cs89x0.o - pre-compiled module (for v2.0 kernel)
+
+
+
+1.3 SYSTEM REQUIREMENTS
+
+The following hardware is required:
+
+ * Crystal LAN (CS8900/20-based) Ethernet ISA Adapter
+
+ * IBM or IBM-compatible PC with:
+ * An 80386 or higher processor
+ * 16 bytes of contiguous IO space available between 210h - 370h
+ * One available IRQ (5,10,11,or 12 for the CS8900, 3-7,9-15 for CS8920).
+
+ * Appropriate cable (and connector for AUI, 10BASE-2) for your network
+ topology.
+
+The following software is required:
+
+ * LINUX kernel version 1.2.13 or 2.X
+
+ * CS8900/20 Setup Utility (DOS-based)
+
+ * LINUX kernel sources for your kernel (if compiling into kernel)
+
+ * GNU Toolkit (gcc and make) v2.6 or above (if compiling into kernel
+ or a module)
+
+
+
+1.4 LICENSING INFORMATION
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation, version 1.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+more details.
+
+For a full copy of the GNU General Public License, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+
+2.0 ADAPTER INSTALLATION and CONFIGURATION
+===============================================================================
+
+Both the CS8900 and CS8920-based adapters can be configured using parameters
+stored in an on-board EEPROM. You must use the DOS-based CS8900/20 Setup
+Utility if you want to change the adapter's configuration in EEPROM.
+
+When loading the driver as a module, you can specify many of the adapter's
+configuration parameters on the command-line to override the EEPROM's settings
+or for interface configuration when an EEPROM is not used. (CS8920-based
+adapters must use an EEPROM.) See Section 3.0 LOADING THE DRIVER AS A MODULE.
+
+Since the CS8900/20 Setup Utility is a DOS-based application, you must install
+and configure the adapter in a DOS-based system using the CS8900/20 Setup
+Utility before installation in the target LINUX system. (Not required if
+installing a CS8900-based adapter and the default configuration is acceptable.)
+
+
+2.1 CS8900-BASED ADAPTER CONFIGURATION
+
+CS8900-based adapters shipped from Crystal Semiconductor have been configured
+with the following "default" settings:
+
+ Operation Mode: Memory Mode
+ IRQ: 10
+ Base I/O Address: 300
+ Memory Base Address: D0000
+ Optimization: DOS Client
+ Transmission Mode: Half-duplex
+ BootProm: None
+ Media Type: Autodetect (3-media cards) or
+ 10BASE-T (10BASE-T only adapter)
+
+You should only change the default configuration settings if conflicts with
+another adapter exists. To change the adapter's configuration, run the
+CS8900/20 Setup Utility.
+
+
+2.2 CS8920-BASED ADAPTER CONFIGURATION
+
+CS8920-based adapters are shipped from Crystal Semiconductor configured as Plug
+and Play (PnP) enabled. However, since Linux is not currently a PnP compatible
+operating system, you must install the CS8920 adapter in a DOS-based PC and
+run the CS8900/20 Setup Utility to disable PnP and configure the adapter before
+installation in the target Linux system. Failure to do this will leave the
+adapter inactive and the driver will be unable to communicate with the
+adapter.
+
+
+ ****************************************************************
+ * CS8920-BASED ADAPTERS: *
+ * *
+ * CS8920-BASED ADAPTERS ARE PLUG and PLAY ENABLED BY DEFAULT. *
+ * SCO UNIX IS NOT A PnP OPERATING SYSTEM. THEREFORE, YOU MUST *
+ * RUN THE CS8900/20 SETUP UTILITY TO DISABLE PnP SUPPORT AND *
+ * TO ACTIVATE THE ADAPTER. *
+ ****************************************************************
+
+
+
+
+3.0 LOADING THE DRIVER AS A MODULE
+===============================================================================
+
+If the driver is compiled as a loadable module, you can load the driver module
+with the 'insmod' command. Many of the adapter's configuration parameters can
+be specified as command-line arguments to the load command. This facility
+provides a means to override the EEPROM's settings or for interface
+configuration when an EEPROM is not used.
+
+Example:
+
+ insmod cs89x0.o io=0x200 irq=0xA media=aui
+
+This exmaple loads the module and configures the adapter to use an IO port base
+address of 200h, interrupt 10, and use the AUI media connection. The following
+configuration options are available on the command line:
+
+* io=### - specify IO address (200h-360h)
+* irq=## - specify interrupt level
+* mmode=##### - specify memory base address
+* dma=# - specify dma channel
+* media=rj45 - specify media type
+ or media=2
+ or media=aui
+ or medai=auto
+* duplex=f - specify forced half/full/autonegotiate duplex
+ or duplex=h
+ or duplex=auto
+* debug=# - debug level
+
+NOTES:
+* If an EEPROM is present, any specified command-line parameter will override
+the corresponding configuration value stored in EEPROM.
+
+* If no "io" or "mmode" parameter is specified on the command-line, the driver
+will scan for the adapter. When scanning, the driver only reads I/O ports.
+This sometimes is not sufficient, (e.g. after a warm boot). If you wish to
+allow the driver to perform a more aggressive scan (one write to the IO base
+addresses to reset the data port pointer) you can specify an I/O address with
+an address value one greater than the configured address. Example, to scan for
+an adapter located at IO base 0x300, specify an IO address of 0x301. Only
+ports between 200h and 360h at 20h intervals are scanned.
+
+* The "duplex=auto" parameter is only supported for the CS8920.
+
+* The minimum command-line configuration required if an EEPROM is not present
+is:
+
+ * io or mmode base address
+ * irq
+ * media type (no autodetect)
+
+The following addtional parameters are CS89XX defaults (values used with no
+EEPROM or command-line argument).
+
+ * DMA Burst = enabled
+ * IOCHRDY Enabled = enabled
+ * UseSA = enabled
+ * CS8900 defaults to half-duplex if not specified on command-line
+ * CS8920 defaults to autoneg if not specified on command-line
+ * Use reset defaults for other config parameters
+
+* You can use ifconfig to set the adapter's Ethernet address.
+
+
+
+
+4.0 COMPILING THE DRIVER
+===============================================================================
+
+The cs89x0 driver can be compiled directly into the kernel or compiled into
+a loadable device driver module.
+
+NOTE: This part of the description relates to adding the driver to a kernel
+not containing the cs89x0 driver. This kernel already contains it.
+
+4.1 COMPILING THE DRIVER AS A LOADABLE MODULE
+
+To compile the driver into a loadable module, use the following command
+(single command line, without quotes):
+
+"gcc -D__KERNEL__ -I/usr/src/linux/include -I/usr/src/linux/net/inet -Wall
+-Wstrict-prototypes -O2 -fomit-frame-pointer -DMODULE -DCONFIG_MODVERSIONS
+-c cs89x0.c"
+
+
+4.2 COMPILING THE DRIVER INTO THE KERNEL
+
+To compile the driver directly into the kernel requires editing four
+configuration files, copying the source file to the /linux/drivers/net
+directory and then running the make utility to rebuild the kernel.
+
+1. Edit the following configuration files by adding the statements as
+indicated. (When possible, try to locate the added text to the section of the
+file containing similar statements).
+
+a.) In /usr/src/linux/drivers/net/CONFIG, add
+
+CS89x0_OPTS =
+
+Example:
+
+ WD_OPTS = #-DWD_SHMEM=0xDD000
+ EL2_OPTS = #-DEL2_AUI
+ CS89x0_OPTS =
+ NE_OPTS =
+ HP_OPTS =
+ PLIP_OPTS =
+
+
+b.) In /usr/src/linux/drivers/net/Config.in, add:
+
+tristate 'CS89x0 support' CONFIG_CS89x0
+
+Example:
+
+ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+ tristate 'ICL EtherTeam 16i/32 support' CONFIG_ETH16I
+ fi
+
+ tristate 'CS89x0 support' CONFIG_CS89x0
+
+ tristate 'NE2000/NE1000 support' CONFIG_NE2000
+ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+ tristate 'NI5210 support' CONFIG_NI52
+
+
+c.) In /usr/src/linux/drivers/net/Makefile, add the following lines:
+
+ifeq ($(CONFIG_CS89x0),y)
+L_OBJS += cs89x0.o
+else
+ ifeq ($(CONFIG_CS89x0),m)
+ M_OBJS += cs89x0.o
+ endif
+endif
+
+
+d.) In /linux/drivers/net/Space.c file, add the line:
+
+extern int cs89x0_probe(struct device *dev);
+
+
+Example:
+
+ extern int ultra_probe(struct device *dev);
+ extern int wd_probe(struct device *dev);
+ extern int el2_probe(struct device *dev);
+
+ extern int cs89x0_probe(struct device *dev);
+
+ extern int ne_probe(struct device *dev);
+ extern int hp_probe(struct device *dev);
+ extern int hp_plus_probe(struct device *dev);
+
+
+Also add:
+
+ #ifdef CONFIG_CS89x0
+ && cs89x0_probe(dev)
+ #endif
+
+
+2.) Copy the driver source files (cs89x0.c and cs89x0.h) and this README file
+into the /usr/src/linux/drivers/net directory.
+
+
+3.) Run 'make config' followed by 'make dep' and finally 'make' to rebuild
+the kernel.
+
+
+4.3 COMPILING THE DRIVER FOR A LINUX v1.2.13 KERNEL
+
+To compile the driver for Linux v1.2.13 (into the kernel or as a module),
+change the "SUPPORTS" define at the beginning of the cs89x0.c file.
+Example:
+
+#define SUPPORTS_1_2_13 1 /* supports Linux kernel v1.2.13 */
+ or
+#define SUPPORTS_1_2_13 0 /* supports Linux kernel v2.0 (default) */
+
+
+
+5.0 TESTING AND TROUBLESHOOTING
+===============================================================================
+
+5.1 KNOWN DEFECTS and LIMITATIONS
+
+Refer to the RELEASE.TXT file distributed as part of this archive for a list of
+know defects, driver limitations, and work arounds.
+
+
+5.2 TESTING THE ADAPTER
+
+Once the adapter has been installed and configured, the diagnostic option of
+the CS8900/20 Setup Utility can be used to test the functionality of the
+adapter and its network connection. Use the diagnostics 'Self Test' option to
+test the functionality of the adapter with the hardware configuration you have
+assigned. You can use the diagnostics 'Network Test' to test the ability of the
+adapter to communicate across the Ethernet with another PC equipped with a
+CS8900/20-based adapter card (it must also be running the CS8900/20 Setup
+Utility).
+
+ NOTE: The Setup Utility's diagnostics are designed to run in a
+ DOS-only operating system environment. DO NOT run the diagnostics
+ from a DOS or command prompt session under Windows 95, Windows NT,
+ OS/2, or other operating system.
+
+ [AC - Question : Do they work in DOSEMU ?]
+
+To run the diagnostics tests on the CS8900/20 adapter:
+
+ 1.) Boot DOS on the PC and start the CS8900/20 Setup Utility.
+
+ 2.) The adapter's current configuration is displayed. Hit the ENTER key to
+ get to the main menu.
+
+ 4.) Select 'Diagnostics' (ALT-G) from the main menu.
+ * Select 'Self-Test' to test the adapter's basic functionality.
+ * Select 'Network Test' to test the network connection and cabling.
+
+
+5.2.1 DIAGNOSTIC SELF-TEST
+
+The diagnostic self-test checks the adapter's basic functionality as well as
+its ability to communicate across the ISA bus based on the system resources
+assigned during hardware configuration. The following tests are performed:
+
+ * IO Register Read/Write Test
+ The IO Register Read/Write test insures that the CS8900/20 can be
+ accessed in IO mode, and that the IO base address is correct.
+
+ * Shared Memory Test
+ The Shared Memory test insures the CS8900/20 can be accessed in memory
+ mode and that the range of memory addresses assigned does not conflict
+ with other devices in the system.
+
+ * Interrupt Test
+ The Interrupt test insures there are no conflicts with the assigned IRQ
+ signal.
+
+ * EEPROM Test
+ The EEPROM test insures the EEPROM can be read.
+
+ * Chip RAM Test
+ The Chip RAM test insures the 4K of memory internal to the CS8900/20 is
+ working properly.
+
+ * Internal Loop-back Test
+ The Internal Loop Back test insures the adapter's transmitter and
+ receiver are operating properly. If this test fails, make sure the
+ adapter's cable is connected to the network (check for LED activity for
+ example).
+
+ * Boot PROM Test
+ The Boot PROM test insures the Boot PROM is present, and can be read.
+ Failure indicates the Boot PROM was not successfully read due to a
+ hardware problem or due to a conflicts on the Boot PROM address
+ assignment. (Test only applies if the adapter is configured to use the
+ Boot PROM option.)
+
+Failure of a test item indicates a possible system resource conflict with
+another device on the ISA bus. In this case, you should use the Manual Setup
+option to reconfigure the adapter by selecting a different value for the system
+resource that failed.
+
+
+5.2.2 DIAGNOSTIC NETWORK TEST
+
+The Diagnostic Network Test verifies a working network connection by
+transferring data between two CS8900/20 adapters installed in different PCs
+on the same network. (Note: the diagnostic network test should not be run
+between two nodes across a router.)
+
+This test requires that each of the two PCs have a CS8900/20-based adapter
+installed and have the CS8900/20 Setup Utility running. The first PC is
+configured as a Responder and the other PC is configured as an Initiator.
+Once the Initiator is started, it sends data frames to the Responder which
+returns the frames to the Initiator.
+
+The total number of frames received and transmitted are displayed on the
+Initiator's display, along with a count of the number of frames received and
+transmitted OK or in error. The test can be terminated anytime by the user at
+either PC.
+
+To setup the Diagnostic Network Test:
+
+ 1.) Select a PC with a CS8900/20-based adapter and a known working network
+ connection to act as the Responder. Run the CS8900/20 Setup Utility
+ and select 'Diagnostics -> Network Test -> Responder' from the main
+ menu. Hit ENTER to start the Responder.
+
+ 2.) Return to the PC with the CS8900/20-based adapter you want to test and
+ start the CS8900/20 Setup Utility.
+
+ 3.) From the main menu, Select 'Diagnostic -> Network Test -> Initiator'.
+ Hit ENTER to start the test.
+
+You may stop the test on the Initiator at any time while allowing the Responder
+to continue running. In this manner, you can move to additional PCs and test
+them by starting the Initiator on another PC without having to stop/start the
+Responder.
+
+
+
+5.3 USING THE ADAPTER'S LEDs
+
+The 2 and 3-media adapters have two LEDs visible on the back end of the board
+located near the 10Base-T connector.
+
+Link Integrity LED: A "steady" ON of the green LED indicates a valid 10Base-T
+connection. (Only applies to 10Base-T. The green LED has no significance for
+a 10Base-2 or AUI connection.)
+
+TX/RX LED: The yellow LED lights briefly each time the adapter transmits or
+receives data. (The yellow LED will appear to "flicker" on a typical network.)
+
+
+5.4 RESOLVING I/O CONFLICTS
+
+An IO conflict occurs when two or more adapter use the same ISA resource (IO
+address, memory address or IRQ). You can usually detect an IO conflict in one
+of four ways after installing and or configuring the CS8900/20-based adapter:
+
+ 1.) The system does not boot properly (or at all).
+
+ 2.) The driver can not communicate with the adapter, reporting an "Adapter
+ not found" error message.
+
+ 3.) You cannot connect to the network or the driver will not load.
+
+ 4.) If you have configured the adapter to run in memory mode but the driver
+ reports it is using IO mode when loading, this is an indication of a
+ memory address conflict.
+
+If an IO conflict occurs, run the CS8900/20 Setup Utility and perform a
+diagnostic self-test. Normally, the ISA resource in conflict will fail the
+self-test. If so, reconfigure the adapter selecting another choice for the
+resource in conflict. Run the diagnostics again to check for further IO
+conflicts.
+
+In some cases, such as when the PC will not boot, it may be necessary to remove
+the adapter and reconfigure it by installing it in another PC to run the
+CS8900/20 Setup Utility. Once reinstalled in the target system, run the
+diagnostics self-test to ensure the new configuration is free of conflicts
+before loading the driver again.
+
+When manually configuring the adapter, keep in mind the typical ISA system
+resource usage as indicated in the tables below.
+
+I/O Address Device IRQ Device
+----------- -------- --- --------
+ 200-20F Game I/O adapter 3 COM2, Bus Mouse
+ 230-23F Bus Mouse 4 COM1
+ 270-27F LPT3: third parallel port 5 LPT2
+ 2F0-2FF COM2: second serial port 6 Floppy Disk controller
+ 320-32F Fixed disk controller 7 LPT1
+ 8 Real-time Clock
+ 9 EGA/VGA display adapter
+ 12 Mouse (PS/2)
+Memory Address Device 13 Math Coprocessor
+-------------- --------------------- 14 Hard Disk controller
+A000-BFFF EGA Graphics Adpater
+A000-C7FF VGA Graphics Adpater
+B000-BFFF Mono Graphics Adapter
+B800-BFFF Color Graphics Adapter
+E000-FFFF AT BIOS
+
+
+
+
+6.0 TECHNICAL SUPPORT
+===============================================================================
+
+6.1 CONTACTING CRYSTAL'S TECHNICAL SUPPORT
+
+Crystal's CS89XX Technical Application Support can be reached at:
+
+Telephone :(800) 888-5016 (from inside U.S. and Canada)
+ :(512) 442-7555 (from outside the U.S. and Canada)
+Fax :(512) 912-3871
+Email :ethernet@crystal.cirrus.com
+WWW :http://www.crystal.com
+
+
+6.2 INFORMATION REQUIRED BEFORE CONTACTING TECHNICAL SUPPORT
+
+Before contacting Crystal for technical support, be prepared to provide as much
+of the following information as possible.
+
+1.) Adapter type (CRD8900, CDB8900, CDB8920, etc.)
+
+2.) Adapter configuration
+
+ * IO Base, Memory Base, IO or memory mode enabled, IRQ, DMA channel
+ * Plug and Play enabled/disabled (CS8920-based adapters only)
+ * Configured for media auto-detect or specific media type (which type).
+
+3.) PC System's Configuration
+
+ * Plug and Play system (yes/no)
+ * BIOS (make and version)
+ * System make and model
+ * CPU (type and speed)
+ * System RAM
+ * SCSI Adapter
+
+4.) Software
+
+ * CS89XX driver and version
+ * Your network operating system and version
+ * Your system's OS version
+ * Version of all protocol support files
+
+5.) Any Error Message displayed.
+
+
+
+6.3 OBTAINING THE LATEST DRIVER VERSION
+
+You can obtain the latest CS89XX drivers and support software from Crystal's
+BBS or Web site. You can also contact Crystal's Technical Support (email:
+ethernet@crystal.cirrus.com) and request that you be registered for automatic
+software-update notification.
+
+
+6.3.1 CRYSTAL'S WEB SITE
+
+Crystal Semiconductor maintains a web page at http://www.crystal.com with the
+the latest drivers and technical publications.
+
+
+6.3.2 CRYSTAL'S BULLETIN BOARD SERVICE
+
+Access to the BBS is available 24 hours a day, seven days a week. Baud
+rates from 300K to 14.4K are supported as well as most common file transfer
+protocols.
+
+To access the BBS, set your terminal software to use 8 data bits, 1 stop bit,
+and no parity. Dial (512) 441-3265 and press <ENTER> after connection is made.
+Login using your account name and password. (If you do not have an account,
+you may login as "GUEST". No password is required for the Guest account.)
+
+From the main system menu, select the "Enter Public File Area" menu option.
+From the Public File Area menu, select the "LAN (Local Area Network)" file
+area. A list of the latest drivers and support utilities available for the
+CS89XX ISA Ethernet adapter will be presented along with the option to download
+the file(s) of your choice.
+
+
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
new file mode 100644
index 000000000..b4185ebd6
--- /dev/null
+++ b/Documentation/networking/ip-sysctl.txt
@@ -0,0 +1,94 @@
+/proc/sys/net/ipv4/* variables:
+
+ip_forwarding - "SNMP" BOOLEAN
+ 2 - disabled (default)
+ 1 - enabled
+
+ This variable is special, its change resets all configuration
+ parameters to their default state (RFC1122 for hosts, RFC1812
+ for routers)
+
+ip_default_ttl - INTEGER
+ default 64
+
+ip_log_martians - BOOLEAN
+ log packets with strange or impossible addresses.
+ default TRUE (router)
+ FALSE (host)
+
+ip_accept_redirects - BOOLEAN
+ Accept ICMP redirect messages.
+ default TRUE (host)
+ FALSE (router)
+
+ip_secure_redirects - BOOLEAN
+ Accept ICMP redirect messages only for gateways,
+ listed in default gateway list.
+ default TRUE
+
+ip_addrmask_agent - BOOLEAN
+ Reply to ICMP ADDRESS MASK requests.
+ default TRUE (router)
+ FALSE (host)
+
+ip_rfc1620_redirects - BOOLEAN
+ Send(router) or accept(host) RFC1620 shared media redirects.
+ Overrides ip_secure_redirects.
+ default TRUE (should be FALSE for distributed version,
+ but I use it...)
+
+ip_bootp_agent - BOOLEAN
+ Accept packets with source address of sort 0.b.c.d
+ and destined to this host, broadcast or multicast.
+ Such packets are silently ignored otherwise.
+
+ default FALSE
+
+ip_bootp_relay - BOOLEAN
+ Accept packets with source address 0.b.c.d destined
+ not to this host as local ones. It is supposed, that
+ BOOTP relay deamon will catch and forward such packets.
+
+ default FASLE
+ Not Implemented Yet.
+
+
+ip_source_route - BOOLEAN
+ Accept packets with SRR option.
+ default TRUE (router)
+ FALSE (host)
+
+
+ip_no_pmtu_disc - BOOLEAN
+ Disable Path MTU Discovery.
+ default FALSE
+
+ip_rfc1812_filter - INTEGER
+ 2 - do source validation by reversed path, as specified in RFC1812
+ Recommended option for single homed hosts and stub network
+ routers. Could cause troubles for complicated (not loop free)
+ networks running a slow unreliable protocol (sort of RIP),
+ or using static routes.
+
+ 1 - (DEFAULT) Weaker form of RP filtering: drop all the packets
+ that look as sourced at a directly connected interface, but
+ were input from another interface.
+
+ 0 - No source validation.
+
+ NOTE: do not disable this option! All BSD derived routing software
+ (sort of gated, routed etc. etc.) is confused by such packets,
+ even if they are valid.
+
+ip_fib_model - INTEGER
+ 0 - (DEFAULT) Standard model. All routes are in class MAIN.
+ 1 - default routes go to class DEFAULT. This mode should
+ be very convenient for small ISPs making policy routing.
+ 2 - RFC1812 compliant model.
+ Interface routes are in class MAIN.
+ Gateway routes are in class DEFAULT.
+
+
+
+Alexey Kuznetsov.
+kuznet@ms2.inr.ac.ru
diff --git a/Documentation/networking/lapb-module.txt b/Documentation/networking/lapb-module.txt
new file mode 100644
index 000000000..938d09787
--- /dev/null
+++ b/Documentation/networking/lapb-module.txt
@@ -0,0 +1,257 @@
+ The Linux LAPB Module Interface 1.3
+
+ Jonathan Naylor 29.12.96
+
+The LAPB module will be a seperately compiled module for use by any parts of
+the Linux operating system that require a LAPB service. This document
+defines the interfaces to, and the services provided by this module. The
+term module in this context does not imply that the LAPB module is a
+seperately loadable module, although it may be. The term module is used in
+its more standard meaning.
+
+The interface to the LAPB module consists of functions to the module,
+callbacks from the module to indicate important state changes, and
+structures for getting and setting information about the module.
+
+Structures
+----------
+
+Probably the most important structure is the skbuff structure for holding
+received and transmitted data, however it is beyond the scope of this
+document.
+
+The two LAPB specific structures are the LAPB initialisation structure and
+the LAPB parameter structure. These will be defined in a standard header
+file, <linux/lapb.h>. The header file <net/lapb.h> is internal to the LAPB
+module and is not for use.
+
+LAPB Initialisation Structure
+-----------------------------
+
+This structure is used only once, in the call to lapb_register (see below).
+It contains information about the device driver that requires the services
+of the LAPB module.
+
+struct lapb_register_struct {
+ void (*connect_confirmation)(int token, int reason);
+ void (*connect_indication)(int token, int reason);
+ void (*disconnect_confirmation)(int token, int reason);
+ void (*disconnect_indication)(int token, int reason);
+ void (*data_indication)(int token, struct sk_buff *skb);
+ void (*data_transmit)(int token, struct sk_buff *skb);
+};
+
+Each member of this structure corresponds to a function in the device driver
+that is called when a particular event in the LAPB module occurs. These will
+be described in detail below. If a callback is not required (!!) then a NULL
+may be substituted.
+
+
+LAPB Parameter Structure
+------------------------
+
+This structure is used with the lapb_getparms and lapb_setparms functions
+(see below). They are used to allow the device driver to get and set the
+operational parameters of the LAPB implementation for a given connection.
+
+struct lapb_parms_struct {
+ unsigned int t1;
+ unsigned int t1timer;
+ unsigned int t2;
+ unsigned int t2timer;
+ unsigned int n2;
+ unsigned int n2count;
+ unsigned int window;
+ unsigned int state;
+ unsigned int mode;
+};
+
+T1 and T2 are protocol timing parameters and are given in units of 100ms. N2
+is the maximum number of tries on the link before it is declared a failure.
+The window size is the maximum number of outstanding data packets allowed to
+be unacknowledged by the remote end, the value of the window is between 1
+and 7 for a standard LAPB link, and between 1 and 127 for an extended LAPB
+link.
+
+The mode variable is a bit field is used for setting (at present) three values.
+The bit fields have the following meanings:
+
+Bit Meaning
+0 LAPB operation (0=LAPB_STANDARD 1=LAPB_EXTENDED).
+1 [SM]LP operation (0=LAPB_SLP 1=LAPB=MLP).
+2 DTE/DCE operation (0=LAPB_DTE 1=LAPB_DCE)
+3-31 Reserved, must be 0.
+
+Extended LAPB operation indicates the use of extended sequence numbers and
+consequently larger window sizes, the default is standard LAPB operation.
+MLP operation is the same as SLP operation except that the addresses used by
+LAPB are different to indicate the mode of operation, the default is Single
+Link Procedure. The difference between DCE and DTE operation is (i) the
+addresses used for commands and responses, and (ii) when the DCE is not
+connected, it sends DM without polls set, every T1. The upper case constant
+names will be defined in the public LAPB header file.
+
+
+Functions
+---------
+
+The LAPB module provides a number of function entry points.
+
+
+int lapb_register(void *token, struct lapb_register_struct);
+
+This must be called before the LAPB module may be used. If the call is
+successful then LAPB_OK is returned. The token must be a unique identifier
+generated by the device driver to allow for the unique identification of the
+instance of the LAPB link. It is returned by the LAPB module in all of the
+callbacks, and is used by the device driver in all calls to the LAPB module.
+For multiple LAPB links in a single device driver, multiple calls to
+lapb_register must be made. The format of the lapb_register_struct is given
+above. The return values are:
+
+LAPB_OK LAPB registered successfully.
+LAPB_BADTOKEN Token is already registered.
+LAPB_NOMEM Out of memory
+
+
+int lapb_unregister(void *token);
+
+This releases all the resources associated with a LAPB link. Any current
+LAPB link will be abandoned without further messages being passed. After
+this call, the value of token is no longer valid for any calls to the LAPB
+function. The valid return values are:
+
+LAPB_OK LAPB unregistered successfully.
+LAPB_BADTOKEN Invalid/unknown LAPB token.
+
+
+int lapb_getparms(void *token, struct lapb_parms_struct *parms);
+
+This allows the device driver to get the values of the current LAPB
+variables, the lapb_parms_struct is described above. The valid return values
+are:
+
+LAPB_OK LAPB getparms was successful.
+LAPB_BADTOKEN Invalid/unknown LAPB token.
+
+
+int lapb_setparms(void *token, struct lapb_parms_struct *parms);
+
+This allows the device driver to set the values of the current LAPB
+variables, the lapb_parms_struct is described above. The values of t1timer,
+t2timer and n2count are ignored, likewise changing the mode bits when
+connected will be ignored. An error implies that none of the values have
+been changed. The valid return values are:
+
+LAPB_OK LAPB getparms was successful.
+LAPB_BADTOKEN Invalid/unknown LAPB token.
+LAPB_INVALUE One of the values was out of its allowable range.
+
+
+int lapb_connect_request(void *token);
+
+Initiate a connect using the current parameter settings. The valid return
+values are:
+
+LAPB_OK LAPB is starting to connect.
+LAPB_BADTOKEN Invalid/unknown LAPB token.
+LAPB_CONNECTED LAPB module is already connected.
+
+
+int lapb_disconnect_request(void *token);
+
+Initiate a disconnect. The valid return values are:
+
+LAPB_OK LAPB is starting to disconnect.
+LAPB_BADTOKEN Invalid/unknown LAPB token.
+LAPB_NOTCONNECTED LAPB module is not connected.
+
+
+int lapb_data_request(void *token, struct sk_buff *skb);
+
+Queue data with the LAPB module for transmitting over the link. If the call
+is successful then the skbuff is owned by the LAPB module and may not be
+used by the device driver again. The valid return values are:
+
+LAPB_OK LAPB has accepted the data.
+LAPB_BADTOKEN Invalid/unknown LAPB token.
+LAPB_NOTCONNECTED LAPB module is not connected.
+
+
+int lapb_data_received(void *token, struct sk_buff *skb);
+
+Queue data with the LAPB module which has been received from the device. It
+is expected that the data passed to the LAPB module has skb->data pointing
+to the beginning of the LAPB data. If the call is successful then the skbuff
+is owned by the LAPB module and may not be used by the device driver again.
+The valid return values are:
+
+LAPB_OK LAPB has accepted the data.
+LAPB_BADTOKEN Invalid/unknown LAPB token.
+
+
+Callbacks
+---------
+
+These callbacks are functions provided by the device driver for the LAPB
+module to call when an event occurs. They are registered with the LAPB
+module with lapb_register (see above) in the structure lapb_register_struct
+(see above).
+
+
+void (*connect_confirmation)(void *token, int reason);
+
+This is called by the LAPB module when a connection is established after
+being requested by a call to lapb_connect_request (see above). The reason is
+always LAPB_OK.
+
+
+void (*connect_indication)(void *token, int reason);
+
+This is called by the LAPB module when the link is established by the remote
+system. The value of reason is always LAPB_OK.
+
+
+void (*disconnect_confirmation)(void *token, int reason);
+
+This is called by the LAPB module when an event occurs after the device
+driver has called lapb_disconnect_request (see above). The reason indicates
+what has happended. In all cases the LAPB link can be regarded as being
+terminated. The values for reason are:
+
+LAPB_OK The LAPB link was terminated normally.
+LAPB_NOTCONNECTED The remote system was not connected.
+LAPB_TIMEDOUT No response was received in N2 tries from the remote
+ system.
+
+
+void (*disconnect_indication)(void *token, int reason);
+
+This is called by the LAPB module when the link is terminated by the remote
+system or another event has occurred to terminate the link. This may be
+returned in response to a lapb_connect_request (see above) if the remote
+system refused the request. The values for reason are:
+
+LAPB_OK The LAPB link was terminated normally by the remote
+ system.
+LAPB_REFUSED The remote system refused the connect request.
+LAPB_NOTCONNECTED The remote system was not connected.
+LAPB_TIMEDOUT No response was received in N2 tries from the remote
+ system.
+
+
+void (*data_indication)(void *token, struct sk_buff *skb);
+
+This is called by the LAPB module when data has been received from the
+remote system that should be passed onto the next layer in the protocol
+stack. The skbuff becomes the property of the device driver and the LAPB
+module will not perform any more actions on it. The skb->data pointer will
+be pointing to the first byte of data after the LAPB header.
+
+
+void (*data_transmit)(void *token, struct sk_buff *skb);
+
+This is called by the LAPB module when data is to be transmitted to the
+remote system by the device driver. The skbuff becomes the property of the
+device driver and the LAPB module will not perform any more actions on it.
+The skb->data pointer will be pointing to the first byte of the LAPB header.
diff --git a/Documentation/networking/net-modules.txt b/Documentation/networking/net-modules.txt
index 5ef6cca57..b83d2bd9f 100644
--- a/Documentation/networking/net-modules.txt
+++ b/Documentation/networking/net-modules.txt
@@ -213,8 +213,10 @@ hp100.c:
in increments of 0x020)
ibmtr.c:
- io = 0xA20
- (Probes ports: 0xA20, 0xA24 -- Ok, 0x220, 0x224, but IBM style..)
+ io = 0xa20, 0xa24 (autoprobed by default)
+ irq = 0 (driver cannot select irq - read from hardware)
+ mem = 0 (shared memory base set at 0xd0000 and not yet
+ able to override thru mem= parameter.)
lance.c: *Not modularized*
(PCI, and ISA probing; "CONFIG_PCI" needed for PCI support)
diff --git a/Documentation/networking/policy-routing.txt b/Documentation/networking/policy-routing.txt
new file mode 100644
index 000000000..aa0d8f9f6
--- /dev/null
+++ b/Documentation/networking/policy-routing.txt
@@ -0,0 +1,150 @@
+Classes
+-------
+
+ "Class" is complete routing table in common sence.
+ I.e. it is tree of nodes (destination prefix, tos, metric)
+ with attached information: gateway, device etc.
+ This tree is looked up as specified in RFC1812 5.2.4.3
+ 1. Basic match
+ 2. Longest match
+ 3. Weak TOS.
+ 4. Metric. (should not be in kernel space, but they are)
+ 5. Additional pruning rules. (not in kernel space).
+
+ We have two special type of nodes:
+ REJECT - abort route lookup and return an error value.
+ THROW - abort route lookup in this class.
+
+
+ Currently number of classes is limited by 255
+ (0 is reserved for "not specified class")
+
+ Three classes are builtin:
+
+ RT_CLASS_LOCAL=255 - local interface addresses,
+ broadcasts, nat addresses.
+
+ RT_CLASS_MAIN=254 - all normal routes are put there
+ by default.
+
+ RT_CLASS_DEFAULT=253 - if ip_fib_model==1, then
+ normal default routes are put there, if ip_fib_model==2
+ all gateway routes are put there.
+
+
+Rules
+-----
+ Rule is record of (src prefix, src interface, tos, dst prefix)
+ with attached information.
+
+ Rule types:
+ RTP_ROUTE - lookup in attached class
+ RTP_NAT - lookup in attached class and if a match is found,
+ translate packet source address.
+ RTP_MASQUERADE - lookup in attached class and if a match is found,
+ masquerade packet as sourced by us.
+ RTP_DROP - silently drop the packet.
+ RTP_REJECT - drop the packet and send ICMP NET UNREACHABLE.
+ RTP_PROHIBIT - drop the packet and send ICMP COMM. ADM. PROHIBITED.
+
+ Rule flags:
+ RTRF_LOG - log route creations.
+ RTRF_VALVE - One way route (used with masquerading)
+
+Default setup:
+
+root@amber:/pub/ip-routing # iproute -r
+Kernel routing policy rules
+Pref Source Destination TOS Iface Cl
+ 0 default default 00 * 255
+ 254 default default 00 * 254
+ 255 default default 00 * 253
+
+
+Lookup algorithm
+----------------
+
+ We scan rules list, and if a rule is matched, apply it.
+ If route is found, return it.
+ If it is not found or THROW node was matched, continue
+ to scan rules.
+
+Applications
+------------
+
+1. Just ignore classes. All the routes are put to MAIN class
+ (and/or to DEFAULT class).
+
+ HOWTO: iproute add PREFIX [ tos TOS ] [ gw GW ] [ dev DEV ]
+ [ metric METRIC ] [ reject ] ... (look at iproute utility)
+
+ or use route utility from current net-tools.
+
+2. Opposite case. Just forget all that you know about routing
+ tables. Every rule is supplied with its own gateway, device
+ info. record. This approach is not appropriate for automated
+ route maintanance, but it is ideal for manual configuration.
+
+ HOWTO: iproute addrule [ from PREFIX ] [ to PREFIX ] [ tos TOS ]
+ [ dev INPUTDEV] [ pref PREFERENCE ] route [ gw GATEWAY ]
+ [ dev OUTDEV ] .....
+
+ Warning: just now size of routing table in this approach is
+ limited by 256. If someone will like this model, I'll
+ relax this limitation.
+
+3. OSPF classes (see RFC1583, RFC1812 E.3.3)
+ Very clean, stable and robust algorithm for OSPF routing
+ domains. Unfortunately, it is not used widely in the Internet.
+
+ Proposed setup:
+ 255 local addresses
+ 254 interface routes
+ 253 ASE routes with external metric
+ 252 ASE routes with internal metric
+ 251 inter-area routes
+ 250 intra-area routes for 1st area
+ 249 intra-area routes for 2nd area
+ etc.
+
+ Rules:
+ iproute addrule class 253
+ iproute addrule class 252
+ iproute addrule class 251
+ iproute addrule to a-prefix-for-1st-area class 250
+ iproute addrule to another-prefix-for-1st-area class 250
+ ...
+ iproute addrule to a-prefix-for-2nd-area class 249
+ ...
+
+ Area classes must be terminated with reject record.
+ iproute add default reject class 250
+ iproute add default reject class 249
+ ...
+
+4. The Variant Router Requirements Algorithm (RFC1812 E.3.2)
+ Create 16 classes for different TOS values.
+ It is funny, but pretty useless algorithm.
+ I listed it just to show power of new routing code.
+
+5. All the variaty of combinations......
+
+
+GATED
+-----
+
+ Gated does not understand classes, but it will work
+ happily in MAIN+DEFAULT. All policy routes can be set
+ and maintained manually.
+
+IMPORTANT NOTE
+--------------
+ route.c has compilation time switch CONFIG_IP_LOCAL_RT_POLICY.
+ If it is set, locally originated packets are routed
+ using all the policy list. It is not very convenient and
+ pretty ambiguous, when used with NAT and masquerading.
+ I set it to FALSE by default.
+
+
+Alexey Kuznetov
+kuznet@ms2.inr.ac.ru
diff --git a/Documentation/networking/routing.txt b/Documentation/networking/routing.txt
new file mode 100644
index 000000000..99f571763
--- /dev/null
+++ b/Documentation/networking/routing.txt
@@ -0,0 +1,46 @@
+The directory ftp.inr.ac.ru:/ip-routing contains:
+
+- iproute.c - "professional" routing table maintainance utility.
+
+- rdisc.tar.gz - rdisc daemon, ported from Sun.
+ STRONGLY RECOMMENDED FOR ALL HOSTS.
+
+- routing.tgz - original Mike McLagan's route by source patch.
+ Currently it is obsolete.
+
+- gated.dif-ss<NEWEST>.gz - gated-R3_6Alpha_2 fixes.
+ Look at README.gated
+
+- mrouted-3.8.dif.gz - mrouted-3.8 fixes.
+
+- rtmon.c - trivial debugging utility: reads and stores netlink.
+
+
+NEWS for user.
+
+- Policy based routing. Routing decisions are made on the base
+ not only of destination address, but also source address,
+ TOS and incoming interface.
+- Complete set of IP level control messages.
+ Now Linux is the only in the world OS comlying to RFC requirements.
+ Great win 8)
+- New interface addressing paradigm.
+ Assignment of address ranges to interface,
+ multiple prefixes etc. etc.
+ Do not bother, it is compatible with old one. Moreover:
+- You more need not make "route add aaa.bbb.ccc... eth0",
+ it is made automatically.
+- "Abstract" UNIX sockets and security enhancements.
+ It is necessary to use TIRPC and TLI emulation library.
+
+NEWS for hacker.
+
+- New destination cache. Flexible, robust and just beatiful.
+- Network stack is reordered, simplified, optimized, a lot of bugs fixed.
+ (well, and new bugs are intoduced, but I've yet not seen them 8))
+ It is difficult to descibe all the changes, look into source.
+
+If you see this file, then this patch works 8)
+
+Alexey Kuznetsov.
+kuznet@ms2.inr.ac.ru
diff --git a/Documentation/networking/shaper.txt b/Documentation/networking/shaper.txt
new file mode 100644
index 000000000..24393a6fa
--- /dev/null
+++ b/Documentation/networking/shaper.txt
@@ -0,0 +1,49 @@
+Traffic Shaper For Linux
+
+This is the current ALPHA release of the traffic shaper for Linux. It works
+within the following limits:
+
+o Minimum shaping speed is currently about 9600 baud (it can only
+shape down to 1 byte per clock tick)
+
+o Maximum is about 256K, it will go above this but get a bit blocky.
+
+o If you ifconfig the master device that a shaper is attached to down
+then your machine will follow.
+
+o The shaper must be a module.
+
+
+Setup:
+
+ A shaper device is configured using the shapeconfig program.
+Typically you will do something like this
+
+shapecfg attach shaper0 eth1
+shapecfg speed shaper0 64000
+ifconfig shaper0 myhost netmask 255.255.255.240 broadcast 1.2.3.4.255 up
+route add -net some.network netmask a.b.c.d dev shaper0
+
+The shaper should have the same IP address as the device it is attached to
+for normal use.
+
+Gotchas:
+
+ The shaper shapes transmitted traffic. Its rather impossible to
+shape received traffic except at the end (or a router) transmiting it.
+
+ Gated/routed/rwhod/mrouted all see the shaper as an additional device
+and will treat it as such unless patched. Note that for mrouted you can run
+mrouted tunnels via a traffic shaper to control bandwidth usage.
+
+ The shaper is device/route based. This makes it very easy to use
+with any setup BUT less flexible. You may well want to combine this patch
+with Mike McLagan <mmclagan@linux.org>'s patch to allow routes to be
+specified by source/destination pairs.
+
+ There is no "borrowing" or "sharing" scheme. This is a simple
+traffic limiter. I'd like to implement Van Jacobson and Sally Floyd's CBQ
+architecture into Linux one day (maybe in 2.1 sometime) and do this with
+style.
+
+Alan
diff --git a/Documentation/networking/wan-router.txt b/Documentation/networking/wan-router.txt
new file mode 100644
index 000000000..f95bc9f14
--- /dev/null
+++ b/Documentation/networking/wan-router.txt
@@ -0,0 +1,130 @@
+------------------------------------------------------------------------------
+WAN Router for Linux Operating System
+------------------------------------------------------------------------------
+Version 1.0.0
+December 31, 1996
+Author: Gene Kozin <genek@compuserve.com>
+Copyright (c) 1995-1996 Sangoma Technologies Inc.
+------------------------------------------------------------------------------
+
+INTRODUCTION
+
+Wide Area Networks (WANs) are used to interconnect Local Area Networks (LANs)
+and/or stand-alone hosts over vast distances with data transfer rates
+significantly higher than those achievable with commonly used dial-up
+connections.
+
+Usually an external device called `WAN router' sitting on your local network
+or connected to your machine's serial port provides physical connection to
+WAN. Although router's job may be as simple as taking your local network
+traffic, converting it to WAN format and piping it through the WAN link, these
+devices are notoriously expensive, with prices as much as 2 - 5 times higher
+then the price of a typical PC box.
+
+Alternatively, considering robustness and multitasking capabilities of Linux,
+an internal router can be build (most routers use some sort of stripped down
+Unix-like operating system anyway). With number of relatively inexpensive WAN
+interface cards available on the market, a perfectly usable router can be
+built for less than half a price of an external router. Yet a Linux box
+acting as a router can still be used for other purposes, such as firewalling,
+running FTP, WWW or DNS server, etc.
+
+This kernel module introduces the notion of a WAN Link Driver (WLD) to Linux
+operating system and provides generic hardware-independent services for such
+drivers. Why existing Linux network device interface can not be used for
+this purpose? Well, it can. However, there are few key differences between
+typical network interface (i.e. ethernet) and WAN link.
+
+Many WAN protocols, such as X.25 and frame relay, allow for multiple logical
+connections (known as `virtual circuits' in X.25 terminology) over a single
+physical link. Each such virtual circuit may (and almost always does) lead
+to diffrent geographical location and, therefore, different network. As a
+result, it is the virtual circuit, not the physical link, that represents a
+route and, therefore, a network interface in Linux terms.
+
+To further complicate things, virtual cuircits are usually volatile in nature
+(excluding so called `permanent' virtual circuits or PVCs). With almost no
+time required to set up and tear down virtual circuit, it is highly desirable
+to implement on-demand connections in order to minimize network charges. So
+unlike typical network driver, the WAN driver must be able to handle multiple
+network interfaces and cope with multiple virtual circuits come into existance
+and go away dynamically.
+
+Last, but not least, WAN configuration is much more complex than that of say
+ethernet and may well amount to several dozens of parameters. Some of them
+are "link-wide" while others are virtual circuit-specific. The same holds
+true for WAN statistics which is by far more extensive and extremely useful
+when troubleshooting WAN connections. Extending ifconfig utility to suite
+these needs may be possible, but does not seem quite reasonable. Therefore, a
+WAN configuration utility and corresponding application programmer's interface
+is needed for this purpose.
+
+Most of these problems are taken care of by this module. It's goal is to
+provide user with more-or-less standard look and feel for all WAN devices and
+assist WAN device driver writer by providing common services, such as:
+
+ o User-level interface via /proc filesystem
+ o Centralized configuration
+ o Device managenent (setup, shutdown, etc.)
+ o Network interface management (dynamic creation/destruction)
+ o Protocol encapsulation/decapsulation
+
+To ba able to use Linux WAN Router you will also need a WAN Tools package
+available from
+
+ ftp.sangoma.com/pub/linux/wantools-X.Y.Z.tgz
+
+For technical questions and/or comments regarding this product please e-mail
+to genek@compuserve.com or dm@sangoma.com.
+
+
+
+COPYRIGHT AND LICENSING INFORMATION
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 675 Mass
+Ave, Cambridge, MA 02139, USA.
+
+
+
+KNOWN BUGS AND LIMITATIONS
+
+/proc user interface is not complete yet.
+
+
+
+ACKNOLEGEMENTS
+
+This product is based on the WANPIPE(tm) Multiprotocol WAN Router developed
+by Sangoma Technologies Inc. for Linux 1.2.x. Release of Linux 2.0 in summer
+1996 commanded adequate changes to the WANPIPE code to take full advantage of
+new Linux features. Instead of continuing developing proprietory interface
+specific to Sangoma WAN cards, we decided to put all hardware-independent code
+into a separate module and define two levels of interfaces - one for user-
+level applications and another for kernel-level WAN drivers.
+
+Many usefull ideas concerning hardware-independent interface implementation
+were given by Mike McLagan <mike.mclagan@linux.org> and his implementation
+of the Frame Relay router and drivers for Sangoma cards (dlci/sdla).
+
+Special thanks to all the WANPIPE users who performed field-testing, reported
+bugs and made valuable comments and suggestions that help us to improve this
+product.
+
+
+
+REVISION HISTORY
+
+1.0.0 December 31, 1996
+--------------------------
+ o Initial version.
+
+>>>>>> END <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
diff --git a/Documentation/networking/x25-iface.txt b/Documentation/networking/x25-iface.txt
new file mode 100644
index 000000000..fab57cf32
--- /dev/null
+++ b/Documentation/networking/x25-iface.txt
@@ -0,0 +1,64 @@
+ X.25 Device Driver Interface 1.1
+
+ Jonathan Naylor 26.12.96
+
+This is a description of the messages to be passed between the X.25 Packet
+Layer and the X.25 device driver. They are designed to allow for the easy
+setting of the LAPB mode from within the Packet Layer.
+
+The X.25 device driver will be coded normally as per the Linux device driver
+standards, most X.25 device drivers will be moderately similar to the
+already existing Eethernet device drivers. However unlike those drivers, the
+X.25 device driver has a state associated with it, and this information
+needs to be passed to and from the Packet Layer for proper operation.
+
+All messages are held in sk_buff's just like real data to be transmitted
+over the LAPB link. The first byte of the skbuff indicates the meaning of
+the rest of the skbuff, if any more information does exist.
+
+
+Packet Layer to Device Driver
+-----------------------------
+
+First Byte = 0x00
+
+This indicates that the rest of the skbuff contains data to be transmitted
+over the LAPB link. The LAPB link should already exist before any data is
+passed down.
+
+First Byte = 0x01
+
+Establish the LAPB link. If the link is already established then the connect
+confirmation message should be returned as soon as possible.
+
+First Byte = 0x02
+
+Terminate the LAPB link. If it is already disconnected then the disconnect
+confirmation message should be returned as soon as possible.
+
+First Byte = 0x03
+
+LAPB parameters. To be defined.
+
+
+Device Driver to Packet Layer
+-----------------------------
+
+First Byte = 0x00
+
+This indicates that the rest of the skbuff contains data that has been
+received over the LAPB link.
+
+First Byte = 0x01
+
+LAPB link has been established. The same message is used for both a LAPB
+link connect_confirmation and a connect_indication.
+
+First Byte = 0x02
+
+LAPB link has been terminated. This same message is used for both a LAPB
+link disconnect_confirmation and a disconnect_indication.
+
+First Byte = 0x03
+
+LAPB parameters. To be defined.
diff --git a/Documentation/networking/x25.txt b/Documentation/networking/x25.txt
new file mode 100644
index 000000000..09681d565
--- /dev/null
+++ b/Documentation/networking/x25.txt
@@ -0,0 +1,45 @@
+Linux X.25 Project
+
+As my third year dissertation at University I have taken it upon myself to
+write an X.25 implementation for Linux. My aim is to provide a complete X.25
+Packet Layer and a LAPB module to allow for "normal" X.25 to be run using
+Linux. There are two sorts of X.25 cards available, intelligent ones that
+implement LAPB on the card itself, and unintelligent ones that simply do
+framing, bit-stuffing and checksumming. These both need to be handled by the
+system.
+
+I therefore decided to write the implementation such that as far as the
+Packet Layer is concerned, the link layer was being performed by a lower
+layer of the Linux kernel and therefore it did not concern itself with
+implementation of LAPB. Therefore the LAPB modules would be called by
+unintelligent X.25 card drivers and not by intelligent ones, this would
+provide a uniform device driver interface, and simplify configuration.
+
+To confuse matters a little, an 802.2 LLC implementation for Linux is being
+written which will allow X.25 to be run over an Ethernet (or Token Ring) and
+conform with the JNT "Pink Book", this will have a different interface to
+the Packet Layer but there will be no confusion since the class of device
+being served by the LLC will be completely seperate from LAPB. The LLC
+implementation is being done as part of another protocol project (SNA) and
+by a different author.
+
+Just when you thought that it could not become more confusing, another
+option appeared, XOT. This allows X.25 Packet Layer frames to operate over
+the Internet using TCP/IP as a reliable link layer. RFC1613 specifies the
+format and behaviour of the protocol. If time permits this option will also
+be actively considered.
+
+A linux-x25 mailing list has been created at vger.rutgers.edu to support the
+development and use of Linux X.25. It is early days yet, but interested
+parties are welcome to subscribe to it. Just send a message to
+Majordomo@vger.rutgers.edu with the following in the message body:
+
+subscribe linux-x25
+end
+
+The contents of the Subject line are ignored.
+
+Jonathan
+
+jsn@cs.nott.ac.uk
+g4klx@g4klx.demon.co.uk
diff --git a/Documentation/parport.txt b/Documentation/parport.txt
new file mode 100644
index 000000000..17a659e55
--- /dev/null
+++ b/Documentation/parport.txt
@@ -0,0 +1,59 @@
+The `parport' code provides parallel-port support under Linux. This
+includes the ability to share one port between multiple device
+drivers.
+
+You can pass parameters to the parport code to override its automatic
+detection of your hardware. This is particularly useful if you want
+to use IRQs, since in general these can't be autoprobed successfully.
+
+If you load the parport code as a module, say
+
+ # insmod parport.o io=0x378,0x278 irq=7,5
+
+to tell the parport code that you want two ports, one at 0x378 using
+IRQ 7, and one at 0x278 using IRQ 5.
+
+If you compile the parport code into the kernel, then you can use
+kernel boot parameters to get the same effect. Add something like the
+following to your LILO command line:
+
+ parport=0x378,7 parport=0x278,5
+
+You can have many `parport=...' statements, one for each port you want
+to add. Adding `parport=0' or just `parport=' to the command-line
+will disable parport support entirely.
+
+Once the parport code is initialised, you can attach device drivers to
+ports. Normally this happens automatically; if the lp driver is
+loaded it will create one lp device for each port found. You can
+override this, though, by using parameters either when you load the lp
+driver:
+
+ # insmod lp.o parport=0,2
+
+or on the LILO command line:
+
+ lp=parport0 lp=parport2
+
+Both the above examples would inform lp that you want /dev/lp0 to be
+the first parallel port, and /dev/lp1 to be the _third_ parallel port,
+with no lp device associated with the second port (parport1). Note
+that this is different to the way older kernels worked; there used to
+be a static association between the I/O port address and the device
+name, so /dev/lp0 was always the port at 0x3bc. This is no longer the
+case - if you only have one port, it will always be /dev/lp0,
+regardless of base address.
+
+Also:
+
+ * If you selected the device autoprobe at compile time, you can say
+ `lp=auto' on the kernel command line, and lp will create devices
+ only for those ports that seem to have printers attached.
+
+ * If you give PLIP the `timid' parameter, either with `plip=timid' on
+ the command line, or with `insmod plip timid=1' when using modules,
+ it will avoid any ports that seem to be in use by other devices.
+
+ * If your BIOS allows you to engage "ECP mode", you may find that
+ your port's IRQ can be autoprobed, without having to specify any
+ parameters.
diff --git a/Documentation/pcwd-watchdog.txt b/Documentation/pcwd-watchdog.txt
new file mode 100644
index 000000000..878ca69f3
--- /dev/null
+++ b/Documentation/pcwd-watchdog.txt
@@ -0,0 +1,131 @@
+ Berkshire Products PC Watchdog Card
+ Support for ISA Cards Revision A and C
+ Documentation and Driver by Ken Hollis <khollis@nurk.org>
+
+ The PC Watchdog is a card that offers the same type of functionality that
+ the WDT card does, only it doesn't require an IRQ to run. Furthermore,
+ the Revision C card allows you to monitor any IO Port to automatically
+ trigger the card into being reset. This way you can make the card
+ monitor hard drive status, or anything else you need.
+
+ The Watchdog Driver has one basic role: to talk to the card and send
+ signals to it so it doesn't reset your computer ... at least during
+ normal operation.
+
+ The Watchdog Driver will automatically find your watchdog card, and will
+ attach a running driver for use with that card. After the watchdog
+ drivers have initialized, you can then talk to the card using the PC
+ Watchdog program, available from ftp.bitgate.com:/pub/bitgate/pcwd.
+
+ I suggest putting a "watchdog -d" before the beginning of an fsck, and
+ a "watchdog -e -t 1" immediately after the end of an fsck. (Remember
+ to run the program with an "&" to run it in the background!)
+
+ If you want to write a program to be compatible with the PC Watchdog
+ driver, simply do the following:
+
+-- Snippet of code --
+/*
+ * Watchdog Driver Test Program
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <linux/pcwd.h>
+
+int fd;
+
+/*
+ * This function simply sends an IOCTL to the driver, which in turn ticks
+ * the PC Watchdog card to reset its internal timer so it doesn't trigger
+ * a computer reset.
+ */
+void keep_alive(void)
+{
+ int dummy;
+
+ ioctl(fd, WDIOC_KEEPALIVE, &dummy);
+}
+
+/*
+ * The main program. Run the program with "-d" to disable the card,
+ * or "-e" to enable the card.
+ */
+int main(int argc, char *argv[])
+{
+ fd = open("/dev/watchdog", O_WRONLY);
+
+ if (fd == -1) {
+ fprintf(stderr, "Watchdog device not enabled.\n");
+ fflush(stderr);
+ exit(-1);
+ }
+
+ if (argc > 1) {
+ if (!strncasecmp(argv[1], "-d", 2)) {
+ ioctl(fd, WDIOC_SETOPTIONS, WDIOS_DISABLECARD);
+ fprintf(stderr, "Watchdog card disabled.\n");
+ fflush(stderr);
+ exit(0);
+ } else if (!strncasecmp(argv[1], "-e", 2)) {
+ ioctl(fd, WDIOC_SETOPTIONS, WDIOS_ENABLECARD);
+ fprintf(stderr, "Watchdog card enabled.\n");
+ fflush(stderr);
+ exit(0);
+ } else {
+ fprintf(stderr, "-d to disable, -e to enable.\n");
+ fprintf(stderr, "run by itself to tick the card.\n");
+ fflush(stderr);
+ exit(0);
+ }
+ } else {
+ fprintf(stderr, "Watchdog Ticking Away!\n");
+ fflush(stderr);
+ }
+
+ while(1) {
+ keep_alive();
+ sleep(1);
+ }
+}
+-- End snippet --
+
+ Other IOCTL functions include:
+
+ WDIOC_GETSUPPORT
+ This returns the support of the card itself. This
+ returns in structure "PCWDS" which returns:
+ options = WDIOS_TEMPPANIC
+ (This card supports temperature)
+ firmware_version = xxxx
+ (Firmware version of the card)
+
+ WDIOC_GETSTATUS
+ This returns the status of the card, with the bits of
+ WDIOF_* bitwise-anded into the value. (The comments
+ are in linux/pcwd.h)
+
+ WDIOC_GETBOOTSTATUS
+ This returns the status of the card that was reported
+ at bootup.
+
+ WDIOC_GETTEMP
+ This returns the temperature of the card. (You can also
+ read /dev/watchdog, which gives a temperature update
+ every second.)
+
+ WDIOC_SETOPTIONS
+ This lets you set the options of the card. You can either
+ enable or disable the card this way.
+
+ WDIOC_KEEPALIVE
+ This pings the card to tell it not to reset your computer.
+
+ And that's all she wrote!
+
+ -- Ken Hollis
+ (khollis@nurk.org)
diff --git a/Documentation/serial-console.txt b/Documentation/serial-console.txt
new file mode 100644
index 000000000..22f02e2b7
--- /dev/null
+++ b/Documentation/serial-console.txt
@@ -0,0 +1,78 @@
+ Linux Serial Console
+
+These examples are valid if you want to use /dev/ttyS1 (COM2)
+as the serial console. Replace as needed.
+
+1. Tell LILO to use the serial port.
+ In lilo.conf (global section):
+
+ serial = 1,9600n8 (ttyS1, 9600 bd, no parity, 8 bits)
+
+2. Adjust to kernel flags for the new kernel,
+ again in lilo.conf (kernel section)
+
+ append = "console=1,9600,n8"
+
+ (Note the extra comma needed if you want to supply parity/framing
+ information.)
+
+3. Link /dev/console to the serial port.
+
+ Your probably want to save your old /dev/console (the "master" virtual
+ console). Check if it is a symbolic link first. If not, `mv' it to
+ `/dev/tty0':
+
+ ls -l /dev/console
+ mv /dev/console /dev/tty0
+
+ Now link the serial port you are going to use as the console to
+ /dev/console, for example ttyS1:
+
+ ln -s /dev/ttyS1 /dev/console
+
+ On some systems you might want to edit your bootup scripts to make sure
+ they don't reset this arrangement on boot. (On Debian, check
+ /etc/rc.boot/console and /etc/default/console). You probably also want
+ to put a getty on either /dev/console or /dev/ttyS1.
+
+4. Init and /dev/console.
+ Sysvinit will open /dev/console on boot. If this does not point
+ to the serial console device, the startup messages will be printed
+ to the wrong device. The kernel also passes the environment variable
+ "CONSOLE" to the init program. sysvinit-2.64 reckognizes this, and
+ opens that device instead. Boot scripts as mentioned in (3) can
+ also check this variable to see what device the system console is.
+ If CONSOLE is not set you can assume the console is /dev/tty0.
+
+ Sysvinit remembers its stty settings in a file in /etc, called
+ `/etc/ioctl.save'. REMOVE THIS FILE before using the serial
+ console for the first time, because otherwise init will probably
+ set the baudrate to 38400 (bausdrate of the virtual console).
+
+5. /dev/console and X
+ Programs that want to do something with the virtual console usually
+ open /dev/console. XF86 does this, and probably SVGALIB as well.
+ IMO this is wrong; they should open /dev/tty0.
+ I have binary patched /usr/bin/X11/XF86_SVGA to use "tty0"
+ instead of "console".
+
+6. Notes.
+
+ If you compile the next little program, you will be able
+ to really "halt" the system. It will enter a little
+ monitor :)
+
+ main() { reboot(0xfee1dead, 672274793, 0xCDEF0123); }
+
+ This is just a call to the new "halt" function that later
+ kernels have. This is included the "halt" command of
+ the recent sysvinit versions.
+
+ The monitor will also be entered at a kernel panic, or
+ when you press "break". That last function does not
+ work at the moment I think, but it would be useful for
+ kernel debugging. You don't have alt-scrollock on a serial
+ console to find out the current EIP...
+
+Miquel van Smoorenburg <miquels@cistron.nl>, 21-Jun-1996
+Stephen C. Tweedie <sct@dcs.ed.ac.uk>, 23-Dec-1996
diff --git a/Documentation/smp b/Documentation/smp
new file mode 100644
index 000000000..a0c4ab77e
--- /dev/null
+++ b/Documentation/smp
@@ -0,0 +1,23 @@
+To set up SMP
+
+Edit linux/Makefile and uncomment SMP=1, then compile and install
+as usual.
+
+If you are using LILO, it is handy to have both SMP and non-SMP
+kernel images on hand. Edit /etc/lilo.conf to create an entry
+for another kernel image called "linux-smp" or something.
+
+The next time you compile the kernel, when running a SMP kernel,
+edit linux/Makefile and change "MAKE=make" "MAKE=make -jN"
+(where N = number of CPU + 1, or if you have tons of memory/swap
+ you can just use "-j" without a number). Feel free to experiment
+with this one.
+
+Of course you should time how long each build takes :-)
+Example:
+ make config
+ time -v sh -c 'make dep ; make clean install modules modules_install'
+
+If you are using some Compaq MP compliant machines you will need to set
+the operating system in the BIOS settings to "Unixware" - don't ask me
+why Compaq's dont work otherwise.
diff --git a/Documentation/stallion.txt b/Documentation/stallion.txt
new file mode 100644
index 000000000..e838de545
--- /dev/null
+++ b/Documentation/stallion.txt
@@ -0,0 +1,293 @@
+
+Stallion Multiport Serial Driver Readme
+---------------------------------------
+
+Copyright (C) 1994-1997, Stallion Technologies (support@stallion.oz.au).
+
+Version: 5.3.2
+Date: 11FEB97
+
+
+
+1. INTRODUCTION
+
+There are two drivers that work with the different families of Stallion
+multiport serial boards. One is for the Stallion smart boards - that is
+EasyIO and EasyConnection 8/32, the other for the true Stallion intelligent
+multiport boards - EasyConnection 8/64, ONboard and Brumby.
+
+If you are using any of the Stallion intelligent multiport boards (Brumby,
+ONboard, EasyConnection 8/64) with Linux you will need to get the driver
+utility package. This package is available at most of the Linux archive
+sites (and on CD's that contain these archives). The file will be called
+stallion-X.X.X.tar.gz where X.X.X will be the version number. In particular
+this package contains the board embedded executable images that are
+required for these boards. It also contains the downloader program.
+These boards cannot be used without this.
+
+The following ftp sites (and their mirrors) definitely have the stallion
+driver utility package: ftp.stallion.com, tsx-11.mit.edu, sunsite.unc.edu.
+
+ftp.stallion.com:/drivers/ata5/Linux/stallion-5.3.1.tar.gz
+tsx-11.mit.edu:/pub/linux/BETA/serial/stallion/stallion-5.3.1.tar.gz
+sunsite.unc.edu:/pub/Linux/kernel/patches/serial/stallion-5.3.1.tar.gz
+
+As of the printing of this document the latest version of the driver
+utility package is 5.3.1. If a later version is now available then you
+should use the latest version.
+
+If you are using the EasyIO or EasyConnection 8/32 boards then you don't
+need this package. Although it does have a handy script to create the
+/dev device nodes for these boards, and a serial stats display program.
+
+If you require DIP switch settings, EISA/MCA configuration files, or any
+other information related to Stallion boards then have a look at Stallion's
+web pages at http://www.stallion.com.
+
+
+
+2. INSTALLATION
+
+The drivers can be used as loadable modules or compiled into the kernel.
+You can choose which when doing a "config" on the kernel.
+
+All ISA, EISA and MCA boards that you want to use need to be entered into
+the driver(s) configuration structures. All PCI boards will be automatically
+detected when you load the driver - so they do not need to be entered into
+the driver(s) configuration structure. (Note that kernel PCI BIOS32 support
+is required to use PCI boards.)
+
+Entering ISA, EISA and MCA boards into the driver(s) configuration structure
+involves editing the driver(s) source file. It's pretty easy if you follow
+the instructions below. Both drivers can support up to 4 boards. The smart
+card driver (the stallion.c driver) supports any combination of EasyIO and
+EasyConnection 8/32 boards (up to a total of 4). The intelligent driver
+supports any combination of ONboards, Brumbys, Stallions and EasyConnection
+8/64 boards (up to a total of 4).
+
+To set up the driver(s) for the boards that you want to use you need to
+edit the appropriate driver file and add configuration entries.
+
+If using EasyIO or EasyConnection 8/32 ISA or MCA boards, do:
+ vi /usr/src/linux/drivers/char/stallion.c
+ - find the definition of the stl_brdconf array (of structures)
+ near the top of the file
+ - modify this to match the boards you are going to install
+ (the comments before this structure should help)
+ - save and exit
+
+If using ONboard, Brumby, Stallion or EasyConnection 8/64 boards then do:
+ vi /usr/src/linux/drivers/char/istallion.c
+ - find the definition of the stli_brdconf array (of structures)
+ near the top of the file
+ - modify this to match the boards you are going to install
+ (the comments before this structure should help)
+ - save and exit
+
+Once you have set up the board configurations then you are ready to build
+the kernel or modules.
+
+When the new kernel is booted, or the loadable module loaded then the
+driver will emit some kernel trace messages about whether the configured
+boards where detected or not. Depending on how your system logger is set
+up these may come out on the console, or just be logged to
+/var/adm/messages. You should check the messages to confirm that all is well.
+
+
+2.1 SHARING INTERRUPTS
+
+It is possible to share interrupts between multiple EasyIO and
+EasyConnection 8/32 boards in an EISA system. To do this you will need to
+do a couple of things:
+
+1. When entering the board resources into the stallion.c file you need to
+ mark the boards as using level triggered interrupts. Do this by replacing
+ the "0" entry at field position 6 (the last field) in the board
+ configuration structure with a "1". (This is the structure that defines
+ the board type, I/O locations, etc. for each board). All boards that are
+ sharing an interrupt must be set this way, and each board should have the
+ same interrupt number specified here as well. Now build the module or
+ kernel as you would normally.
+
+2. When physically installing the boards into the system you must enter
+ the system EISA configuration utility. You will need to install the EISA
+ configuration files for *all* the EasyIO and EasyConnection 8/32 boards
+ that are sharing interrupts. The Stallion EasyIO and EasyConnection 8/32
+ EISA configuration files required are supplied by Stallion Technologies
+ on the EASY Utilities floppy (usually supplied in the box with the board
+ when purchased. If not, you can pick it up from Stallion's FTP site,
+ ftp.stallion.com). You will need to edit the board resources to choose
+ level triggered interrupts, and make sure to set each board's interrupt
+ to the same IRQ number.
+
+You must complete both the above steps for this to work. When you reboot
+or load the driver your EasyIO and EasyConnection 8/32 boards will be
+sharing interrupts.
+
+
+2.2 USING HIGH SHARED MEMORY
+
+The EasyConnection 8/64-EI, ONboard and Stallion boards are capable of
+using shared memory addresses above the usual 640K - 1Mb range. The ONboard
+ISA and the Stallion boards can be programmed to use memory addresses up to
+16Mb (the ISA bus addressing limit), and the EasyConnection 8/64-EI and
+ONboard/E can be programmed for memory addresses up to 4Gb (the EISA bus
+addressing limit).
+
+The higher than 1Mb memory addresses are fully supported by this driver.
+Just enter the address as you normally would for a lower than 1Mb address
+(in the drivers board configuration structure).
+
+
+
+2.3 TROUBLE SHOOTING
+
+If a board is not found by the driver but is actually in the system then the
+most likely problem is that the I/O address is wrong. Change it in the driver
+stallion.c or istallion.c configuration structure and rebuild the kernel or
+modules, or change it on the board. On EasyIO and EasyConnection 8/32 boards
+the IRQ is software programmable, so if there is a conflict you may need to
+change the IRQ used for a board in the stallion.c configuration structure.
+There are no interrupts to worry about for ONboard, Brumby or EasyConnection
+8/64 boards. The memory region on EasyConnection 8/64 and ONboard boards is
+software programmable, but not on the Brumby boards.
+
+
+
+3. USING THE DRIVERS
+
+3.1 INTELLIGENT DRIVER OPERATION
+
+The intelligent boards also need to have their "firmware" code downloaded
+to them. This is done via a user level application supplied in the driver
+utility package called "stlload". Compile this program where ever you dropped
+the package files, by typing "make". In its simplest form you can then type
+ ./stlload -i cdk.sys
+in this directory and that will download board 0 (assuming board 0 is an
+EasyConnection 8/64 board). To download to an ONboard, Brumby or Stallion do:
+ ./stlload -i 2681.sys
+
+Normally you would want all boards to be downloaded as part of the standard
+system startup. To achieve this, add one of the lines above into the
+/etc/rc.d/rc.S or /etc/rc.d/rc.serial file. To download each board just add
+the "-b <brd-number>" option to the line. You will need to download code for
+every board. You should probably move the stlload program into a system
+directory, such as /usr/sbin. Also, the default location of the cdk.sys image
+file in the stlload down-loader is /usr/lib/stallion. Create that directory
+and put the cdk.sys and 2681.sys files in it. (It's a convenient place to put
+them anyway). As an example your /etc/rc.d/rc.S file might have the
+following lines added to it (if you had 3 boards):
+ /usr/sbin/stlload -b 0 -i /usr/lib/stallion/cdk.sys
+ /usr/sbin/stlload -b 1 -i /usr/lib/stallion/2681.sys
+ /usr/sbin/stlload -b 2 -i /usr/lib/stallion/2681.sys
+
+The image files cdk.sys and 2681.sys are specific to the board types. The
+cdk.sys will only function correctly on an EasyConnection 8/64 board. Similarly
+the 2681.sys image fill only operate on ONboard, Brumby and Stallion boards.
+If you load the wrong image file into a board it will fail to start up, and
+of course the ports will not be operational!
+
+If you are using the modularized version of the driver you might want to put
+the insmod calls in the startup script as well (before the download lines
+obviously).
+
+
+3.2 USING THE SERIAL PORTS
+
+Once the driver is installed you will need to setup some device nodes to
+access the serial ports. The simplest method is to use the stallion utility
+"mkdevnods" script. It will automatically create device entries for Stallion
+boards. This will create the normal serial port devices as /dev/ttyE# where
+# is the port number starting from 0. A bank of 64 minor device numbers is
+allocated to each board, so the first port on the second board is port 64,
+etc. A set of callout type devices is also created. They are created as the
+devices /dev/cue# where # is the same as for the ttyE devices.
+
+For the most part the Stallion driver tries to emulate the standard PC system
+COM ports and the standard Linux serial driver. The idea is that you should
+be able to use Stallion board ports and COM ports interchangeably without
+modifying anything but the device name. Anything that doesn't work like that
+should be considered a bug in this driver!
+
+If you look at the driver code you will notice that it is fairly closely
+based on the Linux serial driver (linux/drivers/char/serial.c). This is
+intentional, obviously this is the easiest way to emulate its behavior!
+
+Since this driver tries to emulate the standard serial ports as much as
+possible, most system utilities should work as they do for the standard
+COM ports. Most importantly "stty" works as expected and "setserial" can be
+also be used (excepting the ability to auto-configure the I/O and IRQ
+addresses of boards). Higher baud rates are supported in the usual fashion
+through setserial or using the CBAUDEX extensions. Note that the EasyIO and
+EasyConnection (all types) support at least 57600 and 115200 baud. The newer
+EasyConnection XP modules and new EasyIO boards support 230400 and 460800
+baud as well. The older boards including ONboard and Brumby support a
+maximum baud rate of 38400.
+
+If you are unfamiliar with how to use serial ports, then get the Serial-HOWTO
+by Greg Hankins. It will explain everything you need to know!
+
+
+
+4. NOTES
+
+You can use both drivers at once if you have a mix of board types installed
+in a system. However to do this you will need to change the major numbers
+used by one of the drivers. Currently both drivers use major numbers 24, 25
+and 28 for their devices. Change one driver to use some other major numbers,
+and then modify the mkdevnods script to make device nodes based on those new
+major numbers. For example, you could change the istallion.c driver to use
+major numbers 60, 61 and 62. You will also need to create device nodes with
+different names for the ports, for example ttyF# and cuf#.
+
+The original Stallion board is no longer supported by Stallion Technologies.
+Although it is known to work with the istallion driver.
+
+Finding a free physical memory address range can be a problem. The older
+boards like the Stallion and ONboard need large areas (64K or even 128K), so
+they can be very difficult to get into a system. If you have 16 Mb of RAM
+then you have no choice but to put them somewhere in the 640K -> 1Mb range.
+ONboards require 64K, so typically 0xd0000 is good, or 0xe0000 on some
+systems. If you have an original Stallion board, "V4.0" or Rev.O, then you
+need a 64K memory address space, so again 0xd0000 and 0xe0000 are good.
+Older Stallion boards are a much bigger problem. They need 128K of address
+space and must be on a 128K boundary. If you don't have a VGA card then
+0xc0000 might be usable - there is really no other place you can put them
+below 1Mb.
+
+Both the ONboard and old Stallion boards can use higher memory addresses as
+well, but you must have less than 16Mb of RAM to be able to use them. Usual
+high memory addresses used include 0xec0000 and 0xf00000.
+
+The Brumby boards only require 16Kb of address space, so you can usually
+squeeze them in somewhere. Common addresses are 0xc8000, 0xcc000, or in
+the 0xd0000 range. EasyConnection 8/64 boards are even better, they only
+require 4Kb of address space, again usually 0xc8000, 0xcc000 or 0xd0000
+are good.
+
+If you are using an EasyConnection 8/64-EI or ONboard/E then usually the
+0xd0000 or 0xe0000 ranges are the best options below 1Mb. If neither of
+them can be used then the high memory support to use the really high address
+ranges is the best option. Typically the 2Gb range is convenient for them,
+and gets them well out of the way.
+
+The ports of the EasyIO-8M board do not have DCD or DTR signals. So these
+ports cannot be used as real modem devices. Generally, when using these
+ports you should only use the cueX devices.
+
+The driver utility package contains a couple of very useful programs. One
+is a serial port statistics collection and display program - very handy
+for solving serial port problems. The other is an extended option setting
+program that works with the intelligent boards.
+
+
+
+5. DISCLAIMER
+
+The information contained in this document is believed to be accurate and
+reliable. However, no responsibility is assumed by Stallion Technologies
+Pty. Ltd. for its use, nor any infringements of patents or other rights
+of third parties resulting from its use. Stallion Technologies reserves
+the right to modify the design of its products and will endeavour to change
+the information in manuals and accompanying documentation accordingly.
+
diff --git a/Documentation/watchdog.txt b/Documentation/watchdog.txt
index 940313a94..caf7adf24 100644
--- a/Documentation/watchdog.txt
+++ b/Documentation/watchdog.txt
@@ -11,17 +11,20 @@ The following watchdog drivers are currently implemented:
ICS WDT501-P (no fan tachometer)
ICS WDT500-P
Software Only
+ Berkshire Products PC Watchdog Revision A & C (by Ken Hollis)
-All four interfaces provide /dev/watchdog, which when open must be written
-to within a minute or the machine will reboot. Each write delays the reboot
-time another minute. In the case of the software watchdog the ability to
+
+All five interfaces provide /dev/watchdog, which when open must be written
+to within a timeout or the machine will reboot. Each write delays the reboot
+time another timeout. In the case of the software watchdog the ability to
reboot will depend on the state of the machines and interrupts. The hardware
boards physically pull the machine down off their own onboard timers and
will reboot from almost anything.
A second temperature monitoring interface is available on the WDT501P cards
-and provides /dev/temperature. This is the machine internal temperature in
-degrees farenheit. Each read returns a single byte giving the temperature.
+and some Berkshire cards. This provides /dev/temperature. This is the machine
+internal temperature in degrees farenheit. Each read returns a single byte
+giving the temperature.
The third interface logs kernel messages on additional alert events.
@@ -29,16 +32,20 @@ Both software and hardware watchdog drivers are available in the standard
kernel. If you are using the software watchdog, you probably also want
to use "panic=60" as a boot argument as well.
+The wdt card cannot be safely probed for. Instead you need to pass
+wdt=ioaddr,irq as a boot parameter - eg "wdt=0x240,11".
+
Features
--------
- WDT501P WDT500P Software
-Reboot Timer X X X
-External Reboot X X o
-Temperature X o o
-Fan Speed X o o
-Power Under X o o
-Power Over X o o
-Overheat X o o
+ WDT501P WDT500P Software Berkshire
+Reboot Timer X X X X
+External Reboot X X o o
+I/O Port Monitor o o o X
+Temperature X o o X
+Fan Speed X o o o
+Power Under X o o o
+Power Over X o o o
+Overheat X o o o
The external event interfaces on the WDT boards are not currently supported.
Minor numbers are however allocated for it.
@@ -80,4 +87,8 @@ Industrial Computer Source
9950 Barnes Canyon Road
San Diego, CA
+http://www.industry.net/indcompsrc
+
and please mention Linux when enquiring.
+
+For full information about the PCWD cards see the pcwd-watchdog.txt document.