Merged pre-2.1.99-2 Documentation/isdn changes (spelling errors)

Minor README.x25 changes.
This commit is contained in:
Henner Eisen 1998-04-29 19:49:10 +00:00
parent 975e78f1fe
commit fc13108ff9
11 changed files with 119 additions and 119 deletions

View File

@ -53,7 +53,7 @@ Description of the Interface between Linklevel and Hardwarelevel
***CHANGE0.6: New since this version. ***CHANGE0.6: New since this version.
Also to be preset by the HL-driver. With this value the HL-driver Also to be preset by the HL-driver. With this value the HL-driver
tells to the LL the maximum size of a data-packet it will accept. tells the LL the maximum size of a data-packet it will accept.
unsigned long features; unsigned long features;
@ -70,8 +70,8 @@ Description of the Interface between Linklevel and Hardwarelevel
***CHANGE0.7.4: New field. ***CHANGE0.7.4: New field.
To be preset by the HL-driver, if it supports sk_buff's. The driver To be preset by the HL-driver, if it supports sk_buff's. The driver
should put here the amount of additional space needed in sk-buff's for should put here the amount of additional space needed in sk_buff's for
its internal purposes. Drivers not supporting sk_buff's should put its internal purposes. Drivers not supporting sk_buff's should
initialize this field to 0. initialize this field to 0.
void (*rcvcallb_skb)(int, int, struct sk_buff *) void (*rcvcallb_skb)(int, int, struct sk_buff *)
@ -211,7 +211,7 @@ Description of the Interface between Linklevel and Hardwarelevel
All commands will be performed by calling the function command() described All commands will be performed by calling the function command() described
above from within the LL. The field command of the struct-parameter will above from within the LL. The field command of the struct-parameter will
contain the desired command, the field driver always is set to the contain the desired command, the field driver is always set to the
appropriate driver-Id. appropriate driver-Id.
Until now, the following commands are defined: Until now, the following commands are defined:
@ -436,7 +436,7 @@ Description of the Interface between Linklevel and Hardwarelevel
arg = unused. arg = unused.
para = unused. para = unused.
3. Description of the events to be signaled by the HL-driver to th LL. 3. Description of the events to be signaled by the HL-driver to the LL.
All status-changes are signaled via calling the previously described All status-changes are signaled via calling the previously described
function statcallb(). The field command of the struct isdn_cmd has function statcallb(). The field command of the struct isdn_cmd has
@ -520,7 +520,7 @@ Description of the Interface between Linklevel and Hardwarelevel
remote-station has initiated establishment) remote-station has initiated establishment)
The HL driver should call this when the logical l2/l3 protocol The HL driver should call this when the logical l2/l3 protocol
connection on top of the physical B-channel is esatblished . connection on top of the physical B-channel is established.
Parameter: Parameter:
driver = driver-Id driver = driver-Id
@ -624,7 +624,7 @@ Description of the Interface between Linklevel and Hardwarelevel
With this call, the HL-driver delivers CAUSE-messages to the LL. With this call, the HL-driver delivers CAUSE-messages to the LL.
Currently the LL does not use this messages. Their contents is simply Currently the LL does not use this messages. Their contents is simply
logged via kernel-messages. Therefore, currently the format of the logged via kernel-messages. Therefore, currently the format of the
messages is currently completely free. However they should be printable. messages is completely free. However they should be printable.
Parameter: Parameter:
driver = driver-Id driver = driver-Id

View File

