
	First Public Release: Version 1.02 BETA
	Component Versions:
		swl: 		No version number -- RELEASE
		bri_load:	V1.01 -- BETA
		bri_supp:	V1.02 -- BETA
		pcbri:		V1.02 -- BETA

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

	Introduction:

	This is the BETA Linux loader and driver for the Combinet EVERYWARE
(TM) 1000 series of BRI ISDN adapters for PCs. 

	Please read this entire file.

	If you have an NEx000, clone, or other 8390 based ethernet card,
jump straight to the "WARNINGS" section.

	DO NOT USE WITH LINUX VERSIONS PRIOR TO 1.2.8! Do not compile with
GCC-2.6.4 snapshots from May 1995!

	The driver is configured as two loadable modules. One is called
"bri_supp" and the other is called "pcbri". The loader consists of a single
program called "swl". At this time, "swl" is only available in binary form.
An older loader (bri_load) is included in source form.

	If you are using the card's COM port with a non-standard IRQ, you
should first run setserial. If your card is at COM3 and is using IRQ12, use
the following command: "setserial /dev/ttyS2 irq 12 uart 8250". The dev
number is always one less than the com port number.

	If you have minicom, you can configure it to the card's net port.
This will allow you to set the card's parameters and initiate calls. If you
are using "bri_load", you can also use minicom to watch the load progress; do
not do this with "swl" (the com port should not be open while "swl" is
running).

	You will need to get the firmware image from the DOS release. The
DOS install disk includes two executables, 5ES.EXE and DMS.EXE. You must run
the install program to unpack these files. (You can use the Linux DOS
emulator, but it's a little tricky) You will wind up with a file called
sbp26.5es (for 5ESS) or sbp26.dms (for DMS). This is the only file you need
from the DOS distribution.

	To upload the card's firmware, you use "swl". It takes the same
parameters as the DOS version. You can also use "bri_load" which takes two
parameters, the net port and the firmware image name. Do not put a "0x"
before the port number.

	If the load is successful, you are ready to install the driver.

	Type "insmod -f bri_support.o". If all goes well, you will see a
confirming message. (If you didn't, use dmesg to check if it was issued but
eaten by klogd.) Then type "insmod -f pcbri.o IRQ=xx" where "xx" is your net
IRQ (not your com IRQ).

	If all goes well, the driver should probe 0x300, 0x320, 0x340 and
0x360 until it finds something that looks like a Combinet 1000-series ISDN
card. It should then output its Ethernet Hardware Address (cards without
SAPROMs are not yet supported).

	Then next line will show the assigned device ("eth0" if you have no
ethernet cards, otherwise "eth1" or whatever). If this happens, the driver
is working perfectly (so far).

	You can confirm proper installation by examining "/proc/interrupts"
and "/proc/ioports". Checking "/proc/interrupts" may be useful later if
there is any question of whether interrupts are being generated. Also
"ifconfig" will tell you if any packets have been transmitted or received --
note that this refers to packets transferred between Linux and the BRI card,
not between the BRI card and the ISDN line.

	Now you need to configure the Linux side of the driver. Use
"ifconfig" followed by the device name (eth0, eth1, whatever) followed by
the ip address you will claim your packets originate from followed by the
word "up". For example, "ifconfig eth0 164.24.142.53 up netmask 0.0.0.0". A
netmask of 0.0.0.0 should always be used.

	Next add whatever routes you need (target, default gw, whatever).
(See notes below)

	Then, make a call and try pinging a remote site.

	Go to another console and try "ifconfig" and watch the transmit and
receive packet counts go up. Type "cat /proc/interrupts" and verify that the
card is generating interrupts.

	To remove the driver, first down the interface by doing an 
"ifconfig eth0 down" (or whatever device was assigned to the BRI card). Once 
the interface is down, you can rmmod the "bri_supp" module. Then you can rmmod
"pcbri".

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

	WARNINGS:

	More than one PCBRI card is not presently supported.

	Drivers for 8390-based Ethernet cards will crash when the PCBRI card
is installed unless a card that driver supports is actually installed and
that card's address is probed by its driver before the BRI card's address.

	The NEx000 driver released with Linux as well as many other drivers
for 8390-based cards will detect the Combinet and attempt to control it. The
result is most-likely to be an instant lock-up. A patch to these
drivers to prevent them from locking onto Combinet ISDN cards is in
development.

	In addition, if you have an NEx000 card installed at an address that
comes before the BRI card's address in the probe order (0x300, 0x320, 0x340,
0x360) and the NEx000 driver is not compiled into your kernel, installing
the PCBRI driver may cause your system to crash.

	For now, there are only two ways to get a Combinet ISDN card to
