OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [isdn/] [README.x25] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
 
2
X.25 support within isdn4linux
3
==============================
4
 
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.
8
 
9
Keep in mind:
10
 
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.
14
 
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.
18
 
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.
22
 
23
- Monitor your isdn connections while using this software. This should
24
  prevent you from undesired phone bills in case of driver problems.
25
 
26
 
27
 
28
 
29
How to configure the kernel
30
===========================
31
 
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
35
 
36
   "CCITT X.25 Packet Layer"
37
 
38
from the networking options as well as
39
 
40
   "ISDN Support" and "X.25 PLP on Top of ISDN"
41
 
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".
47
 
48
For local testing it is also recommended to enable the isdnloop driver
49
from the isdn subsystem's configuration menu.
50
 
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.
54
 
55
 
56
 
57
What's it for? How to use it?
58
=============================
59
 
60
X.25 on top of isdn might be useful with two different scenarios:
61
 
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 B-channel (leased line as well as dial up connection should
65
  work).
66
 
67
  This corresponds to ITU-T recommendation X.31 Case A (circuit-mode
68
  access to PSPDN [packet switched public data network]).
69
 
70
  NOTE: X.31 also covers a Case B (access to PSPDN via virtual
71
  circuit / packet mode service). The latter mode (which in theory
72
  also allows using the D-channel) is not supported by isdn4linux.
73
  It should however be possible to establish such packet mode connections
74
  with certain active isdn cards provided that the firmware supports X.31
75
  and the driver exports this functionality to the user. Currently,
76
  the AVM B1 driver is the only driver which does so. (It should be
77
  possible to access D-channel X.31 with active AVM cards using the
78
  CAPI interface of the AVM-B1 driver).
79
 
80
- Or you might want to operate certain ISDN teleservices on your linux
81
  box. A lot of those teleservices run on top of the ISO-8208
82
  (DTE-DTE mode) network layer protocol. ISO-8208 is essentially the
83
  same as ITU-T X.25.
84
 
85
  Popular candidates of such teleservices are EUROfile transfer or any
86
  teleservice applying ITU-T recommendation T.90.
87
 
88
To use the X.25 protocol on top of isdn, just create an isdn network
89
interface as usual, configure your own and/or peer's ISDN numbers,
90
and choose x25iface encapsulation by
91
 
92
   isdnctrl encap  x25iface.
93
 
94
Once encap is set like this, the device can be used by the X.25 packet layer.
95
 
96
All the stuff needed for X.25 is implemented inside the isdn link
97
level (mainly isdn_net.c and some new source files). Thus, it should
98
work with every existing HL driver. I was able to successfully open X.25
99
connections on top of the isdnloop driver and the hisax driver.
100
"x25iface"-encapsulation bypasses demand dialing. Dialing will be
101
initiated when the upper (X.25 packet) layer requests the lapb datalink to
102
be established. But hangup timeout is still active. Whenever a hangup
103
occurs, all existing X.25 connections on that link will be cleared
104
It is recommended to use sufficiently large hangup-timeouts for the
105
isdn interfaces.
106
 
107
 
108
In order to set up a conforming protocol stack you also need to
109
specify the proper l2_prot parameter:
110
 
111
To operate in ISO-8208  X.25 DTE-DTE mode, use
112
 
113
   isdnctrl l2_prot  x75i
114
 
115
To access an X.25 network switch via isdn (your linux box is the DTE), use
116
 
117
   isdnctrl l2_prot  x25dte
118
 
119
To mimic an X.25 network switch (DCE side of the connection), use
120
 
121
   isdnctrl l2_prot  x25dce
122
 
123
However, x25dte or x25dce is currently not supported by any real HL
124
level driver. The main difference between x75i and x25dte/dce is that
125
x25d[tc]e uses fixed lap_b addresses. With x75i, the side which
126
initiates the isdn connection uses the DTE's lap_b address while the
127
called side used the DCE's lap_b address. Thus, l2_prot x75i might
128
probably work if you access a public X.25 network as long as the
129
corresponding isdn connection is set up by you. At least one test
130
was successful to connect via isdn4linux to an X.25 switch using this
131
trick. At the switch side, a terminal adapter X.21 was used to connect
132
it to the isdn.
133
 
134
 
135
How to set up a test installation?
136
==================================
137
 
138
To test X.25 on top of isdn, you need to get
139
 
140
- a recent version of the "isdnctrl" program that supports setting the new
141
  X.25 specific parameters.
142
 
143
- the x25-utils-2.X package from
144
  ftp://ftp.hes.iki.fi/pub/ham/linux/ax25/x25utils-*
145
  (don't confuse the x25-utils with the ax25-utils)
146
 
147
- an application program that uses linux PF_X25 sockets (some are
148
  contained in the x25-util package).
149
 
150
Before compiling the user level utilities make sure that the compiler/
151
preprocessor will fetch the proper kernel header files of this kernel
152
source tree. Either make /usr/include/linux a symbolic link pointing to
153
this kernel's include/linux directory or set the appropriate compiler flags.
154
 
155
When all drivers and interfaces are loaded and configured you need to
156
ifconfig the network interfaces up and add X.25-routes to them. Use
157
the usual ifconfig tool.
158
 
159
ifconfig  up
160
 
161
But a special x25route tool (distributed with the x25-util package)
162
is needed to set up X.25 routes. I.e.
163
 
164
x25route add 01 
165
 
166
will cause all x.25 connections to the destination X.25-address
167
"01" to be routed to your created isdn network interface.
168
 
169
There are currently no real X.25 applications available. However, for
170
tests, the x25-utils package contains a modified version of telnet
171
and telnetd that uses X.25 sockets instead of tcp/ip sockets. You can
172
use those for your first tests. Furthermore, you might check
173
ftp://ftp.hamburg.pop.de/pub/LOCAL/linux/i4l-eft/ which contains some
174
alpha-test implementation ("eftp4linux") of the EUROfile transfer
175
protocol.
176
 
177
The scripts distributed with the eftp4linux test releases might also
178
provide useful examples for setting up X.25 on top of isdn.
179
 
180
The x25-utility package also contains an x25trace tool that can be
181
used to monitor X.25 packets received by the network interfaces.
182
The /proc/net/x25* files also contain useful information.
183
 
184
- Henner

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.