@ -62,7 +62,7 @@ README for the ISDN-subsystem
read: raw D-channel-messages (format: depends on driver). read: raw D-channel-messages (format: depends on driver).
ioctl: depends on driver, i.e. for the ICN-driver, the base-address of ioctl: depends on driver, i.e. for the ICN-driver, the base-address of
the ports and the shared memory on the card can be set and read the ports and the shared memory on the card can be set and read
also the boot-code an the protocol software can be loaded into also the boot-code and the protocol software can be loaded into
the card. the card.
O N L Y !!! for debugging (no locking against other devices): O N L Y !!! for debugging (no locking against other devices):
@ -74,7 +74,7 @@ README for the ISDN-subsystem
128 tty-devices (64 cuix and 64 ttyIx) with integrated modem-emulator: 128 tty-devices (64 cuix and 64 ttyIx) with integrated modem-emulator:
The functionality is almost the same as that of a serial device The functionality is almost the same as that of a serial device
(the line-discs are handled by the kernel, which lets you run (the line-discs are handled by the kernel), which lets you run
SLIP, CSLIP and asynchronous PPP through the devices. We have tested SLIP, CSLIP and asynchronous PPP through the devices. We have tested
Seyon, minicom, CSLIP (uri-dip) PPP and mgetty (compiled with NO_FAX), Seyon, minicom, CSLIP (uri-dip) PPP and mgetty (compiled with NO_FAX),
XCept. XCept.
@ -96,7 +96,7 @@ README for the ISDN-subsystem
ATI Return "ISDN for Linux...". ATI Return "ISDN for Linux...".
ATI0 " ATI0 "
ATI1 " ATI1 "
ATI2 Report of last connection. ATI2 Report of last connection.
ATO On line (data mode). ATO On line (data mode).
ATQ0 Enable result codes (default). ATQ0 Enable result codes (default).
ATQ1 Disable result codes (default). ATQ1 Disable result codes (default).
@ -107,9 +107,9 @@ README for the ISDN-subsystem
ATZ Load registers and EAZ/MSN from Profile. ATZ Load registers and EAZ/MSN from Profile.
AT&Bx Set Send-Packet-size to x (max. 4000) AT&Bx Set Send-Packet-size to x (max. 4000)
The real packet-size may be limited by the The real packet-size may be limited by the
low-level-driver used. i.e.: the HiSax-Module- low-level-driver used. e.g. the HiSax-Module-
limit is 2000. You will get NO Error-Message, limit is 2000. You will get NO Error-Message,
if you set it to higher Values, because at the if you set it to higher values, because at the
time of giving this command the corresponding time of giving this command the corresponding
driver may not be selected (see "Automatic driver may not be selected (see "Automatic
Assignment") however the size of outgoing packets Assignment") however the size of outgoing packets
@ -245,7 +245,7 @@ README for the ISDN-subsystem
19 0 Service-Octet-2 19 0 Service-Octet-2
20 0 Bit coded register (readonly) 20 0 Bit coded register (readonly)
Service-Octet-1 of last call. Service-Octet-1 of last call.
Bit mapping is the same like register 18 Bit mapping is the same as register 18
21 0 Bit coded register (readonly) 21 0 Bit coded register (readonly)
Set on incoming call (during RING) to Set on incoming call (during RING) to
octet 3 of calling party number IE (Numbering plan) octet 3 of calling party number IE (Numbering plan)
@ -263,17 +263,17 @@ README for the ISDN-subsystem
All inactive physical lines are listening to all EAZs for incoming All inactive physical lines are listening to all EAZs for incoming
calls and are NOT assigned to a specific tty or network interface. calls and are NOT assigned to a specific tty or network interface.
When an incoming call is detected, the driver looks first for a network When an incoming call is detected, the driver looks first for a network
interfaces and then for an opened tty which: interface and then for an opened tty which:
1. is configured for the same EAZ. 1. is configured for the same EAZ.
2. has the same protocol settings for the B-channel. 2. has the same protocol settings for the B-channel.
3. (only for network interfaces if the security flag is set) 3. (only for network interfaces if the security flag is set)
contains the caller number in its access list. contains the caller number in its access list.
4. Either the channel is not bound exclusively to another Net-interface, or 4. Either the channel is not bound exclusively to another Net-interface, or
it is bound AND the other checks apply to exact this Interface. it is bound AND the other checks apply to exactly this Interface.
(For usage of the bind-features, refer to the isdnctrl-man-page) (For usage of the bind-features, refer to the isdnctrl-man-page)
Only when a matching interface or tty is found, the call is accepted Only when a matching interface or tty is found is the call accepted
and the "connection" between the low-level-layer and the link-level-layer and the "connection" between the low-level-layer and the link-level-layer
is established and kept until the end of the connection. is established and kept until the end of the connection.
In all other cases no connection is established. Isdn4linux can be In all other cases no connection is established. Isdn4linux can be
@ -309,7 +309,7 @@ README for the ISDN-subsystem
4. Device-inodes 4. Device-inodes
The major and minor-numbers and its names are described in The major and minor numbers and their names are described in
Documentation/devices.txt. The major-numbers are: Documentation/devices.txt. The major-numbers are:
43 for the ISDN-tty's. 43 for the ISDN-tty's.
@ -357,7 +357,7 @@ README for the ISDN-subsystem
i) Setup the interface with ifconfig as usual, and set a route to it. i) Setup the interface with ifconfig as usual, and set a route to it.
j) (optional) If you run X11 and have Tcl/Tk-wish Version4.0, you can use j) (optional) If you run X11 and have Tcl/Tk-wish Version 4.0, you can use
the script tools/tcltk/isdnmon. You can add actions for line-status the script tools/tcltk/isdnmon. You can add actions for line-status
changes. See the comments at the beginning of the script for how to changes. See the comments at the beginning of the script for how to
do that. There are other tty-based tools in the tools-subdirectory do that. There are other tty-based tools in the tools-subdirectory
@ -399,7 +399,7 @@ README for the ISDN-subsystem
"isdnctrl secure <InterfaceName> off" "isdnctrl secure <InterfaceName> off"
Switch of secure operation (default). Switch off secure operation (default).
"isdnctrl ihup <InterfaceName> [on|off]" "isdnctrl ihup <InterfaceName> [on|off]"
Switch the hang-up-timer for incoming calls on or off. Switch the hang-up-timer for incoming calls on or off.
@ -434,15 +434,15 @@ README for the ISDN-subsystem
Selects the type of packet-encapsulation. The encapsulation can be changed Selects the type of packet-encapsulation. The encapsulation can be changed
only while an interface is down. only while an interface is down.
At the moment th following Values are supported: At the moment the following values are supported:
rawip (Default) Selects raw-IP-encapsulation. This means, MAC-headers rawip (Default) Selects raw-IP-encapsulation. This means, MAC-headers
are stripped off. are stripped off.
ip IP with type-field. Same as IP but the type-field of the MAC-header ip IP with type-field. Same as IP but the type-field of the MAC-header
is preserved. is preserved.
x25iface x25 interface encapsulation (first byte semantics as defined in x25iface X.25 interface encapsulation (first byte semantics as defined in
../networking/x25-iface.txt). Use this for running the linux ../networking/x25-iface.txt). Use this for running the linux
x25 network protocol stack (AF_X25 sockets) on top of isdn. X.25 network protocol stack (AF_X25 sockets) on top of isdn.
cisco-h A special-mode for communicating with a Cisco, which is configured cisco-h A special-mode for communicating with a Cisco, which is configured
to do "hdlc" to do "hdlc"
ethernet No stripping. Packets are sent with full MAC-header. ethernet No stripping. Packets are sent with full MAC-header.
@ -483,7 +483,7 @@ README for the ISDN-subsystem
dial out using a specific Card or even preserve a specific Channel for dial out using a specific Card or even preserve a specific Channel for
Dialout of a specific net-interface. This can be done with the above Dialout of a specific net-interface. This can be done with the above
command. Replace <DriverId> by whatever you assigned while loading the command. Replace <DriverId> by whatever you assigned while loading the
module. The <ChannelNumber> is counting from zero. the upper Limit module. The <ChannelNumber> is counting from zero. The upper Limit
depends on the card used. At the Moment no card supports more than depends on the card used. At the Moment no card supports more than
2 Channels, so the upper limit is one. 2 Channels, so the upper limit is one.

