diff options
Diffstat (limited to 'Documentation/isdn/README.sc')
-rw-r--r-- | Documentation/isdn/README.sc | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/Documentation/isdn/README.sc b/Documentation/isdn/README.sc new file mode 100644 index 000000000000..1153cd926059 --- /dev/null +++ b/Documentation/isdn/README.sc | |||
@@ -0,0 +1,281 @@ | |||
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 | |||