coexist under Linux with another 8390 based card or a driver for one. One is
to put the Combinet card at an address the other software _doesn't_ probe.
(Change it's probing addresses if necessary) and install the other card's
driver first.

	The other, and simpler, way is to put the 8390-based card at 0x300
and make sure that its driver installs first (compile it into the kernel).
This will keep the other driver happy and it won't see the BRI card. The BRI
driver will see that 0x300 is in use and will skip it when autoprobing. If
you ever remove the ethernet card (while keeping the BRI card), your system
will crash unless you recompile the kernel without that card's driver. Also,
if you ever remove the other ethernet card's driver from the kernel without
also removing the card, your system will crash.

	Simply put, to get the BRI driver to cooexist with an NE2000 card,
put the NE2000 card at 0x300, the BRI card at 0x320, 0x340, or 0x360 and
compile the NEx000 driver into the kernel. As long as the driver stays in
the kernel and both cards stay in the system, both cards will work.

	I recommend you put your net port at 0x300 unless you have an NEx000
or clone in which case I recommend 0x340.

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

	Notes:

	If you are going to use the PCBRI to make a single call to a
destination that will be your internet gateway, let ifconfig use a netmask
of 0.0.0.0. Then add two routes, one to the gateway and one the default. For
example, if your IP address is 1.2.3.4 and you're connecting to 198.7.4.24
and the interface is eth0, use:

	ifconfig eth0 1.2.3.4 netmask 0.0.0.0 up
	route add 198.7.4.24 device eth0
	route add default gw 198.7.4.24 device eth0

	I strongly suggest you set the netmask to 0.0.0.0 (because,
theoretically, you can call up a host with any IP address and you shouldn't
need to reconfigure the interface to do it) and use the route table to
specify which hosts are accessed through the BRI card.

	To do one more example, suppose your IP address is 1.2.3.4 and the
BRI card is device eth0. To make things complicated, we'll assume you have
one connection to 76.42.16.4 which should be used for all IP addressess that
begin 76.42.16 and you have another connection to 198.7.4.24 which should be
your default route. (whew) Use:

	ifconfig eth0 1.2.3.4 netmask 0.0.0.0 up
	route add 76.42.16.4 device eth0
	route add -net 76.42.16.0 netmask 255.255.255.0 gw 76.42.16.4
	route add 198.7.4.24 device eth0
	route add default gw 198.7.4.24 device eth0

	Strictly speaking, the "device eth0"'s aren't needed. But it's a
good idea to put them in, otherwise, routes added after a default route may
not be what you expect.

	Get the idea? You can use "route -n" to verify that the routes are
set correctly. You can also ping various hosts and use "route -n" to check
which routes are being used.

	Send any comments or bug reports to "Stimpson@Panix.COM".

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

	Bugs:

	This driver has one known bug. Occasionally, one interrupt will get
lost and the card will lock up until either a packet is received or 1/10 of
a second passes. If this happens, one or two diagnostic messages will be
printed. If this happens to you more than three times an hour or so, please
mail me your debugging output (type "dmesg > debug.out" and mail me the
"debug.out" file along with an explanation of what type of connection(s) you
use the card for).

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

	Legalese:

Some Contents Copyright (C) 1995 Joel Katz -- Stimpson@Panix.COM

Some Contents Copyright (C) 1995, Combinet, Inc.
333 El Camino Real
Sunnyvale, CA 94087

        "DISCLAIMER - This software is provided AS IS,
        with no warranty nor guarantee, implied or otherwise, 
        and is only to be used in conjunction with
        the PC-1000 series of ISDN PC LAN adapter cards 
        from Combinet, Inc. It may only be modified
        as necessary to support the LINUX operating system. 
        THIS SOFTWARE HAS NOT, AND WILL NOT, BE DEVELOPED, 
        DISTRIBUTED NOR SUPPORTED BY COMBINET, INC."