View File

@ -72,7 +72,7 @@ It can be configured using the command line feature while loading the kernel
with LILO or LOADLIN or, if built as a module, using insmod/modprobe with with LILO or LOADLIN or, if built as a module, using insmod/modprobe with
parameters. parameters.
There is also some config needed before you compile the kernel and/or There is also some config needed before you compile the kernel and/or
modules. It is enclose in the normal "make [menu]config" target at the modules. It is included in the normal "make [menu]config" target at the
kernel. Don't forget it, especially to select the right D-channel protocol. kernel. Don't forget it, especially to select the right D-channel protocol.
Please note: All PnP cards need to be configured with isapnp and will work Please note: All PnP cards need to be configured with isapnp and will work
@ -159,7 +159,7 @@ Card types:
At the moment IRQ sharing is only possible with PCI cards. Please make sure At the moment IRQ sharing is only possible with PCI cards. Please make sure
that your IRQ is free and enabled for ISA use. that your IRQ is free and enabled for ISA use.
Note: For using the ELSA PCMCIA you need the cardmanager under MSDOS for Note: For using the ELSA PCMCIA you need the cardmanager under MSDOS for
enabling in the moment, then boot linux with loadlin. enabling at the moment, then boot linux with loadlin.
Examples for module loading Examples for module loading
@ -283,7 +283,7 @@ At the moment, debugging messages are enabled with the hisaxctrl tool:
hisaxctrl <DriverId> DebugCmd <debugging_flags> hisaxctrl <DriverId> DebugCmd <debugging_flags>
<DriverId> default is HiSax, if you didn't specified one. <DriverId> default is HiSax, if you didn't specify one.
DebugCmd is 1 for generic debugging DebugCmd is 1 for generic debugging
11 for layer 1 development debugging 11 for layer 1 development debugging
@ -320,18 +320,18 @@ With DebugCmd set to 11:
With DebugCmd set to 13: With DebugCmd set to 13:
1 Warnings (default: on) 1 Warnings (default: on)
2 l3 protocol discriptor errors 2 l3 protocol descriptor errors
4 l3 state machine 4 l3 state machine
8 charge info debugging (1TR6) 8 charge info debugging (1TR6)
For example, 'hisaxctrl HiSax 1 0x3ff' enables full generic debugging. For example, 'hisaxctrl HiSax 1 0x3ff' enables full generic debugging.
Because of some obscure problems with some switch equipment, the delay Because of some obscure problems with some switch equipment, the delay
between CONNECT message and sending the first data on th B-channel is now between the CONNECT message and sending the first data on the B-channel is now
configurable with configurable with
hisaxctrl <DriverId> 2 <delay> hisaxctrl <DriverId> 2 <delay>
<delay> in ms Value between 50 an 800 ms are recommended. <delay> in ms Value between 50 and 800 ms is recommended.
Warning Warning
@ -402,7 +402,7 @@ Original from Juergen Quade, new version KKe.
Attention NEW VERSION, the old leased line syntax won't work !!! Attention NEW VERSION, the old leased line syntax won't work !!!
You can use HiSax to connect your Linux-Box via an ISDN leased line You can use HiSax to connect your Linux-Box via an ISDN leased line
to i.e. the internet: to e.g. the Internet:
1. Build a kernel which includes the HiSax driver either as a module 1. Build a kernel which includes the HiSax driver either as a module
or as part of the kernel. or as part of the kernel.
@ -420,7 +420,7 @@ to i.e. the internet:
vi /etc/lilo.conf vi /etc/lilo.conf
<add HiSax driver parameter in the global section (see below)> <add HiSax driver parameter in the global section (see below)>
lilo lilo
Your lilo.conf _might_ look as the following: Your lilo.conf _might_ look like the following:
# LILO configuration-file # LILO configuration-file
# global section # global section
@ -462,7 +462,7 @@ to i.e. the internet:
/sbin/isdnctrl secure isdn0 on /sbin/isdnctrl secure isdn0 on
/sbin/isdnctrl huptimeout isdn0 0 /sbin/isdnctrl huptimeout isdn0 0
/sbin/isdnctrl l2_prot isdn0 hdlc /sbin/isdnctrl l2_prot isdn0 hdlc
# Attention you must not set a outgoing number !!! This won't work !!! # Attention you must not set an outgoing number !!! This won't work !!!
# The incomming number is LEASED0 for the first card, LEASED1 for the # The incomming number is LEASED0 for the first card, LEASED1 for the
# second and so on. # second and so on.
/sbin/isdnctrl addphone isdn0 in LEASED0 /sbin/isdnctrl addphone isdn0 in LEASED0
@ -478,7 +478,7 @@ to i.e. the internet:
/sbin/hisaxctrl HiSax 5 1 /sbin/hisaxctrl HiSax 5 1
Remarks: Remarks:
a) If you have a CISCO don´t forget to switch off the KEEP ALIVE option! a) If you have a CISCO don't forget to switch off the KEEP ALIVE option!
Here an example script: Here an example script:
#!/bin/sh #!/bin/sh

View File

