2906 lines
125 KiB
Plaintext
2906 lines
125 KiB
Plaintext
|
||
ATTENTION! The following header is not fully valid yet!
|
||
From: dl4mhk@lrz.uni-muenchen.de (Bernhard Hailer)
|
||
Newsgroups: de.alt.comm.isdn4linux,de.answers,news.answers
|
||
Subject: ISDN4linux-FAQ
|
||
Followup-To: de.alt.comm.isdn4linux
|
||
Summary: This posting describes what every reader of de.alt.comm.isdn4linux
|
||
ought to know about ISDN under Linux using isdn4linux.
|
||
It's in English, a translation from the German FAQ.
|
||
Archive-name: eng-i4l-faq
|
||
Posting-frequency: monthly
|
||
Last-modified: 06-Jan-97
|
||
URL: http://www.lrz-muenchen.de/~ui161ab/www/isdn/
|
||
|
||
!1FAQ for isdn4linux - Version pre-1.0.5
|
||
|
||
This FAQ is protected by the GNU General Public License (GPL) Version 2;
|
||
(C) 1996 Volker Götz, Bernhard Hailer, Matthias Heßler, Michael Hipp and
|
||
Rainer May. Distribution under the terms of the GPL is welcome. However,
|
||
we offer NO GUARANTEES for the information herein. Please read the GNU
|
||
General Public License for further details. A printed version is available
|
||
from Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||
An electronic version is available from the authors.!br
|
||
!br
|
||
Original FAQ by Volker Goetz <volker@oops.franken.de>, (c) 1995!br
|
||
Comprehensive edition and additions (1996, 1997):!br
|
||
Matthias Hessler <hessler@wi-inf.uni-essen.de>!br
|
||
Bernhard Hailer <Bernhard.Hailer@lrz.uni-muenchen.de>!br
|
||
Michael Hipp <Michael.Hipp@student.uni-tuebingen.de> (many syncPPP questions)!br
|
||
Rainer May <r_may@khavi.desaster.heide.de> (i4l and networks)!br
|
||
!br
|
||
English translation coordinated by Scott Hanson <shanson@mail.hh.provi.de>
|
||
with contributions from:!br
|
||
Sven Tervoort <sveneric@xs4all.nl>!br
|
||
Matthias Hessler <hessler@wi-inf.uni-essen.de>.!br
|
||
!br
|
||
Suggestions and improvements are welcome, preferably as "diffs" via
|
||
E-mail to Matthias and Bernhard.
|
||
|
||
|
||
!2General information about isdn4linux
|
||
|
||
!old
|
||
Q: What is isdn4linux?
|
||
A: isdn4linux is a set of kernel modules that "teach" the Linux
|
||
kernel ISDN. It consists of a main module ("isdn") and the
|
||
actual hardware drivers that control the specific cards.
|
||
|
||
!old
|
||
Q: Was can isdn4linux do?
|
||
A: isdn4linux controls ISDN PC cards and can emulate a modem with the
|
||
Hayes command set ("AT" commands). The possibilities range from
|
||
simply using a terminal program to connections via HDLC (using included
|
||
devices) to full connection to the Internet with PPP to audio applications.
|
||
|
||
!old
|
||
Q: How can I get isdn4linux?
|
||
A: Via FTP:!br
|
||
The package is at !link ftp://ftp.franken.de/pub/isdn4linux; and various
|
||
mirrors.!br
|
||
Via Modem/ISDN:!br
|
||
From the Linux server of the Incubus BBS (Login gast,
|
||
cd /pub/linux/isdn4linux, download via ZModem with 'sz filname') .
|
||
The server can be reached at the following numbers
|
||
!verbon
|
||
+49 931 781464 Zyxel U-1496E V.32(bis), V.42(bis), Zyxel 19200
|
||
+49 931 781465 Atrie 1914A V.32(bis), V.42(bis), V32terbo
|
||
+49 931 781467 Atrie 1914A V.32(bis), V.42(bis), V32terbo
|
||
+49 931 781468 Atrie 1914A V.32(bis), V.42(bis), V32terbo
|
||
!verboff
|
||
New Ringdown (16 Lines. First log in as 'bbs') :
|
||
!verbon
|
||
+49 931 79002055 Motorola 3400 V.32(bis), V.42(bis), V.34
|
||
!verboff
|
||
ISDN (also log in 'bbs') :
|
||
!verbon
|
||
+49 931 7840724 ICN X.75 2 B-Kanaele
|
||
+49 931 7841020 ICN X.75 2 B-Kanaele
|
||
+49 931 7841060 ICN X.75 2 B-Kanaele
|
||
+49 931 7841070 ICN X.75 2 B-Kanaele
|
||
+49 931 7841080 ICN X.75 2 B-Kanaele
|
||
!verboff
|
||
|
||
!old
|
||
Q: What documents should I read first?
|
||
A:
|
||
!verbon
|
||
ISDN kernel subsystem:/usr/src/linux/Documentation/isdn/README
|
||
ISDN cards: /usr/src/linux/Documentation/isdn/README.<card>
|
||
Synchronous PPP: /usr/src/linux/Documentation/isdn/README.syncppp
|
||
/usr/src/linux/Documentation/isdn/README.syncPPP.FAQ
|
||
Voice capability: /usr/src/linux/Documentation/isdn/README.audio
|
||
ISDN Utilities: /usr/src/isdn4k-utils-<version>/README(.*)
|
||
Many of the utilites also have man pages!
|
||
!verboff
|
||
|
||
!old
|
||
Q: Are the WWW sites by people who have already installed isdn4linux?
|
||
A: Yes, several.
|
||
Scripts and installation tips from several people:!br
|
||
!link http://www.rosat.mpe-garching.mpg.de/~web/ISDN.html;!br
|
||
i4l, syncPPP, email, Usenet, Voicebox and more:!br
|
||
!link http://www.lrz-muenchen.de/~ui161ab/www/isdn/;
|
||
|
||
!old
|
||
Q: Is there a mailing list for isdn4linux?
|
||
A: Yes, there is. To subscribe, send an E-mail to
|
||
"majordomo@hub-wue.franken.de". The subject doesn't matter. The message
|
||
should read "subscribe isdn4linux <E-mail address>", where <E-mail
|
||
address> is the address to which mail from the list should be sent.
|
||
Currently there are about 30 messages per day.
|
||
|
||
!old
|
||
Q: How can I have myself removed from the mailing list?
|
||
A: To unsubscribe, send another mial to majordomo@hub-wue.franken.de -
|
||
the subject doesn' matter. The message should read:
|
||
"unsubscribe isdn4linux <E-mail address>", where <E-mail address>
|
||
is the address to which mail messages from the mailing list had been
|
||
sent.
|
||
|
||
!old
|
||
Q: Is there an archive of the isdn4linux mailing list?
|
||
A: Yes, the messages are saved (unsorted) at hub-wue.franken.de.
|
||
They are collected by month. To access the archive, send E-mail to
|
||
"majordomo@hub-wue.franken.de". The subject doesn't matter. The
|
||
following commands are possible:
|
||
!verbon
|
||
index isdn4linux - list which archive files are available
|
||
get isdn4linux <filename> - retrieves the file <filename>
|
||
!verboff
|
||
The archives are named "archiv.<year><month>, so "archiv.9610"
|
||
is the archive for October 1996.
|
||
An archive of the mailing list is also available via FTP:
|
||
!link ftp://ftp.uni-oldenburg.de/pub/unix/linux/isdn/isdn4linux/Mailing-List;
|
||
Another archive is available (according to Sascha Ottolski
|
||
<sascha@alzhimer.isdn.cs.tu-berlin.de>) at:
|
||
!link http://wws.mathematik.hu-berlin.de/ldr/ISDN/isdn4linux/;
|
||
|
||
!old
|
||
Q: In which countries does isdn4linux work?
|
||
A: We are aware of the following countries:
|
||
!verbon
|
||
Austria
|
||
Finland
|
||
France
|
||
Germany
|
||
Norway
|
||
Portugal
|
||
Spain
|
||
Sweden
|
||
Switzerland
|
||
The Netherlands
|
||
!verboff
|
||
|
||
!old
|
||
Q: Is isdn4linux approved for use by the post office ("postzugelassen")?
|
||
A: Germany:!br
|
||
That depends on the driver used. For active cards, the post approval
|
||
covers the entire card including its firmware. Thus the approval
|
||
also covers the use of these cards with isdn4linux. The Teles driver
|
||
is not approved in Germany, even though it works superbly. Therefore,
|
||
its use is only allowed when connected to the S0 bus of an approved
|
||
PABX.!br
|
||
Other countries:!br
|
||
We don't have any information... does anyone know more?
|
||
|
||
!old
|
||
Q: What is the most recent version?
|
||
A: Currently isdn4k-utils-2.0 is required in addition to the drivers included
|
||
with the kernel. For use with kernel 2.0.0, two patches
|
||
(isdn4kernel-2.0-patch1+2) are required. Kernel 2.0.2 is unusable
|
||
because of a bug. Kernels between 2.0.15 and 2.0.24 don't seem to work
|
||
correctly with syncPPP. There are many changes in kernels 2.1.0 and
|
||
higher; for now they can only be recommended for developers.!br
|
||
It's recommended to use i4l versions 2.0 or higher together with a
|
||
2.0.3 or higher kernel (no longer requires any patches!). Kernel
|
||
2.0.27 is very stable.
|
||
|
||
!old
|
||
Q: What hardware is supported?
|
||
A: Currently there are dirvers for cards from ICN (active), Teles (passive)
|
||
und PCbit (Octal, Portugal).!br
|
||
These following cards work with the Teles driver:
|
||
!verbon
|
||
* Teles S0-8
|
||
* Teles S0-16 und S0-16.2 (same as: Dr. Neuhaus Niccy 1016, Creatix 16/S0)
|
||
* Teles S0-16.3
|
||
!verboff
|
||
Also see the next question!!br
|
||
There is a brand new driver for Teles compatible Plug&Pray cards
|
||
from Karsten Keil <isdn4@temic-ech.spacenet.de>. It can also run with
|
||
the older Teles cards previously mentioned as well as the
|
||
AVM A1 (Fritz) und ELSA Microlink PCC-16.
|
||
|
||
!old
|
||
Q: What is the new HiSax driver all about?
|
||
A: It is a new driver that should support all passive cards that are based on a
|
||
certail Siemens chipset. Currently it supports Teles 8/16.0 16.3 PNP,
|
||
AVM A1, and ELSA PCC16 (according to ELSA 8Bit should also work).
|
||
Later it should also support D64 connections.!br
|
||
Karsten Keil <keil@temic-ech.spacenet.de> wrote on 14 Oct 1996:
|
||
!verbon
|
||
The first goal of the HiSax driver was to add support for more ISDN
|
||
cards to i4l, and this goal remains. Secondly, it should be as simple
|
||
as possible to configure and not appear to work when there is a
|
||
hardware problem (IRQ, reset problems with Teles). I can't fix the
|
||
hardware problems directly, but driver will not load if such problems
|
||
appear. Third (this part has just now begun) is to fully rewrite the
|
||
state machines into a complete DSS1 or 1TR6 that could be approved
|
||
(which doesn't mean that I personally can or want to obtain approval).
|
||
In addition, if possible I'd like to support US ISDN protocols, so
|
||
that i4l can be used outside of Europe. Also, further l2/l3 protocols
|
||
should be added (e.g. V110), leased line support.... a lot of work,
|
||
that I'm sure I cannot do alone. Anyone with any knowledge of
|
||
programming and ISDN (I myself first heard of ISDN in January, and my
|
||
work has nothing to do with ISDN... I learned everything on my own
|
||
time), and wants to help can contact me.
|
||
!verboff
|
||
If you're interested in HiSax, you can find it at
|
||
!link ftp://ftp.franken.de/pub/isdn4linux/HiSax/;
|
||
(and hopefully soon at all isdn4linux mirrors!)
|
||
The current version is 1.2 (patches are needed!)
|
||
|
||
!old
|
||
Q: Does isdn4linux support external ISDN adapters?
|
||
A: No, isdn4linux supports only internal cards. External ISDN adapters
|
||
can be accessed either like an analog modem or like a network card, and
|
||
therefore do not need isdn4linux.
|
||
|
||
!old
|
||
Q: Which ISDN modes are supported?
|
||
A:
|
||
!verbon
|
||
56k asynchoronous: no
|
||
64k synchronous : yes
|
||
128k synchronous : yes (channel bundling - see the next question)
|
||
!verboff
|
||
|
||
|
||
Q: Does isdn4linux support channel bundling?
|
||
A: The current version of isdn4linux support 2 methods of channel
|
||
bundling:!br
|
||
- based on syncPPP (MPPP)!br
|
||
- raw bundling though configuration of so-called 'slave interfaces'!br
|
||
See also "MPPP" im the syncPPP section below.!br
|
||
Warning: Channel bundling saves time, but not any telephone charges.
|
||
The first people to have tried it report that the throughput of MPPP
|
||
can only be increased by about 50%. The bug (in the kernel?) has
|
||
yet to be found...
|
||
|
||
!old
|
||
Q: What is the difference between an active and a passive ISDN card?
|
||
A: An active ISDN card handles most of the ISDN connection protocols
|
||
itself. The card includes a kind of mini-computer with its own
|
||
software (firmware). With a passive card, the computer in which
|
||
the cared is installed has to perfom these functions.
|
||
|
||
!old
|
||
Q: Are there sites that offer guest access where I can test my
|
||
isdn4linux setup?
|
||
A: Yes, the following sites offer guest access for modem emulation or IP:!br
|
||
- Eberhard Moenkeberg <emoenke@gwdg.de>:
|
||
!verbon
|
||
* Welcome to Linux at eberhard.moenkeberg.de (LAN, 192.168.99.1).
|
||
Under ++49-551-7704103, ISDN NetCalls (HDLC-trans-rawip)
|
||
for 192.168.99.1 get accepted. You should come as 192.168.*.*
|
||
because sometimes my "default" route is not your way.
|
||
/ftp is exported for NFS; try "showmount -e".
|
||
You can login as "guest" without password.
|
||
FTP as "gast" with password "gast" avoids the restricted shell.
|
||
* Under ++49-551-7704102, a 28800 bps modem and a Creatix ISDN
|
||
card (HDLC only, not X.75) are listening for Logins.
|
||
!verboff
|
||
With the net setup from!br
|
||
!link ftp://ftp.gwdg.de/pub/linux/isdn/isdn4linux-gwdg/rc.isdn-Beispiel;!br
|
||
you can test NetCall at 551-7704103 (works as is within Germany,
|
||
from outside Germany you just have to change the number).!br
|
||
- Gernot Zander <hifi@scorpio.in-berlin.de>:
|
||
!verbon
|
||
There's a "gast" at +49 30 67 19 81 01 (X.75, mgetty). There's the
|
||
stones-html-page with pics in postscript to test downloading. Whoever
|
||
needs a target to call cav use it. At ...81 03 there's a getty with
|
||
HDLC. As guest you enter a kind of BBS and can read some news.
|
||
!verboff
|
||
|
||
!old
|
||
Q: Can I combine isdn4linux with diald?
|
||
A: Wim Bonis <bonis@kiss.de> wrote:
|
||
Patches for daild are here:!br
|
||
!link ftp://ftp.kiss.de/pub/linux/isdn4linux/diald-0.13-device-patch;!br
|
||
They also work with diald-0.14. When there's a newer diald, I'll adjust
|
||
patches...
|
||
|
||
!old
|
||
Q: Can I use isdn4linux as an answering machine?
|
||
A: Yes, voice support is possible wih the current version of isdn4linux.
|
||
You can either use "vgetty" from Gert Doerings "mgetty+sendfax",
|
||
or "vboxgetty" from Michael Herold, which is made especially for
|
||
isdn4linux.
|
||
|
||
Q: Can I fax with isdn4linux?
|
||
A: Several groups are working on fax software
|
||
that will work together with isdn4linux. At the moment, it looks like
|
||
it will never work... because timing is critical
|
||
for fax software, and Linux doesn't have a real time environment.
|
||
If you do want to fax, you'll have to install an analog fax modem
|
||
along with your ISDN card.
|
||
|
||
|
||
!old
|
||
Q: Is videotex/Btx/Datex-J possible with isdn4linux?
|
||
|
||
A: Yes, it works with the modem emulation with the ttyI* devices. There is
|
||
a special register to set for videotex (ATSx=y - see the Readme's)
|
||
It's also possible to access the Internet via the German T-Online.
|
||
Warning! XCept (formerly Xbtx) has an ISDN configuration option. This
|
||
should NOT be used. XCept should be configured as if a normal modem
|
||
were being used.
|
||
|
||
!old
|
||
Q: I'd like to write a new hardware driver. Where can I find a description
|
||
of the interfaces to the link level module?
|
||
A: In the kernel source (in /usr/src/linux/Documentation/isdn) you can find
|
||
the file INTERFACE - it is the description of the interfaces to the link
|
||
level module.
|
||
|
||
!old
|
||
Q: Can I use isdn4linux under dosemu?
|
||
A: Yes, you really can! Steffan Henke <henker@informatik.uni-bremen.de>
|
||
wrote on 25.10.96:
|
||
!verbon
|
||
In dosemu.conf it is enough to enter a virtual com port,
|
||
(for example com2) that can be used with e.g. Telix or
|
||
Terminate: serial { com 2 device /dev/ttyI3 }
|
||
Access with Fossil is possible if fossil.com (included with
|
||
dosemu) is started. Tested with the following configurations:
|
||
- Kernel 2.0.21, Teles driver incl. Karsten's patches
|
||
- Kernel 2.0.21, HiSax
|
||
!verboff
|
||
|
||
!2Configuration
|
||
|
||
|
||
!3General
|
||
|
||
|
||
!old
|
||
Q: Where can I find scripts and other information on configuring i4l?
|
||
A: Configuration examples and scripts: !br
|
||
!link http://www.rosat.mpe-garching.mpg.de/~web/ISDN.html;!br
|
||
Many HowTo's on basic installation, syncPPP, E-mail set-up,
|
||
Usenet News, answering machine, and more:!br
|
||
!link http://www.lrz-muenchen.de/~ui161ab/www/isdn/;!br
|
||
Further FAQs with example scripts:!br
|
||
!link http://www.fzi.de/sim/people/trautw/i4l/index.html;
|
||
|
||
!old
|
||
Q: Can you use kerneld to load the ISDN modules in the kernel as needed?
|
||
A: Emil Stephan <ste@esqhen.su.eunet.de> wrote on 15 October 1996:
|
||
!verbon
|
||
By default, kerneld unloads a module after it has not been needed for one
|
||
minute. This is no problem for device drivers ala floppy, etc., but it is
|
||
a problem for drivers that need to keep settings over a longer period
|
||
of time, e.g. the mixer settings for a sound card or the configuration of
|
||
dial-in and dial-out parameters for ISDN. Unloading the ISDN drivers also
|
||
kills the IP interface ippp0 or isdn0. The entries in the IP layer of the
|
||
kernel then disappear. If you look in the start-up scripts for i4l,
|
||
you'll a lot of things that are configured with isdnctrl, etc.; they
|
||
would have to be reconfigured by ba kerneld each time the module is
|
||
reloaded. The status of the D channel could also be lost. Therefore, my
|
||
recommendation is not to use kerneld, rather load the modules at start-up
|
||
and only unload if necessary for some technical reason.
|
||
!verboff
|
||
Also the the question "Is there are trick to sometimes boot Linux with ISDN
|
||
and sometimes without?".!br
|
||
Markus Gutschke <gutschk@uni-muenster.de> wrote:
|
||
!verbon
|
||
For some time now there has been an extension to the modules package just
|
||
for this purpose; it allows the installation of a databank with the
|
||
current status of the modules. Unfortunately, this feature usually not
|
||
supported by the modules. An alternative are such options as the
|
||
"post-install" hook in "/etc/conf.modules". It would then be necessary to
|
||
write the appropriate scripts by hand, but in principle that would work
|
||
just as well as the modules automatically using the initializations
|
||
settings from a database.
|
||
!verboff
|
||
|
||
Q: I'm somehwat confused by the documentation. How should I enter my MSN?
|
||
A: For the modem emulation, use the command AT&E<msn> without any area code.
|
||
The same goes for the command "isdnctrl eaz <interface> for network
|
||
use.!br
|
||
If you want to call yourself for testing, then (at least for the German
|
||
Telekom) with "isdnctrl addphone in" give the MSN with the area code,
|
||
but without any leading "0" (the Telekom does not transmit the leading
|
||
"0". However, for "isdnctrl addphone out" the leading "0" needs to be
|
||
included (the Telekom needs the "0" for correct dialing). "isdnctrl
|
||
delphone" works similarly!br
|
||
However, note any exceptions for other countries (see "National
|
||
Peculiarities".)
|
||
|
||
|
||
!old
|
||
Q: How can I enable others to login via ISDN?
|
||
A: The same way as via a normal serial port. Start a getty (mgetty from Gert
|
||
Doering is highly recommended) on one of the ISDN devices with modem
|
||
emulation (/dev/ttyI*). The entry in /etc/inittab looks like this:
|
||
!verbon
|
||
#
|
||
# ISDN Lines
|
||
#
|
||
I0:56:respawn:/usr/local/sbin/mgetty ttyI0
|
||
I1:56:respawn:/usr/local/sbin/mgetty ttyI1
|
||
!verboff
|
||
Then the init string needs to be entered in the mgetty.config, since
|
||
mgetty needs to know which MSN or EAZ to "listen" to. Here is an example
|
||
for /dev/ttyI0
|
||
!verbon
|
||
port ttyI0
|
||
modem-type data
|
||
speed 38400
|
||
init-chat "" ATZ OK AT&E0 OK AT&B512 OK
|
||
!verboff
|
||
The example sets the EAZ (with 1TR6-ISDN) to 0. For Euro ISDN, the MSN
|
||
(without area code) would be given instead of the 0 in "AT&E0".
|
||
For X.75 the block size is set to 512 bytes.
|
||
Alternatively you can enter the entire configuration onto a single line
|
||
in /etc/initab (here printed on two lines!):
|
||
!verbon
|
||
i0:45:respawn:/sbin/mgetty -D -m '"" ATZ OK AT&E0 OK AT&B512 OK'
|
||
-s 38400 ttyI0
|
||
!verboff
|
||
The most elegant way is to use iprofd. This daemon takes advantage of
|
||
the AT&W0 command in the i4l modem emulation. You start iprofd
|
||
with a path as parameter, e.g. "iprofd /etc/i4lprofile"
|
||
Then with minicom or another terminal program, open an ISDN tty
|
||
device and enter the necessary AT commander by hand.
|
||
When finished, enter the command AT&W0, then the kernel notifies iprofd
|
||
to write the current configuration to the file. From now it it is enough
|
||
to start iprofd in you isdn init script, and to initialize the appropriate
|
||
ISDN tty devices with ATZ
|
||
|
||
!old
|
||
Q: How to I switch from X.75 to hdlc with the modem emulation?
|
||
A: With the option S14=3. Therefore, "ATS14=3".
|
||
|
||
!old
|
||
Q: How many ISDN cards can I stuff into my computer?
|
||
A: Just as many as there are ISA slots and interrupts/IO addresses.
|
||
The Teles 16.3 can use only 3 different IO addresses, therefore you can
|
||
use at most 3 cards. They each would also need an interrupt. The AVM is
|
||
similar. The ICN has not interruprs, a more flexible port configuration
|
||
and the driver places the shared memory area of all ICN cards at the same
|
||
address. The card memory is show only as needed. Therefore, one could use
|
||
really as many cards are there are slots... one could even increase
|
||
the number of ISA slots with an ISA bus extended.
|
||
|
||
!old
|
||
Q: How can I use more than one ippp* device?
|
||
A: All ippp* devices in use have to the separately configured with
|
||
"isdnctrl addif". Each ippp* device should be so configured to use separate
|
||
IP addresses
|
||
|
||
!old
|
||
Q: How can I use the "chargeint" patch, so i4l will hang up before the next
|
||
charge unit begins?
|
||
A: Sascha Ottolski <sascha@alzhimer.isdn.cs.tu-berlin.de> wrote:
|
||
!verbon
|
||
I use chargeint, it works great; for me charge units come during the
|
||
connections, but I think that can be adjusted by hand. The two patches in
|
||
isdnlog-2.50/contrib/chargeint are for the kernel sources and for
|
||
isdn4k-utils-2.0; then compile isdn with the -Dchargeint flag (see
|
||
Makefile). The kernel and isdnctrl of course also have to be recompiled.
|
||
Then start isdnlog with the -hx option, where x is the number of seconds
|
||
left until the next charge unit. Then chargeint will hang up. In the
|
||
start script for isdn, define a huptimeout as usual to activiate the
|
||
chargeint:
|
||
/sbin/isdnctrl huptimeout ippp0 80 # in sec;
|
||
if needed /sbin/isdnctrl chargeint ippp0
|
||
!verboff
|
||
Olav Brinkmann <olav@max.north.de> wrote:
|
||
!verbon
|
||
The chargeint always hangs up two seconds before the end of the charge
|
||
unit. isdnlog, if compiled with -Dchargeint, sets the length of the
|
||
charge unit (i.e. Charge Interval) according to the time of day and the
|
||
date. An additional parameter for "-h" will reduce this length of time by
|
||
the given value. This additional paramet should not be used wotj
|
||
chargeint, otherwise chargein will end the connection too early. This
|
||
error increases with the number of charge units. Therefore: "-h0" to
|
||
aboid this problem.
|
||
> /sbin/isdnctrl huptimeout ippp0 80 # in sec;
|
||
In this example is can be much short; I use 5 seconds. Then I can use the
|
||
last chage unit up th the last 7 seconds (huptimeout + 2 seconds
|
||
"chargeint reserve").
|
||
> /sbin/isdnctrl chargeint ippp0
|
||
Not needed; taken care of with by isdnlog with "-h".
|
||
!verboff
|
||
|
||
!old
|
||
Q: How does the chargeint patch work?
|
||
A: With the isdnctrl parameter "chargeset" you can set the length of a charge
|
||
unit, so that it can hang up at the correct time. However, since the length
|
||
of a charge unit depends on the time of day, day of week, holiday, etc., it
|
||
makes no sense to use a set value. Here's where isdnlog comes in. It
|
||
notices when a connection is established and calculates the length of a
|
||
charge unit depending on the time of day, day of week, holiday. This is
|
||
then given to isdnctrl, so it can hang up at the right time. isdnlog
|
||
"tunes" isdnctrl at each connection, and also during a connection (when
|
||
isdnlog is run with the "-w x" parameter). isdnlog allows isdnctrl exactly
|
||
2 seconds before the next charge unit to hang up, as long as the time
|
||
entered with "huptimeout" has elapsed with no data being transferred. The
|
||
transmission of a charge unit impulse is not necessary, since the times are
|
||
calculated closely enough. The charge unit impulse is sent a varying
|
||
intervals, so it cannot be relied upon
|
||
|
||
!old
|
||
Q: Is it normal that one receives a caller id from the Telekom only when one
|
||
is called from an ISDN number (and not from people that are directly on a
|
||
fully electronic switching center)?
|
||
A: Yes. These people have to apply with the Telekom for caller id (costs
|
||
nothing). Exceptions are that calls from countries that aren't so strict
|
||
about caller id (e.g. USA, Canada) always have the calling number sent.
|
||
|
||
!old
|
||
Q: I can I use Internet with the German T-Online with i4l?
|
||
A: Rainer May <r_may@kahvi.desaster.heide.de> described it as follows:
|
||
!verbon
|
||
(the same works of course with a modem. However, the initializing
|
||
sequence looks different.)
|
||
Step 1: Get diald. I don't know where to find it - ask archie.
|
||
(diald is used to set a default route to a physically
|
||
non-existant SLIP or CSLIP connection; when packets are set to
|
||
this pseudo-interface, diald establishes the (C)SLIP connection;
|
||
which packets start the connections and when/how the connection
|
||
is terminated can all be configured.) Then install the binary and
|
||
config files (you can use the sample files as they are, but if
|
||
you want e.g. ping to start a connection, you need to make minor
|
||
changes, the timeouts can also be adjusted as needed - simply
|
||
try it out).
|
||
Step 2: Use a kernel with integrated SLIP/CSLIP or with SLIP/CSLIP
|
||
modules (which has to be loaded, of course).
|
||
Step 3: Isdn4Linux also has to be installed, of course; the important
|
||
part is the modem emulation (ttyIX),
|
||
Step 4: Start diald, e.g. with the following script (I call it
|
||
/etc/rc.d/rc.diald.t-online):
|
||
/usr/sbin/diald /dev/ttyI2 -m aslip local 192.168.90.9 \
|
||
remote 192.168.90.1 defaultroute dynamic modem crtscts \
|
||
lock speed 38400 connect "chat -v -f /etc/diald/t-online" \
|
||
mtu 1500 dslip-mode local-remote
|
||
(This can also be sensibly written in a _single_ line :-)
|
||
Step 5: Write the script, I call it "etc/diald/t-online".
|
||
Looks something like this:
|
||
TIMEOUT 30
|
||
ABORT "NO CARRIER"
|
||
ABORT ERROR
|
||
ABORT "NO DIALTONE"
|
||
ABORT BUSY
|
||
ABORT "NO ANSWER"
|
||
ABORT "NO MSN/EAZ"
|
||
"" ATZ
|
||
OK AT&B2000&E<MyMSN>&X1
|
||
OK ATD01910
|
||
CONNECT .
|
||
"[?25h" <ZugangsKennung>\c
|
||
"[?25h" ""
|
||
"[?25h" ""
|
||
"[?25h" <passwort>
|
||
"[?25h" *53#\c
|
||
"[?25h" *190144100#\c
|
||
"[?25h" 19\c
|
||
"STATUS OK" LIN
|
||
"" "OK"
|
||
Certain place holders need to be replaced, of cource:
|
||
<MyMSN> is the MSN, that you want to explore the world with.
|
||
<Zugangskennung>: The digit monster than usually begins with "000..."
|
||
that has been given to you by the Telekom.
|
||
<passwort>: The password.
|
||
This example script assumes that the defult "Anschlußnummer" and
|
||
"Mitbenutzernummer" are used. If this is not the case, you have to
|
||
adjust the two lines before "[?25h" <passwort> accordingly. For example,
|
||
for the Mitbenutzernummer "0003", the line before "[?25h" <passwort>
|
||
should read:
|
||
"[?25h" 0003\c
|
||
(since the entry field is full after "0003", no CR is entered afterwards)
|
||
When diald is running, an interface "sl0" should suddenly be available
|
||
(ask ifconfig), and the default route should point to it (route -n will
|
||
tell you; without "-n", "route" will try to resolve the fantasy IP
|
||
addresses (which are later replaced with real addresses) - we don't need
|
||
it do to that). Those who don't work only with numeric addresses, but
|
||
also want to successfully try to "ftp ftp.sunsite.edu", should of course
|
||
enter a name server in /etc/resolv.conf (one from the Telekom has the
|
||
address 94.25.2.129). Then start ftp, telnet, netscape, whatever. That's
|
||
it. By the way, diald will write novels in your syslog. You can read the
|
||
entire login procedure, even if it looks somewhat chaotic. If a request
|
||
doesn't work, use "kill" to stop daild (routes will be automatically
|
||
erased) and check the syslog - if there is something like Zur Zeit
|
||
keine verbindung möglich", then the Telekom's gateway is down. Or
|
||
perhaps the login is incorrect... watch out, after three unsuccessful
|
||
login attempts, the login will be closed and has to be reactivated
|
||
(either per telephone or directly from BTX (e.g. seyon or minicom, dial
|
||
01910, slowly go through the login screen by hand and follow the
|
||
instructions).
|
||
!verboff
|
||
A further example with dip instead of diald can be found at:!br
|
||
!link http://www.rosat.mpe-garching.mpg.de/~web/ISDN.html;
|
||
|
||
!old
|
||
Q: I've set up an Internet connection over T-Online as described in in the
|
||
groups, but the chat scrupt fails ("Connect script failed").
|
||
A: Gerhard Träger <gerhard@gt-priv.m.eunet.de>: wrote:
|
||
!verbon
|
||
In the mentioned version of chat, there is a small mistake in logf():
|
||
it keeps writing in a 256 byte buffer until a line feed comes in.
|
||
"T-Offline" sends many more bytes for its login page. Therefore, either
|
||
use chat without -v or enlarge the bugger (best with capacity checking).
|
||
!verboff
|
||
|
||
!old
|
||
Q: Is it possible to initiate call forwarding with i4l?
|
||
A: Karsten Keil <keil@temic-ech.spacenet.de> wrote, that there are plans
|
||
to later implement this in the HiSax driver.
|
||
|
||
!old
|
||
Q: Has anybody routed ipx/spx over Isdn with Linux?
|
||
A: Andreas Kool <akool@Kool.f.EUnet.de> wrote on 14.10.1996:
|
||
!verbon
|
||
That's no problem - we've done that for a while now.
|
||
- Simply set up an isdn interface.
|
||
- Important: encap isdnX ethernet
|
||
The rest is done by "mars_nwe" (incl. routing).
|
||
!verboff
|
||
|
||
!old
|
||
Q: Does the driver support "dial on demand"?
|
||
A: Yes. If a network interface (e.g. "isdn0") is set up, the driver will dial
|
||
the number. If in addition a hang-up timeout (Idle Timeout) has been given,
|
||
isdnctrl huptime <interfaceY> time, then the driver will automatically hang
|
||
up when no data was been transferred over the interface for "time" seconds.
|
||
However, with syncPPP there are problems (see the syncPPP section),
|
||
|
||
!old
|
||
Q: Is there a trick to sometimes boot Linux with ISDN and sometimes
|
||
without?
|
||
A: Yes, you can use the run level for this (under SysVinit).
|
||
Emil Stephan <ste@esqhen.su.eunet.de> has written scripts:
|
||
!verbon
|
||
On my computer I've defined 2 run levels (3 and 4), 3 runs without ISDN,
|
||
4 with. If I want to quit ISDN with all the associated processes like
|
||
ipppd, isdnlog and mgetty, as root I enter "init 3"; and to start "init
|
||
4". init then makes sure with "/sbin/init.d/i4l start" or
|
||
"... stop" that the necessary things are done.
|
||
!verboff
|
||
|
||
|
||
!3Use with ttyI* (modem emulation)
|
||
|
||
|
||
!old
|
||
Q: Which device should I use for calls out or calls in?
|
||
A: Only the ttyI* devices should be used. The cui* devices are created
|
||
only for reasons of compatibility. Now that there is mgetty, there is not
|
||
reason to use the cui* devices any longer. If they are used, locking will
|
||
not work correctly (several programs could simultaneously attempt to use
|
||
the same device).
|
||
|
||
!old
|
||
Q: Someone would like to dial in to my mgetty with HDLC. Is ttyI1 correct,
|
||
or do I have to start with ttyI0?
|
||
A: No, it doesn't matter. It also has nothing to do with the number of the
|
||
B channel (0 or 1). You just have to activate HDLC in the init string
|
||
(ATS14=3).
|
||
|
||
!old
|
||
Q: How can poll with Taylor-UUCP using isdn4linux?
|
||
A: As usual, the same as with serial interfaces. Simply use /dec/ttyI* as the
|
||
device, as the init string for the modem emulation you have to set the
|
||
correct MSN or EAZ with "AT&E<msn/eaz>".
|
||
|
||
!old
|
||
Q: What speed should I set for the modem emulation?
|
||
A: It doesn't matter. The driver internally always uses the full speed that
|
||
ISDN offers. This is also given in the connect string.
|
||
|
||
!old
|
||
Q: Is 'init-chat "" ATZ OK AT&E4 OK ATS14=3 OK' correct for 1TR6
|
||
(the other side has DSS1)?
|
||
A: In principle, yes, when the EAZ is really 4 (at&e4) and HDLC
|
||
should be used (ats14=3).
|
||
|
||
|
||
!3Sync-PPP
|
||
|
||
|
||
!commenton
|
||
(The following questions are mostly from the syncPPP FAQ by Michael Hipp.)
|
||
!commentoff
|
||
|
||
!old
|
||
Q: pppd, ipppd, syncPPP, asyncPPP .. what is that ?
|
||
What should I use?
|
||
A: The pppd is for asynchronous PPP .. asynchronous means
|
||
here, the framing is character based and is usually used with analog serial
|
||
lines. It is of course possible to route asyncPPP over ISDN (even though
|
||
ISDN is a synchronous connection). You can do this with an ISDN modem,
|
||
which has a RS-232 interface to your computer and an ISDN interface to the
|
||
telephone company. Assuming that you use PPP with the serial interface,
|
||
these asynchronous PPP packets are transferred through the synchronous
|
||
ISDN line. So that these packets can be accepted by the Linux machine, you
|
||
should !u1not!u0 use HDLC/syncPPP in this case. Edit /etc/inittab
|
||
therefore:
|
||
!verbon
|
||
#
|
||
# inittab This file describes how the INIT process should set up
|
||
# the system in a certain run-level.
|
||
[...]
|
||
# PPPD for asyncPPP over ISDN
|
||
i1:45:respawn:/usr/sbin/pppd -detach silent noipdefault /dev/ttyI0
|
||
!verboff
|
||
This tells init that the asynchronous pppd should be started directly on
|
||
this device. Notice that only ppp can be used with this device. There are
|
||
also other ways: you can start a getty on this tty, set up a user that
|
||
starts pppd, etc. If you want to know more, look at the FAQ included with
|
||
the standard pppd.
|
||
|
||
The ipppd handles PPP packets coming in HDLC frames (bit based protocol).
|
||
The PPP driver in isdn4linux pushes all IP packets directly to the network
|
||
layer and all PPP protocol frames to the /dev/ippp* device. So, the ipppd is
|
||
a simple externel network protocol handler. If you want to login into a
|
||
remote machine using the /dev/ttyI* devices and then enable PPP on the
|
||
remote terminal server, use the 'old' pppd. If your remote side immediately
|
||
starts to send frames, you probably connect to a syncPPP machine - use the
|
||
network device part of isdn4linux with the 'syncppp' encapsulation and be
|
||
sure, that ipppd is running and conneted to at least one /dev/ippp*.
|
||
Check the isdn4linux manual on how to configure a network device.
|
||
|
||
|
||
!old
|
||
Q: How do I compile isdn4linux with syncPPP?
|
||
A: To compile the kernel with syncPPP included in ISDN4Lilnux, you
|
||
have to answer the appropriate questions in "make config" with "yes".
|
||
Don't forget to load the module slhc.o before isdn.o, if VJ compression is
|
||
not compiled into the kernel (e.g. if you have no PPP and no CSLIP in the
|
||
kernel. [Note that the use of VJ is problematic and does not work reliably
|
||
- however, the support should still be included in the kernel, since there
|
||
can otherwise be side effects.]
|
||
|
||
!old
|
||
Q: How does use isdn4linux with syncPPP?
|
||
A: Synchronous PPP is simply another encapsulation for ISDN4Linux.
|
||
This encapsulation is called "syncppp", therefore for example:
|
||
!verbon
|
||
/sbin/isdnctrl encap ippp0 syncppp
|
||
!verboff
|
||
Here the name of the interfcae is "ippp0". An interface with this name
|
||
is always used to keep ipppd happy, since it checks the PPP version through
|
||
this device. For now, all devices have to have the name ippp*, where "*" is
|
||
a decimal digit.
|
||
|
||
!old
|
||
Q: How do I start a PPP connection with ipppd?
|
||
A: You have to start ipppd once after the modules are installed. ipppd
|
||
communicates with the isdn4linux link level devices through /dev/ippp0 to
|
||
/dev/ippp63. A single ipppd can handle all devices at once. If you want two
|
||
PPP connections at the same time, you need to bind ipppd to two devices,
|
||
etc. ipppd has an additional option: "useifip" uses the IP address of the
|
||
connected network interface (if it is not 0.0.0.0). (Even then, ipppd tries
|
||
to use the pointopoint address as the remote IP.) BSD compression hads to
|
||
be turned off - this version cannot use it. [Comment: Van Jacobson
|
||
compression also has to be turned off, in all cases!]
|
||
In the file etc/rc.isdn.syncppp in the isdn4kernel-util package,
|
||
you can find an example configuration.
|
||
|
||
!old
|
||
Q: MPPP?? What's that and how can I use it?
|
||
A: MPPP or MP or MPP (Warning: MP is also an acronym for 'Multi Processor')
|
||
stands for Multi Point to Point and means bundling of several channels to
|
||
one logical stream. To enable MPPP negotiation you must call the ipppd with
|
||
the "+mp" option. You must also configure a slave device for every
|
||
additional channel (see the i4l manual for more). To use channel bundling
|
||
you must first activate the 'master' or initial call. Now you can add the
|
||
slave channels with the command:
|
||
!verbon
|
||
isdnctrl addlink <device>
|
||
!verboff
|
||
e.g:
|
||
!verbon
|
||
isdnctrl addlink ippp0
|
||
!verboff
|
||
This is different to other encapsulations of isdn4linux! With syncPPP,
|
||
there is no automatic activation of slave devices.
|
||
|
||
!old
|
||
Q: How can I use the MPPP material?
|
||
A: To use the MPPP material, you have to configure a slave device with
|
||
ISDN4Linux. ipppd can then be started with the "+mp" option. To increase the
|
||
number of open connections, use the "addlink" option of the "isdnctrl"
|
||
command. In the file etc/rc.isdn.syncppp.MPPP in the isdn4kernel-util
|
||
Package you can find an example script.
|
||
|
||
!old
|
||
Q: I tried MPPP but it doesn't work. The ipppd writes in the debug log
|
||
something like:
|
||
!verbon
|
||
...
|
||
rcvd [0][proto=0x3d] c0 00 00 00 80 fd 01 01 00 0a
|
||
...
|
||
sent [0][LCP ProtRej id=0x2 00 3d c0 00 00 00 80 fd 01
|
||
...
|
||
!verboff
|
||
A: You forgot to compile MPPP/RFC1717 support into the ISDN Subsystem.
|
||
Recompile with this option enabled.
|
||
|
||
!old
|
||
Q: I use MPP. Unfortunately it hangs, when just one packet is lost.
|
||
A: Szemethy Tivadar <tiv@sch.bme.hu> wrote 11.10.1996:
|
||
!verbon
|
||
I found a typo in kernel 2.0.20, that also exists in newer kernels.
|
||
If you replace the following line in isdn_ppp.c (function
|
||
isdn_timer_funct()):
|
||
#if (defined CONFIG_ISDN_PPP ) && (defined ISDN_CONFIG_MPP)
|
||
with
|
||
#if (defined CONFIG_ISDN_PPP) && (defined CONFIG_ISDN_MPP)
|
||
then MPP connection has a better chance.
|
||
Without this change, MPP will hang when just one packet is lost.
|
||
!verboff
|
||
|
||
!old
|
||
Q: Can I use asynchronous PPP encapsulation over the network interface of
|
||
isdn4linux?
|
||
A: No, that's not possible. Use the standard PPP package over the
|
||
/dev/ttyI* devices. You cannot use the ipppd for this. ipppd can only use
|
||
the network interface for synchronous ppp encapsulation.
|
||
|
||
!old
|
||
Q: I want to talk to remote machines which needs different configurations. The
|
||
only way I found to do this is to kill the ipppd and start a new one with
|
||
another config to connect to the second machine.
|
||
A: You must bind a network interface explicitly to an ippp device, where you
|
||
can connect a (for this interface) individually configured ipppd. With the
|
||
(unfortunately poorly documented) command!br
|
||
"isdnctrl pppbind <interface> <Number>"!br
|
||
you can link the interface <interface> to the device ippp<Nummer>. You can
|
||
release the link with "pppunbind".
|
||
|
||
!old
|
||
Q: When I start the ipppd I only get error messages from the i4l driver.
|
||
A: When starting, the ipppd calls functions which may trigger a network
|
||
packet (e.g gethostbyname()). Without the ipppd (at this moment, it is not
|
||
fully started) we can't handle this network request. Try to configure
|
||
hostnames necessary for the ipppd in your local /etc/hosts file or in a
|
||
way, that your system can resolve it without using an isdn/ippp*
|
||
network-interface.
|
||
|
||
!old
|
||
Q: I want to use dynamic IP address assignment. How must I configure the
|
||
network device?
|
||
A: At least you must have a route, which forwards a packet to the ippp
|
||
network interface to trigger dialing. A default route to the ippp interface
|
||
will work. Now you must choose a dummy IP address for your interface. If for
|
||
some reason you can't set the default route to the ippp interface, you may
|
||
take any address of the subnet from which you expect your dynamic IP number
|
||
and set a 'network route' for this subnet to the ippp interface. To allow
|
||
overriding of the dummy address you must call the ipppd with the
|
||
'ipcp-accept-local' option. You must know how the ipppd gets the addresses
|
||
it has to configure. If you don't give any option, the ipppd tries to
|
||
negotiate the local host address! With the option 'noipdefault' it
|
||
requests an address from the remote machine. With 'useifip' it gets the
|
||
addresses from the net interface. You also can set the addresses in the
|
||
option line with the <a.b.c.d:e.f.g.h> option. Note: the IP address of the
|
||
remote machine must be configured locally, or the remote machine must send
|
||
it in an IPCP request. If your side doesn't know the IP address after
|
||
negotiation, it closes the connection! You must allow overriding of
|
||
addresses with the 'ipcp-accept-*' options, if you have set your own or the
|
||
remote address explicitly. Try these options, e.g:
|
||
!verbon
|
||
/sbin/ipppd :$REMOTE noipdefault /dev/ippp0
|
||
!verboff
|
||
where REMOTE must be the address of the remote machine (the machine giving
|
||
your address to you)
|
||
|
||
!old
|
||
Q: How can I reduce login delay?
|
||
A: Log a login session ('debug' log) and check which options your remote side
|
||
rejects. Next time configure your ipppd to not negotiate these options.
|
||
Another 'side effect' is, that this increases redundancy (e.g your remote
|
||
side is buggy and rejects options in a wrong way).
|
||
See "How do I produce a log file for ipppd?".
|
||
|
||
|
||
!3ISDN4Linux in a network
|
||
|
||
|
||
Rainer May <r_may@khavi.desaster.heide.de> put together some Questions and
|
||
Answers on "i4l and Masquarading":
|
||
|
||
!old
|
||
Q: I have a local area network, (LAN) with computers based on several
|
||
platforms - Win95, Win311, NT, Amiga (AmiTCP) and MacIntosh (MacTCP) - all
|
||
connected to the outside world through a Linux router. The Linux machine has
|
||
an ISDN card. My ISP provides me with a dynamic IP-address each time I log
|
||
in. I want all the computers to reach the INTERNET not just the Linux box.
|
||
How can I do this?
|
||
|
||
A: Most work has to be done on the Linux box. First you need a kernel with
|
||
IP-forwarding and masquarding enable. You can get on by answering the
|
||
following questions when doing "make config" with YES.
|
||
!verbon
|
||
Prompt for development and/or incomplete code/drivers Y
|
||
Enable loadable module support Y
|
||
Networking support Y
|
||
Network firewalls Y
|
||
TCP/IP networking Y
|
||
IP: forwarding/gatewaying Y
|
||
IP: firewalling Y
|
||
IP: masquerading Y
|
||
PPP (point-to-point) support (if you PPP to the ISP) Y
|
||
SLIP (serial line) support Y
|
||
Ethernet (10 or 100Mbit) (or Arcnet or ...) Y
|
||
ISDN support [1] M
|
||
Support synchronous PPP (if you're using ipppd) Y
|
||
HiSax SiemensChipSet driver support M
|
||
(Then select the HiSax support)
|
||
(You can also choose to make a kernel with build in ISDN support
|
||
instead of modules)
|
||
!verboff
|
||
|
||
Then do a "make dep", "make zImage", "make modules" and "make
|
||
modules_install" to build the kernel. The installation of ISDN and PPP is
|
||
explained somewhere else in this FAQ. We now continue with the following
|
||
assumptions:!br
|
||
* The ISDN system is operational; you can build a connection to your ISP.!br
|
||
* The LAN is operational (i.e. ethernet or Arcnet or) and IP addresses
|
||
have been assigned (i.e. 192.168.xx.xx). The Linux box can be reached by
|
||
the other computers (i.e. by ping).!br
|
||
Now we need to accomplish two things:!br
|
||
* A computer in the LAN with a "non-local" IP address will request the
|
||
Linux router to establish a connection to the provider!br
|
||
* The Linux router itself will connect the computers in the LAN to the
|
||
provider. It will also "hide" the computers in the LAN from the ISP, and
|
||
all the IP packets will appear to come from or go to the router. While in
|
||
fact the are coming from the computers in the LAN.!br
|
||
!br
|
||
We'll start with the second one: This hiding doesn't mean we're trying
|
||
to cheat our provider. (Allthough it is possible to provide "clients" with
|
||
a cheap connection to the internet). It is required technically. Only the
|
||
IP address of the Linux-box is known to the provider. So the Linux-box must
|
||
"mask" all the packet with it's own IP address and keep track of which
|
||
computer in the LAN sent which packet so the it can return the
|
||
incoming packets to the correct computer in the LAN. Luckily this
|
||
function is built in kernels>=2.0.0 and is called "IP-Masquarading". Here's
|
||
how it works:!br
|
||
!br
|
||
A computer on the LAN sends a packet that contains (next to the IP-address
|
||
and target port of the receiver) it's own sender-address (in IP form) and
|
||
an answering port. The masquerading Linux router will replace this address
|
||
with it's own and the answering port with a free one. Under this free port
|
||
the sender address is stored. Now when a packet comes in from the internet
|
||
the receiver address and port gets overwritten with the return address and
|
||
port and the packet is send to the correct computer in the LAN. Packet for
|
||
packet. This only works if the application sends along a return address,
|
||
telnet, http, (irc, tcp differently) all do this (ping doesn't work).!br
|
||
!br
|
||
To get TCP and IRC to work while masquerading 2 modules need to be loaded:
|
||
!verbon
|
||
/sbin/modprobe ip_masq_ftp
|
||
/sbin/modprobe ip_masq_irc
|
||
!verboff
|
||
Then the forwarding rules in the kernel add forced to masquerade:
|
||
!verbon
|
||
/sbin/ipfwadm -F -a m -P all -S 192.168.123.0/24 -D 0.0.0.0/0 -b
|
||
!verboff
|
||
The ipfwadm program is available via anonymous FTP at!br
|
||
!link ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.3.0.tar.gz;!br
|
||
In this example the LAN addresses 192.168.123.0 to 192.168.123.254 are
|
||
used. To keep things simple we make the Linux router 192.168.123.1!br
|
||
The above line masquarades all the packets coming from 192.168.123.x to
|
||
the outside world. This has a disadvantage: all the packets inside the
|
||
LAN also get masqueraded. You can prevent this by adding more rules
|
||
(man ipfwadm is recommended reading if you want to do this).!br
|
||
!br
|
||
Hint from Ralf Rudolph <ralf@artifex.de>:
|
||
!verbon
|
||
The way I see it, that doesn't matter, the computers in the LAN will
|
||
continue to communicate over the fake IP addresses. You can test this by
|
||
turning off your Linux box (shutdown). Nothing will happen. This is because
|
||
masquarading is a forwarding rule in the firewall and will only be used
|
||
when forwarding (literally "passing on"). On the LAN nothing is forwarded
|
||
so nothing is masqueraded, unless you have multiple Ethernet cards in one
|
||
computer then you need to enter some extra firewall rules.
|
||
!verboff
|
||
Answer: This is actually not entirely true; although it does no harm. We
|
||
have accomplished "hidding" the LAN from the provider. We now want the
|
||
Linux box to automatically connect to the outside world whenever a computer
|
||
in the LAN requests it. All the computers within must address their
|
||
packets for the outside world to the Linux box, which will take it from
|
||
there. This is very easy. Most TCP protocols (for Windows, Mac) all have
|
||
the option of specifying a "default gateway" or "gateway". You must specify
|
||
the local address of the router. You cannot enter the IP address which you
|
||
receive when you connect to your provider because you don't know which
|
||
address your going to get, and also it's different everytime you log in.!br
|
||
The last step is getting the ISDN system to do "Dial on Demand". This is
|
||
can be done in two ways.!br
|
||
* Use synchronous PPP, in other words "ipppd". The only thing you have to do
|
||
is to make sure that the default route point to the device (ippp*) you
|
||
made with isdnctrl. Warning: the kernel remove this route when the
|
||
connection is broken. You have to re-establish the defaultroute after the
|
||
line goes down. You can do this (for example) in the file /etc/ppp/ip-down.
|
||
The risk of this methode is that applications running on the LAN will make
|
||
the Linux box build a connection for each resolve-request, keep-alive
|
||
packet or ARP broadcast they send (your phone company will be very
|
||
grateful).!br
|
||
It can happen that requests by the LAN can take a long time. I don't know
|
||
whether the kernel or ipppd can't handle the first outgoing packets, but
|
||
it's always a good idea to push the red button in Netscape for example and
|
||
then reload the first page you're accessing right after starting up
|
||
Netscape.!br
|
||
The configuration of ipppd is explained in detail elsewhere:!br
|
||
!link http://www.lrz-muenchen.de/~ui161ab/www/isdn/;!br
|
||
* Use a-synchronous PPP or SLIP/CSLIP for your connection. For this you
|
||
can use a programme called "diald" [4]. This has several advantages, it's
|
||
highly configurable; you can for instance specify that there are to be no
|
||
connections made between 9 and 12 a.m. or that name server request don't
|
||
trigger the ISDN device. For those of you that don't want to bother with a
|
||
lot of configuration options that's fine; the default-configuration can be
|
||
used without danger for life or money (hard to translate, German
|
||
expression).!br
|
||
Now,!br
|
||
if the masquerading rules are set,!br
|
||
if the PC in the LAN all know that the Linux box is the gateway,!br
|
||
if "ping abc.edu" typed in on the Linux console builds up a connection
|
||
to the Internet provider!br
|
||
!u1then!u0 also all other machines in the LAN should be able to access the
|
||
Internet.
|
||
|
||
|
||
!3diald
|
||
|
||
!old
|
||
Q: Are there any example scripts for diald?
|
||
A: Yes, by Rainer May <r_may@khavi.desaster.heide.de>:
|
||
!verbon
|
||
At boot "diald" is configured:
|
||
# /etc/rc.d/rc.diald
|
||
/usr/sbin/diald /dev/ttyI4 -m ppp \
|
||
local 192.168.90.9 remote 192.168.90.1 \
|
||
defaultroute dynamic modem crtscts lock connect "chat -v -f \
|
||
|
||
In /etc/ppp/chat.provider the following entry is made:
|
||
TIMEOUT 240 "" AT&E1234 OK ATD047110815 ogin: Puser sword: topsecret
|
||
(phone number, name and password are fictional)
|
||
!verboff
|
||
|
||
|
||
!3Teles driver
|
||
|
||
!old
|
||
Q: I use SETUP.EXE under DOS, to configure my Teles/Creatix with memory
|
||
xxxxx and IRQ yy. How do I do this under isdn4linux?
|
||
A: You can enter do this by entering the correct kernel options at boot.
|
||
It is not recommended that you compile them into the kernel, however i
|
||
may be neccesary in some cases when software conflicts occure or if you
|
||
have several teles cards in one machine. In this case you should edit
|
||
"/usr/src/linux/drivers/isdn/teles/config.c" to reflect the correct
|
||
settings for your card(s). (read comments in that file)
|
||
|
||
!old
|
||
Q: When compiling the teles drivers I get an error similar to: too many
|
||
arguments to function _get_free_pages_R5243d78b'?
|
||
A: From a certain kernel in 1.3.x the calling of kernel function
|
||
get_free_pages was changed. You are using an old kernel. In this case
|
||
you should the following line in teles/teles.h
|
||
!verbon
|
||
#define NEW_GET_FREE_PAGES
|
||
!verboff
|
||
comment out
|
||
!verbon
|
||
/* #define NEW_GET_FREE_PAGES */
|
||
!verboff
|
||
|
||
!old
|
||
Q: I'm using kernel 1.3.x, the telesdriver compiles fine, all the
|
||
correction parameters are set in config.c but still the card won't work.
|
||
A: From a certain kernel in 1.3.x the timer was altered. You should comment
|
||
out the #define NEW_TIMERS line in teles/teles.h.
|
||
!verbon
|
||
/* #define NEW_TIMERS */
|
||
!verboff
|
||
|
||
!old
|
||
Q: Is it possible to have more than 1 teles card in one computer?
|
||
A: Yes, it is. All the parameters should be entered in teles/config.c.
|
||
!verbon
|
||
struct IsdnCard cards[]={
|
||
{ (byte *)0xd0000,11,0xd00,NULL } ,
|
||
/* 1. Karte */ { (byte *)0xd8000,10,0xe80,NULL } ,
|
||
/* 2. Karte */ ...
|
||
/* u.s.w. */
|
||
};
|
||
!verboff
|
||
On 6-10-1996 Christian Kratzer <ck@toplink.net> suggested:
|
||
!verbon
|
||
# load modules
|
||
/sbin/modprobe isdn.o
|
||
echo "teles0 - Teles S0/16.2"
|
||
/sbin/insmod $MODPATH/misc/teles.o -o teles0 teles_id=teles0
|
||
io=0xd0000,5,0xd80,2
|
||
echo "teles1 - Teles S0/16.2"
|
||
/sbin/insmod $MODPATH/misc/teles.o -o teles1 teles_id=teles1
|
||
io=0xd2000,9,0xe80,2
|
||
echo "teles2 - Teles S0/16.2"
|
||
/sbin/insmod $MODPATH/misc/teles.o -o teles2 teles_id=teles2
|
||
io=0xd4000,12,0xf80,2
|
||
/sbin/lsmod | grep teles > /dev/null
|
||
!verboff
|
||
|
||
!old
|
||
Q: How can I tell whether or not my Teles card is recognized correctly?
|
||
A: During booting a message "kernel: HSCX version A:5 B:5" and "kernel:
|
||
channels 2" should appear. A:4 B:4 is also okay. Other values
|
||
(in particular A:0 B:0 or A:f B:f) mean the card is not recognized
|
||
correctly.!br
|
||
Also check under Troubleshooting|Teles.
|
||
|
||
|
||
!3HiSax driver
|
||
|
||
!old
|
||
Q: Where can I find the HiSax driver?
|
||
A: At ftp.franken.de /pub/isdn4linux/HiSax.
|
||
|
||
!old
|
||
Q: Which version is current?
|
||
A: Version 1.4.
|
||
|
||
!old
|
||
Q: How is HiSax better as the original Teles driver?
|
||
A: Karsten wrote to the FAQ team on 14.Oct.96:
|
||
!verbon
|
||
HiSax checks the hardware and the behavior of the IRQ, so that the
|
||
driver will only be loaded if it can access the register and the
|
||
interrupts can be generated.
|
||
THEREFORE:
|
||
loading twice is taken care of
|
||
HSCX version 0 or F is taken care of
|
||
BUSY with minicom only if :
|
||
* REALLY BUSY
|
||
* no MSN/EAZ
|
||
* cable/line problems
|
||
!verboff
|
||
So, isn't that something?
|
||
|
||
!old
|
||
Q: How do I install HiSax?
|
||
A: Karsten Keil <keil@temic-ech.spacenet.de> described like this:
|
||
!verbon
|
||
It can never hurt to first backup the original kernel sources.
|
||
Then go to /usr/src/linux (where the current source should be.
|
||
The patch itself:
|
||
zcat HiSax_1.1.patch.gz |patch -p1 >& /tmp/HiSax.log
|
||
The -p1 is very important, otherwise all files will end up in new
|
||
directories under /usr/src/linux.
|
||
Then look at /tmp/HiSax.log for errors/warnings/rejects, if there are
|
||
any then look at those files and correct by hand, if necessary.
|
||
!verboff
|
||
Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de> add:
|
||
!verbon
|
||
If you have Gnu Patch, you can also use "... |patch -s -p1 ". Then
|
||
_only_ the errors will be reported. If you want a log, you can also
|
||
"... |patch -s -p1 | tee /tmp/HiSax.log". Then you get a logfile in
|
||
addition to the screen output.
|
||
!verboff
|
||
Notice: In the meantime there are newer versions of HiSax.
|
||
|
||
!old
|
||
Q: Are there patches to the HiSax driver?
|
||
A: Yes. Karsten <keil@temic-ech.spacenet.de> wrote on 15.10.96:
|
||
!verbon
|
||
The patches (until the next version) will be "numbered" with letters
|
||
and be available via ftp.
|
||
!verboff
|
||
ftp here means ftp.franken.de /pub/isdn4linux/HiSax
|
||
|
||
!old
|
||
Q: What does the remark: "Known Bugs: incoming calls are only
|
||
delivered, if channel == B-channel (same on teles)" mean?
|
||
A: Karsten Keil <keil@temic-ech.spacenet.de> wrote on 14.10.1996:
|
||
!verbon
|
||
1. The above statement is not quite correct:
|
||
if ((channel &1)+1 == B-channel )
|
||
2. I descibed the bug the other way around: if B channel 1 is
|
||
being used by another ISDN device and i4l dials out, then the
|
||
logical channel 0 from the VST is assigned B channel 2 ---> OK
|
||
The other ISDN device hangs up. Another call comes in for i4l,
|
||
this time on B channel 1. Since channel 0 is taken, and there is
|
||
a fixed order B1->chan 0,2,4... B2->chan 1,3,5... the call is
|
||
not accepted. (chan 2,3 is for 2 cards, etc.) This happens only
|
||
seldomly, and will be fixed soon (if I get a brilliant idea).
|
||
!verboff
|
||
As far as we know, this was fixed in HiSax 1.2 [note from the FAQ Editors]
|
||
|
||
!old
|
||
Q: My ELSA card has 2 LEDs that light up like a neon sign. What does that
|
||
mean?
|
||
A: Karsten Keil <keil@temic-ech.spacenet.de> wrote 14.10.1996:
|
||
!verbon
|
||
l1 is down
|
||
=> both LEDs blink ca. 1s on 1s off.
|
||
l1 is activated (also though the telephone or whatever)
|
||
=> Blink in sequence 0.5 yellow 0.5 green
|
||
In use
|
||
=> 1.5 on 0.5 off
|
||
green HSCX A active
|
||
yellow HSCX B active
|
||
The constant blinking is caused when the card hangs, as I noticed
|
||
during development.
|
||
!verboff
|
||
|
||
|
||
!3ICN driver
|
||
|
||
|
||
!old
|
||
Q: Where can I buy the ICN card?
|
||
A:
|
||
!verbon
|
||
Thinking Objects Software GmbH
|
||
Obere Heerbergstr. 17
|
||
97078 Würzburg
|
||
Germany
|
||
Tel: +49-931-2877950
|
||
Fax: +49-931-2877951
|
||
email isdn-support@think.de
|
||
WWW !link http://www.think.de/;
|
||
!verboff
|
||
|
||
!old
|
||
Q: Where can I get the newest firmware for my ICN?
|
||
A: Torsten Hentschel <Torsten.Hentschel@DInet.de> wrote on 11.Oct.1996:
|
||
!verbon
|
||
The newest firmware should be available under the URL
|
||
!link ftp://ftp.think.de/pub/isdn4linux/firmware/;
|
||
!verboff
|
||
|
||
!old
|
||
Q: Is it possible to use several ICN cards in one computer?
|
||
A: Yes, but starting with kernel 2.0.0 the configuration scheme has changed:
|
||
With older kernels, a separate ICN module had to be loaded for each card.
|
||
For 2 cards it looked something like this:
|
||
!verbon
|
||
/sbin/insmod -m /lib/modules/1.2.13/misc/isdn.o >/etc/isdn.map
|
||
/sbin/insmod -m /lib/modules/1.2.13/misc/icn.o >/etc/icn.map
|
||
/sbin/insmod -m -o icn2 /lib/modules/1.2.13/misc/icn.o >/etc/icn2.map
|
||
!verboff
|
||
With kernel 2.0.0 only one driver is necessary. NOTICE: 2.0.0 itself
|
||
is buggy, better to use 2.0.18 or newer.!br
|
||
Here is an example for one ICN-2B and two ICN-4B:
|
||
!verbon
|
||
/sbin/insmod -m /lib/modules/`uname -r`/misc/isdn.o > /etc/isdn.map
|
||
#
|
||
# ICN-2B, default port and mem (0x320, 0xd0000)
|
||
#
|
||
/sbin/insmod -m /lib/modules/`uname \
|
||
-r`/misc/icn.o icn_id=icn0 > /etc/icn.map
|
||
#
|
||
# ICN-4B inserted at port 0x328
|
||
#
|
||
/sbin/icnctrl add 0x328 icn1 icn2
|
||
#
|
||
# Another ICN-4B at port 0x300
|
||
#
|
||
/sbin/icnctrl add 0x300 icn3 icn4
|
||
#
|
||
# Load firmware
|
||
# ICN-2B: 1TR6
|
||
# 1. ICN-4B, beide S0 EDSS1
|
||
# 2. ICN-4B, 1. S0: 1TR6, 2. S0: EDSS1
|
||
#
|
||
/sbin/icnctrl -d icn0 \
|
||
load /etc/loadpg.bin /etc/pc_1t_ca.bin
|
||
/sbin/icnctrl -d icn1 \
|
||
load /etc/loadpg.bin /etc/pc_eu_ca.bin /etc/pc_eu_ca.bin
|
||
/sbin/icnctrl -d icn3 \
|
||
load /etc/loadpg.bin /etc/pc_1t_ca.bin /etc/pc_eu_ca.bin
|
||
!verboff
|
||
|
||
!old
|
||
Q: My ICN 4B is recognized only as an ICN 2B. How is the syntax for loading
|
||
icn.o with insmod for the ICN 4B?
|
||
A: dietmar <dietmar@highway.bertelsmann.de> wrote 08.Oct.1996:
|
||
!verbon
|
||
I use the following script to "start" the card:
|
||
#!/bin/sh
|
||
#
|
||
# load modules
|
||
/sbin/modprobe isdn.o
|
||
/sbin/modprobe icn.o icn_id=icn0 icn_id2=icn2
|
||
# ^^^^^^^^^^^^
|
||
# Important here is the entry for
|
||
# icn_id2. Then the driver recognizes,
|
||
# that a 4B should be used.
|
||
#
|
||
# download firmload
|
||
cd /usr/src/isdn4k-utils-1.3.97/icn
|
||
icnctrl load download/loadpg.bin download/pc_1t_ca.bin \
|
||
download/pc_1t_ca.bin
|
||
/sbin/isdnctrl verbose 2
|
||
!verboff
|
||
Jochen Wiedmann <Jochen.Wiedmann@Neckar-Alb.DE> wrote on 8.Oct.1996:
|
||
!verbon
|
||
modprobe icn icn_id=line0 icn_id2=line1 icnctrl io 0xd0000 0x340
|
||
icnctrl add 0x340 line0 line1
|
||
icnctrl load /sw/linux-i386/isdn4kutils-2.0.0/lib/loadpg.bin \
|
||
/sw/linux-i386/isdn4kutils-2.0.0/lib/pc_1t_ca.bin \
|
||
/sw/linux-i386/isdn4kutils-2.0.0/lib/pc_1t_ca.bin
|
||
!verboff
|
||
|
||
!old
|
||
Q: What is "lanx75i.bin" in the ICN directory?
|
||
A: "lanx75i.bin" is old. Previously, with EDSS1 ony HDLC was supported.
|
||
lanx75i.bin was the first test version of the firmware that also
|
||
supported X.75. When the firmware was loaded, its version was
|
||
noted in the kernel syslog. For the current firmware, the following
|
||
strings should be shown:
|
||
!verbon
|
||
For EDSS1:
|
||
DRV1.11EC-Q.931-CAPI-CNS-BETA-15.07.95,BRV2.3
|
||
For 1TR6:
|
||
DRV1.01TC-1TR6-CAPI-CNS-BETA-03.05.95,BRV2.3
|
||
!verboff
|
||
|
||
|
||
!3Working together with other ISDN devices
|
||
|
||
!old
|
||
Q: When a Fritz! card calls with X.75, Linux crashes. What can I do?
|
||
A: Karsten Keil <isdn4@temic-ech.spacenet.de> has written a new driver (the
|
||
"HiSax driver"). It includes a bug fix for this.
|
||
Also see the questions Gerneral|HiSax and the section HiSax driver in this
|
||
FAQ.
|
||
|
||
!old
|
||
Q: An AVM (A1 or B1) cannot call in to me with X.75, either
|
||
under Win95 or under OS/2?
|
||
A: This is a known problem, see the last question. At any rate this is not
|
||
yet solved in the HiSax driver either.
|
||
|
||
!old
|
||
Q: How can enable a Fritz! card to call in to me?
|
||
A: As long as the patch form Karsten Keil <isdn4@temic-ech.spacenet.de> is not
|
||
applied: only with hdlc - if the card tries to call in with X.75
|
||
isdn4linux likes to hang. Therefore you should set up a separate
|
||
MSN for Fritz! cards with hdlc. The HiSax driver also has the same
|
||
problem. Note from Roland Rosenfeld <roland@spinnaker.rhein.de>:
|
||
If you've used up your three MSNs, you can play tricks with the
|
||
service recognition, e.g.
|
||
!verbon
|
||
MSN Analog Digital
|
||
=== ====== =======
|
||
1 Voice + ISDN answering machine HDLC, PPP
|
||
2 Voice (Mother) Net interface
|
||
3 Modem/Fax X.75
|
||
!verboff
|
||
If you want, you can install another answering machine on MSN 2 that play a totally
|
||
differeng message...
|
||
|
||
!old
|
||
Q: Which ISDN routers are there that are OS-independent?
|
||
A: Sakari Aaltonen <sakari@picea.hut.fi>:
|
||
!verbon
|
||
There seems to be a lot of routers with 1 BRI, those that have more
|
||
are expensive (Cisco 4000 with four connection about DM 15000.--,
|
||
Ascend Pipeline 400: ?).
|
||
!verboff
|
||
Jürgen Goeritz <juergen@bart.simpson.inka.de>:
|
||
!verbon
|
||
ISDN routers with 4xBRI are less expensive from a German
|
||
manufacturer - see !link http://www.conware.de/;
|
||
!verboff
|
||
Jochen Wiedmann <Jochen.Wiedmann@Neckar-Alb.DE>:
|
||
!verbon
|
||
A Banzai! might also help. As hardware any PC with (e.g.) Teles
|
||
cards would work, the software costs around 800-1000 DM. I
|
||
personally don't like Banzai! routers at all because of their
|
||
poor diagnostic capabilities, in particular remote maintenance as
|
||
pretty much impossible (unless you have the SNMP capable version,
|
||
but it costs somewhat more). But when they run, they run stable
|
||
and as opposed to Ciscos they are capalbe of real callback. From
|
||
Cisco as an alternative there is the Cisco 2503 for about 5000
|
||
DM, that has only one Port, but two serial interfaces, on which
|
||
you can connect a TA (each about 800 DM). Finally, last, not
|
||
least you can bit the bullet and get several Cisco 1003s
|
||
(ca. 2000DM each). In case the price does not play such a bit
|
||
role, I would take this variation. I simply like Ciscos. :-)
|
||
!verboff
|
||
Winfried Haug <haug@seicom.net>:
|
||
!verbon
|
||
You need to decide, which is more important to you:
|
||
(1) saving money
|
||
(2) saving time
|
||
For (1) there are two solutions:
|
||
- Banzai! (now called Flux or Concorde..)
|
||
-> !link http://www.concorde.de/; (from cls, www.cls.de)
|
||
-> !link http://www.flux.de/; (from INS, www.ins.de).
|
||
Based on at least a 386 and routes Ethernet -> ISDN, works with
|
||
many cards, the programmers themselves work with Teles.
|
||
Disadvantates: not cleanly remotely configurable, unless you
|
||
buy the SNMP option, which makes it more expensive and
|
||
therefore more unattractive...
|
||
- ISPA + PCROUTE
|
||
-> !link http://www.biochem.mpg.de/~heha/;
|
||
also requires a PC (also works with 286). Has much
|
||
fewer options than Banzei, Flux, Concorde etc., and is not at all
|
||
remotely configurable, but runs totally stable.
|
||
PCROUTE costs nothing, ISPA now costs 70.-, perhaps you can still find
|
||
version 2.41 that runs unlimited even without a key.
|
||
Both solutions support pretty much all ISDN protokols (including
|
||
the diverse HDLC variantions etc..). Support for SPVs (soon
|
||
obsolete) and D64S is there at least for Teles cards (depends on
|
||
the CAPI, not the software). You can get old PCs for <1.000 DM,
|
||
the Teles card also doesn't cost much but die Flux, Concorde
|
||
software is expensive if you get SNMP as well -> you are then at
|
||
2.000.- and you could just as well buy a cisco1003... (2) IF you
|
||
don't want to assemble anything yourself, you can take with 4
|
||
individual Cisco1003 routers, at around 2300.- and all of your
|
||
problems are more or les solved (other than the diverse IOS
|
||
bugs...). But CISCO router can't do "correct" callback... and as
|
||
protocol only PPP (although there are IOS versions, that don't do
|
||
it cleanly) und CISCO-HDLC. If you need 4 BRIs -> CISCO 4000,
|
||
but then you should get the 8 BRIs, costs just under 2.000 DM
|
||
less. But then you have to invest somewhat more than
|
||
10.000.-...:-( Another varition: ELSA LANCOM MPR, also costs <
|
||
2.000 DM, can do callback, various protocols (HDLC, X.75, PPP)
|
||
and is really nice to configure. At the Interop, a Shiva ISDN
|
||
Router with a/b switch for 1600 DM was exhibited, but with 4 BRI
|
||
ports bei you'd be somewhat over 6000 DM... Then there are
|
||
several manufacturers that offer simple BRI routers (prices
|
||
tending to fall well under 2.000), e.g. ASCEND, MIRO etc... But
|
||
if you must have 4 BRIs, there's only the choice between Cisco
|
||
and Ascend.. uh... and since you asked about Ascend, I have a
|
||
price list here from Ascend (july 96), the max400 WITHOUT BRI
|
||
port already costs 15.750.-, the 4-way BRI is then an additional
|
||
11.250 DM... I think that's enough about Ascend...:-(
|
||
In case you have nothing against a PC solution, you could also
|
||
use netGW from netcs (!link http://www.netcs.com;). This ia a software
|
||
for SCO, AIX, Sun etc. and is based on PCs e.g. the cards from
|
||
Diehl ISDN. netGW should offer by far the most protocols and
|
||
options, but then you have to become familiar with a PC the
|
||
problems that come along with it. A SCO solution with 4- ISDN
|
||
cards + Software costs also around 10.000 DM, however. We have
|
||
now retirned almost all of our Banzai! and Co, since in the long
|
||
run they are only poorly remotely aministerable are are nowhere
|
||
near as stable as Cisco or other stand-alone routers... In the
|
||
end, it is a decsion of you would rather spend more money, and it
|
||
runs right awwy, or you build your own PC router and have to play
|
||
to get it going. You have to decide for yourself, although Teles
|
||
can drive you to desparation since the CAPI versions often have
|
||
huge problems as as normal user can't get any older
|
||
versions. Support at Teles is not that great (toll 0190-8 phone
|
||
number), and you can easily spend 20-30 DM on support call
|
||
without getting an solution to your problem...
|
||
!verboff
|
||
|
||
!old
|
||
Q: What settings does ISPA need to work with the standard settings
|
||
of isdn4linux?
|
||
A: The following configurations are possible (these also apply to the
|
||
other drivers from H. Hanewinkel, i.e. CINDI, CANDI, WISPA...):
|
||
!verbon
|
||
i4l side ISPA side
|
||
====================================================
|
||
isdnctrl l2_prot isdn0 hdlc \
|
||
isdnctrl l3_prot isdn0 trans > -h0
|
||
isdnctrl encap isdn0 rawip /
|
||
----------------------------------------------------
|
||
isdnctrl l2_prot isdn0 hdlc \
|
||
isdnctrl l3_prot isdn0 trans > -h1
|
||
isdnctrl encap isdn0 uihdlc /
|
||
----------------------------------------------------
|
||
isdnctrl l2_prot isdn0 x75i \
|
||
isdnctrl l3_prot isdn0 trans > -l0
|
||
isdnctrl encap isdn0 rawip /
|
||
----------------------------------------------------
|
||
isdnctrl l2_prot isdn0 x75i \
|
||
isdnctrl l3_prot isdn0 trans > -l1
|
||
isdnctrl encap isdn0 uihdlc /
|
||
----------------------------------------------------
|
||
!verboff
|
||
The parameter with the least problems is -h0.
|
||
|
||
!old
|
||
Q: How does isdn4linux work with a Cisco (HDLC) on the other side
|
||
A: On the Cisco router the "keep alive" packets have to be turned off.
|
||
isdn4linux has to be configured with HDLC, transparent with Cisco
|
||
encapsulation:
|
||
!verbon
|
||
isdnctrl l2_prot <interface> hdlc
|
||
isdnctrl l3_prot <interface> trans
|
||
isdnctrl encap <interface> cisco-h
|
||
!verboff
|
||
<interface> is the name of the IP interface that has been set up with
|
||
!verbon
|
||
isdnctrl addif <interface>
|
||
!verboff
|
||
(e.g. isdn0).
|
||
|
||
!old
|
||
Q: What settings does an ELink need to work with isdn4linux?
|
||
A: In the mailing list Daniel Moeller (danny@rsun.lfn.unterland.de)
|
||
gave the following advice:
|
||
!verbon
|
||
[...] Here I have several clean connections every day to a
|
||
EL310, I poll using ifcico FIDO with it. Here is the config
|
||
for the Elink:
|
||
ati Elink 310 Version 1.36 OK ati4
|
||
Baudrate: 115k2,N
|
||
SIN unbekannt: Ruf annehmen
|
||
Anschaltung: EDSS1
|
||
SIN ungleich &B: Ruf annehmen
|
||
Betriebsart: X.75
|
||
SIN gesendet: neutral
|
||
Mehrfachrufnummer: 980031
|
||
E1 M1 Q0 V1 X2 &B049 &C1 &D2 &R0 &S1
|
||
\A3 \J0 \N3 \Q3 \V1 %A013 %C1 %F1 FCLASS=000
|
||
S00=000 S01=000 S02=043 S03=013
|
||
S04=010 S05=008 S06=002 S07=040
|
||
S08=003 S09=000 S10=007 S11=000
|
||
S12=050 S13=01010000B S14=10011010B S15=00001110B
|
||
S16=10110011B S17=049 S18=013 S19=003
|
||
S20=000 S21=00000100B S22=000 S23=006
|
||
S24=120 S25=128 S26=016 S27=002
|
||
S28=003 S29=128 S30=000 S31=000
|
||
OK
|
||
!verboff
|
||
|
||
!old
|
||
Q: I have problems establishing connections to an ELink.
|
||
A: Daniel Moeller (danny@rsun.lfn.unterland.de) wrote to the
|
||
mailing list:
|
||
!verbon
|
||
I reported on my problems connecting to an EL 310 several weeks ago.
|
||
No connect message caome on the data channel from ISDN.
|
||
The troublesome Elink is on a 1TR6
|
||
line and has identical settings as another Elink on
|
||
Euro ISDN with which I have never had problems. Since ca. 2
|
||
weeks, suddenly everything works, without having changed any thing on
|
||
the local or on the remote side.
|
||
Conclusion: The software at the switching office also seems to
|
||
play a role....
|
||
!verboff
|
||
|
||
!old
|
||
Q: I'd like to exchange data with a Macintosh (Leonardo card),
|
||
what do I or the Mac user have to watch out for?
|
||
A: Markus Reicher <a9003436@unet.univie.ac.at>:
|
||
!verbon
|
||
When you call the Mac, he should set the protocol to X.75 or HDLC.
|
||
When he calls you, he must explicitly set the protocol (e.g.
|
||
by inserting an "X" for X.75) in the called number - otherwise the Mac
|
||
might call with the Leonardo protocol.
|
||
!verboff
|
||
|
||
!old
|
||
Q: My Cisco has a Bug - which IOS is recommended?
|
||
A: Jochen Wiedmann <Jochen.Wiedmann@Neckar-Alb.DE> wrote:
|
||
!verbon
|
||
Since Cisco-IOS 11.0.x (x = 7 is the only one I know about) I've had no
|
||
more problems with Cisco <-> HDLC <-> non-Cisco. That applies for netgw
|
||
as well as i4l and Banzai! on the other side, altough in each case the
|
||
special Cisco HDLC options are important.
|
||
!verboff
|
||
|
||
!old
|
||
Q: When I call in to an ASCEND, does it cost a charge unit even if I get
|
||
a "BUSY"?
|
||
A: Winfried Haug <haug@seicom.net> wrote on 12.10.1996:
|
||
!verbon
|
||
Until yesterday we had problems with AVM+W95 and Mini Port driver
|
||
(PPP m. PAP). The Ascend took the call and 3-4 sec later hung up.
|
||
In the Ascend Log is just Call refused, which isn't right, since
|
||
the the Ascend did take the call... With a new firmware on the
|
||
Ascend (4.6C+) instead of 4.6B+p2, the problem seems to be gone.
|
||
Since before we had another RACK (from ITK) that did _not_ behave
|
||
this way with our customers, I'm assuming that is was the Ascend.
|
||
New firmware for the Ascend can be found at!br
|
||
!link ftp://ftp.ascend.com/;!br
|
||
or!br
|
||
!link ftp://ftp.ascend.de/;!br
|
||
altough you have to pay very close attention that you are taking the
|
||
correct image!
|
||
!verboff
|
||
|
||
!old
|
||
Q: What do I have to watch out for to connect to Windows95?
|
||
A: Torsten Krueger <torsten@nrw-online.de> wrote on 5.10.1995, that
|
||
VJ (i.e. header) compression has to be turned off on both sides.
|
||
Windows95 is very touchy if this option is rejected by isdn4linux.
|
||
|
||
!old
|
||
Q: Can use only syncPPP with Windows95 to connect to isdn4linux?
|
||
A: Frank-Christian Kruegel <fchk@gigabyte.ohz.north.de> wrote on 13.10.1996:
|
||
!verbon
|
||
Modem network: yes. This might also be possible with CINDI,
|
||
WISPA etc. from Herbert Hahnewinkel (costs ca 80 DM per license, and
|
||
every user needs one), but I didn't spend the money.
|
||
!verboff
|
||
|
||
!old
|
||
Q: A Windows95 user with a Fritz! Card poor transfer rates
|
||
when connected with isdn4linux - what can one do?
|
||
A: Sven Engelhardt <sven@sik.de> wrote on 13.10.1996:
|
||
!verbon
|
||
use AVMPort (Capi modem emulation for Win' 95), important: on
|
||
Win 0.95 "Register on network" should be turned on.
|
||
!verboff
|
||
|
||
!old
|
||
Q: Where can I find the settings to get a terminal window when I log in?
|
||
A: Sven Engelhardt <sven@sik.de> wrote on 13.10.1996:
|
||
!verbon
|
||
Control Panels/Software/Diskette CD-ROM Admin/Apptools/Dscript
|
||
- Script administration for modem networks (after installing
|
||
see Start/Programs/Utilities)
|
||
So that the script receives something, with ISDN turn echo. With
|
||
the AVMPort put E1 in the init string.
|
||
!verboff
|
||
|
||
!old
|
||
Q: Is it possible with mgetty to automatically start pppd when LCP frames
|
||
are received?
|
||
A: Yes, it is. You have to compile mgetty with "-DAUTO_PPP" and then
|
||
in the file /usr/local/etc/mgetty+sendfax/login.config, the line
|
||
|
||
!verbon
|
||
#/AutoPPP/ - ppp /usr/sbin/pppd auth -chap +pap login kdebug 7 debug
|
||
!verboff
|
||
should be uncommented and edited. The so-called PPPWombat Patch is now
|
||
obsolete.
|
||
|
||
!3Leased lines
|
||
|
||
|
||
!old
|
||
Q: How does establishing and ending a connections work with D64S
|
||
without signaling?
|
||
A: The data are simply sent out! If you at the end of the D64S or 2MB
|
||
line, you tell your router that the line itself is "up". You have -
|
||
other than with ping etc. - NO possibility to recognize whether the
|
||
connection is there or not. (with ISPA for example, the out-going
|
||
wheels turn...) The only thing that you can measure on your site
|
||
is the loop to the next switching office. If you used Bchan2
|
||
instead of Bchan1 and send out data, they have to come back. Then
|
||
you can take your statistics. The assumes that the Telekom has the
|
||
unused Bchan setup this way at the switching office. This way we
|
||
once proved to the Telekom the line itself had a broken cable...
|
||
What can happen, if you don't autuomattically assume that the line
|
||
is there, that no data will flow if the other side is not yet
|
||
"up". With ISPA, for example, the pseudo numbers 1tap or 2tap are
|
||
first called with the first data packets and the protocol is
|
||
started. Incoming packets are simply ignored, among other reasons
|
||
because of the missing signaling. Only S01 or S02 lines have a D
|
||
channel and have something to use with signaling, however the best
|
||
known solutions also use this 16kb for data transfers to get 144kb
|
||
instead of 128kb. So just try it by sending out the data, assuming
|
||
that line is there :-). In this case the data end up in Nirvana...
|
||
|
||
!old
|
||
Q: With i4l, how can I successfully use the Teles card on a D64 leased line?
|
||
A: A later version of the new HiSax driver will support
|
||
D64 (more about this driver above).
|
||
Michael Hipp <Michael.Hipp@student.uni-tuebingen.de> added on 8.10.1996:
|
||
!verbon
|
||
If you don't want to wait for Karsten's patch, you can try the
|
||
so-called isachscx driver. It can be found at
|
||
!link http://www.sfs.nphil.uni-tuebingen.de/~hipp/isdn/isachscx.c.gz;
|
||
The driver is derived from the i4l Teles-driver, but doesn't need
|
||
the i4l link level. A desire to experiment is required to try
|
||
this driver.
|
||
!verboff
|
||
|
||
!old
|
||
Q: With ISDN, can I use one channel as a leased line and
|
||
other as a dial up line?
|
||
A: Tomas Pospisek <tpo@spin.ch> wrote:
|
||
!verbon
|
||
Yes, you can (at least in Switzerland). You have to make sure you are
|
||
on the correct channel ;)
|
||
!verboff
|
||
|
||
!old
|
||
Q: I have a leased line connection to a ICN, however the ping times are too
|
||
long.
|
||
A: Fritz Elfert <fritz@wuemaus.franken.de> wrote:
|
||
!verbon
|
||
TIMER_BCREAD = Intervall für B-Kanal-Poll (unit = jiffies = 20ms)
|
||
TIMER_DCREAD = Intervall für D-Kanal-Poll ditto
|
||
FLAG_RBTIMER (and other FLAG_...) call the appropriate functions from the
|
||
main time dispatcher.
|
||
!verboff
|
||
Tomas Pospisek <tpo@spin.ch> wrote to us:
|
||
!verbon
|
||
Because of the ping times, I've reduced BCREAD, (was 3 before)
|
||
[since 2.0.16 at 1, Ed.]
|
||
The resolution of the timer in Linux is only 20ms, so
|
||
ICN_TIMER_BCREAD=0 does nothing. In addition, this is only a
|
||
cosmetic problem. Both (sending and receiving) routines empty the
|
||
queue. i.e when there is real traffic, in each cycle is not only
|
||
just one fragment sent, but up to 16. The card buffer contains 16
|
||
fragments. Only with ping and Co. is this visible. FTP (or also
|
||
Z-Modem overr ttyI) can do close to 8k cps without problem. In
|
||
addition, in each cycle both directions are served, so the
|
||
calculation 20ms-receive + 20ms-send is therefore incorrect. Even
|
||
not considering this, 40ms is a really good value. Many ISDN
|
||
routers (also i4l before the reduction to BCREAD=1) have 60ms and
|
||
more.
|
||
!verboff
|
||
|
||
|
||
!3Isdnlog
|
||
|
||
!old
|
||
Q: isdnlog doesn't always show the High Layer Compatibility (Speech, Video,...)
|
||
as I'd like it to.
|
||
A: Gernot Zander <hifi@scorpio.in-berlin.de> posted a patch on 6.10.1996
|
||
to the mailing list that adjusts isdnlog
|
||
|
||
!old
|
||
Q: Ich have problems getting isdnlog to run with libc 5.4.7.
|
||
A: Christian Schlittchen <corwin@amber.hb.north.de>/<corwin@zfn.uni-bremen.de>
|
||
wrote on 8.10.1996:
|
||
!verbon
|
||
In the meantime I've patched isdnlog. The problem is the strftime()-
|
||
call in line 264 in isdnlog.c. There the "%e" should be replaced with
|
||
"%d", then everything works again.
|
||
!verboff
|
||
|
||
!old
|
||
Q: When calling I receive a "Internal error: wrong structure".
|
||
A: Most likely something is wrong with the configuration in isdnlog.cf.
|
||
Even the same MSNs with different services have to be counted separately.
|
||
(for the entries under MYMSN).
|
||
Steffan Henke <henker@Informatik.Uni-Bremen.DE> also wrote:
|
||
!verbon
|
||
My problem with isdnlog 2.50 and "wrong structure error" was caused
|
||
only by leaving out the leading zero.
|
||
Example:
|
||
017201234567 Handy 1 -
|
||
Previously I had it so:
|
||
*17201234567 Handy 1 -
|
||
This seems to have fixed everything.
|
||
!verboff
|
||
|
||
!3Audio
|
||
|
||
|
||
!commenton
|
||
(Most of the answers you will find here are taken from the vbox manual by
|
||
Matthias Hessler <hessler@wi-inf.uni-essen.de> and
|
||
Bernhard Hailer <dl4mhk@lrz.uni-muenchen.de>; you can get the manual at:!br
|
||
!link http://www.lrz-muenchen.de/~ui161ab/www/isdn/;!br
|
||
- click on "Audio!" (still in German we're afraid - sorry...)
|
||
!commentoff
|
||
|
||
!old
|
||
Q: My vboxgetty does not answer any incoming calls.
|
||
A: vboxgetty needs ".vboxrc" in the home directory of the user for which
|
||
vboxgetty is configured. The number of rings is taken from this file.
|
||
|
||
!old
|
||
Q: My vboxgetty answers at the first ring but the number of rings is set to 4.
|
||
A: The rings are created by a timer in the isdn module that doesn't
|
||
necessarily set the delay accurately. If you configure vboxgetty with
|
||
30 rings, vboxgetty will wait about 5 rings before it picks up the line.
|
||
|
||
!old
|
||
Q: What is the format of the audio-messages (.msg) vbox plays when it
|
||
answers a call?
|
||
A: You can get the format from the messages with rmdgetheader. The samples
|
||
messages in the packages are recorded using format 4 (the latest
|
||
Zyxel-Compression)
|
||
|
||
!old
|
||
Q: How can I play audio-messages locally using /dev/audio?
|
||
A: This is best achieved with vbox using format 6 (uLaw - must be compiled
|
||
in). You can then easily play the messages using:
|
||
!verbon
|
||
cat xxx > /dev/audio
|
||
!verboff
|
||
where xxx is the message-file.
|
||
|
||
!old
|
||
Q: How can I record my own messages for vboxgetty?
|
||
A: First call yourself on the number you configured vboxgetty to answer and
|
||
leave a message. Then rename the message to *.msg (standard.msg for the
|
||
main answering message) and copy it to the directory where all the
|
||
messages are kept (usually /var/spool/vbox/user/messages where user is
|
||
the user for which vboxgetty is configured).
|
||
You can also record a message using a microphone and the soundcard.
|
||
|
||
!old
|
||
Q: If vboxgetty has recorded a message in a format which can not be played
|
||
using "cat xxx>/dev/audio" how can I still hear the message?
|
||
A: Vboxgetty can play all formats. You could also copy the message as the
|
||
standard message (standard.msg in the messages directory) and call
|
||
yourself, the message will be played then. (Don't forget to copy back the
|
||
original message when you are done :-) ).
|
||
|
||
!old
|
||
Q: How can I convert audio messages which where recorded by vbox to other
|
||
formats (i.e. from uLaw to WAV)?
|
||
A: The standard tool for converting all sound formats is SOX. SOX is
|
||
available as source-code for both UNIX and DOS. You can get it at:!br
|
||
!link http://www.powerweb.de/mpeg/util/msdos/sox10c.zip;!br
|
||
(including sources that compile under Linux).
|
||
|
||
|
||
!2Troubleshooting
|
||
|
||
!3General
|
||
|
||
Q: My isdn4linux doesn't work! How do I best go about finding the problem?
|
||
A: The following steps are recommended:!br!br
|
||
First, check everything is working when booting.
|
||
Are there unusual error messages in /var/log/messages?
|
||
Are all programs active that should be started at boot (check with
|
||
ps, or fuser /dev/xxx)? HiSax won't start if something isn't right.
|
||
The old Teles driver, on the other hand, will appear to start even if
|
||
it is not working. See the questions under Troubleshooting!Teles.!br!br
|
||
Second, try calling with a telephone. The number should be shown in
|
||
/var/log/messages. Otherwise, perhaps the driver was incorrectly
|
||
started?!br!br
|
||
Third, continue experimenting using modem emulation. Because of the
|
||
differently service recognition, you can't get the telephone or fax to
|
||
ring, so we have to try something else. Open 2 different consoles as
|
||
root, and on each run "minicom -s"... in the first set "Serial Port
|
||
Setup!Serial Device" to /dev/ttyI0, and the other to /dev/ttyI1. Then
|
||
choose "Exit" and start the modem emulation with "ATZ" and "AT&Exxxxxx"
|
||
(where xxxxxx is your own MSN without the area code). Then you can start
|
||
On the first console you can dial your own number with ATDxxxxxx. On the
|
||
second console you should now see "CALLER NUMBER: xxxxxxx" and "RING".
|
||
Accept the call on the second console with "ATA", and you should then
|
||
see the message "CONNECT 64000/X.75" on both consoles. You can then send
|
||
characters to the other console by typing (to see the characters on your
|
||
own console, turn on local echo).!br!br
|
||
Fourth, try calling a known ISDN BBS. If you don't know of any, try
|
||
Gernot (see "Are there sites that offer guest access where I can test my
|
||
isdn4linux setup?"). If you have problems with the modem emulation, see
|
||
"Troubleshooting!Modem Emulation"!br!br
|
||
Fifth, try configuring the network interface or ipppd. Experience shows
|
||
that they cause beginners (and not only beginners!) the most problems.
|
||
To make things easier and you're happy with asyncPPP (to see what
|
||
asyncPPP means, see the question "pppd, ipppd, syncPPP, asyncPPP -
|
||
what is that? What should I use?"), you can use the normal pppd with
|
||
modem emulation (i.e. /dev/ttyI*). Otherwise, it is highly recommended
|
||
that use an example script form the Howto (see the question "Where can
|
||
I find scripts and other information on configuring i4l?"). For testing
|
||
you can try your own provider or of the guest accounts (see "Are there
|
||
sites that offer guest access where I can test my isdn4linux setup?").
|
||
The latter have the advantage of being able to see the log files as well
|
||
as a stable, working configuration. For example, if accessing via ipppd
|
||
doesn't work, you can log in via modem or modem emulation to find out
|
||
what happened on the other side. Not all providers are so
|
||
cooperative.... :-)
|
||
|
||
!old
|
||
Q: I have problems compiling isdn4k-utils-2.0. ncurses.h is not found. But
|
||
curses.h exists.
|
||
A: You need to set a link:
|
||
!verbon
|
||
ln -s /usr/include/curses.h /usr/include/ncurses.h
|
||
!verboff
|
||
Andreas Herbst <herbst@wiwi.uni-frankfurt.de> wrote:
|
||
!verbon
|
||
I haven't yet seen a newer distribution (neither Slackware
|
||
nor Debian) that contains a complete ncurses package.
|
||
/usr/include/ncurses.h is there - sometimes it's called curses.h,
|
||
but the include file panel.h must come from an original
|
||
ncurses package.
|
||
!verboff
|
||
Thomas Baetzler <bath0011@FH-Karlsruhe.DE> replied:
|
||
!verbon
|
||
With Debian you need to install not only ncurses nut also ncurses-dev
|
||
if you want to compile anything with it.
|
||
bash$ dpkg -S panel.h
|
||
ncurses3.0-dev: /usr/include/panel.h
|
||
!verboff
|
||
|
||
|
||
!old
|
||
Q: If i4l uses one B-channel then the other one will be blocked (incoming as
|
||
well as outgoing)
|
||
A: This behavior is typical for a cable with confused a/b wiring. Some NT from
|
||
Quante had a wrong labeling. They caused exactly the mentioned behavior if
|
||
the PBX was connected to the plug of the NT and the ISDN card to the pins
|
||
of the NT. As soon as some device activates the bus the other one can no
|
||
longer get through.
|
||
|
||
!old
|
||
Q: Even though I deactivated the signalling for incoming calls, an incoming
|
||
caller does not get a BUSY signal, although neither i4l nor any other ISDN
|
||
device is configured to use that MSN. Even when every usable B-channel is
|
||
used by i4l or another user an incoming caller will not get BUSY. The same
|
||
is true when I deactivate audio support for i4l.
|
||
A: i4l misbehaves by sending an ALERT when the telecom
|
||
signals an incoming call. This ALERT is not canceled by a RELEASE later on.
|
||
That's why the telecommunication company will give a normal ring instead of
|
||
a BUSY signal.!br
|
||
Karsten Keil <isdn4@temic-ech.spacenet.de> wrote about this on 11 Oct 1996:
|
||
!verbon
|
||
As I don't have a patch at hand I'll explain it this way: search for
|
||
CC_ALERTING_REQ in linux/drivers/isdn/teles/callc.c and comment out that
|
||
line. It should look like:
|
||
if (((chanp->chan & 1) + 1) & chanp->para.bchannel) { /* \
|
||
chanp->is.l4.l4l3(&chanp->is, CC_ALERTING_REQ, NULL); */
|
||
FsmChangeState(fi, ST_IN);
|
||
if (chanp->debug & 1)
|
||
That's the clean solution. For data connections there is no ALERT required
|
||
or expected. Voice applications only need ALERT when the want to wait for
|
||
several rings.
|
||
!verboff
|
||
Update by Karsten (14 Oct 1996):
|
||
!verbon
|
||
There is no alerting any more [in older HiSax versions - ed.]
|
||
!verboff
|
||
An improved HiSax has been released that included an alerting function
|
||
that works.
|
||
|
||
!old
|
||
Q: When the router is active, incoming calls from customers hear ringing, even
|
||
when when we're on the line with a support call. This gives the impression
|
||
that our employee doesn't answer the phone.
|
||
A: Jan den Ouden <denouden@groovin.xs4all.nl> recently posted a patch. Search
|
||
archive or contact Jan directly.
|
||
|
||
!old
|
||
Q: I closed all ISDN applications. Why can't I unload my ISDN modules
|
||
("isdn: Device or resource busy")?
|
||
A: Is some program using an ISDN device?
|
||
Did you remove all getty's?!br
|
||
Are isdnlog, imon, iprofd, etc., still running?!br
|
||
Maybe there is still a route on your net interface and it's not yet deleted
|
||
with "route del xxx"?!br
|
||
Maybe the net interface wasn't put down. This can easily happen when killing
|
||
ipppd. It does not react to signal 15 and has to be killed with "kill -9
|
||
<ipppd pid>". Then the net interface is left "up".!br
|
||
In this case "fuser -v /dev/isdn* /dev/ippp* /dev/cui* /dev/ttyI*"
|
||
is very helpful. This helpful program shows, which processes are
|
||
using those devices.!br
|
||
Sporadic errors of this type can be fixed by inserting sleep commands
|
||
between the unloading commands.
|
||
|
||
Q: I'm now certain I've closed all ISDN applications. I still sometimes
|
||
cannot unload the ISDN module ("isdn: Device or resource busy")...
|
||
A: Sporadic errors of this type can be fixed by inserting sleep commands
|
||
between the unloading commands.
|
||
|
||
|
||
!old
|
||
Q: isdnctrl returns a "bus error" when I do a "isdnctrl list"?
|
||
A: Christian Kratzer <ck@toplink1.toplink.net> gave the patch:
|
||
!verbon
|
||
diff isdnctrl.c.dist isdnctrl.c
|
||
240c240
|
||
< if (strlen(cfg.slave))
|
||
---
|
||
> if (cfg.slave && strlen(cfg.slave))
|
||
!verboff
|
||
|
||
!old
|
||
Q: My charge "impuls typ A" [German charge impuls at the end of a connection]
|
||
is not correctly transmitted, although the Telekom [German telephone company]
|
||
say they activated it.
|
||
A: Peter Gramlich <peter.gramlich@wiwi.uni-karlsruhe.de>:
|
||
!verbon
|
||
In some cases the Telekom activated the charge impulses only for some
|
||
services. It seems they have to activate it seperately for each service
|
||
(voice, data, G4-fax,...).
|
||
!verboff
|
||
|
||
!old
|
||
Q: My Ascotel PBX crashes i4l (connected on my internal bus).
|
||
A: Herbert Rosmanith <herp@wildsau.idv.uni-linz.ac.at> wrote:
|
||
!verbon
|
||
I think I found the reason why the Ascotel PBX crashes linux. It's not an
|
||
overly big "FACILITY" frame (as I wrote earlier) but a frame of an unknown
|
||
protocoll (0x44, while EDSS1=0x08 and DIS_N0=0x40, DIS_N1=0x41).
|
||
[...]
|
||
Jan den Ouden made a patch for it that ignores such frames. Yes, I *did*
|
||
try that patch... but I must have made some silly mistake (did not load
|
||
modules properly?) or there was another reason for the crash. I don't know
|
||
what to do any more :-( I just tested 2.0.18 and tried to do a hexdump
|
||
instead of interpreting it - and now the machine doesn't crash any more.
|
||
And now I've tried to use 2.0.20 and it did not crash. *shrug*,
|
||
confusion...
|
||
Whatever the causes the crash, remember that Jan's patch should be
|
||
included with the standard driver. It's not a good idea that frames that
|
||
are not 1TR6 are interpreted as EDSS1 by default.
|
||
Remark: the patch mentioned here has a bug: X.75 won't work anymore.
|
||
!verboff
|
||
|
||
!old
|
||
Q: I'm connected through an old PBX. Any attempt to dial out is refused with
|
||
cause 64?
|
||
A: Wolfgang Hamburg <wh@jumping.baltic.de> wrote on 8 Oct 1996:
|
||
!verbon
|
||
Cause 64 means "invalid information element contents" and is from the
|
||
12TR7 protocoll that some PBX (in our case Octopus-M) use internally.
|
||
12TR7 includes 1TR6. I don't know more about it. My source was a nice
|
||
guy from the Telekom. They have "Richtlinien" (guidelines) that describe
|
||
the protocols.
|
||
!verboff
|
||
|
||
!old
|
||
Q: After a hangup "no routine" is printed on /dev/isdnctrl. Did it release my
|
||
line or is there still some bug in the driver?
|
||
A: "no routine" doesn't always mean that there is something wrong with the
|
||
driver. Sometimes the link level module sends commands that aren't needed
|
||
by the teles driver and lead to "no routine".
|
||
|
||
!old
|
||
Q: I get many "HSCX RME out of buffers" messages in my syslog.
|
||
A: Answer by Jan den Ouden <denouden@groovin.xs4all.nl>:
|
||
The "HSCX RME out of buffers" message means that there are no more
|
||
receive buffers available. Received frames are only processed every few
|
||
milliseconds and in the meantime the frames have to be buffered. Default
|
||
are 6 buffers. Each frame needs a buffer no matter how big it is. If a
|
||
number of very small frames arrive within a short time period it can
|
||
happen that the buffers are overrun. At least it seems that this happens.
|
||
In teles.h there are three lines for number and size of those buffers:
|
||
!verbon
|
||
#define HSCX_RBUF_ORDER 1
|
||
#define HSCX_RBUF_BPPS 2
|
||
#define HSCX_RBUF_MAXPAGES 3
|
||
!verboff
|
||
The size of each buffer is about
|
||
!verbon
|
||
(4096<<HSCX_RBUF_ORDER)/HSCX_RBUF_BPPS
|
||
!verboff
|
||
This would lead to buffer with a size of about 4k. The number of buffers
|
||
is MSCX_RBUF_BPPS*HSCX_RBUF_MAXPAGES, which normally gives 6. You can
|
||
increase that number by increasing HSCX_RBUF_MAXPAGES. This is just a
|
||
limit, there is no buffer allocation when they are not needed.
|
||
|
||
|
||
!old
|
||
Q: I have problems with PAP or CHAP authentication. It does not work although
|
||
I'm sure I entered passwords etc. correctly.
|
||
A: Stefan A. Muehlenweg <Stefan.A.Muehlenweg@samhh.Hanse.DE> wrote on
|
||
4 Oct 1996:
|
||
!verbon
|
||
I had exactly the same problem/the same error message. The cause for it
|
||
was that I had three entries in chap-secrets/pap-secrets (for client,
|
||
server, secret), but not a fourth one (ip adresses). BUT: after the third
|
||
entry were some BLANKs. After removing the trailing BLANKs and/or TABs
|
||
(i)pppd now lives very satisfied with my auth-files.
|
||
!verboff
|
||
|
||
!old
|
||
Q: I get the error "SIOCADDRT: Invalid argument" when telling route to route
|
||
to isdn0.
|
||
A: <tpo@spin.ch> wrote on 8 Oct 1996:
|
||
!verbon
|
||
I had the same error until using the correct netmask.
|
||
!verboff
|
||
|
||
!old
|
||
Q: My i4l doesn't work with kernel 2.1.x.
|
||
A: Andi Kleen <andi@mlm.extern.lrz-muenchen.de> has written a patch.
|
||
It also includes a patch from Markus Gutschke <gutschk@uni-muenster.de>
|
||
for the Teles driver. It can be found at
|
||
!verbon
|
||
!link ftp://maja.mlm.extern.lrz-muenchen.de/pub/i4l-2.1-fix.gz;
|
||
!verboff
|
||
In the meantime, there's now HiSax 1.3 for 2.1.x kernels.
|
||
|
||
!3Modem emulation
|
||
|
||
|
||
Q: When I dial with "ATD....." I always get a "NO CARRIER".
|
||
A: Before dialing, you have to enter "AT&E123456" (if 123456 is your
|
||
own MSN; with 1TR6 give the one-digit EAZ).
|
||
|
||
!old
|
||
Q: My modem emulation/pppd does not recognize an incoming call.
|
||
A: Probably you did not tell the modem emulation with "AT&E" which MSN to use.
|
||
For example, use "AT&E123456" if your MSN is 123456.
|
||
|
||
!old
|
||
Q: I gave the correct MSN/EAZ, but still don't get a RING.
|
||
A: If you put a getty to a cui* device it will never get a RING. That's not
|
||
i4l's fault, but the kernel's. HIGHLY RECOMMENED: always use the /dev/ttyI*
|
||
devices! Since there is mgetty there is no need to use different devices for
|
||
incoming and outgoing calls. (The same goes for the normal /dev/ttyS* and
|
||
/dev/cua* devices for the serial interface.)
|
||
|
||
Q: Why can't I dial my telephone or fax with the modem emulation?
|
||
A: ISDN differentiates different services. All outgoing calls with the
|
||
modem emulation use the service "Digital Data", which is incompatible
|
||
with telephone or fax, so the call never gets through.
|
||
|
||
!old
|
||
Q: I can't get a connection to my ISDN mailbox.
|
||
A: There are several possible protocoll parameters. There is hdlc, there is
|
||
X.75 and there are several possible block sizes with X.75. You can tell
|
||
the modem emulation about the block size with "AT&B". Mostly used is a block
|
||
size of 2048 byte: "AT&B2048". The teles driver can not process blocks
|
||
longer than 2048 bytes (ICN can handle up to 4000 bytes).
|
||
|
||
!old
|
||
Q: I'm sure I used the correct parameters for my ISDN mailbox, but I still
|
||
don't get a connection. I always get BUSY although I know the mailbox is not
|
||
busy.
|
||
A: Sometimes there is an interrupt problem with the teles driver. Check the
|
||
interrupt count for your teles card. If "cat /proc/interrupts" just gives
|
||
you 0 then the following workaround may help you:
|
||
Configure your drivers as modules. When booting load them (insmod/modprobe),
|
||
then immediately unload them (rmmod) and reload them (insmod/modprobe).
|
||
Then it should work correctly...!br
|
||
Dr. Peter Schrammel <Dr.Peter.Schrammel@t-online.de> wrote:
|
||
!verbon
|
||
It may be a problem with your ISDN cable...
|
||
!verboff
|
||
|
||
!old
|
||
Q: My modem emulation hangs. How can I force my card to hang up?
|
||
A: Emil Stephan <ste@esqhen.su.eunet.de> wrote on 13 Oct 1996:
|
||
!verbon
|
||
If there is really no process using your modem emulation any more, try:
|
||
cu -l /dev/ttyI0 dir
|
||
+++
|
||
ath0
|
||
~.
|
||
Before and after "+++" you have to wait for a second, otherwise the modem
|
||
emulation won't recognise it as the escape sequence (like a normal modem).
|
||
Watch out for processes that (with "ps -ax") have something like "I0" or
|
||
"I1" in the second column, they have an ISDN terminal as their controling
|
||
terminal. You may have to kill them with kill.
|
||
!verboff
|
||
|
||
|
||
!3Sync-PPP
|
||
|
||
|
||
!old
|
||
Q: My ipppd won't work, it gives the error message "PPP driver 0.0.0 is out of
|
||
date".
|
||
A: Ari Biel <aribiel@sun14.hrz.th-darmstadt.de> wrote on 3 Oct 1996:
|
||
!verbon
|
||
I had the same thing! (S.u.S.E. 4.2 Kernel 2.0.0, isdn4k-utils 3.91 with
|
||
patch). After recompiling the kernel and configuring ppp as module I could
|
||
start ipppd. Looks like version problems.
|
||
!verboff
|
||
|
||
!old
|
||
Q: How can I switch on ppp support for my kernel 1.2.13 (needed for ipppd)?
|
||
A: Stefan A. Muehlenweg <Stefan.A.Muehlenweg@samhh.hanse.de> wrote:
|
||
!verbon
|
||
In 1.2.13 you tell the kernel *not* to include ppp support, then compile
|
||
the kernel, *after that* do a 'make modules' and a 'make modules_install'.
|
||
This way everything that's not compiled into the kernel, but that can be
|
||
loaded as modules is prepared for loading via insmod. 'modprobe ppp' on
|
||
bootup (in the rc.xxx script) will load the ppp module and all
|
||
additionally needed modules (slhc etc).
|
||
Prerequisite for ipppd with 1.2.13: install ppp version 2.2.0c. Also in
|
||
the kernel sources (ppp-2.2.0c.tar.gz). And you need modutils 1.2.8
|
||
(modules-1.2.8.tar.gz).
|
||
!verboff
|
||
|
||
!old
|
||
Q: How can I get a log for ipppd?
|
||
A: For debugging purposes you can redirect the ppp log into a separate file.
|
||
Just edit /etc/syslog.conf and add the following line (caution: do NOT use
|
||
blanks or tabs):
|
||
!verbon
|
||
daemon.* /var/log/ppp-log
|
||
!verboff
|
||
then every information from ppp demon will be logged to /var/log/ppp-log.
|
||
Emil Stephan <ste@esqhen.su.eunet.de> also wrote:
|
||
!verbon
|
||
Remove the comment sign in front of this line in /etc/syslog.conf:
|
||
#*.=debug /tmp/debug
|
||
After changing this file you can restart syslogd with "kill -1 <pid of
|
||
syslogd>".
|
||
The output in /tmp/debug can be used to optimize the handshaking of
|
||
ppp options.
|
||
!verboff
|
||
|
||
!old
|
||
Q: I cannot dial out with "isdnctrl dial ippp0". It seems as if the route to
|
||
ipppd is missing although I *did* set it ("network unreachable"). With my
|
||
old kernel < 2.0 everything works fine!
|
||
A: In the newer kernels you have to place "route" as the very last command
|
||
before the dialout command. Otherwise the kernel will delete the route.
|
||
|
||
!old
|
||
Q: After ipppd dials out my default route is gone.
|
||
A: It's the kernel's fault. Newer kernels (>= 2.0) have some changes in the
|
||
routing. Workaround: install a script /etc/ppp/ip-up like this:
|
||
!verbon
|
||
#!/bin/sh
|
||
/sbin/route add default ippp*
|
||
!verboff
|
||
If you make your connections manually, can use something like this script:
|
||
!verbon
|
||
/sbin/isdn
|
||
#! /bin/sh
|
||
case $1 in
|
||
on)
|
||
/sbin/isdnctrl dial ippp0 # build up connection
|
||
sleep 5 # wait until line open
|
||
/sbin/route add default ippp0 # set route
|
||
;;
|
||
off)
|
||
/sbin/isdnctrl hangup ippp0 # hangup connection
|
||
/sbin/route del default # and delete route again
|
||
;;
|
||
*)
|
||
echo -e "\a Usage: 'isdn on' or 'isdn off'"
|
||
;;
|
||
esac
|
||
!verboff
|
||
|
||
|
||
|
||
|
||
!old
|
||
Q: The first ip packet gets lost on automatic dialout with dynamic ip address
|
||
allocation.
|
||
A: There are some dialout problems in connection with sync ppp and dynamic ip
|
||
address allocation. In this case your ip address will change while packets
|
||
are waiting to be sent. All packets that should be sent before the change
|
||
in ip address are "hung".
|
||
Workaround:
|
||
Before connecting with telnet, ping, or the like dial out manuelly with
|
||
"isdnctrl dial ippp*".
|
||
Stefan A. Muehlenweg <Stefan.A.Muehlenweg@samhh.Hanse.DE> wrote:
|
||
!verbon
|
||
Yesterday I got a permanent ip address and since then the automatic dial-
|
||
out via ipppd works beautifully. The same goes for the serial interface
|
||
with async ppp over V.120 and diald (per ELSA Microlink ISDN/TLpro ---
|
||
also over the V.34 modem). I had the same symptoms there in the past.
|
||
Summary: When using automatic (!) dialout you definitely need a permanent
|
||
ip address. If you start and end your connection manually (!) then you can
|
||
live with dynamic address allocation.
|
||
It surely is time to extend ppp's functionality to not only hold outgoing
|
||
packets that initiate a connection, but also correct the ip address to the
|
||
new address before sending it out. The same goes for other packets that
|
||
arrive before the connection is up.
|
||
Also diald has to get that functionality to control when the connection
|
||
goes up or down.
|
||
!verboff
|
||
|
||
!old
|
||
Q: I get the message "IP frames delayed" - and I don't get a connection.
|
||
A: See last question:
|
||
You may have forgotten to use "isdnctrl dial ippp*" before using a net
|
||
command like telnet, ping, or the like.
|
||
|
||
!old
|
||
Q: When I try to start ipppd it says "Can't find usable ippp device"
|
||
A: Frank Meyer <fm@textware.k.eunet.de> wrote:
|
||
!verbon
|
||
I had the same problem. Interestingly, after about 5 minutes with
|
||
several of those messages the ipppd said "started". And then it
|
||
worked! Well, I included several test prints into the ipppd
|
||
source and located the problem: The ipppd calculates a random
|
||
number on startup (forgot where) and uses gethostid() for
|
||
that. That causes a DNS lookup. Then linux tries to find the
|
||
nameserver mentioned in /etc/resolv.conf. As ipppd isn't up it
|
||
can't reach the name server, which gives those messages. The
|
||
solution was easy: I not only included my computer in /etc/hosts
|
||
with its short name (z.B. isdn), but also its full name
|
||
including the domain in /etc/resolv.conf:
|
||
x.x.x.x isdn isdn.who.knows.where
|
||
Then it stopped complaining and just runs! Even earlier there is
|
||
a call from main() to setipdefault(), which (in options.c) calls
|
||
gethostbyname(). This also causes a DNS lookup and the message
|
||
"isdn_ppp_bind: Can't find usable ippp device". So two lines in
|
||
the source have to be changed to avoid the DNS lookup. It's
|
||
easier to include your own name in /etc/hosts, I used the ip
|
||
address of my ethernet card.
|
||
!verboff
|
||
Carlos Heller <carlos@mable.webtrek.de> wrote:
|
||
!verbon
|
||
There were some changes in patch-2.0.16 that could have caused the
|
||
problem. You can try the inoffical patch from ftp.gwdg.de
|
||
/pub/misc/isdn/linux/ippp/isdn.dif... until it is included in the official
|
||
patch.
|
||
My ipppd (from my Suse distribution) was broken. The packet i4l-43b2.tar
|
||
from !link ftp://ftp.suse.de/; helped me.
|
||
!verboff
|
||
|
||
!commenton
|
||
(The following question was taken from the syncPPP FAQ)
|
||
!commentoff
|
||
!old
|
||
Q: I can't get a connect. How can I find out where the problem is?
|
||
A: The output of ipppd is very helpful... Check whether you can find:
|
||
!verbon
|
||
- a few "LCP-conf-req SENT" messages (less than ten) and then a
|
||
"TERM-REF":
|
||
-> check whether the ISDN card was configured properly. It seems the
|
||
computer doesn't dial (IRQ, IO, protocoll wrong?)
|
||
- at least a few "RECV" messages
|
||
-> good: the card is dialing and the and your dialin computer tries
|
||
to communicate. Maybe the authentification doesn't work. Check the
|
||
ipppd configuration!
|
||
- the message that ipppd was exited for some reason
|
||
-> not so good... Check /var/log/messages and /var/adm/daemon.
|
||
Could be a bug in ipppd.
|
||
!verboff
|
||
|
||
!old
|
||
Q: I often get the error message "hscx_empty_fifo: incoming packet too large"
|
||
A: Probably one of the compressions is activated (i4l can't handle those very
|
||
well). See also next question.
|
||
Another possible reason could be an IRQ problem - see question "Why should
|
||
I avoid IRQ 12 and 15 for my ISDN card?" in section "Teles" further down.
|
||
|
||
!old
|
||
Q: The connection with ipppd seems to works, but eventually it crashes.
|
||
A: It could be that some compression is activated (that i4l can't handle
|
||
properly). Common error: "-vj" has to be used *additionally* to "-vjccomp"
|
||
(it completly switchs off the VJ compression) - the example scripts coming
|
||
with ipppd don't have that option included already.
|
||
Other compression modes (bsd, pccomp) can cause trouble, too.
|
||
|
||
!old
|
||
Q: ipppd sometimes crashes (kernel > 2.0.14)
|
||
A: Michael Hipp <Michael.Hipp@student.uni-tuebingen.de> wrote about this:
|
||
!verbon
|
||
Please downgrade to 2.0.14... In later version (since 2.0.16) there is a
|
||
little bug which causes ipppd to exit if it can't get a connection.
|
||
(Should not be a problem once you get a connection.) A "quick and dirty
|
||
hack" is possible by removing some lines in ipppd, but better stay with
|
||
2.0.14 until the bugfix finds its way into the new kernels.
|
||
!verboff
|
||
(Remark: should be the case with 2.0.26)
|
||
|
||
!old
|
||
Q: I've configured several ippp* devices. Each incoming call "uses up" one
|
||
device, until there is no device available any more.
|
||
A: That's a known bug. There is a patch available to fix it.
|
||
Manfred.Dill <manfred.dill@bmw.de> wrote about this:
|
||
!verbon
|
||
In the module isdn_net.c (line 1720) there is a comment "/* if this
|
||
interface is dialing, it does it probably on a different device, so free
|
||
this device */" and function isdn_free_channel is called.
|
||
[...]
|
||
It looks now like this:
|
||
#ifdef CONFIG_ISDN_PPP
|
||
if (p->local.p_encap == ISDN_NET_ENCAP_SYNCPPP)
|
||
ippp_table[lp->ppp_minor]->state = IPPP_OPEN;
|
||
#endif
|
||
!verboff
|
||
It can be assumed that this will be fixed in an improved ipppd.
|
||
|
||
!commenton
|
||
(The following question was taken from the syncPPP FAQ)
|
||
!commentoff
|
||
|
||
!old
|
||
Q: A SunISDN tries to dial into my i4l system.
|
||
A: The Sun tries to communicate with async ppp. ipppd can't handle this, you
|
||
have to use the ttyI* devices and the standard pppd.
|
||
|
||
!commenton
|
||
(The following question was taken from the syncPPP FAQ)
|
||
!commentoff
|
||
|
||
!old
|
||
Q: Starting ipppd I get the error message "this systems lacks ppp support".
|
||
A: Check whether the device "ippp0" exists (i.e. with the program "ifconfig").
|
||
The ipppd *needs* this device with exactly *that* name. If it doesn't exist
|
||
one has to define it:
|
||
!verbon
|
||
isdnctrl addif ippp0
|
||
isdnctrl encap ippp0 syncppp
|
||
... (see i4l documentation for more information) ...
|
||
!verboff
|
||
Maybe you compiled ipppd with the source of another kernel that you are not
|
||
using...
|
||
!commenton
|
||
(The following question was taken from the syncPPP FAQ)
|
||
!commentoff
|
||
|
||
!old
|
||
Q: My ISDN device is shown with HWaddr and IRQ=0 and base address = 0 when I
|
||
list it with ifconfig
|
||
A: The ISDN device fakes an ethernet device. It ignores IRQ and baseaddr and
|
||
just needs the HWaddr for the ethernet encapsulation.
|
||
|
||
!old
|
||
Q: The connection doesn't end with timeout. Possible reason: my service
|
||
provider uses a Cisco router which sends a "keep alive" packet every ten
|
||
seconds.
|
||
A: Winfried Haug <haug@seicom.net> wrote:
|
||
!verbon
|
||
If the Cisco doesn't get an answer for its keep alive packets then it will
|
||
stop routing! That normally happens after the 4. or 5. keep alive packet.
|
||
The best solution is to tell the provider not to use keep alive packets
|
||
("no keepalive" in the Cisco configuration).
|
||
There is NO REASON to use keep alive packets, especially between two Cisco
|
||
routers and on leased lines.
|
||
!verboff
|
||
|
||
!old
|
||
Q: My Internet provider won't switch off keep alive packets so ipppd never hangs
|
||
up.
|
||
A: Dirk Melchers <dirk@merlin.nbg.sub.org> wrote about this:
|
||
!verbon
|
||
LCP messages are considered traffic and keep the line open. There was a
|
||
little patch for kernel 2.0.21 in relation with the patch chargeint-2.04
|
||
for isdnlog-2.50. This patch ignores *all* syncPPP LCP data for the
|
||
calculation of the hangup timer, so hangup works even with LCP-echo-
|
||
requests.
|
||
Warning: The code works for *me* and my provider. I don't know if it will
|
||
work for *you*. Just try it!
|
||
!verboff
|
||
If you need the patch, mail Dirk Melchers.
|
||
|
||
!old
|
||
Q: SyncPPP works without problems on one channel. Unfortunately MPPP won't work
|
||
due to communication problems between ipppd and the other side.
|
||
A: Michael Hipp <Michael.Hipp@student.uni-tuebingen.de> wrote on 11 Oct 1996:
|
||
!verbon
|
||
At first about your bug: the other side does not like the MP-MRU (0x5dc)
|
||
but wants a smaller one (0x5d7) ... which is what ipppd doesn't like (bug)
|
||
... Just try 0x5d7 as MP-MRU.
|
||
Without a MP-MRU agreed about MPPP won't switch on .. which is why it is
|
||
not working.
|
||
!verboff
|
||
|
||
|
||
!3Raw-IP
|
||
|
||
!old
|
||
Q: I get the error message "protocol error, unspecified".
|
||
A: "Protocol error, unspecified" means that messages or parts of messages came
|
||
in at a time where they weren't expected or the content of the message could
|
||
not be decoded.
|
||
Torsten Hentschel <Torsten.Hentschel@DInet.de> wrote about this:
|
||
!verbon
|
||
Especially the first packets of the protocoll can be lost when they are
|
||
fired out onto the B-channel immediately after the connect message.
|
||
I had a problem with raw hdlc: it lost packets, but only when dialing from
|
||
one side to the other.
|
||
!verboff
|
||
A patch should be available from Torsten.
|
||
|
||
|
||
!3Callback
|
||
|
||
!old
|
||
Q: An incoming call is rejected by i4l. i4l then calls back. The reject is not
|
||
recognized by the other side which keeps on dialing to i4l.
|
||
A: Most problems with callback can be solved by adjusting the callback delay
|
||
with "isdnctrl cbdelay". One second has been successful in many cases.
|
||
|
||
!old
|
||
Q: When trying callback with Euro-ISDN the call never gets rejected.
|
||
A: Karsten Keil <isdn4@temic-ech.spacenet.de> has fixed this with the new
|
||
"HiSax" driver.
|
||
Also see the questions General|HiSax and the section about HiSax.
|
||
|
||
!old
|
||
Q: Somehow i4l can not callback a Cisco?
|
||
A: Torsten Hentschel <Torsten.Hentschel@DInet.de> wrote on 3 Oct 1996:
|
||
!verbon
|
||
A Cisco may dial so heavily that the ipppd has no chance to callback.
|
||
That's how they are programmed (firm statement of a Cisco developer):
|
||
If a Cisco receives a packet that should be routed through a "dial on
|
||
demand" telephone connection, and there is a D-channel available for
|
||
dialing out it dials out immediately.
|
||
If in such a situation (which has be the case with Delta Internet for half
|
||
a year now) a Cisco with 8 D-channels is on the other side and somebody
|
||
does a simple "ping <RemoteIP>" then the Cisco will use (worst case) all
|
||
8 D-channels to dial out. Of course it can't dial the same telephone
|
||
number with two D-channels in parallel (would be immediately busy). Its
|
||
programming is not so stupid, but it sets up the next D-channel for
|
||
dialout before it assumes the previous D-channel as failed. Such a Cisco
|
||
works like a machine gun in respect to dialout. And i4l won't get a free
|
||
D-channel for dialin if the Cisco doesn't want.
|
||
The bad thing: a Cisco always expects (even when configured on "callback
|
||
client" = i4l dials back) that the other side unhooks the line, then both
|
||
hang up and then comes the callback. Username and password always have to
|
||
be exchanged before the callback is allowed when using ppp, to be sure
|
||
that the person requesting callback is allowed to do so. (Cisco seems to
|
||
obey the rules of the [German] Telekom that no information are to be ex-
|
||
changed without a B-channel connection. A callback request just by caller
|
||
id could in doubt be considered as a transmission of information).
|
||
!verboff
|
||
|
||
!3ISDN in a network
|
||
|
||
!old
|
||
Q: xosview doesn't show any network activity since installing i4l.
|
||
A: Peter Hettkamp <Peter.Hettkamp@kassel.netsurf.de> wrote:
|
||
!verbon
|
||
xosview reacts, at least for me with version 1.4, to the IP accounting
|
||
in the kernel. So, configure, if necessary build a new kernel, then
|
||
couple with:
|
||
ipfwadm -A -a -S your-ip-address-here -D 0.0.0.0/0
|
||
ipfwadm -A -a -D your-ip-address-here -S 0.0.0.0/0
|
||
(I don't know who it works with variable IP addresses. I have a fixed
|
||
address.)
|
||
!verboff
|
||
|
||
!commenton
|
||
Rainer May <r_may@khavi.desaster.heide.de> has put together questions and
|
||
answers on "i4l and Masquerading:
|
||
!commentoff
|
||
|
||
!old
|
||
Q: When I for example from a W95 box call up a page with Netscape,
|
||
I only get the answer "unknown host".
|
||
A: What is entered on the "Win95 box" for the name server? As long as the
|
||
router has no name server of its own, then the provider's name server
|
||
of course has to be entered on all computers on the LAN
|
||
|
||
!old
|
||
Q: Adresses are now found, but now instead of the page I want I get
|
||
the message "no route to host".
|
||
A: Please check:
|
||
!verbon
|
||
* Is the Linux computer entered as the gateway? (Some 'operating systems'
|
||
have to be restarted before changes to the networking take effect)?
|
||
* Does the router have a default route to the prepared interface to the
|
||
provide (e.g. ippp0 with syncPPP or sl0 for diald (even when the real
|
||
connection is over ppp0, diald uses a slip interface as a "doorknob")
|
||
* Does the provider require the use of proxies? Then the addresses
|
||
of the proxies have to the entered in the appropriate clients on the LAN
|
||
computers
|
||
!verboff
|
||
|
||
|
||
!3Teles
|
||
|
||
|
||
!old
|
||
Q: How can I know that my Teles card (or compatible) is used correctly?
|
||
A: On bootup there has to be a message like "kernel: HSCX version A:5 B:5" as
|
||
well as "kernel: channels 2" in /var/log/messages. "A:4 B:4" is also o.k.
|
||
All other values (especially "A:0 B:0" or "A:f B:f") show that the card
|
||
is not used correctly.
|
||
|
||
!old
|
||
Q: On bootup I get "HSCX version A:5 B:5" but I still have the impression that
|
||
my Teles card is not used correctly. What else can I check?
|
||
A: Wilhelm Schulte <schulte@wrds1.urz.uni-wuppertal.de> wrote about this:
|
||
!verbon
|
||
Best is you check that the interrupt is registered correctly. Check it
|
||
with "cat /proc/interrupts". The following entry indicates an error:
|
||
11: 0 + teles
|
||
The 11 is correct when the Teles card is configured on interrupt 11.
|
||
However, the 0 means that the Teles card does not accept interrupts, so it
|
||
does not work. That's the well known "busy bug". Often it can be worked
|
||
around by loading, unloading, and reloading the ISDN modules on bootup.
|
||
The IRQ counter does have to be 0; low values also point to the same
|
||
problem. You can test for it quite easily:
|
||
1. cat /proc/interrups, note the count
|
||
2. Call the card with a telephone.
|
||
3. Again cat /proc/interrupts, the count should be quite
|
||
different from the first value.
|
||
!verboff
|
||
See also "I always get BUSY when dialing into my ISDN mailbox". You can also
|
||
check the io ports with "cat /proc/ioports".
|
||
|
||
!old
|
||
Q: Why should I avoid IRQ 12 and 15 for my ISDN card?
|
||
A: Gernot Zander <hifi@scorpio.in-berlin.de> wrote about this:
|
||
!verbon
|
||
On PCI boards never use IRQ 12. It is often used by the bus mouse (even
|
||
though you may not have any or the IRQ is not activated for it), which is
|
||
why that IRQ often is lost and you will get errors trying to use it.
|
||
On PCI boards never use IRQ 15. It is often used by IDE 2 (even when you
|
||
are not using it or the IRQ is not activated for it), which is why that
|
||
IRQ often is lost and you will get errors trying to use it.
|
||
!verboff
|
||
It should be mentioned that this is not the case for *all* PCI boards! But
|
||
many of them mess up the IRQs in this way...
|
||
|
||
!old
|
||
Q: My Teles card will not be recognized correctly when I use LILO with my
|
||
parameters.
|
||
A: Unfortunately the order of the kernel parameter for irq, mem, io base, and
|
||
protocoll is not identical with the order of the parameters for modules or
|
||
when compiling them in.
|
||
Order for module parameters (insmod): mem, irq, base, type
|
||
Order for kernel parameters (LILO): base, irq, mem, type
|
||
|
||
!old
|
||
Q: If I first start DOS and the Teles driver included with the card,
|
||
and then start Linux with Loadlin, everything works fine.
|
||
However, if I start Linux directly with LILO, the Teles driver
|
||
doesn't respond directly.
|
||
A: Try replacing the Teles driver with HiSax.
|
||
|
||
!old
|
||
Q: After a reset, my card does not initialize correctly.
|
||
A: Andreas M. Kirchwitz <isdn4linux-mlist@zikzak.snafu.de> wrote:
|
||
!verbon
|
||
Instead of a "reboot" command or pressing "Ctrl-Alt-Del"
|
||
try a "Hard Reset" with the reset button.
|
||
With some motherboards (which is not necessarily the motherboard's
|
||
fault) the cards are not completely reset with a "Soft Reset" so that
|
||
some drivers will have problems finding the cards.
|
||
!verboff
|
||
Of course, before the hard reset you have to bring the system down
|
||
correctly ("reboot" command or press "Ctrl-Alt-Del")! Only then
|
||
can you hit the reset button.
|
||
|
||
!old
|
||
Q: The Teles driver recognizes my 16.3 card as a 16.0.
|
||
A: When using a 16.3 you have to set the memory area to 0. If a 16.3 is
|
||
recognized as a 16.0 you have given the wrong parameter.
|
||
|
||
!old
|
||
Q: I use i4l and the Teles driver. From time to time the driver hangs and I
|
||
have to reload it.
|
||
A: You are using a [very] old version of the Teles driver. Since version 0.4a
|
||
this has been fixed. Check "How to get i4l" on how to get a newer driver.
|
||
|
||
!old
|
||
Q: My machine often crashes. On the console I get about every few seconds
|
||
!verbon
|
||
l1state 4
|
||
l1state 8
|
||
l1state 13
|
||
ph_command 9
|
||
l1state 4
|
||
l1state 0
|
||
ph_command 0
|
||
l1state 7
|
||
ph_command 9
|
||
!verboff
|
||
A: It could be a broken cable. The DOS hardware test software from Teles
|
||
should also report this error.
|
||
|
||
!old
|
||
Q: My Teles driver always says "isdn0: Chargesum is 0" although I get charge
|
||
information from the [German] Telekom.
|
||
A: The Teles driver does not support/use the German charge information,
|
||
because the author, Jan den Ouden lives in Netherlands and the charge
|
||
information is transmitted differently there than in Germany (so much for
|
||
"Euro"-ISDN :-( ).
|
||
Despite that isdnlog can handle the Q.921 information it gets via isdnctrl.
|
||
There is even a patch for isdnlog to end a connection just in time before
|
||
the next charge unit. Another patch even enables isdnlog to save the
|
||
charge information in a Postgres95 database. These patches may be included
|
||
in a new version of isdnlog.
|
||
|
||
!old
|
||
Q: My Teles driver does not work in 2.1.x!
|
||
A: Christian Mock <cm@kukuruz.ping.at> wrote on 7 Oct 1996 a patch about this
|
||
which can be obtained from him or the mailing list archives. Another patch
|
||
for 2.1.1 was posted from Markus Gutschke <gutschk@uni-muenster.de>, on the
|
||
7 Oct 1996, too.
|
||
Because of the many basic changes and adjusting problems only developers
|
||
should switch to 2.1.x at this point in time.
|
||
|
||
!old
|
||
Q: I have two Teles cards in my computer but it seems that only one is used!
|
||
A: Christian Kratzer <ck@toplink.net> wrote about this on 6 Oct 1996:
|
||
!verbon
|
||
Clear case of IRQ problems. Especially the 11 gives trouble on some
|
||
boards. Even though one thinks that some IRQs are available they are still
|
||
somehow reserved by the BIOS.
|
||
Good IRQS to try are always IRQ 5 and IRQ 9. Without mice or modems you could
|
||
also try 4 and 3. That even works on very exotic boards.
|
||
!verboff
|
||
|
||
|
||
!3HiSax
|
||
|
||
|
||
!old
|
||
Q: The Teles crashes again and again with the follwing error message
|
||
in the log:
|
||
!verbon
|
||
<date> <time> foo kernel: HSCX B EXIR 10
|
||
<date> <time> last message repeated <n> times
|
||
!verboff
|
||
A: The CPU isn't able to empty the FIFO. Is a sound card installed that
|
||
keeps the interrupts for itself for too long?
|
||
|
||
|
||
!3ICN
|
||
|
||
|
||
!old
|
||
Q: On dialing out/in with my ICN packets get lost.
|
||
A: Torsten Hentschel <Torsten.Hentschel@DInet.de> has a patch for kernel 2.0.21
|
||
which definetly does not loose any more packets. Contact Torsten.
|
||
|
||
!3isdnlog
|
||
|
||
|
||
!old
|
||
Q: Die telecom is paying me (according to isdnlog/isdnrp) 12 pfennigs
|
||
(1 unit) for each connection...
|
||
A: You wish... Christian Bruehe <oblomow@cs.tu-berlin.de> wrote:
|
||
!verbon
|
||
I recently had the same effect when I mistakenly started isdnlog twice
|
||
!verboff
|
||
|
||
!old
|
||
Q: Isdnlog crashes with a "segmentation fault".
|
||
A: Dirk Lutzebaeck <lutzeb@wadk-berlin.de> wrote:
|
||
!verbon
|
||
For me, isdnlog crashed because it was not entered in /etc/services
|
||
!verboff
|
||
|
||
|
||
!commenton
|
||
(The following question and answer is from Andreas Kool
|
||
<akool@Kool.f.EUnet.de>)
|
||
!commentoff
|
||
|
||
!old
|
||
Q: Isdnlog takes 100% of the CPU time
|
||
A: isdnlog-2.4x has 2 possibilites to take the entire CPU time or even
|
||
to stop working altogther
|
||
!verbon
|
||
- right when starting isdnlog or isdnrep:
|
||
Here the 2 programs have choked trying to read "isdnlog.conf"
|
||
Solutions:
|
||
- never use blanks in the alias columnn!
|
||
(e.g.: "My MSN")
|
||
- never use "#" in the alias column!
|
||
(e.g.: "MSN#3")
|
||
- never use "\" in the alias column!
|
||
(z.b.: "MSN\#3") (Thank you, Holger Wirtz <chick@midips.snafu.de>)
|
||
- never use "*" as the entry in the flags column!
|
||
(Thank you, Werner Wiethege <ww@slarti.frankfurt.netsurf.de>)
|
||
- the "START=" line requires an entry indicated_when_ it is to be started
|
||
for example
|
||
START=IOH=auplay hangup.au
|
||
and _not_
|
||
START=auplay hangup.au
|
||
(Thank you, Dirk Staneker <zxmjy04@student.uni-tuebingen.de>)
|
||
- when using the "-S" option to start external programs.
|
||
Here isdnlog ran into the code the X11 client "xisdn"
|
||
and started looping in itself, leaving behind zombies - this was fixed
|
||
in isdnlog-2.50.
|
||
!verboff
|
||
|
||
Q: My isdnlog 2.50 doesn't work since I installed HiSax 1.2.
|
||
A: Isdnlog needs to be patched... you can find the patch everywhere where
|
||
you HiSax is found.
|
||
|
||
|
||
!3Audio
|
||
|
||
|
||
!old
|
||
Q: My vbox 1.1 does not work together with HiSax.
|
||
A: Use HiSax 1.2. This version includes correct alerting.
|
||
|
||
|
||
!2National Peculiarities
|
||
|
||
|
||
!3Germany (1TR6)
|
||
|
||
|
||
!old
|
||
Q: Which EAZ should I use for i4l?
|
||
A: You can use all available EAZ. However, two EAZ have a special meaning and
|
||
can cause problems:
|
||
!verbon
|
||
EAZ 0: global call (all telephones ring)
|
||
EAZ 9: global call (no telephone rings)
|
||
!verboff
|
||
|
||
!old
|
||
Q: The state machine hangs with 1TR6.
|
||
A: Karsten Keil <isdn4@temic-ech.spacenet.de> has fixed that with the new
|
||
"HiSax" driver.
|
||
See questions General|HiSax and the section about the HiSax driver.
|
||
|
||
!3Austria
|
||
|
||
|
||
!old
|
||
Q: We have neither an MSN nor an EAZ, only a normal plain telephone number.
|
||
What do we have to use for i4l?
|
||
A: Bernhard Kruepl <b.kruepl@ieee.org> wrote
|
||
!verbon
|
||
In Austria you always have to use "0" as the ingoing EAZ/MSN for the
|
||
first (or only). Any further MSNs can be set normally.
|
||
!verboff
|
||
|
||
!old
|
||
Q: Incoming and outgoing calls won't work ("incoming call without CPN")
|
||
A: In Austria ISDN lines are by standard installed !u1without!u0 MSN (which is
|
||
different from Germany). That means when somebody calls the installed ISDN
|
||
number the called party gets signalled a "global call". i4l then says
|
||
"incoming call without CPN" - "CPN" means called party number.
|
||
Solution: Set the incoming "MSN" (in reality: none) to "0", then i4l
|
||
responds to the global call. Otherwise it waits for the signalling of the
|
||
number you told i4l, and that won't happen (happens only for *additional*
|
||
MSN).!br
|
||
On the other hand you should set the outgoing MSN correctly (without area
|
||
code) -- however, a wrong MSN will be replaced with the correct one by your
|
||
telecomunication provider.
|
||
|
||
!old
|
||
Q: Why doesn't my getty answer the EAZ it should respond to if somebody dials
|
||
the "0", the broadcast number? In the log file it says "Incoming call
|
||
without CPN, assuming '0'".
|
||
A: CPN=Called Party Number, the number of your own side. It's missing, that's
|
||
why i4l assumes "0". If the getty is configured on another number but "0" it
|
||
will not respond. Let somebody dial with a telephone on the EAZ of your
|
||
getty and check whether all telephones are ringing or just that that that
|
||
was set to the EAZ of your getty. It could also be an error of your
|
||
telephone company.
|
||
|
||
|
||
!3Switzerland
|
||
|
||
|
||
!old
|
||
Q: We have neither an MSN nor an EAZ, just a plain telephone number. What do we
|
||
have to use for i4l?
|
||
A: Herbert Rosmanith <herp@wildsau.idv.uni-linz.ac.at> wrote:
|
||
In Switzerland you have to use the !u1last number!u0 of your telephone
|
||
number as your MSN/EAZ ("6" if you have the telephone number "123456").
|
||
|
||
!old
|
||
Q: I can only keep a 184 seconds connection with i4l. After that the connection
|
||
breaks with cause "Temporary failure" since the telephone company uses new
|
||
software for its equipment ("Gerard Metrailler Jr." <gmetrail@di.epfl.ch>).
|
||
A: That is a bug in i4l - Q.931 demands that there has to be an answer to
|
||
a "STATUS ENQUIRY" frame. This is not yet programmed in i4l.
|
||
Karsten Keil <isdn4@temic-ech.spacenet.de> has fixed it now in the new
|
||
"HiSax" driver. There is a patch named STATUS for the Teles driver.
|
||
See also the question General|HiSax and the section about the HiSax driver.
|
||
|
||
|
||
!2Miscellaneous
|
||
|
||
|
||
!old
|
||
Q: Why not adjust the clock of my computer with ISDN?
|
||
A: Isdnlog offers this feature with option "-t". Unfortunately, the seconds are
|
||
not transmitted via ISDN, and the transmitted time is not very accurate -
|
||
depending on the ISDN equipment of your telephone company there may be a
|
||
deviation of several minutes (!).
|
||
It's better to get a PC clock that is set by radio signals and check it with,
|
||
for example, xntp. You can also use a time server in the internet with
|
||
"netdate" or "rdate". One time server can be found in Cologne:
|
||
time.rrz.uni-koeln.de, but there are many more.
|
||
|
||
!old
|
||
Q: Where can I get documentation on Siemens' HSCX and ISAC chips?
|
||
A: Alexander List <alex@ag.or.at> wrote:
|
||
!verbon
|
||
!link http://www.siemens.de/;, there are a lot of PDF files available.
|
||
If a CD-ROM is ok: Technical Product Information for Siemens
|
||
Semiconductors, order# B192-H6641-X5-X-7400
|
||
Siemens AG, Semiconductor Group, Balanstr. 73, Pf. 801709, D-81617
|
||
Muenchen, Fax 089-4144-3952.
|
||
!verboff
|
||
Beat Doebeli <beat@castle.swill.org> wrote:
|
||
!verbon
|
||
From the Siemens handbook:
|
||
Place your order at:
|
||
Siemens AG
|
||
LZF Semiconductor Book Shop
|
||
Postfach 2352
|
||
90713 Fuerth-Bislohe
|
||
Tel (0911)3001-220/224
|
||
Fax (0911)3001-238
|
||
Price groups (1994)
|
||
I DM 5.-
|
||
II DM 10.-
|
||
III DM 20.-
|
||
IV DM 30.-
|
||
ISAC S PEB 2085; PEB 2086 ISDN Subscriber Access Controller
|
||
Order# B115-H6485-G1-X-7600, 328 pages price category IV
|
||
HSCX - High Level Serial Communication Controller Extended
|
||
Order# B115-H6520-G1-X-7600, 140 pages price category III
|
||
oder as CD-ROM
|
||
Technical Product Information for Communication ICs (Edition 1, Jun 95)
|
||
Order# B193-H6905-X-X-7400, price ?
|
||
!verboff
|
||
|
||
!old
|
||
Q: Where can I find the "bat" book about configuration of sendmail?
|
||
A: dietmar <dietmar@highway.bertelsmann.de> wrote on 8 Oct 1996:
|
||
!verbon
|
||
O'Reilly catalog 1997 (brand new from the book fair):
|
||
"book dealers report to us, that some books are so strongly associated with
|
||
animals that many clients won't ask for the normal title, but just for the
|
||
(i.e.) 'camel book' (Programming Perl)."
|
||
!verboff
|
||
In a _good_ book shop you should find the following:
|
||
!verbon
|
||
Title: sendmail (3rd edition 9/94)
|
||
Author: Costales, Allman, Rickert
|
||
ISBN: 1-56592-056-2
|
||
Costs: 66.-- DM
|
||
More on:
|
||
!link http://www.ora.com/catalog/sendmail/noframes.html;
|
||
!link http://www.lob.de/;
|
||
!verboff
|