1
Welcome to Beta Release 2 of the combination ISDN driver for SpellCaster's
2
ISA ISDN adapters. Please note this release 2 includes support for the
3
DataCommute/BRI and TeleCommute/BRI adapters only and any other use is
4
guaranteed to fail. If you have a DataCommute/PRI installed in the test
5
computer, we recommend removing it as it will be detected but will not
6
be usable. To see what we have done to Beta Release 2, see section 3.
8
Speaking of guarantees, THIS IS BETA SOFTWARE and as such contains
9
bugs and defects either known or unknown. Use this software at your own
10
risk. There is NO SUPPORT for this software. Some help may be available
11
through the web site or the mailing list but such support is totally at
12
our own option and without warranty. If you choose to assume all and
13
total risk by using this driver, we encourage you to join the beta
16
To join the Linux beta mailing list, send a message to:
17
majordomo@spellcast.com with the words "subscribe linux-beta" as the only
18
contents of the message. Do not include a signature. If you choose to
19
remove yourself from this list at a later date, send another message to
20
the same address with the words "unsubscribe linux-beta" as its only
26
1.1 What is ISDN4Linux?
27
1.2 What is different between this driver and previous drivers?
28
1.3 How do I setup my system with the correct software to use
32
2.1 Unpacking and installing the driver
33
2.2 Read the man pages!!!
34
2.3 Installing the driver
35
2.4 Removing the driver
36
2.5 What to do if it doesn't load
37
2.6 How to setup ISDN4Linux with the driver
39
3. Beta Change Summaries and Miscellaneous Notes
44
The revision 2 Linux driver for SpellCaster ISA ISDN adapters is built
45
upon ISDN4Linux available separately or as included in Linux 2.0 and later.
46
The driver will support a maximum of 4 adapters in any one system of any
47
type including DataCommute/BRI, DataCommute/PRI and TeleCommute/BRI for a
48
maximum of 92 channels for host. The driver is supplied as a module in
49
source form and needs to be complied before it can be used. It has been
50
tested on Linux 2.0.20.
52
1.1 What Is ISDN4Linux
54
ISDN4Linux is a driver and set of tools used to access and use ISDN devices
55
on a Linux platform in a common and standard way. It supports HDLC and PPP
56
protocols and offers channel bundling and MLPPP support. To use ISDN4Linux
57
you need to configure your kernel for ISDN support and get the ISDN4Linux
58
tool kit from our web site.
60
ISDN4Linux creates a channel pool from all of the available ISDN channels
61
and therefore can function across adapters. When an ISDN4Linux compliant
62
driver (such as ours) is loaded, all of the channels go into a pool and
63
are used on a first-come first-served basis. In addition, individual
64
channels can be specifically bound to particular interfaces.
66
1.2 What is different between this driver and previous drivers?
68
The revision 2 driver besides adopting the ISDN4Linux architecture has many
69
subtle and not so subtle functional differences from previous releases. These
71
- More efficient shared memory management combined with a simpler
72
configuration. All adapters now use only 16Kbytes of shared RAM
73
versus between 16K and 64K. New methods for using the shared RAM
74
allow us to utilize all of the available RAM on the adapter through
76
- Better detection of available upper memory. The probing routines
77
have been improved to better detect available shared RAM pages and
78
used pages are now locked.
79
- Decreased loading time and a wider range of I/O ports probed.
80
We have significantly reduced the amount of time it takes to load
81
the driver and at the same time doubled the number of I/O ports
82
probed increasing the likelihood of finding an adapter.
83
- We now support all ISA adapter models with a single driver instead
84
of separate drivers for each model. The revision 2 driver supports
85
the DataCommute/BRI, DataCommute/PRI and TeleCommute/BRI in any
86
combination up to a maximum of four adapters per system.
87
- On board PPP protocol support has been removed in favour of the
88
sync-PPP support used in ISDN4Linux. This means more control of
89
the protocol parameters, faster negotiation time and a more
92
1.3 How do I setup my system with the correct software to use
95
Before you can compile, install and use the SpellCaster ISA ISDN driver, you
96
must ensure that the following software is installed, configured and running:
98
- Linux kernel 2.0.20 or later with the required init and ps
99
versions. Please see your distribution vendor for the correct
100
utility packages. The latest kernel is available from
101
ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0/
103
- The latest modules package (modules-2.0.0.tar.gz) from
104
ftp://sunsite.unc.edu/pub/Linux/kernel/modules-2.0.0.tar.gz
106
- The ISDN4Linux tools available from
107
ftp://ftp.franken.de/pub/isdn4linux/v2.0/isdn4k-utils-2.0.tar.gz
108
This package may fail to compile for you so you can alternatively
109
get a pre-compiled version from
110
ftp://ftp.spellcast.com/pub/drivers/isdn4linux/isdn4k-bin-2.0.tar.gz
116
2.1 Unpacking and installing the driver
118
1. As root, create a directory in a convenient place. We suggest
119
/usr/src/spellcaster.
121
2. Unpack the archive with :
122
tar xzf sc-n.nn.tar.gz -C /usr/src/spellcaster
124
3. Change directory to /usr/src/spellcaster
126
4. Read the README and RELNOTES files.
128
5. Run 'make' and if all goes well, run 'make install'.
130
2.2 Read the man pages!!!
132
Make sure you read the scctrl(8) and sc(4) manual pages before continuing
133
any further. Type 'man 8 scctrl' and 'man 4 sc'.
135
2.3 Installing the driver
137
To install the driver, type '/sbin/insmod sc' as root. sc(4) details options
138
you can specify but you shouldn't need to use any unless this doesn't work.
140
Make sure the driver loaded and detected all of the adapters by typing
143
The driver can be configured so that it is loaded upon startup. To do this,
144
edit the file "/etc/modules/'uname -f'/'uname -v'" and insert the driver name
147
2.4 Removing the driver
149
To remove the driver, delete any interfaces that may exist (see isdnctrl(8)
150
for more on this) and then type '/sbin/rmmod sc'.
152
2.5 What to do if it doesn't load
154
If, when you try to install the driver, you get a message mentioning
155
'register_isdn' then you do not have the ISDN4Linux system installed. Please
156
make sure that ISDN support is configured in the kernel.
158
If you get a message that says 'initialization of sc failed', then the
159
driver failed to detect an adapter or failed to find resources needed such
160
as a free IRQ line or shared memory segment. If you are sure there are free
161
resources available, use the insmod options detailed in sc(4) to override
162
the probing function.
164
Upon testing, the following problem was noted, the driver would load without
165
problems, but the board would not respond beyond that point. When a check was
166
done with 'cat /proc/interrupts' the interrupt count for sc was 0. In the event
167
of this problem, change the BIOS settings so that the interrupts in question are
168
reserved for ISA use only.
171
2.6 How to setup ISDN4Linux with the driver
173
There are three main configurations which you can use with the driver:
175
A) Basic HDLC connection
179
It should be mentioned here that you may also use a tty connection if you
180
desire. The Documentation directory of the isdn4linux subsystem offers good
181
documentation on this feature.
183
A) 10 steps to the establishment of a basic HDLC connection
184
-----------------------------------------------------------
186
- please open the isdn-hdlc file in the examples directory and follow along...
188
This file is a script used to configure a BRI ISDN TA to establish a
189
basic HDLC connection between its two channels. Two network
190
interfaces are created and two routes added between the channels.
192
i) using the isdnctrl utility, add an interface with "addif" and
194
ii) add the outgoing and inbound telephone numbers
195
iii) set the Layer 2 protocol to hdlc
196
iv) set the eaz of the interface to be the phone number of that
198
v) to turn the callback features off, set the callback to "off" and
199
the callback delay (cbdelay) to 0.
200
vi) the hangup timeout can be set to a specified number of seconds
201
vii) the hangup upon incoming call can be set on or off
202
viii) use the ifconfig command to bring up the network interface with
203
a specific IP address and point to point address
204
ix) add a route to the IP address through the isdn0 interface
205
x) a ping should result in the establishment of the connection
208
B) Establishment of a PPP connection
209
------------------------------------
211
- please open the isdn-ppp file in the examples directory and follow along...
213
This file is a script used to configure a BRI ISDN TA to establish a
214
PPP connection between the two channels. The file is almost
215
identical to the HDLC connection example except that the packet
216
encapsulation type has to be set.
218
use the same procedure as in the HDLC connection from steps i) to
219
iii) then, after the Layer 2 protocol is set, set the encapsulation
220
"encap" to syncppp. With this done, the rest of the steps, iv) to x)
221
can be followed from above.
223
Then, the ipppd (ippp daemon) must be setup:
225
xi) use the ipppd function found in /sbin/ipppd to set the following:
226
xii) take out (minus) VJ compression and bsd compression
227
xiii) set the mru size to 2000
228
xiv) link the two /dev interfaces to the daemon
230
NOTE: A "*" in the inbound telephone number specifies that a call can be
231
accepted on any number.
233
C) Establishment of a MLPPP connection
234
--------------------------------------
236
- please open the isdn-mppp file in the examples directory and follow along...
238
This file is a script used to configure a BRI ISDN TA to accept a
239
Multi Link PPP connection.
241
i) using the isdnctrl utility, add an interface with "addif" and
243
ii) add the inbound telephone number
244
iii) set the Layer 2 protocol to hdlc and the Layer 3 protocol to
246
iv) set the packet encapsulation to syncppp
247
v) set the eaz of the interface to be the phone number of that
249
vi) to turn the callback features off, set the callback to "off" and
250
the callback delay (cbdelay) to 0.
251
vi) the hangup timeout can be set to a specified number of seconds
252
vii) the hangup upon incoming call can be set on or off
253
viii) add a slave interface and name it "ippp32" for example
254
ix) set the similar parameters for the ippp32 interface
255
x) use the ifconfig command to bring-up the ippp0 interface with a
256
specific IP address and point to point address
257
xi) add a route to the IP address through the ippp0 interface
258
xii) use the ipppd function found in /sbin/ipppd to set the following:
259
xiii) take out (minus) bsd compression
260
xiv) set the mru size to 2000
261
xv) add (+) the multi-link function "+mp"
262
xvi) link the two /dev interfaces to the daemon
264
NOTE: To use the MLPPP connection to dial OUT to a MLPPP connection, change
265
the inbound telephone numbers to the outgoing telephone numbers of the MLPPP
269
3. Beta Change Summaries and Miscellaneous Notes
270
------------------------------------------------
271
When using the "scctrl" utility to upload firmware revisions on the board,
272
please note that the byte count displayed at the end of the operation may be
273
different from the total number of bytes in the "dcbfwn.nn.sr" file. Please
274
disregard the displayed byte count.
276
It was noted that in Beta Release 1, the module would fail to load and result
277
in a segmentation fault when 'insmod'ed. This problem was created when one of
278
the isdn4linux parameters, (isdn_ctrl, data field) was filled in. In some
279
cases, this data field was NULL, and was left unchecked, so when it was
280
referenced... segv. The bug has been fixed around line 63-68 of event.c.