@ -36,7 +36,7 @@ IRQ is configured by software. Possible values are:
3, 5, 7, 10, 11, 12, 15 and none (polled mode) 3, 5, 7, 10, 11, 12, 15 and none (polled mode)
The ACT2000 driver either may be build into kernel or as a module. The ACT2000 driver may either be built into the kernel or as a module.
Initialization depends on how the driver is built: Initialization depends on how the driver is built:
Driver built into the kernel: Driver built into the kernel:
@ -78,11 +78,11 @@ Driver built as module:
act_bus=b act_port=p act_irq=i act_id=idstring act_bus=b act_port=p act_irq=i act_id=idstring
where b, p, i and idstring have the same meanings like parameters where b, p, i and idstring have the same meanings as the parameters
described for the builtin version above. described for the builtin version above.
Using the "actctrl"-utility, the same features apply to the modularized Using the "actctrl"-utility, the same features apply to the modularized
version like to the kernel-builtin one. (i.e. loading of firmware and version as to the kernel-builtin one. (i.e. loading of firmware and
configuring the D-channel protocol) configuring the D-channel protocol)
Loading the firmware into the card: Loading the firmware into the card:
@ -90,7 +90,7 @@ Loading the firmware into the card:
The firmware is supplied together with the isdn4k-utils package. It The firmware is supplied together with the isdn4k-utils package. It
can be found in the subdirectory act2000/firmware/ can be found in the subdirectory act2000/firmware/
Assumed you have installed the utility-package correctly, the firmware Assuming you have installed the utility-package correctly, the firmware
will be downloaded into the card using the following command: will be downloaded into the card using the following command:
actctrl -d idstring load /etc/isdn/bip11.btl actctrl -d idstring load /etc/isdn/bip11.btl

View File

@ -22,7 +22,7 @@ Commands for enabling/disabling audio mode:
Commands supported in audio mode: Commands supported in audio mode:
All audio mode commands have the one of the following form: All audio mode commands have one of the following forms:
AT+Vxx? Show current setting. AT+Vxx? Show current setting.
AT+Vxx=? Show possible settings. AT+Vxx=? Show possible settings.
@ -89,8 +89,8 @@ General behavior and description of data formats/protocol.
<DLE><ETX> End of audio data. (i.e. caused by a <DLE><ETX> End of audio data. (i.e. caused by a
hangup of the remote side) Emulator stops hangup of the remote side) Emulator stops
recording, responding with VCON. recording, responding with VCON.
<DLE><DC4> Abort recording, (send by appl.) Emulator <DLE><DC4> Abort recording, (send by appl.) Emulator
stops recording, sends DLE,ETX. stops recording, sends DLE,ETX.
<DLE><DLE> Escape sequence for DLE in data stream. <DLE><DLE> Escape sequence for DLE in data stream.
<DLE>0 Touchtone "0" received. <DLE>0 Touchtone "0" received.
... ...

View File

@ -26,7 +26,7 @@ To use the card you need the t4-files to download the firmware.
AVM GmbH provides several t4-files for the different D-channel AVM GmbH provides several t4-files for the different D-channel
protocols (b1.t4 for Euro-ISDN). Install these file in /lib/isdn. protocols (b1.t4 for Euro-ISDN). Install these file in /lib/isdn.
If you not compile the driver as modules, you have to add the If you do not compile the driver as modules, you have to add the
card(s) and load them after booting: card(s) and load them after booting:
avmcapictrl add 0x150 15 avmcapictrl add 0x150 15

View File

