Commit | Line | Data |
---|---|---|
1da177e4 LT |
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. | |
7 | ||
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 | |
14 | mailing list. | |
15 | ||
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 | |
21 | contents. | |
22 | ||
23 | TABLE OF CONTENTS | |
24 | ----------------- | |
25 | 1. Introduction | |
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 | |
29 | this driver release? | |
30 | ||
31 | 2. Basic Operations | |
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 | |
38 | ||
39 | 3. Beta Change Summaries and Miscellaneous Notes | |
40 | ||
41 | 1. Introduction | |
42 | --------------- | |
43 | ||
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. | |
51 | ||
52 | 1.1 What Is ISDN4Linux | |
53 | ||
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. | |
59 | ||
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. | |
65 | ||
66 | 1.2 What is different between this driver and previous drivers? | |
67 | ||
68 | The revision 2 driver besides adopting the ISDN4Linux architecture has many | |
69 | subtle and not so subtle functional differences from previous releases. These | |
70 | include: | |
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 | |
75 | only one 16K page. | |
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 | |
90 | familiar interface. | |
91 | ||
92 | 1.3 How do I setup my system with the correct software to use | |
93 | this driver release? | |
94 | ||
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: | |
97 | ||
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/ | |
102 | ||
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 | |
105 | ||
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 | |
111 | ||
112 | ||
113 | 2. Basic Operations | |
114 | ------------------- | |
115 | ||
116 | 2.1 Unpacking and installing the driver | |
117 | ||
118 | 1. As root, create a directory in a convenient place. We suggest | |
119 | /usr/src/spellcaster. | |
120 | ||
121 | 2. Unpack the archive with : | |
122 | tar xzf sc-n.nn.tar.gz -C /usr/src/spellcaster | |
123 | ||
124 | 3. Change directory to /usr/src/spellcaster | |
125 | ||
126 | 4. Read the README and RELNOTES files. | |
127 | ||
128 | 5. Run 'make' and if all goes well, run 'make install'. | |
129 | ||
130 | 2.2 Read the man pages!!! | |
131 | ||
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'. | |
134 | ||
135 | 2.3 Installing the driver | |
136 | ||
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. | |
139 | ||
140 | Make sure the driver loaded and detected all of the adapters by typing | |
141 | 'dmesg'. | |
142 | ||
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 | |
145 | "sc" into this file. | |
146 | ||
147 | 2.4 Removing the driver | |
148 | ||
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'. | |
151 | ||
152 | 2.5 What to do if it doesn't load | |
153 | ||
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. | |
157 | ||
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. | |
163 | ||
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. | |
169 | ||
170 | ||
171 | 2.6 How to setup ISDN4Linux with the driver | |
172 | ||
173 | There are three main configurations which you can use with the driver: | |
174 | ||
175 | A) Basic HDLC connection | |
176 | B) PPP connection | |
177 | C) MLPPP connection | |
178 | ||
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. | |
182 | ||
183 | A) 10 steps to the establishment of a basic HDLC connection | |
184 | ----------------------------------------------------------- | |
185 | ||
186 | - please open the isdn-hdlc file in the examples directory and follow along... | |
187 | ||
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. | |
191 | ||
192 | i) using the isdnctrl utility, add an interface with "addif" and | |
193 | name it "isdn0" | |
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 | |
197 | specific channel | |
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 | |
206 | ||
207 | ||
208 | B) Establishment of a PPP connection | |
209 | ------------------------------------ | |
210 | ||
211 | - please open the isdn-ppp file in the examples directory and follow along... | |
212 | ||
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. | |
217 | ||
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. | |
222 | ||
223 | Then, the ipppd (ippp daemon) must be setup: | |
224 | ||
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 | |
229 | ||
230 | NOTE: A "*" in the inbound telephone number specifies that a call can be | |
231 | accepted on any number. | |
232 | ||
233 | C) Establishment of a MLPPP connection | |
234 | -------------------------------------- | |
235 | ||
236 | - please open the isdn-mppp file in the examples directory and follow along... | |
237 | ||
238 | This file is a script used to configure a BRI ISDN TA to accept a | |
239 | Multi Link PPP connection. | |
240 | ||
241 | i) using the isdnctrl utility, add an interface with "addif" and | |
242 | name it "ippp0" | |
243 | ii) add the inbound telephone number | |
244 | iii) set the Layer 2 protocol to hdlc and the Layer 3 protocol to | |
245 | trans (transparent) | |
246 | iv) set the packet encapsulation to syncppp | |
247 | v) set the eaz of the interface to be the phone number of that | |
248 | specific channel | |
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 | |
263 | ||
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 | |
266 | host. | |
267 | ||
268 | ||
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. | |
275 | ||
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. | |
281 |