pre-2.3.4..
[davej-history.git] / Documentation / isdn / README.x25
blob9794f41183f50e618b95978036504c0a11c613a6
1   
2 X.25 support within isdn4linux
3 ==============================
5 This is alpha/beta test code. Use it completely at your own risk.
6 As new versions appear, the stuff described here might suddenly change
7 or become invalid without notice.
9 Keep in mind:
11 You are using several new parts of the 2.2.x kernel series which
12 have not been tested in a large scale. Therefore, you might encounter
13 more bugs as usual.
15 - If you connect to an X.25 neighbour not operated by yourself, ASK the
16   other side first. Be prepared that bugs in the protocol implementation
17   might result in problems.
19 - This implementation has never wiped out my whole hard disk yet. But as
20   this is experimental code, don't blame me if that happened to you.
21   Backing up important data will never harm.
23 - Monitor your isdn connections while using this software. This should
24   prevent you from undesired phone bills in case of driver problems.
25   
29 How to configure the kernel
30 ===========================
32 The ITU-T (former CCITT) X.25 network protocol layer has been implemented
33 in the Linux source tree since version 2.1.16. The isdn subsystem might be 
34 useful to run X.25 on top of ISDN. If you want to try it, select
36    "CCITT X.25 Packet Layer"
38 from the networking options as well as
40    "ISDN Support" and "X.25 PLP on Top of ISDN"
42 from the ISDN subsystem options when you configure your kernel for
43 compilation. You currently also need to enable
44 "Prompt for development and/or incomplete code/drivers" from the
45 "Code maturity level options" menu. For the x25trace utility to work
46 you also need to enable "Packet socket".
48 For local testing it is also recommended to enable the isdnloop driver
49 from the isdn subsystem's configuration menu.
51 For testing, it is recommended that all isdn drivers and the X.25 PLP
52 protocol are compiled as loadable modules. Like this, you can recover
53 from certain errors by simply unloading and reloading the modules.
57 What's it for? How to use it?
58 =============================
60 X.25 on top of isdn might be useful with two different scenarios:
62 - You might want to access a public X.25 data network from your Linux box.
63   You can use i4l if you were physically connected to the X.25 switch
64   by an ISDN line (leased line as well as dial up connection should work)
66 - Or you might want to operate certain ISDN teleservices on your linux
67   box. A lot of those teleservices run on top of the ISO-8208
68   (DTE-DTE mode) network layer protocol. ISO-8208 is essentially the
69   same as ITU-T X.25.
71   Popular candidates of such teleservices are EUROfile transfer or any
72   teleservice applying ITU-T recommendation T.90.
74 To use the X.25 protocol on top of isdn, just create an isdn network
75 interface as usual, configure your own and/or peer's ISDN numbers,
76 and choose x25iface encapsulation by
78    isdnctrl encap <iface-name> x25iface.
80 Once encap is set like this, the device can be used by the X.25 packet layer.
82 All the stuff needed for X.25 is implemented inside the isdn link
83 level (mainly isdn_net.c and some new source files). Thus, it should
84 work with every existing HL driver. I was able to successfully open X.25
85 connections on top of the isdnloop driver and the hisax driver.
86 "x25iface"-encapsulation bypasses demand dialing. Dialing will be
87 initiated when the upper (X.25 packet) layer requests the lapb datalink to
88 be established. But hangup timeout is still active. Whenever a hangup
89 occurs, all existing X.25 connections on that link will be cleared
90 It is recommended to use sufficiently large hangup-timeouts for the
91 isdn interfaces.
94 In order to set up a conforming protocol stack you also need to
95 specify the proper l2_prot parameter:
97 To operate in ISO-8208  X.25 DTE-DTE mode, use
99    isdnctrl l2_prot <iface-name> x75i
101 To access an X.25 network switch via isdn (your linux box is the DTE), use
103    isdnctrl l2_prot <iface-name> x25dte
105 To mimic an X.25 network switch (DCE side of the connection), use
107    isdnctrl l2_prot <iface-name> x25dce
109 However, x25dte or x25dce is currently not supported by any real HL
110 level driver. The main difference between x75i and x25dte/dce is that
111 x25d[tc]e uses fixed lap_b addresses. With x75i, the side which
112 initiates the isdn connection uses the DTE's lap_b address while the
113 called side used the DCE's lap_b address. Thus, l2_prot x75i might
114 probably work if you access a public X.25 network as long as the
115 corresponding isdn connection is set up by you. At least one test
116 was successful to connect via isdn4linux to an X.25 switch using this
117 trick. At the switch side, a terminal adapter X.21 was used to connect
118 it to the isdn.
121 How to set up a test installation?
122 ==================================
124 To test X.25 on top of isdn, you need to get
126 - a recent version of the "isdnctrl" program that supports setting the new
127   X.25 specific parameters.
129 - the x25-utils-2.X package from 
130   ftp://ftp.hes.iki.fi/pub/ham/linux/ax25/x25utils-*
131   (don't confuse the x25-utils with the ax25-utils)
133 - an application program that uses linux PF_X25 sockets (some are
134   contained in the x25-util package).
136 Before compiling the user level utilities make sure that the compiler/
137 preprocessor will fetch the proper kernel header files of this kernel
138 source tree. Either make /usr/include/linux a symbolic link pointing to 
139 this kernel's include/linux directory or set the appropriate compiler flags.
141 When all drivers and interfaces are loaded and configured you need to
142 ifconfig the network interfaces up and add X.25-routes to them. Use
143 the usual ifconfig tool.
145 ifconfig <iface-name> up
147 But a special x25route tool (distributed with the x25-util package)
148 is needed to set up X.25 routes. I.e. 
150 x25route add 01 <iface-name>
152 will cause all x.25 connections to the destination X.25-address
153 "01" to be routed to your created isdn network interface.
155 There are currently no real X.25 applications available. However, for
156 tests, the x25-utils package contains a modified version of telnet
157 and telnetd that uses X.25 sockets instead of tcp/ip sockets. You can
158 use those for your first tests. Furthermore, you might check
159 ftp://ftp.hamburg.pop.de/pub/LOCAL/linux/i4l-eft/ which contains some
160 alpha-test implementation ("eftp4linux") of the EUROfile transfer
161 protocol.
163 The scripts distributed with the eftp4linux test releases might also
164 provide useful examples for setting up X.25 on top of isdn.
166 The x25-utility package also contains an x25trace tool that can be
167 used to monitor X.25 packets received by the network interfaces.
168 The /proc/net/x25* files also contain useful information. 
170 - Henner