@ -10,7 +10,7 @@ Thus, the mnemonic: "CONnection CONtrolling eNCAPsulation Protocol".
This is currently only used inside the isdn subsystem. But it might This is currently only used inside the isdn subsystem. But it might
also be useful to other kinds of network devices. Thus, if you want also be useful to other kinds of network devices. Thus, if you want
to suggest changes that improve usability or performace of the to suggest changes that improve usability or performance of the
interface, please let me know. I'm willing to include them in future interface, please let me know. I'm willing to include them in future
releases (even if I needed to adapt the current isdn code to the releases (even if I needed to adapt the current isdn code to the
changed interface). changed interface).
@ -25,14 +25,14 @@ Thus, a device driver for a certain type of hardware must support
several different encapsulation protocols at once. several different encapsulation protocols at once.
The isdn device driver did already support several different The isdn device driver did already support several different
encapsulation protocols. The encapsulation protocol is configuered by a encapsulation protocols. The encapsulation protocol is configured by a
user space utility (isdnctrl). The isdn network interface code then user space utility (isdnctrl). The isdn network interface code then
uses several case statements which select appropriate actions uses several case statements which select appropriate actions
depending on the currently configuered encapsulation protocol. depending on the currently configured encapsulation protocol.
In contrast, LAN network interfaces always used a single encapsulation In contrast, LAN network interfaces always used a single encapsulation
protocol which is unique to the hardware type of the interface. The LAN protocol which is unique to the hardware type of the interface. The LAN
encapsulation is usually done by just sticking a header at the data. Thus, encapsulation is usually done by just sticking a header on the data. Thus,
traditional linux network device drivers used to process the traditional linux network device drivers used to process the
encapsulation protocol directly (usually by just providing a hard_header() encapsulation protocol directly (usually by just providing a hard_header()
method in the device structure) using some hardware type specific support method in the device structure) using some hardware type specific support
@ -46,13 +46,13 @@ the requirements for complex WAN encapsulations.
Many Encapsulation protocols used on top of WAN connections will not just Many Encapsulation protocols used on top of WAN connections will not just
stick a header at the data. They also might need to set up or release stick a header on the data. They also might need to set up or release
the WAN connection. They also might want to send other data for their the WAN connection. They also might want to send other data for their
private purpose over the wire. I.e. ppp does a lot of link level private purpose over the wire, e.g. ppp does a lot of link level
negotiation before the first peace of user data can be transmitted. negotiation before the first piece of user data can be transmitted.
Such encapsulation protocols for WAN devices are typically more complex Such encapsulation protocols for WAN devices are typically more complex
than encapsulation protocols for lan devices. Thus, network interfaces than encapsulation protocols for lan devices. Thus, network interface
code for typical WAN devices also tends to be more more complex. code for typical WAN devices also tends to be more complex.
In order to support Linux' x25 PLP implementation on top of In order to support Linux' x25 PLP implementation on top of
@ -65,22 +65,22 @@ protocol, complexity could be reduced and maintainability could be
increased. increased.
Likewise, a same encapsulation protocol will frequently be needed by Likewise, a similar encapsulation protocol will frequently be needed by
several different interfaces of even different hardware type. I.e. the several different interfaces of even different hardware type, e.g. the
synchronous ppp implementaion used by the isdn driver and the synchronous ppp implementation used by the isdn driver and the
asyncronous ppp implemntation used by the ppp driver have a lot of asyncronous ppp implementation used by the ppp driver have a lot of
similar code in them. By cleanly separating the encapsulation protocol similar code in them. By cleanly separating the encapsulation protocol
from the hardware specific interface stuff such code could be shared from the hardware specific interface stuff such code could be shared
better in future. better in future.
When operating over dial-up-connections (i.e. telephone lines via modem, When operating over dial-up-connections (e.g. telephone lines via modem,
non-permanent virtual circuits of wide area networks, ISDN) many non-permanent virtual circuits of wide area networks, ISDN) many
encapsulation protocols will need to control the connection. Therfore, encapsulation protocols will need to control the connection. Therefore,
some basic connection control primitives are supported. The type and some basic connection control primitives are supported. The type and
semantics of the connection (i.e the ISO layer where connection service semantics of the connection (i.e the ISO layer where connection service
is provided) is outside our scope and might be different depending on is provided) is outside our scope and might be different depending on
the encapsulation protocol used. I.e. for a ppp module using our service the encapsulation protocol used, e.g. for a ppp module using our service
on top of a modem connection a connect_request will result in dialing on top of a modem connection a connect_request will result in dialing
a (somewhere else configured) remote phone number. For an X25-interface a (somewhere else configured) remote phone number. For an X25-interface
module (LAPB semantics, as defined in Documentation/networking/x25-iface.txt) module (LAPB semantics, as defined in Documentation/networking/x25-iface.txt)
@ -88,7 +88,7 @@ a connect_request will ask for establishing a reliable lapb
datalink connection. datalink connection.
The encapsulation protocol currently provides the follwing The encapsulation protocol currently provides the following
service primitives to the network device. service primitives to the network device.
- create a new encapsulation protocol instance - create a new encapsulation protocol instance
@ -121,7 +121,7 @@ struct concap_proto_ops{
struct device *ndev, struct device *ndev,
struct concap_device_ops *dops); struct concap_device_ops *dops);
/* inactivate an encapsulation protocol instance. The encapsulation /* deactivate an encapsulation protocol instance. The encapsulation
protocol may not call any *dops methods after this. */ protocol may not call any *dops methods after this. */
int (*close)(struct concap_proto *cprot); int (*close)(struct concap_proto *cprot);
@ -145,24 +145,24 @@ The data structures are defined in the header file include/linux/concap.h.
A Network interface using encapsulation protocols must also provide A Network interface using encapsulation protocols must also provide
some service primitives to the encapsulation protocol: some service primitives to the encapsulation protocol:
- request data beeing submitted by lower layer (device hardware) - request data being submitted by lower layer (device hardware)
- request a connection beeing set up by lower layer - request a connection being set up by lower layer
- request a connection beeing released by lower layer - request a connection being released by lower layer
The encapsulations protocol accesses those primitives via callbacks The encapsulation protocol accesses those primitives via callbacks
provided by the network interface within a struct concap_device_ops. provided by the network interface within a struct concap_device_ops.
struct concap_device_ops{ struct concap_device_ops{
/* to request data is submitted by device*/ /* to request data be submitted by device */
int (*data_req)(struct concap_proto *, struct sk_buff *); int (*data_req)(struct concap_proto *, struct sk_buff *);
/* Control methods must be set to NULL by devices which do not /* Control methods must be set to NULL by devices which do not
support connection control.*/ support connection control. */
/* to request a connection is set up */ /* to request a connection be set up */
int (*connect_req)(struct concap_proto *); int (*connect_req)(struct concap_proto *);
/* to request a connection is released */ /* to request a connection be released */
int (*disconn_req)(struct concap_proto *); int (*disconn_req)(struct concap_proto *);
}; };
@ -172,7 +172,7 @@ because the encapsulation protocol directly calls netif_rx().
An encapsulation protocol itsself is actually the An encapsulation protocol itself is actually the
struct concap_proto{ struct concap_proto{
struct device *net_dev; /* net device using our service */ struct device *net_dev; /* net device using our service */
struct concap_device_ops *dops; /* callbacks provided by device */ struct concap_device_ops *dops; /* callbacks provided by device */
@ -189,7 +189,7 @@ struct concap_proto{
Most of this is filled in when the device requests the protocol to Most of this is filled in when the device requests the protocol to
be reset (opend). The network interface must provide the net_dev and be reset (opend). The network interface must provide the net_dev and
dops pointers. Other concap_proto members should be considerd private dops pointers. Other concap_proto members should be considered private
data that are only accessed by the pops callback functions. Likewise, data that are only accessed by the pops callback functions. Likewise,
a concap proto should access the network device's private data a concap proto should access the network device's private data
only by means of the callbacks referred to by the dops pointer. only by means of the callbacks referred to by the dops pointer.
@ -217,21 +217,21 @@ The concept of the concap proto might help to reuse protocol code and
reduce the complexity of certain network interface implementations. reduce the complexity of certain network interface implementations.
The trade off is that it introduces yet another procedure call layer The trade off is that it introduces yet another procedure call layer
when processing the protocol. This has of course some impact on when processing the protocol. This has of course some impact on
performace. However, typically the concap interface will be used by performance. However, typically the concap interface will be used by
devices attached to slow lines (like telephone, isdn, leased synchronous devices attached to slow lines (like telephone, isdn, leased synchronous
lines). For such slow lines, the overhead is probably neglectable. lines). For such slow lines, the overhead is probably negligible.
This might no longer hold for certain high speed WAN links (like This might no longer hold for certain high speed WAN links (like
ATM). ATM).
If general linux network interfaces explicitly supported concap If general linux network interfaces explicitly supported concap
protocols (i.e. by a member struct concap_proto* in struct device) protocols (e.g. by a member struct concap_proto* in struct device)
then the interface of the service function could be changed then the interface of the service function could be changed
by passing a pointer of type (struct device*) instead of by passing a pointer of type (struct device*) instead of
type (struct concap_proto*). Doing so would make many of the service type (struct concap_proto*). Doing so would make many of the service
functions compatible to network device support fuctions. i.e. functions compatible to network device support fuctions.
i.e. instead of the concap protocol's service function e.g. instead of the concap protocol's service function
int (*encap_and_xmit)(struct concap_proto *cprot, struct sk_buff *skb); int (*encap_and_xmit)(struct concap_proto *cprot, struct sk_buff *skb);
@ -252,7 +252,7 @@ The device's data request function could also be defined as
This might even allow for some protocol stacking. And the network This might even allow for some protocol stacking. And the network
interface might even register the same data_req() function directly interface might even register the same data_req() function directly
as its hard_start_xmit() method when a zero layer encapsulation as its hard_start_xmit() method when a zero layer encapsulation
protocol is configured. Thus, eliminating the performace penalty protocol is configured. Thus, eliminating the performance penalty
of the concap interface when a trivial concap protocol is used. of the concap interface when a trivial concap protocol is used.
Nevertheless, the device remains able to support encapsulation Nevertheless, the device remains able to support encapsulation
protocol configuration. protocol configuration.

View File

@ -62,8 +62,8 @@ Setting up the IO-address dipswitches for the ICN-ISDN-card:
1 1 1 0 0x368 1 1 1 0 0x368
1 1 1 1 NOT ALLOWED! 1 1 1 1 NOT ALLOWED!
The ICN driver either may be build into kernel or as a module. Initialization The ICN driver may be built into the kernel or as a module. Initialization
depends on how the drive is built: depends on how the driver is built:
Driver built into the kernel: Driver built into the kernel:
@ -102,7 +102,7 @@ Driver built as module:
portbase=p membase=m icn_id=idstring [icn_id2=idstring2] portbase=p membase=m icn_id=idstring [icn_id2=idstring2]
where p, m, idstring1 and idstring2 have the same meanings like where p, m, idstring1 and idstring2 have the same meanings as the
parameters described for the kernel-version above. parameters described for the kernel-version above.
When using the ICN double card (4B), you MUST define TWO idstrings. When using the ICN double card (4B), you MUST define TWO idstrings.
@ -127,12 +127,12 @@ Loading the firmware into the card:
pc_1t_ca.bin - Image of firmware for german 1TR6 protocol. pc_1t_ca.bin - Image of firmware for german 1TR6 protocol.
pc_eu_ca.bin - Image if firmware for EDSS1 (Euro-ISDN) protocol. pc_eu_ca.bin - Image if firmware for EDSS1 (Euro-ISDN) protocol.
Assumed you have installed the utility-package correctly, the firmware Assuming you have installed the utility-package correctly, the firmware
will be downloaded into the 2B-card using the following command: will be downloaded into the 2B-card using the following command:
icnctrl -d Idstring load /etc/isdn/loadpg.bin /etc/isdn/pc_XX_ca.bin icnctrl -d Idstring load /etc/isdn/loadpg.bin /etc/isdn/pc_XX_ca.bin
where XX is either "1t" or "eu", depending of the D-Channel protocol where XX is either "1t" or "eu", depending on the D-Channel protocol
used on your S0-bus and Idstring is the Name of the card, given during used on your S0-bus and Idstring is the Name of the card, given during
insmod-time or (for kernel-builtin driver) on the kernel commandline. insmod-time or (for kernel-builtin driver) on the kernel commandline.

View File

@ -16,20 +16,20 @@ ftp://ftp.di.fc.ul.pt/pub/systems/Linux/isdn
Known Limitations: Known Limitations:
- The board reset proceeding is at the moment incorrect and will only - The board reset procedure is at the moment incorrect and will only
allow you to load the firmware after a hard reset. allow you to load the firmware after a hard reset.
- Only HDLC in B-channels is supported at the moment. There is now - Only HDLC in B-channels is supported at the moment. There is no
current support to X.25 in B or D channels nor LAPD in B current support for X.25 in B or D channels nor LAPD in B
channels. The main reason is that this two other protocol modes have, channels. The main reason is that these two other protocol modes have,
to my knowledge, very little use. If you want to see them implemented to my knowledge, very little use. If you want to see them implemented
*do* send me a mail. *do* send me a mail.
- The driver often triggers errors in the board that i and the - The driver often triggers errors in the board that I and the
manufacturer believe to be caused by bugs in the firmware. The current manufacturer believe to be caused by bugs in the firmware. The current
version includes several proceedings for error recovery that should version includes several procedures for error recovery that should
allow normal operation. Plans for the future include cooperation with allow normal operation. Plans for the future include cooperation with
the manufacturer in order to solve this problems. the manufacturer in order to solve this problem.
Information/hints/help can be obtained in the linux isdn Information/hints/help can be obtained in the linux isdn
mailing list (isdn4linux@hub-wue.franken.de) or directly from me. mailing list (isdn4linux@hub-wue.franken.de) or directly from me.

View File

@ -1,18 +1,18 @@
X25 support within isdn4linux X.25 support within isdn4linux
============================= ==============================
This is experimental code. Use it completely on your own risk. This is experimental code. Use it completely at your own risk.
As new versions appear, the stuff described here might suddenly change As new versions appear, the stuff described here might suddenly change
or become invalid without notice. or become invalid without notice.
Keep in mind: Keep in mind:
You are using an experimental kernel (2.1.x series) with an experimental You are using an experimental kernel (2.1.x series) with an experimental
x25 protocol implementation and experimental x25-on-top-of-isdn extensions. X.25 protocol implementation and experimental X.25-on-top-of-isdn extensions.
Thus, be prepared to face problems related therefrom. Thus, be prepared to face problems related therefrom.
- If you connect to an x25 neighbour not operated by yourself, ASK the - If you connect to an X.25 neighbour not operated by yourself, ASK the
other side first. Be prepared that bugs in the protocol implementation other side first. Be prepared that bugs in the protocol implementation
might result in problems. might result in problems.
@ -48,7 +48,7 @@ you also need to enable "Packet socket".
For local testing it is also recommended to enable the isdnloop driver For local testing it is also recommended to enable the isdnloop driver
from the isdn subsystem's configuration menu. from the isdn subsystem's configuration menu.
For testing, it is recommended that all isdn drivers and the x25 PLP For testing, it is recommended that all isdn drivers and the X.25 PLP
protocol are compiled as loadable modules. Like this, you can recover protocol are compiled as loadable modules. Like this, you can recover
from certain errors by simply unloading and reloading the modules. from certain errors by simply unloading and reloading the modules.
@ -57,7 +57,7 @@ from certain errors by simply unloading and reloading the modules.
What's it for? How to use it? What's it for? How to use it?
============================= =============================
X25 on top of isdn might be useful with two different scenarios: X.25 on top of isdn might be useful with two different scenarios:
- You might want to access a public X.25 data network from your Linux box. - You might want to access a public X.25 data network from your Linux box.
You can use i4l if you were physically connected to the X.25 switch You can use i4l if you were physically connected to the X.25 switch
@ -71,7 +71,7 @@ X25 on top of isdn might be useful with two different scenarios:
same as ITU-T X.25. same as ITU-T X.25.
Popular candidates of such teleservices are EUROfile transfer or any Popular candidates of such teleservices are EUROfile transfer or any
teleservice applying ITU-T recommendation T.90 (i.e., AFAIK, G4 Fax). teleservice applying ITU-T recommendation T.90.
To use the X.25 protocol on top of isdn, just create an isdn network To use the X.25 protocol on top of isdn, just create an isdn network
interface as usual, configure your own and/or peer's ISDN numbers, interface as usual, configure your own and/or peer's ISDN numbers,
@ -79,23 +79,23 @@ and choose x25iface encapsulation by
isdnctrl encap <iface-name> x25iface. isdnctrl encap <iface-name> x25iface.
Once encap is set like this, the device can be used by the x25 packet layer. Once encap is set like this, the device can be used by the X.25 packet layer.
All the stuff needed for x25 is implemented inside the isdn link All the stuff needed for X.25 is implemented inside the isdn link
level (mainly isdn_net.c and some new source files). Thus, it should level (mainly isdn_net.c and some new source files). Thus, it should
work with every existing HL driver. I was able to successfully open x25 work with every existing HL driver. I was able to successfully open X.25
connections on top of the isdnloop driver and the hisax driver. connections on top of the isdnloop driver and the hisax driver.
"x25iface"-encapsulation bypasses demand dialing. Dialing will be "x25iface"-encapsulation bypasses demand dialing. Dialing will be
initiated when the upper (x25 packet) layer requests the lapb datalink to initiated when the upper (X.25 packet) layer requests the lapb datalink to
be established. But hangup timeout is still active. The connection be established. But hangup timeout is still active. The connection
will not automatically be re-established by the isdn_net module will not automatically be re-established by the isdn_net module
itself when new data arrives after the hangup timeout. But itself when new data arrives after the hangup timeout. But
the x25 network code will re-establish the datalink connection the X.25 network code will re-establish the datalink connection
(resulting in re-dialing and an x25 protocol reset) when new data is (resulting in re-dialing and an X.25 protocol reset) when new data is
to be transmitted. (This currently does not work properly with the to be transmitted. (This currently does not work properly with the
isdnloop driver, see "known problems" below). It is recommended to isdnloop driver, see "known problems" below). It is recommended to
use large hangup-timeouts as most application probably can't deal use sufficiently large hangup-timeouts as most application probably
with such N-reset events. can't deal with such N-reset events.
In order to set up a conforming protocol stack you also need to In order to set up a conforming protocol stack you also need to
@ -118,7 +118,7 @@ level driver. The main difference between x75 and x25dte/dce is that
x25d[tc]e uses fixed lap_b addresses. With x75i, the side which x25d[tc]e uses fixed lap_b addresses. With x75i, the side which
initiates the isdn connection uses the DTE's lap_b address while the initiates the isdn connection uses the DTE's lap_b address while the
called side used the DCE's lap_b address. Thus, l2_prot x75i might called side used the DCE's lap_b address. Thus, l2_prot x75i might
probably work if you access a public x25 network as long as the probably work if you access a public X.25 network as long as the
corresponding isdn connection is set up by you. However, I've never corresponding isdn connection is set up by you. However, I've never
tested this. tested this.
@ -127,10 +127,10 @@ tested this.
How to set up a test installation? How to set up a test installation?
================================== ==================================
To test x25 on top of isdn, you need to get To test X.25 on top of isdn, you need to get
- a recent version of the "isdnctrl" program that supports setting the new - a recent version of the "isdnctrl" program that supports setting the new
x25 specific parameters. X.25 specific parameters.
- the x25-utils-2.1.x package from ftp.pspt.fi/pub/ham/linux/ax25 - the x25-utils-2.1.x package from ftp.pspt.fi/pub/ham/linux/ax25
or any mirror site (i.e. ftp://ftp.gwdg.de/pub/linux/misc/ax25/). or any mirror site (i.e. ftp://ftp.gwdg.de/pub/linux/misc/ax25/).
@ -150,17 +150,17 @@ the usual ifconfig tool.
ifconfig <iface-name> up ifconfig <iface-name> up
But a special x25route tool (distributed with the x25-util package) But a special x25route tool (distributed with the x25-util package)
is needed to set up x25 routes. I.e. is needed to set up X.25 routes. I.e.
x25route add 01 <iface-name> x25route add 01 <iface-name>
will cause all x.25 connections to the destination x.25-address will cause all x.25 connections to the destination x.25-address
"01" being routed to your created isdn network interface. "01" to be routed to your created isdn network interface.
There are currently no real x25 applications available. However, for There are currently no real X.25 applications available. However, for
tests, the x25-utils package contains a modified version of telnet tests, the x25-utils package contains a modified version of telnet
and telnetd that uses x25 sockets instead of tcp/ip sockets. You can and telnetd that uses X.25 sockets instead of tcp/ip sockets. You can
use those for your first tests. Furthermore, you might check use those for your first tests. Furthermore, you might check
ftp://ftp.hamburg.pop.de/pub/LOCAL/linux/i4l-eft/ which contains some ftp://ftp.hamburg.pop.de/pub/LOCAL/linux/i4l-eft/ which contains some
experimental implementation ("eftp4linux") of the EUROfile transfer experimental implementation ("eftp4linux") of the EUROfile transfer
@ -174,7 +174,7 @@ hints to work around some of them.
The x25-utility package also contains an x25trace tool that can be The x25-utility package also contains an x25trace tool that can be
used to monitor x25 packets received by the network interfaces. used to monitor X.25 packets received by the network interfaces.
The /proc/net/x25* files also contain useful information. The /proc/net/x25* files also contain useful information.
- Henner - Henner

View File

@ -1,8 +1,8 @@
simple isdn4linux PPP FAQ .. to be continued .. not 'debugged' simple isdn4linux PPP FAQ .. to be continued .. not 'debugged'
------------------------------------------------------------------- -------------------------------------------------------------------
Q01: what's pppd,ipppd, syncPPP , asyncPPP ?? Q01: what's pppd, ipppd, syncPPP, asyncPPP ??
Q02: error message "this systems lacks PPP support" Q02: error message "this system lacks PPP support"
Q03: strange information using 'ifconfig' Q03: strange information using 'ifconfig'
Q04: MPPP?? What's that and how can I use it ... Q04: MPPP?? What's that and how can I use it ...
Q05: I tried MPPP but it doesn't work Q05: I tried MPPP but it doesn't work
@ -16,7 +16,7 @@ Q12: How can I reduce login delay?
------------------------------------------------------------------- -------------------------------------------------------------------
Q01: pppd,ipppd, syncPPP , asyncPPP .. what is that ? Q01: pppd, ipppd, syncPPP, asyncPPP .. what is that ?
what should I use? what should I use?
A: The pppd is for asynchronous PPP .. asynchronous means A: The pppd is for asynchronous PPP .. asynchronous means
here, the framing is character based. (e.g when here, the framing is character based. (e.g when
@ -45,7 +45,7 @@ A: The pppd is for asynchronous PPP .. asynchronous means
-- --
Q02: when I start the ipppd .. I only get the Q02: when I start the ipppd .. I only get the
error message "this systems lacks PPP support" error message "this system lacks PPP support"
A: check that at least the device 'ippp0' exists. A: check that at least the device 'ippp0' exists.
(you can check this e.g with the program 'ifconfig') (you can check this e.g with the program 'ifconfig')
The ipppd NEEDS this device under THIS name .. The ipppd NEEDS this device under THIS name ..
@ -123,7 +123,7 @@ A: (from Alexanter Strauss: )
-- --
Q08: A wanna talk to remote machines, which need Q08: I wanna talk to remote machines, which need
a different configuration. The only way a different configuration. The only way
I found to do this is to kill the ipppd and I found to do this is to kill the ipppd and
start a new one with another config to connect start a new one with another config to connect
@ -152,14 +152,14 @@ A: When starting, the ipppd calls functions which may
Q10: I wanna use dynamic IP address assignment ... How Q10: I wanna use dynamic IP address assignment ... How
must I configure the network device. must I configure the network device.
A: At least you must have a routing, which forwards A: At least you must have a route which forwards
a packet to the ippp network-interface to trigger a packet to the ippp network-interface to trigger
the dial-on-demand. the dial-on-demand.
A default routing to the ippp-interface will work. A default route to the ippp-interface will work.
Now you must choose a dummy IP address for your Now you must choose a dummy IP address for your
interface. interface.
If for some reason you can't set the default If for some reason you can't set the default
routing to the ippp interface, you may take any route to the ippp interface, you may take any
address of the subnet from which you expect your address of the subnet from which you expect your
dynamic IP number and set a 'network route' for dynamic IP number and set a 'network route' for
this subnet to the ippp interface. this subnet to the ippp interface.