Fork of https://github.com/marschap/isdn4k-utils as well as custom CVS import with proper author name/email ('cvsimport' branch)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6005 lines
260 KiB
6005 lines
260 KiB
<!doctype linuxdoc system>
|
|
|
|
<article>
|
|
|
|
<title>FAQ for isdn4linux
|
|
<author>Matthias Hessler (<tt><htmlurl url="mailto:hessler@isdn4linux.de" name="hessler@isdn4linux.de"></tt>)
|
|
<date>v2.0.103, 15 January 2006
|
|
<abstract>
|
|
If you are reading this FAQ online, you may consider downloading the whole
|
|
thing, and reading it offline (much cheaper). To download the latest
|
|
version of this FAQ in TXT/HTML/SGML format, go to the homepage of this FAQ:
|
|
<url url="http://www.mhessler.de/i4lfaq/">.
|
|
|
|
A German translation of the FAQ is available at:
|
|
<url url="http://www.wolf-b.de">.
|
|
|
|
This FAQ answers questions that were frequently asked in the newsgroup
|
|
de.alt.comm.isdn4linux. It contains questions any user should
|
|
know about ISDN under Linux using isdn4linux, as well as hints on how
|
|
to best make use of all the features isdn4linux provides.
|
|
|
|
Version 2 of the FAQ is derived from an earlier version which had become
|
|
outdated at the time of this writing. To obtain information on old versions
|
|
of isdn4linux (1997 and earlier) please have a look at the FAQ version 1.3.4.
|
|
|
|
About the format of this FAQ:
|
|
The main basis of this FAQ is the i4l mailing list (see question
|
|
<ref id="docu_mailinglist" name="docu_mailinglist">). I've treated the
|
|
knowledge gained from reading as public domain, without quoting the author of
|
|
the original mail. The FAQ is now written in SGML, as this format is flexible
|
|
to convert into any other form of documentation (though some restrictions
|
|
apply). The FAQ is now maintained in English since German-speaking people can
|
|
easily follow the mailing list/newsgroup (or search in the archives). Whoever
|
|
wants to translate back to German is welcome to do so!
|
|
|
|
The countless links in this documents are not always complete and I'm sure many
|
|
are no longer correct. I do not have the time to check them all. If you
|
|
discover a bad link, please let me know (I'll try to install some automatic
|
|
checking when I have the time).
|
|
|
|
Additions, improvements and other suggestions are always welcome (also
|
|
correction of typographical errors!), preferably send "diffs" from the SGML
|
|
version. Thank you very much in advance!
|
|
|
|
Send feedback about this FAQ to:
|
|
<tt><htmlurl url="mailto:i4lfaq@isdn4linux.de"
|
|
name="i4lfaq@isdn4linux.de"></tt>
|
|
or:
|
|
<tt><htmlurl url="mailto:hessler@isdn4linux.de"
|
|
name="hessler@isdn4linux.de"></tt>.
|
|
|
|
The newest version of this FAQ can be found at:
|
|
<tt><url url="http://www.mhessler.de/i4lfaq/"></tt>
|
|
or:
|
|
<tt><url url="http://www.isdn4linux.de/faq/"></tt>.
|
|
|
|
This FAQ is protected by the GNU General Public License (GPL) Version 2;
|
|
(C) 1999-2002 Matthias Hessler (for version 2.0)
|
|
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 author.
|
|
</abstract>
|
|
|
|
<!-- Table of Content
|
|
-->
|
|
|
|
<toc>
|
|
|
|
|
|
<!-- General Section: About isdn4linux, features
|
|
-->
|
|
|
|
<sect> general: General information about isdn4linux
|
|
<label id="general">
|
|
|
|
<sect1> general_i4l: What is isdn4linux?
|
|
<label id="general_i4l">
|
|
<p>
|
|
isdn4linux is a set of kernel modules which are part of the Linux
|
|
kernel. It consists of the main module <tt/isdn/ and the
|
|
actual hardware driver that control some specific card.
|
|
In addition, the package <tt/isdn4k-utils/ contains utilities to
|
|
make use of ISDN specific features.
|
|
Please note that since kernel 2.6.0 isdn4linux is considered legacy.
|
|
It has been superseded by the new mISDN drivers (see question
|
|
<ref id="general_misdn" name="general_misdn">.
|
|
|
|
<sect1> general_misdn: What is mISDN?
|
|
<label id="general_misdn">
|
|
<p>
|
|
mISDN is the successor of isdn4linux, and also consists of kernel modules
|
|
that are part of the Linux kernel. The mISDN modules have been rewritten
|
|
from scratch since the old isdn4linux modules were difficult to maintain.
|
|
|
|
The new mISDN modules are based on the CAPI interface (see question
|
|
<ref id="feature_capi" name="feature_capi"> for more details on the CAPI
|
|
interface). Not all ISDN cards supported by isdn4linux have been/will be
|
|
ported to mISDN. However, it is planned to create a compatibility layer to
|
|
allow migration of the existing isdn4linux drivers. Also, ipppd would be
|
|
replaced by the standard pppd once pppd works as well as ipppd currently does.
|
|
For the moment, isdn4linux can still be used in parallel with mISDN, but this
|
|
may change in the future.
|
|
|
|
For more technical and configuration information about the mISDN driver
|
|
see question <ref id="config_misdn" name="config_misdn">.
|
|
|
|
<sect1> general_hardware: What hardware is supported by isdn4linux?
|
|
<label id="general_hardware">
|
|
<p>
|
|
Generally, isdn4linux can control ISDN cards that are connected to the PC's
|
|
ISA or PCI bus. Also a few PCMCIA cards are supported. However, isdn4linux can
|
|
<bf/not/ make use of any devices connected via a serial or parallel
|
|
interface (which are called 'terminal adaptors'), with only a few exceptions:
|
|
the Creatix/Teles S0 box for the parallel port, and the Gazel 128 USB.
|
|
For more details on which cards are supported see section
|
|
<ref id="hardware" name="hardware">.
|
|
|
|
<sect1> general_features: What features are supported by isdn4linux?
|
|
<label id="general_features">
|
|
<p>
|
|
Basically, isdn4linux can receive and transmit data via ISDN in several ways
|
|
(X.75, HDLC, raw ip, synchronous ppp, asynchronous ppp, V.110). Some of its
|
|
utilities offer additional features. Two examples are <tt/isdnlog/, which
|
|
allows logging of and reaction to ISDN events (including calculating any charges);
|
|
and <tt/vbox/, which provides voice answering machine capabilities. For more
|
|
details see the section <ref id="feature" name="feature">.
|
|
|
|
<sect1> general_countries: Which countries are supported by isdn4linux?
|
|
<label id="general_countries">
|
|
<p>
|
|
At least all countries which use Euro-ISDN are supported, however some
|
|
pecularities apply. To find more about your country, check the section
|
|
<ref id="countries" name="countries">.
|
|
|
|
<sect1> general_docu: Where do I find more documentation, how-to's, helpful tips
|
|
& tricks?
|
|
<label id="general_docu">
|
|
<p>
|
|
Besides this FAQ, take a look at the various man pages and Readme's that come
|
|
with the isdn4linux package. Then there is the isdn4linux website:
|
|
<url url="http://www.isdn4linux.de">. There is also a mailing list on
|
|
isdn4linux which will give you the most up to date information. To find out
|
|
more about these great information sources, see section <ref id="docu"
|
|
name="docu">.
|
|
And: check out all the great links listed in question
|
|
<ref id="config_links" name="config_links">!
|
|
You may find information in your language, or information specific to your
|
|
linux distribution.
|
|
|
|
<sect1> general_getlatest: Where do I get the latest version of isdn4linux?
|
|
<label id="general_getlatest">
|
|
<p>
|
|
The latest version of the kernel drivers should be found in the Linux
|
|
kernel. However, sometimes the Linux kernel does not have the latest version or
|
|
does not yet support your ISDN card. Additionally, you may need to use the
|
|
isdn4k-util package. In those cases you could try to get the very latest
|
|
version that is currently in development. See the section
|
|
<ref id="distrib" name="distrib">.
|
|
|
|
<sect1> general_contacts: How can I get in contact with the developers?
|
|
<label id="general_contacts">
|
|
<p>
|
|
You can contact the isdn4linux developers through the www.isdn4linux.de
|
|
website. Have a look at <url url="http://www.isdn4linux.de/contacts.shtml">.
|
|
|
|
|
|
<!-- Development & Distribution -->
|
|
|
|
<sect> distrib: Distribution
|
|
<label id="distrib">
|
|
|
|
<!-- Who are the developers? -->
|
|
|
|
<sect1> distrib_getlatest: How can I get the latest isdn4linux?
|
|
<label id="distrib_getlatest">
|
|
<p>
|
|
There are different ways, depending on your kernel. Unless you are an
|
|
experienced user of Linux, you should use a recent kernel (=first option).
|
|
<itemize>
|
|
<item>You have a recent kernel (at least 2.0.36/2.2.11/2.3.14):
|
|
Great choice, you have already the current kernel ISDN stuff.
|
|
Additionally, you just need to get the current isdn4k-utils package from
|
|
<url url="ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/"> - unless it's already
|
|
included in your distribution.
|
|
|
|
<item>You have an older kernel (before 2.0.36/2.2.11/2.3.14):
|
|
An upgrade to a recent kernel is HIGHLY recommended. And it is MUCH easier
|
|
to do a kernel upgrade than to get ISDN to work with your older kernel.
|
|
Ok, now if you still want to keep your old kernel, here is how to do it:
|
|
First you have to identify the correct CVS extract for your kernel version
|
|
(CVS is the version control system the ISDN developers use to develop
|
|
ISDN4LINUX). Take a CVS snapshot that is dated with about the date when your
|
|
kernel came out. You find the kernel patches and the old isdn4k-utils packages
|
|
on <url url="ftp://ftp.isdn4linux.de/pub/isdn4linux/">
|
|
or on one of its mirrors
|
|
(see <url url="http://www.isdn4linux.de/download.shtml"> on how to find
|
|
mirrors).
|
|
|
|
<item>As a developer:
|
|
If you want to participate in the development of i4l, you can get the very
|
|
latest stuff via CVS. For this, see the question about access to CVS:
|
|
<ref id="distrib_cvs" name="distrib_cvs">.
|
|
</itemize>
|
|
|
|
<sect1> distrib_cvs: How can I access the source from the current
|
|
development/what is the CVS tree all about?
|
|
<label id="distrib_cvs">
|
|
<p>
|
|
CVS - Concurrent Version System:
|
|
|
|
This is a multiuser/server extension to RCS (Revision Control System).
|
|
The I4L drivers are developed under CVS, and there is a server
|
|
(cvs.isdn4linux.de) with a CVS tree to which all developers have
|
|
access. In addition, Fritz has configured anonymous read-only access
|
|
to the CVS tree . If you must have the very latest versions, you can
|
|
get them there, however they may contain more bugs than the released
|
|
versions!!!
|
|
|
|
Here is how to get the latest version:
|
|
<enum>
|
|
<item>Create and go to the directory where you want to store i4l
|
|
<code>mkdir ~/cvs; cd ~/cvs
|
|
cvs -d :pserver:guest@cvs.isdn4linux.de:/i4ldev login</code>
|
|
<item>Log in (asks for a password, enter <em>readonly</em>)
|
|
<item>Get the isdn kernel driver stuff (same hierarchy as in the linux source)
|
|
<code>cvs -d :pserver:guest@cvs.isdn4linux.de:/i4ldev checkout isdn</code>
|
|
<item>Get the utility package into the current directory
|
|
<code>cvs -d :pserver:guest@cvs.isdn4linux.de:/i4ldev checkout isdn4k-utils</code>
|
|
If you want to get the latest version for kernel 2.0.x rather than for the
|
|
latest kernel, then you have to give the additional option `-r':
|
|
<code>cvs -d :pserver:guest@cvs.isdn4linux.de:/i4ldev checkout -r isdn4kernel_2_0 isdn</code>
|
|
<item>After having checked out, further updates can be done by first
|
|
changing into <tt>isdn</tt> or <tt>isdn4k-utils</tt> subdirectory and
|
|
running
|
|
<code>cvs update -P -d</code>
|
|
Tip: since cvs stores the password on your first login, you don't need to login
|
|
again when updating.
|
|
</enum>
|
|
|
|
WARNING!! THE NEWEST STUFF SOMETIMES IS VERY INSTABLE OR MAY NOT EVEN
|
|
COMPILE WITHOUT PROGRAMMING KNOWLEDGE -
|
|
No newbie questions on this PLEASE! Use the source, Luke!
|
|
|
|
People who want to <em>continuously</em> help develop isdn4linux by writing
|
|
new drivers etc. can get a real account for full access. In this case write
|
|
an email to Fritz Elfert <tt><htmlurl url="mailto:fritz@isdn4linux.de"
|
|
name="fritz@isdn4linux.de"></tt>
|
|
|
|
|
|
<!-- Features
|
|
-->
|
|
|
|
<sect> Features
|
|
<label id="feature">
|
|
|
|
<sect1> feature_not: Which ISDN features cannot be offered by isdn4linux?
|
|
<label id="feature_not">
|
|
<p>
|
|
Some ISDN features are device-specific and cannot be activated by
|
|
isdn4linux for other devices, unless isdn4linux were to falsify
|
|
the TEI (which would probably confuse the other device).
|
|
Such device-specific ISDN features are, among others: rejection of a
|
|
waiting call, caller id on/off, hold, conference calls, differing COLP/CLRP.
|
|
|
|
<sect1> feature_data: Which ISDN data transmission modes are supported?
|
|
<label id="feature_data">
|
|
<p>
|
|
These low-level formats are possible:
|
|
<itemize>
|
|
<item> 56k asynchronous : no
|
|
<item> 64k synchronous : yes
|
|
<item>128k synchronous : yes (channel bundling - see the question
|
|
<ref id="feature_2channel" name="feature_2channel">)
|
|
</itemize>
|
|
These level2 formats are possible:
|
|
<itemize>
|
|
<item>HDLC
|
|
<item>X.75
|
|
<item>transparent
|
|
<item>V.110
|
|
</itemize>
|
|
These encapsulations are possible:
|
|
<itemize>
|
|
<item>rawip
|
|
<item>ethernet
|
|
<item>Sync PPP
|
|
<item>X.25 (requires 2.1 or newer)
|
|
<item>cisco and cisco-h
|
|
<item>cisco-hk (=cisco with keepalive; requires 2.1 or newer)
|
|
<item>plus a few specialities: have a look at the man pages.
|
|
</itemize>
|
|
|
|
Please note that X.31a is supported as X.25 on top of ISDN, while X.31b
|
|
is not supported (neither in the B channel, nor in the D channel variation).
|
|
|
|
<sect1> feature_voice: Has isdn4linux voice support (e.g. answering
|
|
machine, voice-over-ip gateway for H.323 clients)?
|
|
<label id="feature_voice">
|
|
<p>
|
|
Yes, voice support is included in the current version of isdn4linux.
|
|
For an answering machine you can either use &dquot;vgetty&dquot; from Gert
|
|
Doerings &dquot;mgetty+sendfax&dquot;, or &dquot;vboxgetty&dquot; from
|
|
Michael Herold, which is made especially for isdn4linux.
|
|
The latter is part of the isdn4k-utils package, which can be found on:
|
|
<tt><url url="ftp://ftp.isdn4linux.de/pub/"></tt>
|
|
|
|
Also, you can use isdn4linux as a voice-over-ip gateway to let
|
|
H.323 clients (like Voxilla, Netmeeting) call normal telephones, and/or
|
|
the other way around. For configuration see question
|
|
<ref id="config_h323" name="config_h323">.
|
|
|
|
<sect1> feature_fax: Can I fax with isdn4linux?
|
|
<label id="feature_fax">
|
|
<p>
|
|
<itemize>
|
|
<item><bf>For passive cards: Yes</bf>. Since 2005 the GPL software ivcall
|
|
is able to send and receive voice calls and faxes even via passive cards.
|
|
It makes use of the spandsp library which is part of the Asterisk project.
|
|
You can find it on:
|
|
<tt><url url="http://0pointer.de/lennart/projects/ivcall/"></tt>
|
|
An alternative project working on this problem existed (i4lfax) but has not
|
|
made any progress since 1999. For more info on its status have a look at:
|
|
<tt><url url="http://user.cs.tu-berlin.de/~ulfi/osvisions/i4lsoftfax/i4lfax/"></tt>
|
|
Also, an idea exists to extend the new modular mISDN with layer 2 and layer 3
|
|
protocols for fax. Once this works (e.g. with the Sedlbauer Speedfax card)
|
|
then the layer 1 protocol (modulation/demodulation) could be also be
|
|
implemented via the spandsp library.
|
|
<item><bf>For passive cards from AVM: Yes</bf>. AVM recently released a
|
|
binary CAPI 2.0 driver which supports faxing. However, the setup is rather
|
|
complicated. Get a start on:
|
|
<url url="http://www.avm.de/ftp/cardware/fritzcrd/linux/index.htm">.
|
|
Here is a German website which has some nice installation instructions:
|
|
<tt><url url="http://ixi.thepenguin.de"></tt> or
|
|
<tt><url url="http://capi4linux.thepenguin.de"></tt> or
|
|
<tt><url url="http://www.thepenguin.de"></tt>
|
|
Please also have a look on the mailing list for tips how to do it,
|
|
and what the consequences/disadvantages are.
|
|
<item><bf>For the active card AVM B1: Yes</bf> (its firmware has implemented
|
|
fax as one of its features). Get the newest stuff from:
|
|
<tt><url url="ftp://ftp.aeccom.com/pub/fax4i4l/howto/current/"></tt>
|
|
However, it has been reported that setting it up properly is very tricky.
|
|
Another site which could be helpful is:
|
|
<tt><url url="http://www.topf-sicret.de/help/capi20.html"></tt>
|
|
<item><bf>For the active Hypercope PCI cards HYSDN Ergo2 and
|
|
HYSDN Metro4: Yes, after upgrade with a special fax card</bf>.
|
|
The setup is similar to that of an AVM B1, but may require extra patches.
|
|
<item><bf>For the active Eicon Diva Server cards (except Diva 2.0Pro):
|
|
Yes</bf>. Have a look at README.fax and README.eicon in the
|
|
<tt>isdn/Documentation/isdn</tt> directory, as well as:
|
|
<tt><url url="http://www.melware.de/"></tt>. The Eicon Diva Server cards
|
|
allow faxing with class 2 commands.
|
|
<item><bf>For semiactive cards Sedlbauer Speedfax+ and Siemens I-SURF 1.0: Yes</bf>
|
|
But currently this requires some manual work. Check the mailing list on how
|
|
to do it (special patch needed). Only class 1 fax commands are supported.
|
|
You can obtain the patch from:
|
|
<tt><url url="//ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.2/testing/i4l_isar_fclass1.tar.gz"></tt>
|
|
The patch is not needed if your kernel is 2.2.15 or later.
|
|
You have to enable the kernel option for FCLASS2 (CONFIG_ISDN_TTY_FAX=Y).
|
|
Also, you need to load the firmware of the card (part of the isdn4k-utils) with
|
|
<code>
|
|
hisaxctrl <driver_id> 9 ISAR.BIN
|
|
</code>
|
|
Then initialize the ttyI* interface with:
|
|
<code>
|
|
ATZ&E<your_msn>S0=1S13=1+FCLASS=1
|
|
</code>
|
|
and use a normal Hylafax class 1 config file, where you've replaced
|
|
non-supported commands (flow control,...) by dummies.
|
|
For the I-Surf 1.0 also check question <ref id="hardware_isurf" name="hardware_isurf">.
|
|
</itemize>
|
|
|
|
If you do want to fax now, your best choice is to install an analog fax modem
|
|
along with your ISDN card. For companies who want to set up a fax server
|
|
servicing multiple connections you could also have a look at the active
|
|
ISDN cards.
|
|
|
|
More information for setting up a fax server with hylafax can be found on:
|
|
on the web site for Hylafax: <url url="http://www.hylafax.org"> or on
|
|
<url url="http://www.mnd.fh-wiesbaden.de/~dreymann/linux">.
|
|
|
|
<sect1> feature_modem: Can isdn4linux connect to/be called by an analog
|
|
modem?
|
|
<label id="feature_modem">
|
|
<p>
|
|
Generally: <bf>NO</bf>. It may only work for cards with which you can fax: see
|
|
question <ref id="feature_fax" name="feature_fax">.
|
|
For the Sedlbauer card, you can give the following command on the ttyI*:
|
|
<code>
|
|
AT&FS14=10S15=0S18=1&E<your_msn>
|
|
</code>
|
|
|
|
<sect1> feature_divert: Is it possible to initiate call forwarding with i4l?
|
|
<label id="feature_divert">
|
|
<p>
|
|
Call diversion features have been implemented recently. Use the new
|
|
program <tt>divertctrl</tt> in conjunction with the HiSax driver.
|
|
|
|
If you make use of capi4linux, then you find a similar program named
|
|
<tt>capidivert</tt> at:
|
|
<url url="http://www.tp1.ruhr-uni-bochum.de/˜kai/i4l/">.
|
|
For now this is something only for the more experienced user, as so far there
|
|
is no howto and only little documentation, and it is not automatically included
|
|
in most distributions. However, it can be used with active ISDN cards.
|
|
|
|
In the Netherlands, the keypad protocol can be used as an alternative. To use
|
|
it you just dial with the usual dial command from an ttyI device:
|
|
<code>
|
|
atd*123*0123456789#
|
|
</code>
|
|
|
|
<sect1> feature_ipx: Can I route ipx/spx over ISDN with Linux?
|
|
<label id="feature_ipx">
|
|
<p>
|
|
Yes, set up an ISDN interface with encapsulation <tt/ethernet/, and use
|
|
IPX framing ETHERNET_II. <em/mars_nwe/ can do the rest (e.g. routing).
|
|
Also, you can route ipx with ipppd, see question
|
|
<ref id="syncppp_ipx" name="syncppp_ipx">.
|
|
To use pppd for ipx, you have to give it the compile option IPX_CHANGE.
|
|
However, be careful when using dial out on demand (dod), since frequent ipx
|
|
broadcasts may cause a dod disaster (see question
|
|
<ref id="dod_disaster" name="dod_disaster">).
|
|
|
|
<sect1> feature_2channel: Does isdn4linux support channel bundling?
|
|
<label id="feature_2channel">
|
|
<p>
|
|
The current version of isdn4linux support 2 methods of channel
|
|
bundling:
|
|
<itemize>
|
|
<item><bf>MPPP</bf> (based on sync PPP)
|
|
<item><bf>Raw bundling</bf> (configured by so-called slave channels)
|
|
</itemize>
|
|
Both variants have their own advantages and disadvantages.
|
|
See section <ref id="2channel" name="2channel">.
|
|
Bonding (16bit channel) is not supported,
|
|
since it can not work reliably when the dialup connections have deviating
|
|
latency.
|
|
Warning: Channel bundling saves time, but not telephone charges.
|
|
It is useful only if you really need the extra bandwidth.
|
|
|
|
<sect1> feature_diald: Can I combine isdn4linux with diald?
|
|
<label id="feature_diald">
|
|
<p>
|
|
Yes, you can. You have to configure it to use the ttyI* devices to dial
|
|
out. E.g. like this:
|
|
<code>
|
|
/usr/sbin/diald /dev/ttyI4 -m ppp [...]
|
|
</code>
|
|
where [...] stands for further dialout parameters.
|
|
The recent diald releases contain configuration files for ISDN. See
|
|
<url url="http://diald.sourceforge.net"> for details.
|
|
|
|
<sect1> feature_dod: Does the driver support &dquot;dial on demand&dquot;?
|
|
<label id="feature_dod">
|
|
<p>
|
|
Yes. If a network interface (e.g. &dquot;isdn0&dquot;) is set up, the driver
|
|
will dial the number. If in addition a hangup timeout (Idle Timeout) has been
|
|
given (like: <tt>isdnctrl huptime <interface> <time></tt>), 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).
|
|
Also look at the dialmode description (see question
|
|
<ref id="dialout_dialmode" name="dialout_dialmode">).
|
|
You should definitely be very interested in the large section of this FAQ that
|
|
talks about the dangers of unwanted dialouts: (<ref id="dod" name="dod">).
|
|
|
|
<sect1> feature_sms: Can I send SMS (short messages) to my mobile phone
|
|
via ISDN?
|
|
<label id="feature_sms">
|
|
<p>
|
|
Yes, you can use the program <tt>yaps</tt> to do this. However, due to some
|
|
pecularities in the SMS-callcenter's ISDN connection, you have to compile the
|
|
kernel with the options <tt>Disable send complete</tt> and
|
|
<tt>Disable sending llc</tt>. For the new CAPI 2.0 interface a patched
|
|
version of yaps, <tt>capi4yaps</tt>, is available on
|
|
<url url="http://sourceforge.net/projects/capi4yaps/">.
|
|
|
|
Please note that mainly German providers support sending SMS via ISDN
|
|
connection, in other countries this might not work. Dutch as well as UK
|
|
SMS callcenters seem to not support this feature. Please let me know if
|
|
you have additional information on this.
|
|
A useful sample config for yaps you might find on:
|
|
<url url="http://www.tnt-computer.de/linux/yaps-suite1-1.tgz">
|
|
|
|
Another program to send SMS is <tt>asterisk</tt>. Have a look at:
|
|
<url url="http://www.asterisk.org"> and
|
|
<url url="http://www.voip-info.org/wiki-Asterisk+cmd+Sms">.
|
|
One advantage over yaps is that it can also receive SMS, for Germany
|
|
(you have to register for this first by sending a specific SMS -
|
|
otherwise the SMS will be communicated to you by an automated voice
|
|
call).
|
|
|
|
Yet another program to send SMS is <tt>smsclient</tt>. You can find it on:
|
|
<url url="http://www.smsclient.org">.
|
|
|
|
<sect1> feature_btx: Is the German videotex/Btx/Datex-J possible with
|
|
isdn4linux?
|
|
<label id="feature_btx">
|
|
<p>
|
|
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)
|
|
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.
|
|
|
|
<sect1> feature_clock: Can I set the clock of my computer with ISDN?
|
|
<label id="feature_clock">
|
|
<p>
|
|
Yes. Isdnlog offers this feature with option &dquot;-t&dquot;. 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 &dquot;netdate&dquot; or &dquot;rdate&dquot;.
|
|
Check out the following urls on information about using time servers:
|
|
<itemize>
|
|
<item> <url url="http://www.eecis.udel.edu/~mills/ntp/servers.html">
|
|
<item> In German: <url url="http://www.ptb.de/deutsch/org/4/43/433/verb.htm">
|
|
<item> In German: <url url="http://www.ptb.de/deutsch/aktuell/pi/pi00/pi0100.htm">
|
|
</itemize>
|
|
|
|
<sect1> feature_dosemu: Can I use isdn4linux under dosemu?
|
|
<label id="feature_dosemu">
|
|
<p>
|
|
Yes, you can! Steffan Henke
|
|
<tt><htmlurl url="mailto:henker@informatik.uni-bremen.de"
|
|
name="henker@informatik.uni-bremen.de"></tt> wrote on 25 Oct 96:
|
|
<quote>
|
|
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
|
|
</quote>
|
|
|
|
<sect1> feature_capi: Is there a CAPI interface available?
|
|
<label id="feature_capi">
|
|
<p>
|
|
Currently, these cards support the CAPI 2.0 interface:
|
|
<itemize>
|
|
<item> the active card AVM B1.
|
|
<item> the active DIVA Server cards from Eicon.
|
|
<item> the active cards from Hypercope (HYSDN Champ2, HYSDN Ergo2,
|
|
HYSDN Metro4)
|
|
<item> the passive Fritz card from AVM. However, please note that you
|
|
have to download and manually install the binary drivers for this from
|
|
AVMs ftp server. See the following web site for a nice howto:
|
|
<url url="http://www.topf-sicret.de/help/capi20.html">. There was also
|
|
lots of stuff written in the mailing list on this.
|
|
Here is a German website which has some nice installation instructions:
|
|
<tt><url url="http://ixi.thepenguin.de"></tt> or
|
|
<tt><url url="http://capi4linux.thepenguin.de"></tt> or
|
|
<tt><url url="http://www.thepenguin.de"></tt>
|
|
Please note that due to its binary nature, this driver will not work
|
|
if your distribution is incompatible with it (e.g. based on 64 bit).
|
|
</itemize>
|
|
|
|
This interface follows the official CAPI 2.0 standard that was established
|
|
recently for Linux by the CAPI Association (see
|
|
<url url="http://www.capi.org">).
|
|
Since kernel 2.6.0 the CAPI interface has been used as the general
|
|
interface, also for other cards. For passive cards, the new driver
|
|
mISDN will replace the old hisax driver once it is fully functional.
|
|
|
|
There are no plans to implement a CAPI 1.1 interface.
|
|
|
|
<sect1> feature_uus: Is UUS (user to user signaling) supported?
|
|
<label id="feature_uus">
|
|
<p>
|
|
Yes, isdn4linux could support both sending and receiving, but the
|
|
implementation is currently rather incomplete due to the unclear legal
|
|
situation for using this facility. Receiving UUS is only possible through
|
|
the debug interfaces. Sending is supported in connection with the diversion
|
|
services (when rejecting a call or announcing a busy condition), but not
|
|
on an ordinary call. It is recommended to use subaddressing (see question
|
|
<ref id="feature_subaddressing" name="feature_subaddressing">) instead.
|
|
Please note that sending UUS it is not a free service (receiving is free),
|
|
at least with some German phone providers you have to pay extra for it
|
|
(also have a close look on the usage conditions). Additionally, please note
|
|
that if you are connected through a PBX, it may filter out all the UUS
|
|
stuff.
|
|
|
|
<sect1> feature_subaddressing: Is subaddressing supported?
|
|
<label id="feature_subaddressing">
|
|
<p>
|
|
Yes, isdn4linux does support subaddressing (available in France).
|
|
To configure it, give HiSax the number in this format:
|
|
<tt><number>.<subaddress></tt>. However, you may have to order
|
|
it separately and pay extra for receiving it (sending is free), depending
|
|
on your ISDN provider.
|
|
Additionally, please note that if you are connected through a PBX, it will
|
|
most likely filter out all the subaddressing stuff.
|
|
|
|
<sect1> feature_gsmv110: Can I connect from my PDA via GMS cellular phone
|
|
to isdn4linux?
|
|
<label id="feature_gsmv110">
|
|
<p>
|
|
Yes, if the provider of the cellular phone has a GSM to ISDN/V.110 gateway.
|
|
This has been reported to work from a PalmPilot to isdn4linux with V.110.
|
|
See question <ref id="config_gsmv110" name="config_gsmv110"> for details on how to configure it.
|
|
|
|
<sect1> feature_reversedcard: Can isdn4linux log ALL actions happening on the
|
|
ISDN bus (dual mode/reversed card/COLP/...)?
|
|
<label id="feature_reversedcard">
|
|
<p>
|
|
Yes, isdn4linux offers several possibilities to do this. Have a look at
|
|
question <ref id="isdnlog_reversedcard" name="isdnlog_reversedcard">.
|
|
|
|
Please note that you may also use the software ISDN Sniffer for this,
|
|
see the German web site
|
|
<url url="http://krypt.cs.uni-sb.de/projects/isdnsniffer/">.
|
|
|
|
<sect1> feature_chargeint: Can isdn4linux hang up just before the ISDN
|
|
provider would charge me for another unit?
|
|
<label id="feature_chargeint">
|
|
<p>
|
|
Yes, isdn4linux can do this. Check out section <ref id="chargeint" name="chargeint">.
|
|
|
|
<sect1> feature_eurofile: Can isdn4linux download or offer files via EFT
|
|
(Eurofile transfer)?
|
|
<label id="feature_eurofile">
|
|
<p>
|
|
Yes, isdn4linux offers special tools for this which are part of the
|
|
isdn4k-utils.
|
|
|
|
<sect1> feature_leased: Can isdn4linux handle leased lines (e.g. D64S)?
|
|
<label id="feature_leased">
|
|
<p>
|
|
Yes, isdn4linux can handle leased lines (explained in the glossary:
|
|
<ref id="glossary_leased" name="glossary_leased">). Have a look at section
|
|
<ref id="leased" name="leased">.
|
|
|
|
<sect1> feature_pointtopoint: Can isdn4linux work in point-to-point
|
|
mode as well as in multi-device mode?
|
|
<label id="feature_pointtopoint">
|
|
<p>
|
|
Yes, isdn4linux supports both. Check the glossary to understand the
|
|
difference: <ref id="glossary_pointtopointmode" name="glossary_pointtopointmode"> and
|
|
<ref id="glossary_multidevicemode" name="glossary_multidevicemode">.
|
|
|
|
<sect1> feature_ntmode: Does isdn4linux support running a card in NT mode?
|
|
<label id="feature_ntmode">
|
|
<p>
|
|
Yes, isdn4linux does support it, but only for a few special cards.
|
|
See question <ref id="feature_crossedcable" name="feature_crossedcable">
|
|
for details. In the glossary there is more information on what the NT mode is:
|
|
<ref id="glossary_ntmode" name="glossary_ntmode">.
|
|
|
|
<sect1> feature_crossedcable: Can isdn4linux directly connect two
|
|
ISDN user devices (two ISDN cards) via a crossed cable?
|
|
<label id="feature_crossedcable">
|
|
<p>
|
|
Yes, isdn4linux can do this. However, this requires that the ISDN card
|
|
can run in NT mode (for details on this mode see the glossary:
|
|
<ref id="glossary_ntmode" name="glossary_ntmode">).
|
|
Only very few cards (e.g. HFC chipset) are cable of doing this.
|
|
Use the following command to start the ISDN card in NT mode:
|
|
<code>
|
|
hisaxctrl <id> 98 1
|
|
</code>
|
|
Make sure that the crossed cable is terminated even if it is very short!
|
|
Nothing will work without termination, not even a 1m cable. Some HFC card
|
|
already have jumpers for termination. Since TX as well as RX circuits must
|
|
be terminated with its own resistor, two jumpers should be present, like this:
|
|
<verb>
|
|
> 3 RX+ 2a --[100 Ohm]----+ ---------- / ----------
|
|
> 4 TX+ 1a --[100 Ohm]--+ | | 87654321 | | 12345678 |
|
|
> 5 TX- 1b ---oJ1o------+ | |__ __|/ |/_ /_|
|
|
> 6 RX- 2b ---oJ2o--------+ |____| |/___|
|
|
</verb>
|
|
|
|
It has been reported that for proper functioning even on a short cable a
|
|
termination is required at/near both ends (at the ISDN card as well as at
|
|
the connecting ISDN device).
|
|
|
|
However, this will only give you the physical connection. Up to now
|
|
isdn4linux does not (yet?) implement the higher level ISDN protocol DSS1
|
|
(this means that isdn4linux can not pretend to an ISDN device that it is
|
|
an ISDN exchange, and give it the proper ISDN commands). As a result, you can
|
|
simulate a leased line, but not pretend to be the PBX with isdn4linux.
|
|
|
|
With the newer mISDN modules the situation is better. A special user space
|
|
module is available for the emulation of a PBX. Development of a kernel module
|
|
is in progress. In any case the chipset has to support the NT mode.
|
|
|
|
|
|
<sect1> feature_lcr: Can isdn4linux do least cost routing (LCR)?
|
|
<label id="feature_lcr">
|
|
<p>
|
|
Yes, this feature is now being supported by isdnlog. What it does is that
|
|
it allows isdnlog to choose your telephone provider when placing a call
|
|
through your ISDN card, depending on the time of day and the current rate
|
|
information. Since isdnlog 4.16 an external script is called (if configured)
|
|
to change various ISP settings (e.g. DNS lookup, proxy setup,...).
|
|
|
|
Note: the ABC-extensions (s. <ref id="docu_abc" name="docu_abc">) must be
|
|
installed. Also, isdnlog should always be running (otherwise your dialout
|
|
will be delayed by 3 seconds). If the ABC-extensions are not installed,
|
|
isdnlog prints hints to the log file, which provider would have been chosen.
|
|
|
|
<sect1> feature_internetdialin: Can isdn4linux be setup such that it
|
|
dials into the Internet, whenever I call it via telephone?
|
|
<label id="feature_internetdialin">
|
|
<p>
|
|
Yes, this is possible with isdnlog. You have to configure isdnlog such that
|
|
it can execute a script whenever someone dials in. In the script you can
|
|
check for the correct telephone number, then trigger the dialin.
|
|
To access your computer then over the internet, you can then access it via
|
|
its ip address. In case of dynamic ip address assignment, you probably want
|
|
to store the new ip somehow. Storage in a html page or via dynamic DNS
|
|
may be good possibilities.
|
|
|
|
If you understand German, there was an article about exactly this setup in
|
|
ct 18/2002, page 204 (Bei Anruf Internet - Handy-Anruf löst
|
|
Internet-Einwahl aus). Also, the following German web site explains
|
|
how to set up such a configuration:
|
|
<tt><url url="http://www.staschke.de/linux/anwahl.html"></tt>
|
|
|
|
|
|
|
|
<sect1> feature_future: Which features are planned for the future?
|
|
<label id="feature_future">
|
|
<p>
|
|
Actually, most features have been implemented and are now being improved.
|
|
But, who knows what other interesting stuff the developers may come up.
|
|
We'll see...
|
|
|
|
|
|
<!-- Helpful docu, links, mailing list, config examples, howto's -->
|
|
|
|
<sect> docu: Documentation, Howto's, Tips & Tricks, Mailing List/Newsgroup
|
|
<label id="docu">
|
|
|
|
<sect1> docu_first: What documents should I read first?
|
|
<label id="docu_first">
|
|
<p>
|
|
<itemize>
|
|
<item>ISDN kernel subsystem:
|
|
/usr/src/linux/Documentation/isdn/README
|
|
<item>ISDN cards:
|
|
/usr/src/linux/Documentation/isdn/README.card
|
|
E.g.: /usr/src/linux/Documentation/isdn/README.HiSax
|
|
<item>Synchronous PPP:
|
|
/usr/src/linux/Documentation/isdn/README.syncppp
|
|
/usr/src/linux/Documentation/isdn/README.syncPPP.FAQ
|
|
<item>Voice capability:
|
|
/usr/src/linux/Documentation/isdn/README.audio
|
|
<item>ISDN Utilities:
|
|
/usr/src/isdn4k-utils-version/README(.*)
|
|
</itemize>
|
|
Many of the utilities also have man pages!
|
|
|
|
To get a good technical overview over isdn4linux have a look at the
|
|
great whitepaper 'ISDN4Linux, CAPI4Linux, CPI4Hisax and other cute acronyms:
|
|
The ISDN subsystem in the Linux kernel', which can be found at:
|
|
<tt><url url="http://www.linux-kongress.org/2002/papers/lk2002-germaschewski.pdf"></tt>
|
|
|
|
For a Suse distribution the following information might be helpful:
|
|
<itemize>
|
|
<item><tt>/usr/doc/packages/i4l*</tt> (for i4l in general)
|
|
<item><tt>/usr/doc/faq/faq/PPP-FAQ</tt> (for synchronous PPP)
|
|
<item><tt>/usr/doc/howto/mini/Mail-Queue.gz</tt> (for email configuration)
|
|
</itemize>
|
|
Also, read the excellent manual!
|
|
|
|
For a Debian distribution the following information might be helpful:
|
|
<tt>/usr/share/doc/isdnutils/HOWTO.gz</tt>
|
|
|
|
If you are reader of the German computer magazine <tt/ct/, they had very
|
|
helpful articles at least on these issues:
|
|
<itemize>
|
|
<item>ct 5/1998, page 224: <tt>Der erste Kontakt/Linux: Mit PPP ans Internet</tt>
|
|
<item>ct 21/1998, page 288: <tt>Reiseleiter/Internet-Anbindung für das LAN</tt>
|
|
<item>ct 25/1998, page 218: <tt>Bei Anruf Netz/Linux: Dial-In Server</tt>
|
|
<item>ct 7/2001, page 228: <tt>Des Surfers Bastelstunde: Mobilfunktechnik
|
|
HSCSD ausschöpfen</tt>
|
|
(also contains information on dial-in configuration without HSCSD).
|
|
<item>ct 15/2002, page 204: <tt>Bei Anruf Internet: Handy-Anruf löst
|
|
Internet-Einwahl aus</tt>
|
|
<item>ct 3/2004, page 182: <tt>Heimserver im Eigenbau - Teil 4: ISDN-Grundlagen
|
|
für Linux</tt> (also contains information about the new mISDN driver).
|
|
An online version is available on:
|
|
<tt><url url="http://www.heise.de/ct/04/03/182/"></tt>
|
|
<item>ct 9/2004, page 100: <tt>Tux vermittelt - Linux als Telefonanlage mit
|
|
VoIP</tt> (refers to software PBX4Linux)
|
|
<item>ct 12/2005, page 116: <tt>Guter Stern vom Amt - Asterisk: Linux als
|
|
professionelle Telefonanlage</tt> (refers to PBX software asterisk)
|
|
<item>ct 13/2005, page 216: <tt>Ein Pinguin als Sparfuchs - Linux-PC senkt
|
|
Handy-Gebühren</tt> (refers to PBX software asterisk)
|
|
</itemize>
|
|
|
|
Also have a look at question <ref id="config_links" name="config_links"> for
|
|
helpful links on how to configure i4l (e.g. special help for SuSE, Red
|
|
Hat, or Mandrake users).
|
|
|
|
<sect1> docu_website: Where is the official website for isdn4linux?
|
|
<label id="docu_website">
|
|
<p>
|
|
The offical website can be found at:
|
|
<url url="http://www.isdn4linux.de">.
|
|
|
|
<sect1> docu_abc: Where do I find documentation on the abc extensions?
|
|
<label id="docu_abc">
|
|
<p>
|
|
You can find it on:
|
|
<url url="http://i4l.mediatronix.de/">
|
|
|
|
<sect1> docu_newsgroup: Where is the newsgroup for isdn4linux?
|
|
<label id="docu_newsgroup">
|
|
<p>
|
|
The newsgroup was <tt>de.alt.comm.isdn4linux</tt>, however had been
|
|
closed down some time ago due to spam issues. To get in contact with
|
|
the developers your best choice is to use the mailing list
|
|
<ref id="docu_mailinglist" name="docu_mailinglist">. Alternatively, you find some interesting
|
|
stuff in <tt>de.comp.os.unix.linux.isdn</tt>.
|
|
|
|
<sect1> docu_mailinglist: Where is the mailing list for isdn4linux?
|
|
<label id="docu_mailinglist">
|
|
<p>
|
|
The address of the mailing list is
|
|
<tt>isdn4linux@listserv.isdn4linux.de</tt>. Before posting a message
|
|
there please make sure it is not answered in this FAQ, and that the
|
|
question has not been answered numerous times in the past (search
|
|
<url url="http://www.deja.com/"> with keywords like ISDN, Linux, i4l,
|
|
isdn4linux,...). People on the mailing list get really annoyed when
|
|
the question "can I fax with my card xxx" is asked yet another time
|
|
(see question <ref id="feature_fax" name="feature_fax"> for the answer).
|
|
To reduce spam, as of 25. Aug. 2003 the mailing list has been changed
|
|
to permit posts from subscribed members only. To write, you must be
|
|
subscribed first.
|
|
|
|
When writing on the mailing list, please always provide:
|
|
<itemize>
|
|
<item> Your Kernel version
|
|
<item> Your i4l/hisax version
|
|
<item> Your card type
|
|
</itemize>
|
|
|
|
Most isdn4linux developers are present on the mailing list, and many
|
|
other knowledgeable people. <bf>English postings are very welcome,
|
|
and will be answered in English!</bf>
|
|
|
|
The mailing list contains the same messages as the newsgroup (see question
|
|
<ref id="docu_newsgroup" name="docu_newsgroup">), so you can read any
|
|
responses to your question with your news reader. A bidirectional
|
|
gateway ensures that mailing list and news are in sync.
|
|
|
|
To subscribe to the mailing list, go to the web frontend at
|
|
<tt><htmlurl url="https://www.isdn4linux.de/mailman/listinfo/isdn4linux"
|
|
name="https://www.isdn4linux.de/mailman/listinfo/isdn4linux"></tt> and
|
|
submit the filled form. After that, you will <bf>not</bf> be subscribed yet.
|
|
Instead, you will receive a confirmation at the mail address you entered
|
|
in the above form. This is a security precaution to prevent subscription
|
|
by other persons or subscription of mistyped mail addresses. When you
|
|
receive the confirmation, just follow the instructions in that mail.
|
|
(I.e.: simply reply). After having replied, you will be subscribed and
|
|
receive a welcome mail. The welcome mail will contain your password, so
|
|
you should probably keep it just in case you want to unsubscribe or change
|
|
some options at the web frontend.
|
|
To unsubscribe, go to the web frontend again, use your password to login
|
|
and then unsubscribe.
|
|
Please note: there are about 20-50 messages per day on this mailing list.
|
|
To receive only one message per day, containing all postings, have a look
|
|
at question <ref id="docu_maillistdigest" name="docu_maillistdigest">.
|
|
|
|
<sect1> docu_maillistdigest: How can I get a digest of the mailing list for
|
|
isdn4linux (only one message per day)?
|
|
<label id="docu_maillistdigest">
|
|
<p>
|
|
While filling the form as described in question
|
|
<ref id="docu_mailinglist" name="docu_mailinglist">, simply click "Yes"
|
|
at the radio-button, named "Would you like to receive list mail batched
|
|
in a daily digest". You can change this option later when logging in
|
|
the web frontend.
|
|
|
|
<sect1> docu_mailarchive: Is there an archive of the isdn4linux mailing list?
|
|
<label id="docu_mailarchive">
|
|
<p>
|
|
To quickly search for keywords, you can use
|
|
<tt><url url="http://www.deja.com"></tt>. Make sure to also select older
|
|
archive to do a complete search.
|
|
|
|
Messages are also saved (unsorted) at listserv.isdn4linux.de, collected by
|
|
month. To access the archive, you can use
|
|
<url url="http://www.isdn4linux.de/listarch/">.
|
|
|
|
Other archives are:
|
|
<itemize>
|
|
<item><tt><url
|
|
url="ftp://ftp.uni-oldenburg.de/pub/unix/linux/isdn/isdn4linux/Mailing-List"></tt>
|
|
</itemize>
|
|
|
|
<sect1> docu_bugtracker: Is there a bug tracker available for isdn4linux?
|
|
<label id="docu_bugtracker">
|
|
<p>
|
|
Yes, there is a bugtracker available under the following url:
|
|
<url url="https://www.isdn4linux.de/mantis">. You have to register yourself
|
|
before you can search for known bugs and enter new issues.
|
|
|
|
<!-- Supported Hardware & hardware-specific stuff
|
|
-->
|
|
|
|
<sect> hardware: Supported hardware, its specialities, and hardware-related
|
|
problems
|
|
<label id="hardware">
|
|
|
|
<sect1> hardware_support: Which hardware is supported?
|
|
<label id="hardware_support">
|
|
<p>
|
|
Only internal cards that plug into an ISA or PCI slot are
|
|
supported. ISA Plug&Play cards are also supported, but need some additional
|
|
manual configuration by means of the <tt/isapnptools/. For details on the
|
|
configuration see question <ref id="config_pnp" name="config_pnp">.
|
|
|
|
Internal cards may be <ref id="glossary_active" name="active">,
|
|
<ref id="glossary_semiactive" name="semi-active">, or
|
|
<ref id="glossary_passive" name="passive">. Unless you have paid big money,
|
|
assume you have a passive card. More about the difference: see question
|
|
<ref id="hardware_activepassive" name="hardware_activepassive">.
|
|
|
|
Right now there is a driver for all passive card with certain Siemens
|
|
chipsets (HiSax driver). Have a look at the <tt>README.HiSax</tt> that comes
|
|
with the driver for the most up to date information on supported cards and
|
|
which parameter to pass to Hisax.
|
|
Here the status from 1st February 2002 (constantly improving):
|
|
<itemize>
|
|
<item>Teles 8.0/16.0/16.3 and compatible ones (like: Dr. Neuhaus Niccy
|
|
1016, Creatix 16/S0)
|
|
<item>Teles 16.3c (can not be used as reversed card)
|
|
<item>Teles S0/PCMCIA (old hardware)
|
|
<item>Teles PCI
|
|
<item>Teles S0Box
|
|
<item>Creatix S0Box
|
|
<item>Creatix PnP S0
|
|
<item>Compaq ISDN S0 ISA card
|
|
<item>AVM A1 (Fritz, Teledat 150 ISA)
|
|
<item>AVM Fritz PCMCIA
|
|
<item>AVM Fritz PnP
|
|
<item>AVM Fritz PCI (Teledat 150 PCI)
|
|
<item>AVM Fritz PCI v2
|
|
<item>ELSA Microlink PCC-16, PCF, PCF-Pro, PCC-8
|
|
<item>ELSA Quickstep 1000
|
|
<item>ELSA Quickstep 1000PCI (new name: ELSA Microlink PCI)
|
|
<item>ELSA Quickstep 3000 (same settings as QS1000)
|
|
<item>ELSA Quickstep 3000PCI
|
|
<item>ELSA PCMCIA
|
|
<item>ITK ix1-micro Rev.2 (also: ITK colombus card)
|
|
<item>Eicon DIVA 2.0 ISA and PCI (S0 and U interface, no PRO version)
|
|
<item>Eicon.Diehl Diva 2.01 ISA and PCI, and Diva 2.02
|
|
<item>Eicon DIVA Piccola
|
|
<item>ASUSCOM NETWORK INC. ISDNLink 128K PC adapter (order code I-IN100-ST-D)
|
|
<item>Dynalink IS64PH (OEM version of ASUSCOM NETWORK INC. ISDNLink 128K
|
|
adapter)
|
|
<item>All other ASUSCOM/Dynalink cards (includes OEM versions; in total more
|
|
than 50 card versions)
|
|
<item>PCBIT-DP (OEM version of ASUSCOM NETWORK INC. ISDNLink)
|
|
<item>HFC-2BS0 based cards (TeleInt SA1)
|
|
<item>Sedlbauer Speed Card (Speed Win, Teledat 100, PCI, Fax+)
|
|
<item>Sedlbauer Speed Star/Speed Star2 (PCMCIA)
|
|
<item>Sedlbauer ISDN-Controller PC/104
|
|
<item>USR Sportster internal TA (compatible Stollmann tina-pp V3)
|
|
<item>ith Kommunikationstechnik GmbH MIC 16 ISA card
|
|
<item>Traverse Technologie NETjet PCI S0 card and NETspider U card
|
|
<item>Dr. Neuhaus Niccy PnP/PCI
|
|
<item>Siemens I-Surf 1.x (with ISAR =< try type 29)
|
|
<item>Siemens I-Surf 2.x (with IPAC => try type 12 asuscom)
|
|
<item>Trust PCI (only the old one with Siemens chip;
|
|
the one called 'Wisecom' in NL does not work)
|
|
<item>ACER P10
|
|
<item>HSR Saphir
|
|
<item>Berkom Telekom A4T
|
|
<item>Scitel Quadro
|
|
<item>Gazel ISDN cards
|
|
<item>HFC-PCI based cards
|
|
<item>PCI/Winbond W6692 based cards
|
|
<item>HFC-S+, HFC-SP/PCMCIA cards
|
|
<item>HFC-USB ISDN TAs
|
|
<item>ST5481 based USB ISDN adapters, e.g. BeWan Gazel 128 USB
|
|
</itemize>
|
|
Note:
|
|
<itemize>
|
|
<item>AVM A1+ is not supported
|
|
<item>PCF, PCF-Pro: up to now, only the ISDN part is supported
|
|
<item>PCC-8: not tested yet
|
|
<item>Eicon Diva U interface not tested
|
|
<item>Some cards do not work when compiled into the kernel, only when
|
|
loaded as modules.
|
|
<item>Asuscom card: please note that the ISA version is a different type
|
|
(12) then the PCI version (35 for HFC chip or 36 for Winbond chip)!
|
|
<item>To distinguish between HFC-PCI and PCI/Winbond, have a look at the
|
|
output of <tt>cat /proc/pci</tt>. You have HFC-PCI if you have a line
|
|
saying "Master capable" for your card.
|
|
<item>DataFire Micro V PCI = HFC-based card (type 35)
|
|
<item>Xircom Cardbus Eth10/100+ (PCMCIA) is not supported by isdn4linux,
|
|
but you can use it like an active external ISDN terminal adapter
|
|
(requires the xircom and serial driver).
|
|
<item>Gazel 128 USB from BeWAN Systems is supported as hisax_st5481 module.
|
|
For configuration hints have a look at:
|
|
<url url="http://www.posern.org/my-prjs/isdn/">.
|
|
</itemize>
|
|
|
|
In Germany: every ISDN card which German Telekom distributed in the past is
|
|
supported (the same is NOT true for the PBX they distributed).
|
|
|
|
The following cards are definitely not supported and will probably
|
|
never be supported, since the manufacturers have not released the
|
|
specifications for their very proprietary hardware/protocols:
|
|
<itemize>
|
|
<item>Fritz!X
|
|
<item>Eumex 404
|
|
</itemize>
|
|
|
|
As for the Eumex 404, there is an unofficial binary driver for isdn4linux
|
|
with Suse 6.3, which may or may not help you. Use it at your own risk:
|
|
<url url="http://home.t-online.de/home/MetalMilitia/eumex.htm">
|
|
|
|
<sect1> hardware_activepassive: What is the difference between an active and a
|
|
passive ISDN card?
|
|
<label id="hardware_activepassive">
|
|
<p>
|
|
An active ISDN card handles most of the ISDN connection protocols
|
|
(dialing, accepting calls, etc.) itself. The card includes a kind
|
|
of minicomputer with its own software (firmware). With a passive card, the
|
|
computer in which the card is installed has to perform these functions.
|
|
|
|
In principle, both types are supported by isdn4linux. However, since
|
|
active cards have non-standard interfaces, a driver can only be made
|
|
when the producer publishes the specifications for the
|
|
interface. Also, the card's firmware needs to be made freely
|
|
available. In contrast, many passive cards share the same
|
|
chipset. Therefore many passive cards can be supported once a driver
|
|
supports this one chipset.
|
|
|
|
These active cards are currently supported by an individual driver:
|
|
<itemize>
|
|
<item>AVM B1
|
|
<item>AVM C4
|
|
<item>Eicon DIVA Server BRI PCI
|
|
<item>Eicon DIVA Server 4BRI
|
|
<item>IBM Active 2000 ISDN card
|
|
<item>ICN
|
|
<item>PCBIT-D
|
|
</itemize>
|
|
|
|
<sect1> hardware_recommend: Which card is recommended by the developers?
|
|
<label id="hardware_recommend">
|
|
<p>
|
|
The developers suggest using ELSA cards. ELSA has made their specifications
|
|
available to the developers, and provided a lot of support, resulting in an
|
|
excellent driver. Also, their cards are certified for usage in Germany, see
|
|
question <ref id="country_certified" name="country_certified">.
|
|
|
|
If you want to buy an active card, then the developers would recommend
|
|
the PCI Server from Eicon. The reason is that it can fax on both channels
|
|
with AT class 2 commands, and includes a V.90 modem.
|
|
The AVM B1 works also very well, and is likewise recommended. Old versions
|
|
(up to 3.0) could receive faxes only on one channel, but since AVM B1 PCI V4
|
|
all channels can be used simulateously for sending and receiving faxes.
|
|
See also question <ref id="hardware_avmb1" name="hardware_avmb1"> for more details about this card.
|
|
The Hypercope cards have also been reported to work very well, servicing
|
|
all available channels for faxing. However, they require a hardware update
|
|
for faxing and their linux driver is fairly new. See also question
|
|
<ref id="hardware_hypercope" name="hardware_hypercope"> for more details about this card.
|
|
|
|
If faxing is important for you, but you don't want to spent the money for an
|
|
active card, then a card with ISAR chipset may work well for you, e.g.
|
|
Sedlbauer Speedfax+ (in Germany you may be able to buy it at Conrads).
|
|
|
|
And if you want to buy a USB terminal adapter, then the Gazel 128 USB from
|
|
BeWAN Systems <url url="http://www.bewan.com"> has been reported to work fine
|
|
with the hisax_st5481 module.
|
|
|
|
<sect1> hardware_external: Does isdn4linux support external terminal adapters?
|
|
<label id="hardware_external">
|
|
<p>
|
|
Generally not, but it doesn't need to. Terminal adapters are designed to behave
|
|
either like a modem or like a network card. Linux already supports both
|
|
modems and network cards without isdn4linux - so no special ISDN driver
|
|
is necessary (which usually greatly simplifies the configuration).
|
|
For example, have a look at the dialout program wvdial.
|
|
|
|
However, there is (at least) one exception. The Gazel 128 USB from BeWAN
|
|
System in France <url url="http://www.bewan.com"> has been reported to
|
|
work fine with the hisax_st5481 module. For configuration hints
|
|
have a look at: <url url="http://www.posern.org/my-prjs/isdn/">.
|
|
|
|
<sect1> hardware_cabeling: How should I wire my ISDN cables?
|
|
<label id="hardware_cabeling">
|
|
<p>
|
|
For any details in this direction have a look at the excellent cable FAQ,
|
|
which can be found at least in a German version at:
|
|
<url url="http://www.in-berlin.de/User/scorpio/faqkabel.html">.
|
|
|
|
<sect1> hardware_irq: Why should I avoid IRQ 12 and 15 for my ISDN card?
|
|
<label id="hardware_irq">
|
|
<p>
|
|
On many PCI boards, interrupt 12 is often used by a PS/2 mouse (even though you
|
|
may not have any or the IRQ is not activated for it). It may be used even when
|
|
you have no PS/2 port. Interrupt 15 is also often used by the second IDE bus
|
|
(even when you are not using it or the IRQ is not activated for it).
|
|
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, which works even on very exotic boards.
|
|
|
|
<sect1> hardware_irqsharing: Can the isdn4linux driver work with shared
|
|
interrupts?
|
|
<label id="hardware_irqsharing">
|
|
<p>
|
|
Yes, the drivers have been written to work with shared interrupts. However,
|
|
at least for the AVM Fritz!PCI card occasional problems have been reported
|
|
for motherboards with a BIOS bug (DFI motherboards K6BV3+, P5BV3+ K6XV3).
|
|
Try to disable the BIOS option <tt>CPU to PCI WRITE Buffer</tt> in those
|
|
cases as a workaround.
|
|
|
|
<sect1> hardware_s2m: Which S2M cards are supported?
|
|
<label id="hardware_s2m">
|
|
<p>
|
|
At least these S2M cards have been reported to work:
|
|
<itemize>
|
|
<item>AVM T1
|
|
<item>Eicon S2M-ISA or DIVA Server PRI family (see
|
|
<url url="http://www.melware.de/">)
|
|
</itemize>
|
|
|
|
<sect1> hardware_pcmcia: Which PCMCIA cards are supported?
|
|
<label id="hardware_pcmcia">
|
|
<p>
|
|
At least these PCMCIA cards have been reported to work:
|
|
<itemize>
|
|
<item>ELSA Microlink (NOT: ELSA Microlink/all)
|
|
<item>Sedlbauer
|
|
<item>AVM
|
|
<item>Teles PCMCIA (old hardware) - deprecated, since Teles often changes
|
|
hardware, and does not support the developers (see question
|
|
<ref id="hardware_teles" name="hardware_teles">).
|
|
</itemize>
|
|
|
|
<sect1> hardware_smp: Can I run isdn4linux on my multi-CPU board?
|
|
<label id="hardware_smp">
|
|
<p>
|
|
Yes, this works nicely. However, make sure to compile the kernel and all
|
|
modules with option <tt/SMP/. If you run into problems when both CPUs try to
|
|
handle the same IRQ, try to boot with <tt/noapic/.
|
|
|
|
<sect1> hardware_64bit: Can I run isdn4linux on 64bit hardware with Linux?
|
|
<label id="hardware_64bit">
|
|
<p>
|
|
In principle yes, however your hardware choice is currently limited to
|
|
active cards and external devices. Most desired are external devices using
|
|
standard interfaces (network, USB) which do not require isdn4linux at all.
|
|
The drivers for passive cards are currently not working under 64bit.
|
|
Obviously you can also not make use of binary drivers, unless you find a
|
|
binary compiled for 64bit.
|
|
|
|
One external USB device based on the HFC-S chipset reported to work with
|
|
isdn4linux is the Sitecom DC 104 with serial number greater than SN 46000202
|
|
(olders are ST chipset based, they have the same box). Also "tiny USB TA"
|
|
from Billion, and "surf mini usb" from Acer have been reported to work.
|
|
|
|
<sect1> hardware_alpha: Can I run isdn4linux on a DEC Alpha with Linux?
|
|
<label id="hardware_alpha">
|
|
<p>
|
|
Yes, most cards should run with isdn4linux on a DEC Alpha. Many cards have been
|
|
reported to work with the HiSax driver. Also the active ICN card has been
|
|
reported to work.
|
|
|
|
<sect1> hardware_sun: Can I run isdn4linux on a Sun workstation?
|
|
<label id="hardware_sun">
|
|
<p>
|
|
Probably not. There are three options for (internal) isdn in the SUN
|
|
enviroment:
|
|
<enum>
|
|
<item> SBUS ISDN adapter:
|
|
Old SUN-workstations used to have a SBUS interface for additional
|
|
peripheral boards.
|
|
There exists an ISDN sbus board sold as "X1012". As no information is
|
|
available for these boards, they are NOT supported!
|
|
|
|
<item> Built-in ISDN adapter:
|
|
Sparc-Station-LX, Sparc-Station-10 and Sparc-Server-10 have a
|
|
motherboard with build-in isdn-adapter.
|
|
These machines were supported by HISAX (kernel 2.3.0) but the code has
|
|
been left unsupported for very long (over nine months).
|
|
All kinds of ancient hisax definitions are still left in these drivers.
|
|
Much work is to be done to get it properly working again.
|
|
Note from the original developer, not to expect too much: the dbri chip
|
|
is not capable of buffering (irq for each byte) and raw-hdlc has to be
|
|
done in software instead of hardware...
|
|
The author of dbri.c has stopped active work on it,
|
|
but made a copy of the DBRI data sheet available at:
|
|
<url url="http://www.freesoft.org/Linux/DBRI">
|
|
for anyone who wants to fix the remaining glitches (status as of Jan 10,
|
|
2000). Please be aware that the code of the latest developments can not be
|
|
compiled for 32 bit machines like all sun-4m machines.
|
|
|
|
<item> PCI ISDN adapter:
|
|
Modern SUN-workstations and servers have a different busstructure
|
|
nowadays. The ULTRA series uses the PCI-bus.
|
|
Allthough some pc boards seem to be working in a SUN, there are NO
|
|
reports (yet) of properly functioning ISDN-PCI-boards in the SUN
|
|
environment. Please write me if anyone ever succeeds.
|
|
|
|
</enum>
|
|
|
|
|
|
<sect1> hardware_ppc: Can I run isdn4linux on a PowerPC with Linux?
|
|
<label id="hardware_ppc">
|
|
<p>
|
|
Yes, in theory most cards should work. However some Endian format issues
|
|
remain due to the bugs. I heard that the AVMFritz!PCIv2 card may work well
|
|
with the old isdn4linux drivers (even with asterisk via chan_modem_i4l).
|
|
Also the Eicon Diva Server cards should work. You are welcome to report any
|
|
bugs and fixes to the mailing list.
|
|
|
|
In any case, you may also get a terminal adapter (= external ISDN "modem").
|
|
Since then you don't need isdn4linux (see question
|
|
<ref id="hardware_external" name="hardware_external">), this is not covered
|
|
here any further.
|
|
|
|
<sect1> hardware_maxcards: How many ISDN cards can I put into my computer?
|
|
<label id="hardware_maxcards">
|
|
<p>
|
|
It depends on the availability of slots, interrupts/IO addresses in your
|
|
computer as well as the possibilities of the ISDN card. Most passive cards
|
|
are limited by the supported IO addresses (e.g.: Teles 16.x: only 3 addresses
|
|
are legally possible: 0xf80, 0xd80, 0xe80), and the total usage of interrupts
|
|
(every card needs one).
|
|
|
|
To use more cards, the ICN card may be your choice. It has no interrupts, 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 shown only as
|
|
needed. Therefore, one can use as many cards are there are slots.
|
|
|
|
If you really need a lot of ports, then eventuelly, a S2M card might be
|
|
interesting for you, see question <ref id="hardware_s2m" name="hardware_s2m">.
|
|
|
|
See question <ref id="config_manycards" name="config_manycards"> about
|
|
the specialities for the configuration of more than one card.
|
|
|
|
<sect1> hardware_hfc: What is special about card with an HFC chip?
|
|
<label id="hardware_hfc">
|
|
<p>
|
|
Cards with an HFC-PCI chip allow some specialities that are not possible with
|
|
other ISDN cards. So it is possible to run the card in NT mode (requires
|
|
crossing the ISDN connection and change by software) - this means you can
|
|
simulate to another ISDN card that your card is an NTBA. Since isdn4linux does
|
|
not implement the level 3 protocol used by the exchange, you can only use this
|
|
mode like a leased line.
|
|
|
|
However, some special software named PBX4Linux has been written for this.
|
|
You may want to have a look at the German article in ct 9/2004 on how to use
|
|
PBX4Linux. You can also check the web site
|
|
<tt><url url="http://isdn.jolly.de"></tt>.
|
|
You may especially be interested in the information about card support for the
|
|
NT mode with mISDN at: <tt><url url="http://isdn.jolly.de/cards.html"></tt>.
|
|
|
|
Another alternative for emulation of a PBX is Asterisk, to be found on:
|
|
<tt><url url="http://www.asterisk.org"></tt>.
|
|
|
|
Also, it is possible to give up one B-channel in exchange for reading the
|
|
complete D-channel protocol, which is great for isdnlog. The later can
|
|
also be done with a reversed card (see question
|
|
<ref id="isdnlog_reversedcard" name="isdnlog_reversedcard">)
|
|
but with HFC chips this works much more reliably and cleanly. You can
|
|
activate this special echo mode by calling:
|
|
<code>
|
|
hisaxctrl <driver_name> 10 1
|
|
hisaxctrl <driver_name> 12 1
|
|
</code>
|
|
You can deactivate it by calling:
|
|
<code>
|
|
hisaxctrl <driver_name> 12 0
|
|
hisaxctrl <driver_name> 10 2
|
|
</code>
|
|
Parameter 10 changes the number of available channels, parameter 12 switches
|
|
the echo mode.
|
|
|
|
Cards with HFC chips may be difficult to run on older mainboards.
|
|
Ensure with <tt>lspci -v</tt> that an IRQ has been assigned to the card
|
|
(if not check the PnP bios settings). Verify that the card is
|
|
located in a slot with busmaster DMA capabilities. Verify whether the
|
|
kernel is compiled such that it will run on your CPU (newer
|
|
distributions may not run on CPUs like 486 or Pentium; Suse provides
|
|
the kernel 'k_i386' to run with older hardware).
|
|
|
|
<sect1> hardware_elsa: What should I know about ISDN cards from ELSA?
|
|
<label id="hardware_elsa">
|
|
<p>
|
|
Generally, ELSA supports the ISDN4LINUX developers quite well with
|
|
documentation on how to access their cards. Thus, these cards are well
|
|
supported and very recommendable for use under ISDN4LINUX. Also, the
|
|
ELSA Quickstep 1000 PCI (new name Microlink PCI) is one of the only brands
|
|
of cards that are officially certified for use in Germany, and therefore
|
|
in EC (see question <ref id="country_certified" name="country_certified">
|
|
for more information on certification).
|
|
|
|
However, there is a speciality with some non-PCI-conformal mainboards and
|
|
the ELSA Quickstep 1000pro-PCI. These mainboards set the IO address to
|
|
incorrect values (they need to be on 0x100 boundaries, and in a higher
|
|
area). This may create an error message like
|
|
"You may have the wrong PCI bios" and hang the system. The best fix
|
|
is a Bios upgrade. If this is not feasible, you can get the module
|
|
<tt/pcitest/ from Karsten Keil <tt><htmlurl url="mailto:keil@isdn4linux.de"
|
|
name="keil@isdn4linux.de"></tt>. It will initialize the card correctly,
|
|
then exit with an intentional error (thus not occupying any memory).
|
|
|
|
To interface from ELSA's RJ11 plug to an RJ45 cable, use the following
|
|
cabling scheme:
|
|
<verb>
|
|
RJ11 - RJ45
|
|
pins 1234 12345678
|
|
Cable abcd --abcd--
|
|
</verb>
|
|
|
|
Regarding the Elsa Microlink ISDN USB: contrary to previous announcements
|
|
it does NOT works like a serial terminal adapter with the USB communication
|
|
class driver. Currently, it is not supported by isdn4linux.
|
|
|
|
<sect1> hardware_sedlbauer: What is special about the Sedlbauer card?
|
|
<label id="hardware_sedlbauer">
|
|
<p>
|
|
The Sedlbauer card comes in several versions:
|
|
<itemize>
|
|
<item> Sedlbauer Speedwin
|
|
<item> Sedlbauer Speedfax
|
|
<item> Sedlbauer Speedfax PCI
|
|
</itemize>
|
|
|
|
The Speedwin is a normal passive card with no specialities.
|
|
|
|
The Speedfax has a very special hardware: it is a semiactive card based
|
|
on the ISAR chipset which supports sending/receiving faxes and an analog
|
|
modem up to 14400. It is special in that you use it with HiSax which
|
|
normally works only for passive cards.
|
|
As all active card you have to load its firmware (in this case
|
|
after loading HiSax) from the file ISAR.BIN, which is part of the
|
|
isdn4k-utils.
|
|
|
|
Please note that compression (V42bis, MNP) are not implemented in firmware,
|
|
and therefore not supported when using the analog modem. The ideal init
|
|
string for the card to allow modem dialin is <tt>AT%C0\N0</tt>.
|
|
|
|
If for some fax senders receiving by Hylafax does not work, then try to
|
|
set the following configuration parameter for Hylafax:
|
|
<code>
|
|
Class1SwitchingDelay: 75
|
|
</code>
|
|
|
|
The Sedlbauer Speedfax PCI is special in that it was produced just for
|
|
Linux - there is no driver for it under Windows.
|
|
|
|
<sect1> hardware_teles: What should I know about before buying an ISDN card
|
|
from Teles?
|
|
<label id="hardware_teles">
|
|
<p>
|
|
First the latest news: according to the German magazine ct 02/2001, Teles has
|
|
closed down its business activities in the ISDN area. Therefore, this
|
|
FAQ does not really apply any more. However, I'll keep this FAQ for now
|
|
to document Teles' attitude towards their customers. The author has had
|
|
personal experience with Teles since 1994.
|
|
|
|
One of the most frequently asked questions for Teles cards: The Teles card
|
|
16.3c has a crippled FIFO, therefore it is required to use
|
|
<tt/AT&B1024/ when using the ttyI* devices (if the remote side still
|
|
send packets with more than 1024 bytes it will not work
|
|
- unfortunately many CAPIs use 2048 bytes as default).
|
|
The latest Teles PCI card needs the <tt/netjet/ driver, the teles driver
|
|
will NOT work (that card identifies itself as 'TigerJet Tiger300' when doing a
|
|
<tt>cat /proc/pci</tt>).
|
|
|
|
Now some comments about Teles in general (these are the personal opinions of
|
|
the author of this FAQ, please blame nobody else than me):
|
|
|
|
Teles' business practices are very customer- and developer-unfriendly when
|
|
compared to those of other companies. Naturally, the developers give
|
|
priority to cards for which support is available, and where the specifications
|
|
are freely available.
|
|
|
|
So far, Teles has had a very unfriendly attitude towards the i4l
|
|
developers. No support has ever been received from them, and they don't publish
|
|
any information about how to access their card. The developers have invested a
|
|
lot of private effort into getting this card to work from the beginning without
|
|
receiving any support. The driver has been a complete private effort. Yet,
|
|
Teles has bragged on their web site that their cards run under Linux, without
|
|
giving proper credit.
|
|
|
|
Even companies that buy Teles cards and resell them under their own name have
|
|
not been able to improve the support. This has lead to the situation where a
|
|
re-branding company (!) itself had to go through the effort of obtaining
|
|
approval to legally use i4l in Germany on a Teles card.
|
|
|
|
From a customer point of view, check out the prices for their hotline before
|
|
you buy any hardware from them! The author of the FAQ refuses to use any
|
|
hotline that charges 216,- DM per hour. Reports about quality and waiting time
|
|
have not always been favorable.
|
|
|
|
And this company did not even give away drivers for other operating
|
|
systems, like Windows, for free for many years (I know about 1995-2000).
|
|
Only since about April 2000 you can download the drivers over the Internet.
|
|
Before you had to dial up a very expensive number (0190) where you had to pay
|
|
about DM 1,20 per minute in Germany to download the driver. Not that it's
|
|
advisable to use Windows anyway, but just to let you know...
|
|
|
|
Warning: Teles has often changed their cards without notice, while still
|
|
using the same name. When you buy a Teles card, you may find out that your
|
|
brand-new card can not be supported by i4l! (As has happened many
|
|
times in the past...)
|
|
|
|
The developers will try to support new Teles cards when information about how
|
|
to access it becomes available, and when they have no other priorities. Of
|
|
course you can always send a patch.
|
|
|
|
<sect1> hardware_fritz: What should I know when configuring a Fritz! card
|
|
(also known as: AVM A1, Teledat 150, BT Speedway)?
|
|
<label id="hardware_fritz">
|
|
<p>
|
|
The Fritz! card comes in different variations. Since the PCI card and the
|
|
ISA/PNP card have the same type (27), hisax will assume an ISA/PNP card
|
|
if you pass an io address, and a PCI card if you do NOT pass an io address.
|
|
Make sure to give the parameters properly.
|
|
|
|
The newest Fritz! PCI card (v2.0) is now supported by a new driver, however
|
|
it has not yet been tested thoroughly. The card can be identified by lspci
|
|
returning 0e00 as the card id.
|
|
|
|
If the interrupt for the card is shared with other devices and your card does
|
|
not work, then there could be an issue with the motherboard. See question
|
|
<ref id="hardware_irqsharing" name="hardware_irqsharing"> for this.
|
|
|
|
One very interesting thing: the Fritz! card was the first card
|
|
for which a capi driver existed which can be configured to
|
|
fax. See question <ref id="feature_capi" name="feature_capi"> and
|
|
<url url="http://www.avm.de/ftp/cardware/fritzcrd/linux/index.htm">
|
|
for more information on this. Usage of the capi driver is completely optional,
|
|
you might as well stay with the standard driver if you do not need capi
|
|
support.
|
|
|
|
In total three drivers exist: the old Hisax driver (part of isdn4linux), the
|
|
new mISDN driver, and the binary AVM driver. Only the last one is prepared
|
|
for sending faxes.
|
|
|
|
<sect1> hardware_avmb1: What is special about the AVM B1 card?
|
|
<label id="hardware_avmb1">
|
|
<p>
|
|
This card supports many special features in its firmware and is very well
|
|
supported by its Linux driver. It's currently one of the only ISDN cards
|
|
that you can use to fax under ISDN4LINUX, or which supports the
|
|
CAPI 2.0 interface. You can get the newest driver from:
|
|
<url url="ftp://ftp.in-berlin.de/pub/capi4linux/">.
|
|
To get the firmware download the two perl scripts from:
|
|
<url url="ftp://ftp.in-berlin.de/pub/capi4linux/firmware/">
|
|
They will download and extract the firmware from: <url url="ftp://ftp.in-berlin.de/pub/capi4linux/firmware/b1/3-11-03/">.
|
|
|
|
To use the AVM on a point-to-point connection (&dquot;Anlagenanschluss&dquot;)
|
|
add &dquot;DSS1 P2P&dquot; to the load command for the firmware, like:
|
|
<code>
|
|
avmcapictrl load /usr/lib/isdn/b1.t4 0 DSS1 P2P
|
|
</code>
|
|
|
|
There is also a mailing list for problems with the AVM B1 available.
|
|
Visit <url url="https://mlists.in-berlin.de/mailman/listinfo/linux-avmb1">
|
|
for more details about it.
|
|
|
|
<sect1> hardware_hypercope: What is special about the Hypercope cards?
|
|
<label id="hardware_hypercope">
|
|
<p>
|
|
These cards support several special features in their firmware. They are newly
|
|
supported by a Linux driver. They are currently one of the only ISDN cards
|
|
that support the CAPI 2.0 interface. Also, you can use them very well for
|
|
faxing under ISDN4LINUX (after upgrade with a fax card - possible for
|
|
HYSDN Ergo2 and HYSDN Metro4).
|
|
|
|
More information on company and hardware is available on:
|
|
<url url="http://www.hypercope.de">
|
|
Configuration is similar to that of an AVM B1.
|
|
|
|
<sect1> hardware_icn: What is special about the ICN card?
|
|
<label id="hardware_icn">
|
|
<p>
|
|
This was the first active card supported by isdn4linux. The manufacturer has
|
|
always supported i4l developers (<tt><url url="http://www.think.de/"></tt>).
|
|
The ICN does not need any interrupt (polling), therefore a PC can be equipped
|
|
with many of them without any interrupt conflicts. The newest firmware should
|
|
be available at
|
|
<tt><url url="ftp://ftp.think.de/pub/isdn4linux/icn/firmware/"></tt>.
|
|
Unfortunately, the ICN is not produced any more.
|
|
|
|
<sect1> hardware_isurf: What should I know about the Siemens I-Surf cards?
|
|
<label id="hardware_isurf">
|
|
<p>
|
|
There are several interesting things.
|
|
<itemize>
|
|
<item> Two Versions: There are two different versions (version 1.0 and
|
|
version 2.0) with a different chipset. Both work fine, however you have
|
|
to set the type properly (29 for version 1.0, 12 for version 2.0).
|
|
<item> The USB version is currently not supported, there is no driver
|
|
available.
|
|
<item> PnP bug: Due to a bug in the pnp chip it is very important for the
|
|
I-Surf 1.0 to have the following PEEK and POKE lines in your isapnp file
|
|
to properly initialize the PnP register:
|
|
<code>
|
|
(MEM 0 (BASE 0x0c8000) (MODE bu) (UPPER 0x0c8400))
|
|
# (MEM 0 (BASE 0x0c8000) (MODE br) (UPPER 0x000400))
|
|
(REG 0x31 (PEEK))
|
|
(REG 0x31 (POKE 0))
|
|
(REG 0x31 (PEEK))
|
|
(ACT Y)
|
|
))
|
|
</code>
|
|
<item> Memory mapping: Since the I-Surf 1.0 uses memory mapping for the
|
|
ISA bus, ensure that the used memory area is not shadowed or cached
|
|
(see BIOS setup).
|
|
<item> Firmware loading: Before usage you have to load the firmware:
|
|
<code>
|
|
hisaxctrl <id> 9 ISAR.BIN
|
|
</code>
|
|
(You find the file ISAR.BIN in the isdn4k-utils or on the I-SURF cd.)
|
|
<item> Fax: The I-Surf 1.0 can be setup to send and receive faxes (see
|
|
question <ref id="feature_fax" name="feature_fax"> for details).
|
|
</itemize>
|
|
|
|
<sect1> hardware_diva: What should I know about the Eicon Diva cards?
|
|
<label id="hardware_diva">
|
|
<p>
|
|
In general, a dedicated driver exists which supports the active Eicon
|
|
Diva cards very well. The Pro series are not supported by isdn4linux
|
|
since it is a semiactive card with a DSP as a B-channel controller.
|
|
There is no code available in isdn4linux to dynamically load DSP
|
|
programs into the card. However, check Eicon's website; maybe by now they
|
|
provide pre-compiled driver for their cards not supported by isdn4linux.
|
|
|
|
|
|
<!-- Trouble Hardware
|
|
-->
|
|
|
|
<sect1> hardware_crossedcable1: If i4l uses one B-channel then the other one
|
|
will be blocked (incoming as well as outgoing)...
|
|
<label id="hardware_crossedcable1">
|
|
<p>
|
|
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.
|
|
|
|
<sect1> hardware_crossedcable2: How can I test whether a a/b cable pair has
|
|
been crossed?
|
|
<label id="hardware_crossedcable2">
|
|
<p>
|
|
This question assumes that you are connected by an internal bus that you
|
|
installed, attached directly to the NT (without using an RJ45 cable).
|
|
|
|
The easiest way to test it is to buy a little cable tester (the author of this
|
|
FAQ got one from Conrad Electronics in Germany for 29,- DM - just follow the
|
|
simple instructions).
|
|
|
|
Otherwise you have a bit more work. Switch line a1 and b1. If it doesn't work,
|
|
put them back and switch a2 and b2. If it still doesn't work, try switching
|
|
them both. As long as {a|b}1 and {a|b}2 are kept, nothing can break. If you
|
|
want to be sure, before plugging it in measure between pins 4 and 5 and between
|
|
Pins 2 and 6 on the socket; there should be no current, but between 3 and 4 and
|
|
between 6 and 5 should be 40 V, 6 and 3 positive.
|
|
|
|
With the Western plug this works similar. 4 lines are used:
|
|
<verb>
|
|
| | | |
|
|
| | | |
|
|
1 2 3 4
|
|
</verb>
|
|
Then you can try to switch (1 with 4) or (2 with 3) or both. Never switch the
|
|
outer with the inner lines - this would cross the RX and TX lines and nothing
|
|
will work.
|
|
|
|
Check the Cable FAQ for more details on which line should be connected how.
|
|
|
|
If both devices are attached via RJ45, then one of the cables
|
|
has been twisted. That usually happens if one of the RJ45 plugs
|
|
has been attached upside-down (a1/b1 are inside, a2/b2 are outside,
|
|
so the order of the sending/receiving pairs is maintained), then
|
|
you just need a new plug and of course pliers for the RJ45, old
|
|
plug off, and new plug (in the right direction) on.
|
|
|
|
<sect1> hardware_pbx: i4l is connected to the internal bus of a PBX. Any problem?
|
|
<label id="hardware_pbx">
|
|
<p>
|
|
Many PBX run non-standard ISDN protocolls on their internal bus.
|
|
|
|
In old versions (before end of August 2003) this could cause i4l to print
|
|
warnings like "Unexpected discriminator 0xZZ" (where ZZ is a hexadecimal
|
|
number) when it encounters unexpected frames (some old versions even
|
|
crash). This can increase your message file by as much as 1 MB in 3 days. The
|
|
PBX <tt>Ackermann Euracom 181</tt> (discriminator 0xaa) as well as
|
|
<tt>Ascom</tt> (discriminator 0x44/0x47) seem to be notorious for this. You can
|
|
avoid the warning by adjusting the switch/case code for isdnlog in function
|
|
<tt>processctrl(...)</tt> in <tt>processor.c</tt> and recompiling isdnlog.
|
|
Since August 2003 ignoring these unknown packages has become the default,
|
|
therefore the recompile is not necessary any more.
|
|
|
|
Please note that isdnlog will not be able to log any incoming
|
|
data packages, since the PBX has to forward the packages. To see everything,
|
|
you have to bypass the PBX.
|
|
|
|
Please be aware, that the PBX may hang if the ISDN card does not respond to
|
|
the PBX requests - bypass the PBX in such a case.
|
|
|
|
Also, a PBX may run 1TR6 protocoll on the internal bus by default, rather
|
|
than Euro ISDN. You have to configure i4l (or the PBX) accordingly, best
|
|
is you try to configure both on the same or similar protocolls.
|
|
|
|
Also the MSN may be different than you expect. Check several versions, no
|
|
digit (then use <tt>0</tt>, which i4l will require in such a case), one digit,
|
|
or two digits, or the whole MSN. Best is you call some device (e.g. ISDN
|
|
telephone) on the internal bus and check what i4l writes into the log file.
|
|
|
|
When you can not dial out, the most common problem is that you have not
|
|
set the MSN properly for outgoing calls, which causes the PBX to refuse
|
|
your request.
|
|
|
|
For dial in be aware that some PBX add a leading 0 to any incoming
|
|
telephone number, so adjust your configuration for the secure option
|
|
accordingly.
|
|
|
|
Last, remember that you may have to configure your PBX to 'route' incoming
|
|
calls onto the internal ISDN bus.
|
|
|
|
If you have a point-to-point configuration ('Anlagenanschluss') then
|
|
you cannot connect your card directly to the S0 bus in parallel to the PBX
|
|
(otherwise nothing will work). You have to connect to an internal ISDN bus.
|
|
Your MSN is usually the extension at the end of your telefon number.
|
|
|
|
If your PBX is the <tt/Ackermann Euracom</tt>, then you may also check out
|
|
this German site for the configuration software maKs:
|
|
<url url="http://www.ganzfix.de">
|
|
|
|
<sect1> hardware_telestrouble: The PNP tools done work with my Teles 16.3 PNP
|
|
card!
|
|
<label id="hardware_telestrouble">
|
|
<p>
|
|
It's probably not a Plug 'n Play card at all - even though Teles
|
|
now prints PNP on all their card and packaging. The difference is easy
|
|
to recognize: a real Teles PNP card no longer has the (tiny) Dip switches
|
|
on the card to set the IO addresses.
|
|
|
|
<sect1> hardware_elsacabletrouble: On my ELSA card, the LED for the loss of the
|
|
TEI often blinks. My connections are also often disrupted...
|
|
<label id="hardware_elsacabletrouble">
|
|
<p>
|
|
These blinking LEDS are often caused by a bad cable or a too long or
|
|
unterminated SO bus.
|
|
|
|
<sect1> hardware_elsairq: My ELSA Quickstep 1000 ISA card produces very many
|
|
interrupts with the HiSax driver. Is this normal or a problem with the HiSax
|
|
driver?
|
|
<label id="hardware_elsairq">
|
|
<p>
|
|
This is normal. The ELSA Quickstep 1000 ISA card has a hardware timer on the
|
|
card which can not be disabled by software. You have to modify the card
|
|
hardware to get rid of it. Check with Karsten Keil for this:
|
|
<tt><htmlurl url="mailto:keil@isdn4linux.de" name="keil@isdn4linux.de"></tt>
|
|
|
|
|
|
|
|
<!-- Configuration/Troubleshooting
|
|
-->
|
|
|
|
<sect> config: General information about Configuration
|
|
<label id="config">
|
|
|
|
<sect1> config_msn: How should I set up isdn4linux with my MSNs?
|
|
<label id="config_msn">
|
|
<p>
|
|
See section <ref id="msn" name="msn">.
|
|
|
|
<sect1> config_hardware: How should I configure my hardware? Is there
|
|
something special I should know about my ISDN card?
|
|
<label id="config_hardware">
|
|
<p>
|
|
Have a look in section <ref id="hardware" name="hardware">.
|
|
|
|
<sect1> config_dialout: How should I configure dialout?
|
|
<label id="config_dialout">
|
|
<p>
|
|
See section <ref id="dialout" name="dialout">.
|
|
|
|
<sect1> config_dialin: How should I configure dialin?
|
|
<label id="config_dialin">
|
|
<p>
|
|
See section <ref id="dialin" name="dialin">.
|
|
|
|
<sect1> config_suse: I can not select my card in yast?
|
|
<label id="config_suse">
|
|
<p>
|
|
If you have a SuSE distribution, and you can not find your card in yast,
|
|
then select card <tt/generic/ and enter the exact parameters in the
|
|
special case line, like: <tt>type=27 protocol=2</tt> for Fritz!PCI and
|
|
Euro ISDN. Get a newer kernel if the desired type is not yet supported.
|
|
|
|
<sect1> config_pnp: How do I configure a PNP (Plug and Play) card?
|
|
<label id="config_pnp">
|
|
<p>
|
|
For PCI cards Plug and Play works automatically, they don't need any manual
|
|
configuration if the correct card type is provided. ISA PNP cards will
|
|
require some manual configuration:
|
|
<enum>
|
|
<item>With &dquot;make menuconfig&dquot; (or &dquot;make config&dquot;) set the
|
|
following kernel options:
|
|
<itemize>
|
|
<item>ISDN = &dquot;M&dquot; (as module - otherwise PNP doesn't work!)
|
|
<item>HiSax = &dquot;M&dquot; (as module - otherwise PNP doesn't work!)
|
|
<item>16.3/PNP support
|
|
<item>EURO support
|
|
</itemize>
|
|
<item>Compile and install kernel and modules, depmod. (Reboot!)
|
|
<item>Read the configuration of the PNP card with:
|
|
<code>pnpdump -c > /etc/isapnp.conf</code>
|
|
<item>Verify whether pnpdump has prepared the configuration file
|
|
<tt>/etc/isapnp.conf</tt> properly:
|
|
<itemize>
|
|
<item>INT0 - the interrupt used by the card (Default for Teles 16.3 PNP: 10).
|
|
Make sure that interrupt 3 and 4 are not used, since they are reserved for
|
|
the serial interface (which, unfortunately, the serial driver may have
|
|
forgotten to reserve).
|
|
<item>IO0, IO1 - the IO ports used by the card (Default for Teles 16.3 PNP:
|
|
0x580 and 0x180) (Attention: these values must be 64-bit aligned (ending with
|
|
0, 4, 8, or c)! Early versions of the PNP cards may suggest incorrect values!)
|
|
<item>Comment removed in front of ACT Y!
|
|
</itemize>
|
|
<item>Activate the configuration with:
|
|
<code>isapnp /etc/isapnp.conf</code> (must be started at every boot)
|
|
<item>Now the HiSax module can be started for Euro-ISDN with:
|
|
<code>modprobe hisax io=4,2,INT,IO0,IO1</code>
|
|
(Replace INT, IO0, and IO1 with your values in isapnp.conf.)
|
|
</enum>
|
|
|
|
<sect1> config_startstop: How can I start and stop the ISDN configuration?
|
|
<label id="config_startstop">
|
|
<p>
|
|
There are several options:
|
|
<itemize>
|
|
<item> Reboot: rebooting your computer always works. If you compiled i4l into
|
|
the kernel, then this is actually your only chance. The remaining options
|
|
only work if you configure i4l using modules.
|
|
<item> Manual: Unload the modules used by i4l with rmmod, then reload them with
|
|
modprobe.
|
|
<item> Runlevel: use telinit to switch to a runlevel which does not contain
|
|
ISDN, then switch back to the original runlevel.
|
|
<item> Scripts: most distributions come with start/stop scripts.
|
|
For example, on a Suse 7.0 distribution, this will stop ISDN:
|
|
<code>
|
|
rcroute stop
|
|
rci4l stop
|
|
rci4l_hardware stop
|
|
</code>
|
|
This will restart ISDN:
|
|
<code>
|
|
rci4l_hardware start
|
|
rci4l start
|
|
rcroute start
|
|
</code>
|
|
</itemize>
|
|
|
|
<sect1> config_kerneld: Why shouldn't I use <em>kerneld</em> to load the ISDN
|
|
modules in the kernel as needed?
|
|
<label id="config_kerneld">
|
|
<p>
|
|
<em>kerneld</em> does not work well with the ISDN modules, since the ISDN
|
|
modules can not store their status, and could miss important messages on the
|
|
D channel. Newer versions of i4l ensure that they won't be unloaded by
|
|
kerneld, but you should not try to use kerneld with any version of i4l.
|
|
|
|
<sect1> config_runlevel: How can I boot Linux sometimes with
|
|
ISDN, and sometimes without?
|
|
<label id="config_runlevel">
|
|
<p>
|
|
Yes, you can define two different run level for this (under SysVInit) in
|
|
<tt>/etc/inittab</tt>. One run level includes the ISDN processes, where the
|
|
other one does not.
|
|
|
|
<sect1> config_manycards: How do I configure more than 1 ISDN card?
|
|
<label id="config_manycards">
|
|
<p>
|
|
There are some specialities for configuration of more than 1 card:
|
|
<itemize>
|
|
<item>You have to start a driver for every type of card you have, with the
|
|
correct configuration arguments.
|
|
<item>To handle more than 1 card with the same driver (e.g. HiSax should
|
|
handle an ELSA and an ASUS card), you have to pass the configuration arguments
|
|
for all cards to this driver. Please note, that you'll have to use modules
|
|
for more than two cards, to pass all arguments. As an example, you can
|
|
load HiSax for two Sedlbauer cards with the following command:
|
|
<code>
|
|
modprobe -v hisax protocol=2,2 type=28,28
|
|
</code>
|
|
<item>Driver ID: the HiSax driver uses 'HiSax' as the default for a driver
|
|
id if you have only one card. For more cards you have to set the id
|
|
explicitly, e.g. for two cards in the form of
|
|
<code>
|
|
id="contr0%contr1"
|
|
</code>
|
|
<item>Dialin of many people at the same time: have a look at question
|
|
<ref id="dialin_manyparallel" name="dialin_manyparallel">.
|
|
<item>Dialout through several cards: have a look at question
|
|
<ref id="dialout_manycards" name="dialout_manycards">.
|
|
</itemize>
|
|
|
|
<sect1> config_manychannels: How can I increase i4l's maximum number of
|
|
channels?
|
|
<label id="config_manychannels">
|
|
<p>
|
|
You can adjust the parameter ISDN_MAX_CHANNELS and the ISDN_MINOR* parameters
|
|
in <tt>/usr/src/linux/include/linux/isdn.h</tt> and rebuild the isdn stuff.
|
|
It is unlikely you have more than 64 physical B channels available, therefore
|
|
you probably want to leave ISDN_MINOR_B and ISDN_MINOR_BMAX as they are.
|
|
|
|
Your bottleneck are probably the number of potential (logical) network
|
|
connections (ipppX devices). The maximum number for this (ISDN_MAX_CHANNELS)
|
|
is 127, since the minor devices start at 128 (see ISDN_MINOR_PPP) and have to
|
|
end before 255 (ISDN_MINOR_STATUS).
|
|
|
|
To further increase the maximum number of logical connections you either
|
|
have the possibility to use an additional major (e.g. 44 - not used any
|
|
more) - this requires some small changes to the driver and the installation
|
|
of one ipppd instance per logical connection; or to use only one
|
|
ipppd per physical B channel with external Radius authentication. In the
|
|
first case you have to modify and recompile the driver, in the second case
|
|
you have to modify and recompile ipppd (you'll find some preparations for
|
|
this already in the source code).
|
|
|
|
Don't forget to create the additional devices with makedev.sh (part of
|
|
isdn4k-utils) or by hand.
|
|
|
|
<sect1> config_gsmv110: How do I connect my PalmPilot via GSM over V.110
|
|
to my computer?
|
|
<label id="config_gsmv110">
|
|
<p>
|
|
A connection via GSM will first go to the GSM provider via a special air
|
|
transmission protocol. To forwarding the data on to an analog or ISDN
|
|
line, an adapter called IWF (interworking function) has to translate this
|
|
into the analog or ISDN specific transmission protocol. Which analog or
|
|
ISDN transmission protocol is being used depends on how the mobile phone
|
|
requests its GSM connection.
|
|
An analog connection is not very attractive due to the lengthy modem
|
|
handshaking on dialin. For ISDN, HDLC and X.75 are currently not supported
|
|
by the IWF, so the choices are down to V.110 and V.120.
|
|
V.120 has better flow control and error correction, but currently isdn4linux
|
|
only supports V.110.
|
|
|
|
On the dialup server set up async PPP with a normal pppd on a ttyI* device
|
|
(sync ppp will not work). Additionally to setting the msn, you have to set
|
|
V.110 and the transmission rate to 9600 with <tt/AT&R9600/
|
|
(<tt>/usr/src/linux/Documentation/isdn/README</tt> gives more details on
|
|
the V.110 bitrate adaption for this command).
|
|
Switch off autoanswer with <tt/ATS0=0/ if you use mgetty.
|
|
pppd needs to be called with <tt/noccp/ and <tt/require-pap/.
|
|
|
|
On the GSM mobile phone side, request an ISDN V.110 connection with the
|
|
command
|
|
<code>
|
|
AT+CBST=71,0,1+CHSN=1,0,0,0
|
|
</code>
|
|
For a Nokia 7110, you may have to use the undocumented command
|
|
<code>
|
|
AT+CBST=75,0,1
|
|
</code>
|
|
|
|
If the bearer capability is reported as &dquot;88 90 21 48 06 bb&dquot; by
|
|
isdn4linux, then you have set it correctly (88 90 21 means V.110, 48 means
|
|
ASYNC 9.6kbit, 06 means flowcontrol RX/TX, bb means 8 bit 1 stop none parity).
|
|
|
|
If the call is indicated with service indicator byte 2 = 0 and not accepted
|
|
(happens with some wrongly configured PBX), then adjust with <tt/ATS19=0/.
|
|
|
|
A higher bandwidth of 19.2kbit (HSCSD) could be requested with the command
|
|
<code>
|
|
AT+CBST=81,0,1+CHSN=3,0,0,0
|
|
</code>
|
|
but you can not be sure that your GSM provider will really use this rate.
|
|
Configure your dialin server accordingly.
|
|
|
|
For a mini-howto see:
|
|
<url url="http://www.oltom.com/Linux/Docs/GSM%20over%20V.110%20Mini-HOWTO.txt">
|
|
|
|
|
|
<sect1> config_h323: How do I configure isdn4linux to act as a voice-over-ip
|
|
gateway for H.323 clients?
|
|
<label id="config_h323">
|
|
<p>
|
|
You have to install a gateway which handles the translation. Several
|
|
versions exist which are all based on the OpenH323 and PWLib libraries.
|
|
The latest recommendation is to use isdngw at:
|
|
<url url="http://www.gnugk.org/h323-isdn-gw.html">. This is an updated
|
|
version of the isdngw located at:
|
|
<url url="http://www.virtual-net.fr/h323/isdngw/">, which in turn is an
|
|
updated version of the Linux H.323 - ISDN Gateway found on
|
|
<url url="http://www.telos.de/linux/H323/">.
|
|
|
|
Please note that not all sound cards support full duplex audio. Depending
|
|
on your hardware you may end up with uni-directional voice.
|
|
|
|
<sect1> config_point2point: How do I configure a point-to-point connection?
|
|
<label id="config_point2point">
|
|
<p>
|
|
First of all, the point-to-point connection will only work for one single
|
|
device connected to it - therefore nothing else but your ISDN card may
|
|
be attached to it. You can switch HiSax into point-to-point mode:
|
|
<code>
|
|
hisaxctrl <driver_id> 7 1
|
|
</code>
|
|
Additionally, you can use the &dquot;AT&Lxxx$dquot; command to
|
|
configure the range of telephone numbers isdn4linux should be listening
|
|
to on the ttyI* devices.
|
|
|
|
If you really absolutely want to run your ISDN card for read-only purposes
|
|
in parallel to your pbx on a point-to-point connection, then you have
|
|
to disconnect the RX leads (pin 3 and 6 on western plug), so that the NTBA
|
|
will not see the ISDN card. In this case configure HiSax normally, NOT in
|
|
point-to-point mode.
|
|
|
|
<sect1> config_links: What helpful links are there about and around
|
|
isdn4linux?
|
|
<label id="config_links">
|
|
<p>
|
|
These are helpful links that are currently available on how to configure
|
|
isdn4linux:
|
|
<itemize>
|
|
<item>English: <url url="http://www.wurtel.cistron.nl/i4l-howto-uk.html">
|
|
<item>Dutch: <url url="http://www.wurtel.cistron.nl/i4l-howto-nl.html">
|
|
<item>German: <url url="http://www.franken.de/users/klaus/">
|
|
<item>French: <url url="http://www.linux-france.org/article/connex/ISDN/">
|
|
and <url url="http://www.linux-france.org/prj/inetdoc/guides/rnis/">
|
|
<item>Suse Support database:
|
|
<url url="http://sdb.suse.de/sdb/en/html/index.html">; there is also an ISDN
|
|
howto (isdn.html) and a ISDN quick-install guide (isdnquick.html).
|
|
<item>Tips to configure Suse (and about offline reading):
|
|
<url url="http://www.schlenn.de/isdn4linux/">
|
|
<item>Tips to configure Red Hat:
|
|
<url url="http://www.webideal.de/rh-isdn/">
|
|
<item>Tips to configure Debian with Fritz Card PCI and kernel 2.6 (in German):
|
|
<url url="http://www.plzk.de/archiv/files/docs/FritzCard.PCI.Linux-HOWTO.html">
|
|
<item>Tips to configure Mandrake:
|
|
<url url="http://www.mandrakeuser.org/connect/cisdn.html">
|
|
<item>Tips to configure Gentoo:
|
|
<url url="http://forums.gentoo.org/viewtopic.php?t=29991">
|
|
<url url="http://de.gentoo-wiki.com/ISDN">
|
|
<item>fli4l, a prepackaged Linux version to use an old PC as ISDN router:
|
|
<url url="http://www.fli4l.de"> (great!)
|
|
<item>LR101 (a project which tries to create a hardware router based on Linux):
|
|
<url url="http://lr101.linux-it-solutions.de">
|
|
<item>Scripts and installation tips from several people:
|
|
<tt><url url="http://www.rosat.mpe-garching.mpg.de/˜web/ISDN.html"></tt>
|
|
<item>Documentation on abc extensions:
|
|
<tt><url url="http://i4l.mediatronix.de/"></tt>
|
|
<item>Installation of CAPI4LINUX, CAPI4LINUX, and CAPI4Hylafax (in German):
|
|
<tt><url url="http://ixi.thepenguin.de"></tt> or
|
|
<tt><url url="http://capi4linux.thepenguin.de"></tt> or
|
|
<tt><url url="http://www.thepenguin.de"></tt>
|
|
<item>Vbox development:
|
|
<tt><url url="http://innominate.org/projects/vbox/index.php3"></tt>
|
|
<item>Michael Hipp's page (general informations):
|
|
<tt><url url="http://www-ti.informatik.uni-tuebingen.de/~hippm/isdn.html"></tt>
|
|
<item>Chargeint tips:
|
|
<tt><url url="http://www.auf-der-er.de/chargeint.html"></tt>
|
|
<item>Homepage of linecontrol (manage isdn dialing similar to kisdn):
|
|
<tt><url url="http://linecontrol.sourceforge.net"></tt>
|
|
<item>(German) Homepage of ISDN Sniffer (read ISDN bus, e.g. via reversed
|
|
card): <tt><url url="http://krypt.cs.uni-sb.de/projects/isdnsniffer/"></tt>
|
|
<item>Homepage of Asterisk (Open Source Linux PBX):
|
|
<tt><url url="http://www.asterisk.org"></tt>
|
|
<item>Homepage of ivcall (send and receive fax/voice calls):
|
|
<tt><url url="http://0pointer.de/lennart/projects/ivcall/"></tt>
|
|
<item>Configuration software maKs for Ackermann Euracom (not isdn4linux related):
|
|
<tt><url url="http://www.ganzfix.de"></tt>
|
|
</itemize>
|
|
|
|
<sect1> config_misdn: How should I configure the new mISDN driver, and what
|
|
is so special about it?
|
|
<label id="config_misdn">
|
|
<p>
|
|
The mISDN driver stands for modular ISDN. It is a complete rewrite of the old
|
|
isdn drivers and now communicates via CAPI messages. The mISDN driver is
|
|
retire the historical drivers once it is fully functional within the 2.6.x
|
|
kernels. As a temporary work around the historical drivers have been
|
|
ported into the early 2.6.x kernels to get isdn working, however, this will
|
|
be fixed in later versions.
|
|
|
|
To start mISDN, you have to load all the following modules:
|
|
<itemize>
|
|
<item>capi
|
|
<item>mISDN_core
|
|
<item>mISDN_l1
|
|
<item>mISDN_l2
|
|
<item>l3udss1
|
|
<item>mISDN_capi
|
|
<item>mISDN_isac (for isa card)
|
|
<item>Hardware specific driver (e.g. hfcpci, or avmfritz)
|
|
</itemize>
|
|
|
|
Not all features are available. It is currently not planned to port
|
|
1TR6 (the ancient ISDN protocoll in Germany) to the new driver.
|
|
|
|
For more information on how to configure it have a look at the following
|
|
website: <tt><url url="http://rcum.uni-mb.si/~uvp00845b/"></tt>
|
|
|
|
For a more general description on the mISDN driver and the future of isdn4linux
|
|
you may also read the German article published in ct 3/2004. An online
|
|
version is available at: <tt><url url="http://www.heise.de/ct/04/03/182/"></tt>
|
|
|
|
Please note that the current FAQ applies mainly to the old isdn4linux drivers.
|
|
mISDN may work differently than described in this FAQ.
|
|
Please let me know about any amendmends for this FAQ.
|
|
|
|
|
|
<sect1> config_kernel26: What has changed with the kernels 2.6.x?
|
|
<label id="config_kernel26">
|
|
<p>
|
|
With the kernels 2.6.x the mISDN driver has been introduced (see question
|
|
<ref id="config_misdn" name="config_misdn">). It is planned that the mISDN drivers will replace
|
|
the old isdn4linux drivers like HiSax, which have been ported to 2.6.x only
|
|
since mISDN was not ready yet.
|
|
|
|
Please note that the ported drivers have not been upgraded to make use of the
|
|
new kernel features like devfs. You still have to create all the devices you
|
|
need, either with makedev.sh (part of isdn4k-utils), or by hand. Some
|
|
distributions will do that for you (e.g. Suse), for others you have to do
|
|
this yourself (e.g. Mandrake 10).
|
|
|
|
|
|
<sect1> config_asterisk: How can I install asterisk with mISDN?
|
|
<label id="config_asterisk">
|
|
<p>
|
|
First you have to get mISDNuser and compile it. Then you have to compile
|
|
chan_misdn (included with asterisk) so it works together with mISDNuser.
|
|
For this you have to modify the Makefile in <tt>asterisk/channels/misdn/</tt>
|
|
to configure the correct location of mISDNuser. A make in the same directory,
|
|
followed by a 'make install' in the asterisk directory should be sufficient.
|
|
|
|
The easiest way is to get the install script published at:
|
|
<url url="http://www.beronet.com/download/install-misdn.tar.gz">.
|
|
|
|
|
|
<!-- Troubleshooting
|
|
-->
|
|
|
|
<sect> trouble: Troubleshooting
|
|
<label id="trouble">
|
|
|
|
<sect1> trouble_22memory: I can't start ISDN on my machine with kernel 2.2.x.
|
|
I get the error messages "init_module: Device or resource busy" and
|
|
"isdn: Could not allocate device-struct.".
|
|
<label id="trouble_22memory">
|
|
<p>
|
|
This is a memory problem and means you don't have enough <bf>unfragmented</bf>
|
|
memory. While 2.0.x kernels may work on low memory/slow hardware (the author's
|
|
answering machine is a 386 and used to run with 4MB of RAM), you can run into
|
|
the memory fragmentation problem even if you have as much as 32MB of RAM when
|
|
running 2.2.x kernels. The problem has been eased since 2.2.14, when
|
|
ISDN4LINUX's memory allocation has been changed to use vmalloc.
|
|
|
|
You can try to reduce the memory requirements (see question
|
|
<ref id="trouble_littlememory" name="trouble_littlememory">), compile
|
|
ISDN4LINUX into the kernel, or start and then exit a large program to ease
|
|
the memory fragmentation problems.
|
|
|
|
<sect1> trouble_littlememory: How can I reduce isdn4linux's memory
|
|
requirements?
|
|
<label id="trouble_littlememory">
|
|
<p>
|
|
Try to do the following things:
|
|
<itemize>
|
|
<item> Stick with kernel 2.0.x if you have a 486 or lower.
|
|
<item> In <tt>/usr/src/linux/include/linux/isdn.h</tt>, change the line
|
|
<code>
|
|
#ifdef CONFIG_COBALT_MICRO_SERVER
|
|
</code>
|
|
into:
|
|
<code>
|
|
#if 1
|
|
</code>
|
|
and recompile kernel.
|
|
<item> Reduce ISDN_MAX_DRIVERS, ISDN_MAX_CHANNELS in
|
|
<tt>include/linux/isdn.h</tt>, then recompile kernel.
|
|
</itemize>
|
|
|
|
<sect1> trouble_debug: How do I get maximum debug output?
|
|
<label id="trouble_debug">
|
|
<p>
|
|
Execute the following commands to get maximum debug output:
|
|
<code>
|
|
hisaxctrl <id> 1 0x33ff
|
|
hisaxctrl <id> 11 0xf4f
|
|
killall isdnlog
|
|
cat /dev/isdnctrl > /tmp/ilog
|
|
</code>
|
|
Be careful: this will generate a lot of output!
|
|
|
|
<sect1> trouble_strategy: My isdn4linux doesn't work! How do I best go about
|
|
finding the problem?
|
|
<label id="trouble_strategy">
|
|
<p>
|
|
The following steps are recommended:
|
|
<enum>
|
|
<item>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.
|
|
Check question <ref id="trouble_boot" name="trouble_boot"> for what you can check.
|
|
The old Teles driver, on the other hand, will appear to start even if
|
|
it is not working. See the questions under Troubleshooting Teles.
|
|
<item>Make sure you configured the ISDN driver either as modules, or you
|
|
compiled them into the kernel - never both.
|
|
<item>Try calling your dialin number with a telephone. The number should be
|
|
shown in <tt>/var/log/messages</tt>. Check for a line like this:
|
|
<code>
|
|
Call from 0,1,2345 -> 6789
|
|
</code>
|
|
This means that on channel 0 a call from 2345 with service indicator (SI) 1
|
|
(1 = voice; data would be 7) to MSN 6789 was received. Now at least you know
|
|
that you have to configure your MSN to 6789 (or whatever other number you
|
|
find there), and that your isdn4linux kernel driver understand ISDN
|
|
commands coming from your ISDN card properly. If instead of the number 2345
|
|
you find a 0, then your ISDN provider does not pass you the caller id.
|
|
If you don't find such a line: perhaps the driver was incorrectly started?!
|
|
<item>As a next step we'll try to get the telephone or fax to ring by dialing
|
|
ourself using a ttyI device with minicom. First we have to change the service
|
|
recognition with the <tt>ATS18=1</tt> command to audio. Now you can get the
|
|
telephone to ring by dialing <tt>ATDxxxxxx</tt>, where xxxxxx is your own MSN.
|
|
<item>Next we try to transmit data via ISDN. Open 2 different consoles as root,
|
|
and on each run &dquot;minicom -s&dquot;... in the first set &dquot;Serial Port
|
|
Setup Serial Device&dquot; to <tt>/dev/ttyI0</tt>, and the other to
|
|
<tt>/dev/ttyI1</tt>. Then choose &dquot;Exit&dquot; and start the modem
|
|
emulation with &dquot;ATZ&dquot; and &dquot;AT&Exxxxxx&dquot; (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 &dquot;CALLER NUMBER: xxxxxxx&dquot; and
|
|
&dquot;RING&dquot;. Accept the call on the second console with
|
|
&dquot;ATA&dquot;, and you should then see the message &dquot;CONNECT
|
|
64000/X.75&dquot; 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).
|
|
<item>Next, try calling a known ISDN BBS. If you don't know of any, try
|
|
Gernot (see &dquot;Are there sites that offer guest access where I can test my
|
|
isdn4linux setup?&dquot;). If you have problems with the modem emulation, see
|
|
&dquot;Troubleshooting Modem Emulation&dquot;
|
|
<item>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 &dquot;pppd, ipppd, syncPPP, asyncPPP -
|
|
what is that? What should I use?&dquot;), you can use the normal pppd with
|
|
modem emulation (i.e. /dev/ttyI*).
|
|
<item>Ensure that you set up your authentication configuration properly (see
|
|
questions in section <ref id="pap" name="pap">.
|
|
</enum>
|
|
Otherwise, it is highly recommended that use an example script form
|
|
the HowTo (see the question &dquot;Where can I find scripts and other
|
|
information on configuring i4l?&dquot;). For testing you can try your own
|
|
provider or of the guest accounts (see &dquot;Are there sites that offer
|
|
guest access where I can test my isdn4linux setup?&dquot;). 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.... :-)
|
|
|
|
<sect1> trouble_boot: How can I tell whether my ISDN card has been correctly
|
|
recognized?
|
|
<label id="trouble_boot">
|
|
<p>
|
|
<enum>
|
|
<item>Check for error messages in the boot messages (you can review them at any
|
|
time with the command <tt/dmesg/.
|
|
|
|
<item>For the HiSax driver: During booting a message <tt>kernel: HSCX version
|
|
A:5 B:5</tt> and <tt>kernel: channels 2</tt> should appear. <tt>A:4 B:4</tt> is
|
|
also okay. Other values (in particular <tt>A:??? B:???</tt>) mean the
|
|
card is not recognized correctly.
|
|
HiSax is only loaded if the hardware can be found and the appropriate
|
|
interrupts can be generated. This means the card is installed correctly in the
|
|
computer, and there are no hardware conflicts. It does not mean that everything
|
|
will work (e.g. twisted cables, broken cables, terminators).
|
|
|
|
<item> Check that your card got an interrupt assigned, e.g. with
|
|
<code>
|
|
lspci -v
|
|
</code>
|
|
A common problem is that your BIOS did not assign an interrupt to your
|
|
card. HiSax will then complain with "No IRQ for PCI card found".
|
|
To fix, set the BIOS option "PnP OS" to NO.
|
|
|
|
<item>Check that the interrupts are registered correctly. Check with
|
|
<code>
|
|
cat /proc/interrupts
|
|
</code>
|
|
The following entry indicates that the card is configured on interrupt 11, and
|
|
so far has received 3 interrupts:
|
|
<verb>
|
|
11: 3 + hisax
|
|
</verb>
|
|
When you call yourself, the number of received interrupts should increase.
|
|
|
|
<item>Check the io ports with
|
|
<code>
|
|
cat /proc/ioports
|
|
</code>
|
|
</enum>
|
|
|
|
<sect1> trouble_isdncause: I get an error message like "cause: E1234" (or
|
|
similar)?
|
|
<label id="trouble_isdncause">
|
|
<p>
|
|
Just have a look at <tt>man isdn_cause</tt> to find out what the problem is.
|
|
For the very popular cause "E001B" see question
|
|
<ref id="trouble_e001b" name="trouble_e001b">.
|
|
|
|
<sect1> trouble_e001b: I get an error message with "cause: E001B"?
|
|
<label id="trouble_e001b">
|
|
<p>
|
|
This is a very popular error and means (see <tt>man isdn_cause</tt>):
|
|
euro ISDN (E), location user (00), and out of order (1b).
|
|
Taken together means that the driver either can't get a layer 1 connect
|
|
(cable problem, hardware error, hidden hardware conflict - see section
|
|
<ref id="hardware" name="hardware">), or it can't get a layer 2 connect (wrong
|
|
configuration: no Euro ISDN, no automatic TEI supported, point-to-point
|
|
BRI instead of multi-device - see section <ref id="config" name="config">).
|
|
|
|
<sect1> trouble_noprotocol: upon startup of HiSax I get the message
|
|
&dquot;Warning - no protocol specified&dquot;?
|
|
<label id="trouble_noprotocol">
|
|
<p>
|
|
This means that you did not specify which D-channel protocol you want to
|
|
use with HiSax. In most cases this is wrong, and you have to specify that
|
|
you want to use the Euro Protocol ISDN DSS1. Only if you have a leased
|
|
line you don't need to specify any D-channel protocol.
|
|
|
|
<sect1> trouble_euronotsupported: upon startup of HiSax I get the error
|
|
"kernel hisax: protocol euro not supported"?
|
|
<label id="trouble_euronotsupported">
|
|
<p>
|
|
This means that you did not select the Euro Protocol ISDN DSS1 option when
|
|
compiling your kernel. You have to switch this on and recompile your
|
|
kernel to be able to use it.
|
|
|
|
<sect1> trouble_unknownprimitive: upon connection attempt I get the error
|
|
"lldata_handler unknown primitive"?
|
|
<label id="trouble_unknownprimitive">
|
|
<p>
|
|
This means that the link level protocols do not match (e.g. you tried to
|
|
connect with X.75, whereas your provider answers with HDLC). Check and
|
|
fix your connection parameters with:
|
|
<code>
|
|
isdnctrl l2_prot <interface> <protocol>
|
|
</code>
|
|
|
|
<sect1> trouble_notelrings: Neither my telephone nor my fax machine ring
|
|
when I call them with isdn4linux?
|
|
<label id="trouble_notelrings">
|
|
<p>
|
|
Isdn4linux sets &dquot;digital data&dquot; as it's own service when it
|
|
calls out. The switching station does in fact route such calls to analog
|
|
devices like a telephone or a fax machine. However, since the machine is
|
|
analog, it will only answer analog call, and ignore the digital data call.
|
|
|
|
<sect1> trouble_guestaccess: Are there sites that offer guest access where I
|
|
can test my isdn4linux setup?
|
|
<label id="trouble_guestaccess">
|
|
<p>
|
|
The following information is quite old. Please tell me if you find out that the
|
|
guest sites are not available any more:
|
|
|
|
The following sites offer guest access for modem emulation or IP:
|
|
<itemize>
|
|
<item>Eberhard Moenkeberg <tt><htmlurl url="mailto:emoenke@gwdg.de"
|
|
name="emoenke@gwdg.de"></tt>:
|
|
<itemize>
|
|
<item>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 &dquot;default&dquot; route is not your way.
|
|
/ftp is exported for NFS; try &dquot;showmount -e&dquot;.
|
|
You can login as &dquot;guest&dquot; without password.
|
|
FTP as &dquot;gast&dquot; with password &dquot;gast&dquot; avoids the
|
|
restricted shell.
|
|
<item>Under ++49-551-7704102, a 28800 bps modem and a Creatix ISDN
|
|
card (HDLC only, not X.75) are listening for logins.
|
|
<item>With the net setup from
|
|
<tt><url url="ftp://ftp.gwdg.de/pub/linux/isdn/isdn4linux-gwdg/rc.isdn-Beispiel"></tt>
|
|
you can test NetCall at 551-7704103 (works as is within Germany,
|
|
from outside Germany you just have to change the number).
|
|
</itemize>
|
|
|
|
<item>Gernot Zander <tt><htmlurl url="mailto:hifi@scorpio.in-berlin.de"
|
|
name="hifi@scorpio.in-berlin.de"></tt>:
|
|
<quote>
|
|
There's a &dquot;gast&dquot; 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 can use it. At ...81 03 there's a getty with
|
|
HDLC. As guest you enter a kind of BBS and can read some news.
|
|
</quote>
|
|
</itemize>
|
|
|
|
<sect1> trouble_unload: I can't unload my ISDN modules (&dquot;isdn: Device or
|
|
resource busy&dquot;), even so I closed all ISDN applications?
|
|
<label id="trouble_unload">
|
|
<p>
|
|
In this case &dquot;fuser -v /dev/isdn* /dev/ippp* /dev/cui* /dev/ttyI*&dquot;
|
|
is very helpful. This helpful program shows, which processes are using those
|
|
devices.
|
|
<itemize>
|
|
<item>Is some program still using an ISDN device?
|
|
<item>Did you remove all getty's? (They may have restarted automatically)
|
|
<item>Are isdnlog, imon, iprofd, etc., still running?
|
|
<item>Maybe there is still a route on your net interface and it's not yet
|
|
deleted with &dquot;route del xxx&dquot;?
|
|
<item>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
|
|
&dquot;kill -9 ipppd pid&dquot;. Then the net interface is left
|
|
&dquot;up&dquot;.
|
|
</itemize>
|
|
Sporadic errors of this type can be fixed by inserting sleep commands
|
|
between the unloading commands.
|
|
As a very, very last resort, there are two secret telesctrl commands to adjust
|
|
the module counter:
|
|
<code>
|
|
telesctrl id 3 1 --- dec module_count
|
|
telesctrl id 4 1 --- inc module_count
|
|
</code>
|
|
Please use with appropriate caution and on your own risk!
|
|
|
|
|
|
<sect1> trouble_tcpdump: Why does my tcpdump not work for ip packets going
|
|
over ISDN (&dquot;truncated ip&dquot; or so)? How can I get a tcpdump
|
|
patched for ISDN?
|
|
<label id="trouble_tcpdump">
|
|
<p>
|
|
The reason is that tcpdump does not always understand the special
|
|
encapsulations that are possible with isdn4linux, especially syncppp. To change
|
|
this, you need to patch tcpdump.
|
|
|
|
Michael Stiller <tt><htmlurl url="mailto:michael@toyland.ping.de"
|
|
name="michael@toyland.ping.de"></tt> wrote on 23 Oct 1996:
|
|
|
|
Tip for ftp:
|
|
|
|
<tt><url url="ftp://ftp.gwdg.de/pub/misc/isdn/linux/isdn4linux-gwdg"></tt>
|
|
|
|
There is the patch: &dquot;tcpdump-3.0.4-1-isdn.dif.gz&dquot;
|
|
|
|
and the rest is at:
|
|
|
|
/pub/linux/mirrors/funet/PEOPLE/Linus/net-source/tools/tcpdump-3.0.4-1.tar.gz
|
|
|
|
You might need to hack some, depending on the name of your ISDN interface
|
|
(mine is bri0). By default, it recognizes only isdn* and isdnY* as
|
|
interface names.
|
|
|
|
Henning Schmiedehausen <tt><htmlurl url="mailto:henning@pong.iconsult.com"
|
|
name="henning@pong.iconsult.com"></tt> further wrote on
|
|
30 Oct 1996:
|
|
<quote>
|
|
After finding the patch from Eberhard Moenkeberg at ftp.gwdg.de cannot
|
|
dump cisco HDLC, I made my own patch for tcpdump-3.0.4 that asks the
|
|
interface which encapsulation it used and sets itself accordingly. The
|
|
patch is against a tcpdump-3.0.4-1.tar.gz distribution, for example at
|
|
</quote>
|
|
<tt><url url="ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/tools"></tt>
|
|
<quote>
|
|
This patch recognizes rawIP, ISDN-IP and CISCO-HDLC and can
|
|
dump these packets.
|
|
</quote>
|
|
(The patch was attached to the message - it should be easy to find in the
|
|
mailing list archive - Ed.)
|
|
|
|
Sascha Ottolski <tt><htmlurl url="mailto:sascha@alzhimer.isdn.cs.tu-berlin.de"
|
|
name="sascha@alzhimer.isdn.cs.tu-berlin.de"></tt> gave the following
|
|
tip on 5 Nov 1996:
|
|
<quote>
|
|
This is a isdn4k-utils-2.0/tcpdump-3.0.3-isdn.diff ! It work,
|
|
if one makes some changes:
|
|
In the file tcpdump-3.0.3-isdn/libpcap-0.0/pcap-linux.c after patching
|
|
you find the following:
|
|
else if (strncmp(&dquot;ppp&dquot;, device, 3) == 0)
|
|
Either you name your ppp devices pppX instead of ipppX, or
|
|
change this line, e.g.
|
|
else if (strncmp(&dquot;ippp&dquot;, device, 4) == 0)
|
|
^^^^ ^^
|
|
Then tcpdump will also recognize syncPPP. At least it does for me.
|
|
</quote>
|
|
|
|
<sect1> trouble_locatecrash: My isdn driver crashes my machine! Since I've
|
|
configured it as a module, the addresses change each time it's loaded. How can
|
|
I find out where the driver is crashing?
|
|
<label id="trouble_locatecrash">
|
|
<p>
|
|
The driver should be loaded with the command &dquot;insmod -m&dquot;. The output
|
|
has to be transformed somewhat to be a form similar to System.map. You can do
|
|
it like this:
|
|
<code>
|
|
insmod -m isdn.o | sort | sed -e 's/ / T /g' |
|
|
egrep '.* T (a-z,A-Z,_)+' /etc/isdn/isdn.map
|
|
cat /System.map /etc/isdn/isdn.map /iSystem.map
|
|
</code>
|
|
(The line ending with &dquot;|&dquot; has to have the following text on
|
|
the same line!) iSystem.map should then be used instead of System.map for
|
|
finding the error.
|
|
|
|
<sect1> trouble_lotsdebug: My hard disk becomes very active when isdn4linux
|
|
run. How can I turn this off?
|
|
<label id="trouble_lotsdebug">
|
|
<p>
|
|
Check whether the reason for the hard disk activity is caused by the amount of
|
|
messages written into the logfile. If this is the case, you can reduce the
|
|
output by:
|
|
<code>isdnctrl verbose 0
|
|
</code>
|
|
and/or by removing the &dquot;debug&dquot; option for ipppd.
|
|
|
|
<sect1> trouble_oldhardware: Maybe my hardware is too slow?
|
|
<label id="trouble_oldhardware">
|
|
<p>
|
|
Actually, properly configured, isdn4linux will on much smaller machines, than
|
|
you might expect (still running an elder version on my 386-25, which used to
|
|
have only 4MB RAM). However, newer isdn4linux/kernel versions need more
|
|
memory, and may require some tweaking before they run on very old hardware.
|
|
Have a look at question <ref id="trouble_outofbuffers" name="trouble_outofbuffers">
|
|
when running out of buffers.
|
|
See question <ref id="trouble_littlememory" name="trouble_littlememory"> on how to reduce the amount of
|
|
memory needed.
|
|
|
|
<sect1> trouble_outofbuffers: I get messages like &dquot;HSCX RME out of
|
|
buffers&dquot;, &dquot;HSCX RFP out of buffers&dquot;, &dquot;HSCX B EXIR
|
|
10&dquot; in the syslog?
|
|
<label id="trouble_outofbuffers">
|
|
<p>
|
|
These errors happen when i4l is not able to process its buffers fast
|
|
enough. They are often caused by bad sound cards or their drivers when
|
|
they disable the interrupts too long! It may also happen on old hardware
|
|
(happened to the author of this FAQ when using <tt/vbox/ on an old 386-25 with
|
|
only 4MB RAM). You may be able to work around it by increasing the number and
|
|
size of the buffers. Check the source code header files for definitions like:
|
|
<code>
|
|
#define HSCX_RBUF_ORDER 1
|
|
#define HSCX_RBUF_BPPS 2
|
|
#define HSCX_RBUF_MAXPAGES 3
|
|
</code>
|
|
The first two influence the size, the last one the maximum number of buffers.
|
|
|
|
<sect1> trouble_noresetinit: After a soft reset, my card does not initialize
|
|
correctly.
|
|
<label id="trouble_noresetinit">
|
|
<p>
|
|
After you stopped your system with the <tt/reboot/ command or with
|
|
<tt/Ctrl-Alt-Del/, press the reset button (=hard reset). Sometimes the card
|
|
needs to receive a hardware signal to reinitialize properly.
|
|
|
|
|
|
<sect1> trouble_noisdnctrl: When attempting to use isdnctrl, I get the
|
|
error &dquot;/dev/isdnctrl: No such file or directory&dquot;?
|
|
<label id="trouble_noisdnctrl">
|
|
<p>
|
|
First check whether there is a device /dev/isdnctrl0. If there is, just
|
|
create a symbolic link by executing
|
|
<code>
|
|
ln -s /dev/isdnctrl0 /dev/isdnctrl
|
|
</code>
|
|
If the device is not there, run the script <tt>scripts/makedev.sh</tt>,
|
|
which is part of the isdn4k-utils.
|
|
|
|
|
|
<sect1> trouble_noisdnctrl2: When attempting to use isdnctrl, I get the
|
|
error &dquot;/dev/isdnctrl: No such device&dquot;?
|
|
<label id="trouble_noisdnctrl2">
|
|
<p>
|
|
In contrast to &dquot;/dev/isdnctrl: No such file or directory&dquot; the
|
|
message &dquot;/dev/isdnctrl: No such device&dquot; indicates that the
|
|
device /dev/isdnctrl exists, but no ISDN device driver is available.
|
|
To fix, load the ISDN modules (verify with &dquot;cat /proc/modules&dquot;
|
|
that they are loaded) or compile the ISDN drivers into the kernel.
|
|
|
|
|
|
<sect1> trouble_xosview: xosview doesn't show any network activity since
|
|
installing i4l.
|
|
<label id="trouble_xosview">
|
|
<p>
|
|
Peter Hettkamp <tt><htmlurl url="mailto:Peter.Hettkamp@kassel.netsurf.de"
|
|
name="Peter.Hettkamp@kassel.netsurf.de"></tt> wrote:
|
|
<quote>
|
|
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.)
|
|
</quote>
|
|
|
|
<sect1> trouble_unknownhost: When I for example from a W95 box call up a page
|
|
with Netscape, I only get the answer &dquot;unknown host&dquot;.
|
|
<label id="trouble_unknownhost">
|
|
<p>
|
|
What is entered on the &dquot;Win95 box&dquot; 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.
|
|
|
|
<sect1> trouble_noroute: Addresses are now found, but now I get &dquot;no route
|
|
to host&dquot;.
|
|
<label id="trouble_noroute">
|
|
<p>
|
|
Please check:
|
|
<itemize>
|
|
<item>Is the Linux computer entered as the gateway? (Some 'operating systems'
|
|
have to be restarted before changes to the networking take effect)?
|
|
<item>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 &dquot;doorknob&dquot;)
|
|
<item>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
|
|
<item>Maybe your route was removed when using syncppp? Check the questions
|
|
<ref id="syncppp_noroute" name="syncppp_noroute"> and
|
|
<ref id="syncppp_nodefaultroute" name="syncppp_nodefaultroute">.
|
|
</itemize>
|
|
|
|
<sect1> trouble_nolocalnet: After booting, my local network can no longer be
|
|
reached. I use the network interface ippp0 with ifconfig 0.0.0.0; the default
|
|
route points to ippp0.
|
|
<label id="trouble_nolocalnet">
|
|
<p>
|
|
Wolfgang Barth wrote on 5 Jan 1997:
|
|
<quote>
|
|
I've noticed that after the first connection via ippp0 that the local
|
|
network can again be reached. Then the address 0.0.0.0 is no longer
|
|
listed in ifconfig for ippp0, but instead the address assigned from
|
|
the pool by the PPP partner.
|
|
This was already discussed in de.comp.os.linux.networking, along
|
|
this possible solution:
|
|
Simply set ippp0 to a dummy IP number from the pool. Then the
|
|
local network will have problems after booting, even with the
|
|
default route, and the IP number in ifconfig will be overwritten
|
|
anyway.
|
|
</quote>
|
|
|
|
<sect1> trouble_unauthorizedcodechange: When HiSax starts, I get the
|
|
error messages 'Approval certification failed, unauthorized source code
|
|
changes'?
|
|
<label id="trouble_unauthorizedcodechange">
|
|
<p>
|
|
Since the certification of the HiSax driver is only valid for unchanged
|
|
source code, the source code is protected by a checksum. When you get this
|
|
message, then either you have changed the source code yourself, or the
|
|
author did not update the checksum when changing the source code (reason
|
|
could be that the complete certification tests have not yet been run on
|
|
the changed code).
|
|
|
|
<sect1> trouble_crcerror: How can I see the number of packets for HiSax with
|
|
invalid CRC?
|
|
<label id="trouble_crcerror">
|
|
<p>
|
|
With HiSax you can view the accumulated number of hardware CRC errors with:
|
|
<code>
|
|
hisaxctrl <id> 0 0
|
|
</code>
|
|
and reset them with:
|
|
<code>
|
|
hisaxctrl <id> 0 99
|
|
</code>
|
|
It is ok if you have the occasional CRC error, but if you see a lot of
|
|
errors then check your cable termination & connectivity.
|
|
|
|
|
|
<sect1> trouble_amproglibtool: When compiling isdn4k-utils I get the
|
|
error 'AM_PROG_LIBTOOL not found'?
|
|
<label id="trouble_amproglibtool">
|
|
<p>
|
|
You have to regenerate the files from automake/autoconf with your version of
|
|
automake/autoconf.
|
|
You can do it with the following shell script (assuming you
|
|
stored the source code for the isdn4k-utils under ~/isdn/isdn4k-util):
|
|
<code>
|
|
cd ~/isdn/isdn4k-utils
|
|
for i in capi20 capiinfo capifax capiinit rcapid ; do
|
|
cd $i
|
|
rm -f lt*
|
|
aclocal
|
|
libtoolize --force --automake --copy
|
|
automake --add-missing --copy
|
|
autoconf
|
|
cd ..
|
|
done
|
|
for i in eicon isdnlog ipppd ; do
|
|
cd $i
|
|
autoconf
|
|
cd ..
|
|
done
|
|
</code>
|
|
|
|
<sect1> trouble_hisaxparams: HiSax does not work - how can I set the
|
|
HiSax parameters for newer Linux kernels?
|
|
<label id="trouble_hisaxparams">
|
|
<p>
|
|
Unfortunately the udev/hotplug mechanism of current kernels (written in
|
|
November 2005) loads hisax without the needed parameters. To check whether
|
|
this is the issue of missing parameters unload the hisax module with rmmod:
|
|
<code>
|
|
rmmod hisax
|
|
</code>
|
|
then insert the kernel module with the correct parameters again, e.g.:
|
|
<code>
|
|
modprobe -v hisax type=35 protocol=2
|
|
</code>
|
|
In case this solves the issue, you can permanently fix it by providing the
|
|
needed parameters to the module loader, e.g. in /etc/modprobe.d/hisax on
|
|
a Suse distribution.
|
|
|
|
|
|
<!-- Config MSN
|
|
-->
|
|
|
|
<sect> msn: Configuration/MSNs
|
|
<label id="msn">
|
|
|
|
<sect1> msn_my1: What is my MSN? What if I don't have any?
|
|
<label id="msn_my1">
|
|
<p>
|
|
Your telephone company will tell you your MSN. It is your own telephone
|
|
number. Please note that you <bf/have/ to provide i4l with at least one MSN. If
|
|
you don't have any you can use `0', which is assumed if no MSN is transmitted
|
|
from your telephone company. Check section <ref id="countries"
|
|
name="countries">, together
|
|
with the following questions, on how to configure your MSN(s).
|
|
|
|
<sect1> msn_my2: How can I find out how my telephone number is transmitted
|
|
to the calling party?
|
|
<label id="msn_my2">
|
|
<p>
|
|
The transmitted MSN can simply be determined by calling yourself
|
|
(for example by telephone). In the log files you will find the
|
|
entry that looks like: &dquot;isdn_tty: call from XXX - YYY ignored&dquot;
|
|
(in order for this to work, you must of course already have the ISDN
|
|
drivers in your kernel and active).
|
|
|
|
<sect1> msn_config: How do I configure my MSN?
|
|
<label id="msn_config">
|
|
<p>
|
|
If your telephone number were 56789, then it would be configured as follows:
|
|
<itemize>
|
|
<item>Modem emulation: <tt>&dquot;AT&e56789&dquot;</tt>
|
|
<item>Network interfaces: <tt>&dquot;isdnctrl msn interface 56789&dquot;</tt>
|
|
<item>For test calls to yourself add the area code (e.g. 01234):
|
|
<code>
|
|
&dquot;isdnctrl addphone interface in 123456789&dquot; (without leading zero)
|
|
&dquot;isdnctrl addphone interface out 0123456789&dquot; (with leading zero)
|
|
</code>
|
|
</itemize>
|
|
You may find national differences here (check section <ref id="countries"
|
|
name="countries">).
|
|
|
|
|
|
<sect1> msn_max: How many MSNs as a maximum can I use for an isdn card?
|
|
<label id="msn_max">
|
|
<p>
|
|
For outgoing calls, at maximum one MSN can be used. Only incoming calls
|
|
may be configured to allow multiple MSNs.
|
|
|
|
For ttyI* devices, at a maximum you can listen to EVERY incoming MSN by
|
|
using the * as a wildcard:
|
|
<code>
|
|
at&l*
|
|
</code>
|
|
|
|
When you have a point-to-point connection you should rather specify the
|
|
length of your number area with as many times &dquot;?&dquot; as you
|
|
have digits, otherwise your number may be accepted too early on overlapping
|
|
receiving. I.e. for 3 digits use:
|
|
<code>
|
|
at&l???
|
|
</code>
|
|
|
|
For network devices, you can also use a '*' as a wildcard at the end of the
|
|
number for incoming calls (e.g. <tt>isdnctrl msn interface 123*</tt>).
|
|
However, this will create problems for outgoing calls. To handle such
|
|
a situation properly, please use the isdnctrl mapping feature
|
|
(see question <ref id="dialout_manycards" name="dialout_manycards">).
|
|
|
|
|
|
<sect1> msn_mindialin: How can I minimize usage of MSNs for digital data dialin?
|
|
<label id="msn_mindialin">
|
|
<p>
|
|
i4l gives priority to net interfaces. Therefore, you can get away with only
|
|
one MSN when you set it up like this:
|
|
<enum>
|
|
<item>Set up net interfaces (sync ppp, rawip) for all users that will want to
|
|
use them (ipppd or rawip), with their incoming phone number (precondition is
|
|
that it is transmitted).
|
|
<item>Set up ttyI* for all other users (X.75, async ppp).
|
|
<item>Set option `secure on'.
|
|
</enum>
|
|
i4l gives priority to net interfaces. `secure on' ensures that only users
|
|
that have been set up will be connected to a net interface. Users that want
|
|
to choose between both will have to use different outgoing MSNs to call you.
|
|
|
|
<sect1> msn_onlyone: How can I use one MSN for everything?
|
|
<label id="msn_onlyone">
|
|
<p>
|
|
|
|
In Germany, this is not much of an issue any more since you can get
|
|
10 MSN for free with Deutsche Telekom
|
|
(<url url="http://www.dtag.de/english/">). Other phone providers may offer
|
|
less MSN for free. In general, you can get at least 3 MSN. However,
|
|
minimizing MSN usage may still be very interesting for other countries
|
|
or if you have a large demand for numbers. On a normal ISDN bus with MSNs,
|
|
10 MSN per bus are the maximum. To get more numbers, your only alternative
|
|
would be to get a usually more expensive point-to-point ISDN connection.
|
|
|
|
Digital data dialin can easily be distinguished from voice/analog modem
|
|
dialin by the 'Service Recognition' code (&dquot;digital, data&dquot;).
|
|
|
|
For the differentiation between net interfaces (ipppd, rawip) and ttyI*
|
|
(X.75) see last question.
|
|
|
|
To get voice/analog modem to work in parallel, use mgetty for the analog
|
|
modem. Mgetty can handle analog data calls, faxes, and even voice calls as
|
|
answering machine if the modem supports it. Configure it for 10 rings. If
|
|
you take the phone and hear a fax or modem, send mgetty a USR1 signal (kill
|
|
-USR1 mgetty-pid). If your phone socket is correctly wired, the modem will
|
|
take over the connection, cutting off the phone. If you have an ISDN PBX
|
|
then you can forward the call to a different analog port when you picked up
|
|
a fax/modem call.
|
|
|
|
If your analog modem can not handle voice calls, then you have to
|
|
choose since incoming voice calls can not be distinguished from analog
|
|
fax/data calls. Use either VBOX to take your voice calls as an answering
|
|
machine. Or forget about voice calls and set up your modem to handle only
|
|
faxes and/or analog data calls.
|
|
|
|
<sect1> msn_buendel: Can I have several NTBAs, all with the same MSN?
|
|
<label id="msn_buendel">
|
|
<p>
|
|
Yes, but you need the cooperation of your telecommunication company. They
|
|
can set up several BRIs in Point-to-point mode that have the same MSN. In
|
|
Germany it is called a bundled line (`Bündelanschluß').
|
|
|
|
Please note that in such a case the MSN may not be transmitted to you. Just
|
|
use the default MSN 0 then.
|
|
|
|
|
|
<sect> lan: ISDN4LINUX in a LAN
|
|
<label id="lan">
|
|
|
|
<sect1> lan_config: How can I set up Linux so that other computers in my LAN can
|
|
access the internet via my Linux computer?
|
|
<label id="lan_config">
|
|
<p>
|
|
There are several possibilities:
|
|
<enum>
|
|
<item>Your LAN is an official Class C net with IP addresses valid on the Internet.
|
|
This case is the easiest of configure. You give each network card on your
|
|
network one of these addresses and set a default route on the ISDN card that
|
|
goes to your provider.
|
|
<item>You'd only like to do http in Internet from your LAN. In this case you
|
|
can make up IP addresses for your LAN; the only official IP address is that for
|
|
your ISDN card. Then install a proxy server on your Linux router, and enter it
|
|
in all of your browsers. In this case you do not need a default route.
|
|
<item>From your LAN you only want to log in to your Linux ISDN router and FROM
|
|
THERE do your work on the Internet. This is even simpler, then you don't even
|
|
need a proxy server.
|
|
<item>Use ip masquerading. This is the most comfortable one to use, but more
|
|
difficult to set up. The Linux computer acts as a gateway. The trick is that it
|
|
hides the ip addresses of the LAN, by giving its own internet address as
|
|
response address. When receiving the response, it will forward it to the
|
|
correct computer on the LAN. You can also use masquerading with dynamic ip
|
|
addresses. If you don't want to start the ISDN connection from the Linux
|
|
computer to your internet provider manually, then you can set up dial on demand
|
|
functionality (see section <ref id="dod" name="dod">).
|
|
</enum>
|
|
|
|
<sect1> lan_modemserver: How can forward ISDN data from a local computer in
|
|
my LAN to the ISDN card(s) in my Linux PC (like a modem server)?
|
|
<label id="lan_modemserver">
|
|
<p>
|
|
On the Linux PC you have to install a forwarding server.
|
|
One option is to use <tt>modemd</tt>. This is a very short perl script
|
|
(also see Linux Modem sharing mini-HOWTO at
|
|
<tt><url url="http://www.linuxdoc.org/HOWTO/mini/Linux-Modem-Sharing.html"></tt>):
|
|
<code>
|
|
#!/usr/bin/perl
|
|
select((select(STDOUT), $| = 1)[$[]);
|
|
select((select(STDIN), $| = 1)[$[]);
|
|
exec &dquot;cu&dquot;,&dquot;-E&dquot;,&dquot;''&dquot;, &dquot;-l&dquot;, &dquot;$ARGV[0]&dquot;;
|
|
die &dquot;$0: Cannot exec cu: $!\n&dquot;;
|
|
</code>
|
|
It has to be started by inetd, therefore this has to be added to
|
|
<tt>/etc/services</tt>:
|
|
<code>
|
|
modem 20006/tcp modemd # Modem service via TCP
|
|
isdn 20007/tcp modemd # ISDN service via TCP
|
|
</code>
|
|
And this has to be added to <tt>/etc/inet.conf</tt>:
|
|
<code>
|
|
modemd stream tcp nowait root /usr/sbin/tcpd /usr/sbin/modemd ttyI5
|
|
</code>
|
|
|
|
Instead of modemd you can also use the program <tt>mserver</tt>, which has
|
|
some additional functionality (e.g. rights based on ip address):
|
|
<tt><url url="ftp://ftp.innet.be/pub/staff/carl/"></tt>
|
|
|
|
Additionally, you need some software on your non-ISDN computer which emulates a
|
|
serial port, but redirects it via telnet to the Linux ISDN computer.
|
|
Some telnet clients allow this functionality (e.g. some uucicos).
|
|
If you generally want to offer all applications a kind of &dquot;remote COM
|
|
port&dquot;, then there is COMT for Windows (95), and
|
|
&dquot;telser.device&dquot; for Amigas. Disadvantage of COMT: it is only
|
|
visible to ancient 16bit Win applications, and not even working in the DOS box.
|
|
Another program is DialOut/IP, but it's fairly expensive ($70).
|
|
|
|
COMT may be found on Simtel:
|
|
<tt><url url="http://educom.sce.fct.unl.pt/ftp/pub/shareware/win-utils/comt2.zip"></tt>
|
|
|
|
DialOut/IP can be found on:
|
|
<tt><url url="http://tacticalsoftware.com"></tt>
|
|
|
|
Those who just want to save their CrossPoint installation should be aware that
|
|
it now offers tcp modem support, such that it will run without additional
|
|
software. Check out:
|
|
<tt><url url="http://www.openxp.de"></tt>
|
|
|
|
<sect1> lan_remotedialing: How can I allow the users in my LAN to trigger
|
|
a dial out via the ISDN card(s) in my Linux PC?
|
|
<label id="lan_remotedialing">
|
|
<p>
|
|
For this you need two pieces of software. At the computer where the ISDN-line
|
|
is connected you need to install a <tt>dial daemon</tt>. The dial daemon
|
|
will execute any dial commands given from a <tt>dial frontend</tt> located on
|
|
a different computer on the LAN. You have several options to choose a dial
|
|
daemon and dial frontend.
|
|
<enum>
|
|
<item>
|
|
At first you can use the free software <tt>smpppd</tt> (SuSE Meta PPP
|
|
Daemon) from SuSE as the dial daemon. smpppd gets used in the SuSE distribution
|
|
for all ISDN, Modem and DSL connections. You can connect to smpppd locally or
|
|
over a LAN via different dial frontends and trigger dial-out, hang-up and so
|
|
on. The most known dial frontend is kinternet a small applet for the KDE
|
|
Kicker. Others are the qt-only qinternet and the command line tool cinternet.
|
|
Unfortunately there is no frontend for Windows or Mac OS available.
|
|
|
|
Obviously this is the easiest way if you already have SuSE installed on the
|
|
server, and all other involved computers are also based on Linux (installation
|
|
of the dial frontend should not be too difficult with non-SuSE distributions).
|
|
Some more hints:
|
|
<itemize>
|
|
<item>The software is available in SuSE-Linux within the packages smpppd,
|
|
kinternet and qinternet, see <url url="http://www.opensuse.org">
|
|
<item>In order to allow smpppd listening into the LAN change the following
|
|
two options in /etc/smpppd.conf (see also "man smpppd.conf"):
|
|
<code>
|
|
open-inet-socket = yes # (default is no)
|
|
bind-address = <IP> # IP of the LAN-network-card of the dial in server;
|
|
# default is listening on all network cards (!)
|
|
</code>
|
|
<item>On the client side you can either enter the dial server via GUI or via
|
|
/etc/smpppd-c.conf (see also "man smpppd-c.conf").
|
|
</itemize>
|
|
<item>
|
|
Another free software solution working the same way is <tt>LineControl</tt>.
|
|
It has a dial daemon (linesrv) which you can configure dialing different
|
|
connections (similar to smpppd) be it ISDN, Modem, DSL or another dial-out
|
|
connection. Dial frontends are available for Linux (one for KDE and one for
|
|
Gnome), Windows and Java.
|
|
Some more hints:
|
|
<itemize>
|
|
<item>The software and tutorials can be found at
|
|
<url url="http://linecontrol.srf.ch/">
|
|
<item>The config files is located at <tt>/etc/linesrv.conf</tt>
|
|
(the relevant configuration options are similar to that of smpppd)
|
|
<item>Several dial and hang up scripts where you can define the system
|
|
commands how to dial/hang up certain connections are below
|
|
<tt>/etc/linesrv/</tt>
|
|
<item>In order to have the linesrv daemon running at system start of your
|
|
server you also need to enter it in your system start configuration.
|
|
<item>On the client side you now can enter the dial server via GUI in one of
|
|
the frontends and dial/hang up a connection configured at the server.
|
|
</itemize>
|
|
</enum>
|
|
|
|
|
|
<!-- Dialout
|
|
-->
|
|
|
|
<sect> dialout: Configuration of Dial-Out
|
|
<label id="dialout">
|
|
|
|
<sect1> dialout_config: How do I configure dialout properly?
|
|
<label id="dialout_config">
|
|
<p>
|
|
First you have to decide on how you want to dial out. You will have to
|
|
use whatever your counterpart requires. These are your main options:
|
|
<itemize>
|
|
<item> Sync PPP: This is what most Internet Service Provider expect
|
|
from you. See section <ref id="syncppp" name="syncppp">.
|
|
<item> Async PPP: May also be handled by your Internet Service
|
|
Provider. Use when Sync PPP does not work for you. See section
|
|
<ref id="asyncppp" name="asyncppp">.
|
|
<item> Raw IP: Most efficient for TCP/IP over ISDN. It has very quick
|
|
dialouts, but is not as common. See section <ref id="rawip" name="rawip">.
|
|
<item> X.75: This is what you need to dial into an ISDN mailbox. See
|
|
section <ref id="ttyI" name="ttyI">.
|
|
<item> Leased line: For this special case, see section
|
|
<ref id="leased" name="leased">.
|
|
</itemize>
|
|
|
|
Have a look on section <ref id="dod" name="dod"> on how to configure dial on
|
|
demand - and on the dangers attached to it.
|
|
|
|
For more advanced dialout features see question
|
|
<ref id="dialout_advanced" name="dialout_advanced">.
|
|
|
|
Also you may have a look at section <ref id="remote" name="remote">
|
|
when you try to connect to a special remote ISDN device.
|
|
|
|
<sect1> dialout_dialmode: When an IP packet should go over the link (which
|
|
usually triggers a dialout), all I see in the log is: &dquot;dial rejected:
|
|
interface not in dialmode <tt/auto/&dquot;?
|
|
<label id="dialout_dialmode">
|
|
<p>
|
|
The new ISDN drivers in 2.0.36 defaults to manual dialmode, not
|
|
autodial. This is done to prevent unexpected (and unnoticed) dialouts.
|
|
(See the big section about those and their dangers: <ref id="dod" name="dod">).
|
|
To enable autodial for a given interface e.g. ippp0, use
|
|
<code>isdnctrl dialmode ippp0 auto</code>
|
|
|
|
The meaning of the values for dialmode is:
|
|
<descrip>
|
|
<tag/off/
|
|
means that you (or the system) cannot make any connection
|
|
(neither incoming nor outgoing connections are possible). Use
|
|
this if you want to be sure that no connections will be made.
|
|
|
|
<tag/auto/
|
|
means that the interface is in auto-dial mode, and will
|
|
attempt to make a connection whenever a network data packet needs
|
|
the interface's link. Note that this can cause unexpected dialouts,
|
|
and lead to a high phone bill! Some daemons or other pc's that use
|
|
this interface can cause this.
|
|
Incoming connections are also possible.
|
|
|
|
<tag/manual/
|
|
(DEFAULT) is a dial mode created to prevent the unexpected dialouts.
|
|
In this mode, the interface will never make any connections on its
|
|
own. You must explicitly initiate a connection with:
|
|
<code>isdnctrl dial ippp0</code>
|
|
To end the connection, use:
|
|
<code>isdnctrl hangup ippp0</code>
|
|
Please note that the <tt/huptimeout/ may still end the connection
|
|
automatically! To ensure that you have to hang up manually, you have to switch
|
|
this off:
|
|
<code>isdnctrl huptimeout ippp0 0</code>
|
|
</descrip>
|
|
|
|
To allow a normal user to initiate a dialout, have a look at question
|
|
<ref id="dialout_permission" name="dialout_permission">.
|
|
|
|
<sect1> dialout_advanced: What special dialout features are available?
|
|
<label id="dialout_advanced">
|
|
<p>
|
|
Check out these special dialout features:
|
|
<itemize>
|
|
<item> Save money by hanging up just before a charge unit:
|
|
see section <ref id="chargeint" name="chargeint">.
|
|
<item> Dialout on more than 1 channel at the same time:
|
|
see section <ref id="2channel" name="2channel">.
|
|
<item> Dialout on one specific channel:
|
|
see question <ref id="dialout_fixedchannel" name="dialout_fixedchannel">.
|
|
<item> Callback:
|
|
see section <ref id="callback" name="callback">.
|
|
</itemize>
|
|
|
|
<sect1> dialout_permission: How can I allow a normal user to initiate dialouts?
|
|
<label id="dialout_permission">
|
|
<p>
|
|
ISDN usage depends on the permissions to the devices <tt>/dev/ttyI*</tt> and
|
|
<tt>/dev/cui*</tt>. You have several choices to selectively allow users to do
|
|
ISDN transactions.
|
|
<enum>
|
|
<item>You can establish the group `isdn' in <tt>/etc/group</tt>, and do:
|
|
<code>
|
|
chgrp isdn /dev/ttyI* /dev/cui*
|
|
chmod o-rw /dev/ttyI* /dev/cui*
|
|
</code>
|
|
It has been reported that you also may have to change group and
|
|
permissions on the programs <tt/ipppd/ and <tt/isdnctrl/ to 'isdn'.
|
|
Then all users not in the group 'isdn' have no reading or writing
|
|
privileges for the ISDN ttys. Those allowed to use ISDN have to be
|
|
explicitly added to the group 'isdn'.
|
|
<item>You can allow only root to log out, but set up exceptions for other users
|
|
with the su1 functionality (see man su1). As root edit
|
|
<tt>/etc/su1.priv</tt>. Add these lines if they (or similar ones) are not yet
|
|
there, to allow users XXXX and YYYY to initiate dialups/hangups:
|
|
<code>
|
|
# log all dialouts in syslog
|
|
syslog all
|
|
define PPPUSER XXXX YYYY
|
|
alias dial /sbin/isdnctrl dial ippp0
|
|
alias hangup /sbin/isdnctrl hangup ippp0
|
|
ask never
|
|
allow PPPUSER prefix dial
|
|
allow PPPUSER prefix hangup
|
|
</code>
|
|
Then create two links for dial and hangup:
|
|
<code>
|
|
ln -s /usr/bin/su1 /usr/local/bin/dial
|
|
ln -s /usr/bin/su1 /usr/local/bin/hangup
|
|
</code>
|
|
Now the users XXXX and YYYY can dial out by typing <tt/dial/, and hangup with
|
|
<tt/hangup/.
|
|
<item>isdnctrl can be set SETUID root. Please not that if it is called by a
|
|
user different from root, isdnctrl will only allow you to dialin/hangup,
|
|
and addlink/removelink/show. However, the setup/configuration data can only be
|
|
modified by root.
|
|
<item>If you only have one user that you use for ISDN interactions, you can
|
|
make him owner of the ISDN interface.
|
|
</enum>
|
|
|
|
<sect1> dialout_manycards: How do I configure dialout with more than 1 ISDN
|
|
card?
|
|
<label id="dialout_manycards">
|
|
<p>
|
|
There are several possibilities to configure dialout.
|
|
<itemize>
|
|
<item>Dialout anywhere (default: all available cards are a pool, dialout
|
|
on one MSN):
|
|
just configure your cards in the order in which you want them to be dialed out.
|
|
First all channels on the first card are used, then all on the second card,
|
|
and so on. Please note that the net interface or ttyI device will try to
|
|
dial out using the MSN it was configured for - on all cards. Even on those
|
|
that do not have this MSN! In such a case, the telco will replace that
|
|
invalid MSN with the correct one. Use <tt/isdnctrl mapping/ to configure the
|
|
correct MSNs (see item 'dialout on one specific card').
|
|
<item>Dialout on one specific channel: Use the <tt/isdnctrl bind/
|
|
(not pppbind) command to specify which channel should be used.
|
|
Please use this command after all other configuration with isdnctrl has
|
|
been done! Check with <tt/isdnctrl list/ that the binding actually works.
|
|
<item> Dialout with different MSN on each card:
|
|
You can configure this by using the <tt/isdnctrl mappping/ functionality.
|
|
Just map MSNs on the letters 0 to 9, like this:
|
|
<code>
|
|
isdnctrl mapping <carddriver1> 111,222,333,,
|
|
isdnctrl mapping <carddriver2> 999,888,,777
|
|
</code>
|
|
Now, you could configure for telephone number 0 when you really want to use
|
|
MSN 111 on <carddriver1> or 999 on <carddriver2> (however, since
|
|
0 has a special meaning, try to avoid using number 0). Configure to use
|
|
number 1 when you really want to use MSN 222 on <carddriver1> or 888
|
|
on <carddriver2>. Configure to use telephone number 2 when you really
|
|
want to use only MSN 333 on <carddriver1> (<carddriver2> will
|
|
use the default MSN when used). Configure to use telephone number 3 when you
|
|
really want to use only MSN 777 on <carddriver2> (<carddriver1>
|
|
will use the default MSN when used).
|
|
<item>Dialout on one specific card:
|
|
After installing a patch that was posted by Karsten Keil on the mailing
|
|
list against 2.2.12, you can disallow calls on some cards by using the
|
|
<tt/isdnctrl mapping/ functionality.
|
|
<code>
|
|
isdnctrl mapping <carddriver1> 111,222,333,-,
|
|
isdnctrl mapping <carddriver2> 999,888,-,777
|
|
</code>
|
|
It works as discribed for "Dialout with different MSN on each card", except
|
|
that the "-" means dialing is disallowed. Dialout on telephone number 2 will
|
|
now only dial out with MSN 333 on <carddriver1>, while dialout on 3 will
|
|
now only dial out with MSN 777 on <carddriver2>.
|
|
</itemize>
|
|
|
|
<sect1> dialout_fixedchannel: How can I force HiSax to always dial out on
|
|
a specific B channel?
|
|
<label id="dialout_fixedchannel">
|
|
<p>
|
|
HiSax has an undocumented feature for this. Add 'P1' in front of the dialout
|
|
phone number for the first B channel, or 'P2' for the second B channel, like
|
|
this:
|
|
<code>
|
|
isdnctrl addphone <device> out P1<your_out_number>
|
|
</code>
|
|
This will indicate the preferred B channel in the outgoing SETUP message.
|
|
Please note that some PBX may not like this.
|
|
Obviously, a dialout will fail when another device already uses
|
|
the second B channel.
|
|
|
|
<sect1> dialout_dynip: On dynamic ip assignment, how do I find out which ip
|
|
address is being used for dialout?
|
|
<label id="dialout_dynip">
|
|
<p>
|
|
Create a script called <tt>ip-up</tt>. It will be called by the ipppd
|
|
whenever the connection is established with several parameters.
|
|
The ip address is passed in as the fourth parameter (access it as <tt>$4</tt>).
|
|
|
|
<sect1> dialout_bind: A dns query causes bind to dial out. Why does it take
|
|
about a minute before it is answered? How do I work around it?
|
|
<label id="dialout_bind">
|
|
<p>
|
|
You are probably using the name server in 'forward' mode, and your ISP works
|
|
with dynamic ip addresses. The initial UDP query will be lost since it
|
|
carries the wrong source address. Unfortunately, bind will wait a whole minute
|
|
before retransmitting the query again if you have only one forwarder.
|
|
|
|
As a workaround, you can enter 4 times the same forwarder in named.conf
|
|
to adjust retransmission timing (in 'forward' mode, bind retransmits its
|
|
queries after the following period of time: 60 seconds divided by the number
|
|
of nameservers given in the section "forwarders" of named.conf).
|
|
<code>
|
|
forwarders { 10.0.0.40; 10.0.0.40; 10.0.0.40; 10.0.0.40; }
|
|
</code>
|
|
Bind will then retransmit the query every 15 seconds to your forwarder
|
|
(here the forwarder is 10.0.0.40).
|
|
The same principle applies to two or more forwarders.
|
|
|
|
Another option are the programs <tt/ip_resend/ and <tt/ip_resend_wakeup/
|
|
which you can find on:
|
|
<url url="http://www.baty.hanse.de/ip_resend/">
|
|
|
|
|
|
<!-- Authenticate properly
|
|
-->
|
|
<sect> pap: Authenticate properly (especially with PAP)
|
|
<label id="pap">
|
|
|
|
<sect1> pap_optionauth: When dialing out, I get the message &dquot;pppd: peer
|
|
authentication required but no authentication files accessible.&dquot;
|
|
What does this mean?
|
|
<label id="pap_optionauth">
|
|
<p>
|
|
Most likely the option &dquot;auth&dquot; was set by mistake. Then the
|
|
<em>other</em> side is required to be authorized.
|
|
|
|
<sect1> pap_requestauth: I cannot establish a connection - it's rejected by the
|
|
other side. In the log file I find a message that's something like: &dquot;sent
|
|
(0) (LCP ConfReq id=0x1 mru 1500 auth pap magic 0xcd12e9c4&dquot;
|
|
<label id="pap_requestauth">
|
|
<p>
|
|
Like in the last question, an option has been set that requires the
|
|
<em>other</em> side to be authorized. These options shouldn't be set.
|
|
Possible candidates are: &dquot;+pap&dquot; as well as &dquot;+chap&dquot;.
|
|
|
|
<sect1> pap_rejectauth: I cannot establish a connection - it's rejected by the
|
|
other side. In the log file I find a message that's something like:
|
|
&dquot;sent (0) (LCP ConfRej id=0x1 auth pap&dquot;
|
|
<label id="pap_rejectauth">
|
|
<p>
|
|
Your computer is refusing to identify itself with user name (e.g. XXX)
|
|
and password (e.g. YYY). That only works with the authorization options
|
|
&dquot;user XXX&dquot; and &dquot;remotename YYY&dquot; for ipppd or pppd
|
|
together with a correct (!) /etc/ppp/pap-secrets. With a password of ZZZ it
|
|
should ideally look like this:
|
|
<code>
|
|
XXX YYY ZZZ *
|
|
</code>
|
|
If you have special characters in XXX, YYY, or ZZZ, try to use quotes
|
|
around them. If that doesn't work for getting XXX or YYY correct, you can
|
|
use wild cards, something like:
|
|
<code>
|
|
* * ZZZ *
|
|
</code>
|
|
Then <em>every</em> partner has the password ZZZ. If chap is required
|
|
for authorization, then /etc/ppp/chap-secrets must be set up correctly.
|
|
Important: the format is different from that of pap-secrets!
|
|
One important point is to use only the tabulator instead of space to
|
|
separate username, computer, password.
|
|
Make sure to consult the README's, or check out:
|
|
<tt><url url="http://www.lrz-muenchen.de/˜ui161ab/www/isdn/"></tt>
|
|
Also have a look at the next question: <ref id="pap_passwd" name="pap_passwd">.
|
|
|
|
<sect1> pap_checkpwd: How can I check which password is actually sent to
|
|
the remote side?
|
|
<label id="pap_checkpwd">
|
|
<p>
|
|
Use the options <tt/debug/ and <tt/+pwlog/ for ipppd or pppd. Then you can
|
|
see your password in the log file.
|
|
|
|
<sect1> pap_passwd: I have problems with PAP or CHAP authentication. It does
|
|
not work although I'm sure I entered passwords etc. correctly.
|
|
<label id="pap_passwd">
|
|
<p>
|
|
Stefan A. Muehlenweg <tt><htmlurl url="mailto:Stefan.A.Muehlenweg@samhh.hanse.de"
|
|
name="Stefan.A.Muehlenweg@samhh.hanse.de"></tt> wrote on
|
|
4 Oct 1996:
|
|
<quote>
|
|
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 addresses). BUT: after the third
|
|
entry were some BLANKs. After removing the trailing BLANKs and/or TABs
|
|
(i)pppd is now very satisfied with my auth-files.
|
|
</quote>
|
|
A further source of problems can be the password itself. If it contains
|
|
the &dquot;#&dquot; character, then everything after than is understood as a
|
|
comment. Spaces or tabs can cause similar problems. Solution: put
|
|
the password in quotes!
|
|
|
|
|
|
<!-- Config Sync PPP
|
|
-->
|
|
|
|
<sect> syncppp: Sync PPP
|
|
<label id="syncppp">
|
|
|
|
<sect1> syncppp_whichppp: pppd, ipppd, syncPPP, asyncPPP .. what is they?
|
|
Which should I use?
|
|
<label id="syncppp_whichppp">
|
|
<p>
|
|
See this question in the <em/asnyc PPP/; section:
|
|
<ref id="asyncppp_whichppp" name="asyncppp_whichppp">.
|
|
|
|
|
|
<sect1> syncppp_compile: How do I compile isdn4linux with syncPPP?
|
|
<label id="syncppp_compile">
|
|
<p>
|
|
To compile the kernel with syncPPP included in ISDN4Linux, you have to answer
|
|
the appropriate questions with &dquot;yes&dquot;. 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 for elder kernels and does not work reliably - however, the
|
|
support should still be included in the kernel, since there can otherwise
|
|
be side effects.)
|
|
|
|
<sect1> syncppp_netinterface: How should I name my network interface?
|
|
<label id="syncppp_netinterface">
|
|
<p>
|
|
The name of the network interface should <em>always</em> begin with
|
|
&dquot;ippp&dquot;, <em>not</em> with &dquot;syncppp&dquot; or
|
|
&dquot;isdn&dquot;; otherwise the communication with ipppd will not work
|
|
correctly. Please note that at least one of the interfaces has to be
|
|
&dquot;ippp0&dquot;, otherwise ipppd will not start. Check your
|
|
interfaces with the command <tt>ifconfig</tt>.
|
|
|
|
<sect1> syncppp_config: How do I configure isdn4linux with syncPPP?
|
|
<label id="syncppp_config">
|
|
<p>
|
|
Synchronous PPP is simply another encapsulation for ISDN4Linux. This
|
|
encapsulation is called &dquot;syncppp&dquot;. Here is an example to
|
|
configure the link level device ippp0:
|
|
<code>
|
|
/sbin/isdnctrl addif ippp0
|
|
/sbin/isdnctrl encap ippp0 syncppp
|
|
</code>
|
|
Please note that syncppp is very peculiar about the names of the device.
|
|
Only devices starting with &dquot;ippp&dquot; will work, at least one
|
|
interface has to be named ippp0 (see question <ref id="syncppp_netinterface" name="syncppp_netinterface">
|
|
for details).
|
|
All ippp* devices in use must be configured separately. Each ippp* device
|
|
should be assigned to its own IP address (routing!). Several ippp* devices can
|
|
be assigned to a single MSN. Several callers can then simultaneously use
|
|
this MSN.
|
|
|
|
To use these devices you need the program <tt/ipppd/, which you have to
|
|
configure. You have to start ipppd once after the modules are installed. ipppd
|
|
needs to be constantly running to allow dialout/dialin. It communicates with
|
|
the isdn4linux link level devices through <tt>/dev/ippp0</tt> to
|
|
<tt>/dev/ippp63</tt>. 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. As a result, <tt/ipppd/ provides the network device
|
|
<tt>ippp0</tt>, which can be checked with ifconfig (even so it has the same
|
|
name, the network device <tt/ippp0/ is not to be confused with
|
|
<tt>/dev/ippp0</tt> which is used for communication between ipppd and link
|
|
level.
|
|
|
|
ipppd has an additional option: &dquot;useifip&dquot; 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.) For the beginning,
|
|
disable all compression (lzs/stac, bsd, van jacobson), later you can try to
|
|
enable it (see question <ref id="syncppp_compression" name="syncppp_compression">).
|
|
|
|
It is very important to set up the authentication information
|
|
properly. Improper authentication is probably the most frequently
|
|
reported problem on the mailing list. Please, work through section
|
|
<ref id="pap" name="pap"> completely yourself, before asking others for
|
|
help.
|
|
|
|
You can find an example configuration in the file <tt>etc/rc.isdn.syncppp</tt>
|
|
in the isdn4kernel-util package.
|
|
|
|
You can also run several ipppds to allow for different configurations,
|
|
in such a case use the <tt>&dquot;isdnctrl pppbind"</tt>
|
|
functionality. However, normally one ipppd is meant to handle all traffic,
|
|
so it is highly recommended to only set up several ipppds if their
|
|
configuration has to be different.
|
|
|
|
<sect1> syncppp_busy: How can I tell if a connection is unsuccessful (busy)?
|
|
<label id="syncppp_busy">
|
|
<p>
|
|
When giving the option <tt/defaultroute/, then you can wait a few seconds, then
|
|
check whether the default route exists. Another way, when giving option
|
|
<tt>useifip</tt> is to check whether you find entries like <tt>&dquot;Local IP:
|
|
x.y.z.a&dquot;</tt> and/or <tt>&dquot;Remote IP: x.y.z.a&dquot;</tt> in syslog.
|
|
In either case, the connection is up.
|
|
|
|
<sect1> syncppp_logindelay: How can I reduce login delay?
|
|
<label id="syncppp_logindelay">
|
|
<p>
|
|
You can write out a login session with (&dquot;Debug-Log&dquot;), and see which
|
|
options the other computer is refusing. Next time, configure ipppd
|
|
without these unused options. A further side effect is that such
|
|
unused options increase the redundance (e.g. when the other computer
|
|
has bugs and refuses the options incorrectly). To create a log file,
|
|
see &dquot;How to I create a log for ipppd&dquot;.
|
|
|
|
<sect1> syncppp_2configs: 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.
|
|
<label id="syncppp_2configs">
|
|
<p>
|
|
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
|
|
<code>
|
|
isdnctrl pppbind interface Number
|
|
</code>
|
|
you can link the interface interface to the device ipppNummer. You can
|
|
release the link with &dquot;pppunbind&dquot;.
|
|
|
|
<sect1> syncppp_pppbind: How does the (little-documented) &dquot;pppbind&dquot;
|
|
command in isdnctrl work?
|
|
<label id="syncppp_pppbind">
|
|
<p>
|
|
You have to first know how ipppd gets its data. All data that come in
|
|
over the ISDN line is received by the network devices (these are
|
|
set up with isdnctrl). Then the data given to one of the /dev/ippp*
|
|
devices - to one where a ipppd daemon is waiting for data.
|
|
|
|
To the network interfaces, all ipppd's appear to be able to handle the
|
|
just-received data - therefore it is normally impossible to predict
|
|
which ipppd will receive data from which network interface.
|
|
|
|
In practice, you usually install several ipppd's with differing
|
|
configurations. Each of these should receive data <em>exclusively</em>
|
|
from a certain network interface (that has also be specially configured).
|
|
The &dquot;pppdbind&dquot; command serves just this purpose. With:
|
|
<code>
|
|
&dquot;isdnctrl pppbind interface number&dquot;
|
|
</code>
|
|
attaches the interface interface to the device /dev/ipppnumber.
|
|
|
|
Example: To attach the interface &dquot;ippp5&dquot; to /dev/ippp2, the
|
|
following configuration should be used:
|
|
<code>
|
|
&dquot;isdnctrl pppbind ippp5 2&dquot;
|
|
</code>
|
|
Similarly, the command &dquot;pppunbind&dquot; will undo this attachment.
|
|
|
|
<sect1> syncppp_dynip: I want to use dynamic IP address assignment. How must I
|
|
configure the network device?
|
|
<label id="syncppp_dynip">
|
|
<p>
|
|
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 will close 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.:
|
|
<code>
|
|
/sbin/ipppd :$REMOTE noipdefault /dev/ippp0
|
|
</code>
|
|
where REMOTE must be the address of the remote machine (the machine giving
|
|
your address to you)
|
|
|
|
<sect1> syncppp_msgetdns: How do I configure ipppd to obtain or provide the
|
|
nameserver address at dial in?
|
|
<label id="syncppp_msgetdns">
|
|
<p>
|
|
Use the configuration option <tt/ms-get-dns/ to obtain the nameserver ip
|
|
address when you dial up your internet provider. Use <tt/ms-dns/ to
|
|
publish the nameserver ip address when someone dials up your ipppd.
|
|
|
|
<sect1> syncppp_ipx: How can I do IPX over ipppd?
|
|
<label id="syncppp_ipx">
|
|
<p>
|
|
Give the option <tt/+ipx-protocol/ to the ipppd.
|
|
|
|
<sect1> syncppp_faster: How can I increase my PPP data transfer rates?
|
|
<label id="syncppp_faster">
|
|
<p>
|
|
You can establish more channels with MPPP (see the MPPP section). Another way
|
|
is to use compression, see question
|
|
<ref id="syncppp_compression" name="syncppp_compression">.
|
|
|
|
<sect1> syncppp_compression: Which compressions can I use with ipppd?
|
|
<label id="syncppp_compression">
|
|
<p>
|
|
Several compressions can now be used with ipppd. However, if in doubt and
|
|
it does not work: disable it.
|
|
<itemize>
|
|
<item><em>Van Jacobson compression</em> (header compression).
|
|
Should work fine now for current kernels (later than 2.2.14). To use it you
|
|
have to compile it into the kernel. To get around some problems with
|
|
automatic loading of the VJ module try to also compile SLIP and CSLIP
|
|
into the kernel. Disable with options <tt>&dquot;-vj -vjccomp&dquot;</tt>.
|
|
<item><em>BSD compression</em>.
|
|
Seems to work quite well if your peer supports it. It is independent
|
|
of Van Jacobson compression, so you can use them both together.
|
|
<item><em>LZS compression</em> (sometimes also
|
|
called <em>Stac compression</em>).
|
|
Also works quite well. To enable it, some manual work has to be done to add
|
|
the code to the ipppd (see the isdn4k-util package).
|
|
</itemize>
|
|
|
|
|
|
<!-- Trouble ipppd
|
|
-->
|
|
|
|
<sect1> syncppp_strategy: I can't get a connect. How can I find out where the
|
|
problem is?
|
|
<label id="syncppp_strategy">
|
|
<p>
|
|
The output of ipppd is very helpful... (see next question:
|
|
<ref id="syncppp_log" name="syncppp_log">)
|
|
<itemize>
|
|
<item>Have a look at the error messages and see the following questions...
|
|
<item>Check whether you can find a few &dquot;LCP-conf-req SENT&dquot; messages
|
|
(less than ten) and then a &dquot;TERM-REF&dquot;.
|
|
<item>Check whether the ISDN card was configured properly. It seems the
|
|
computer doesn't dial (IRQ, IO, protocol wrong?)
|
|
<item>At least a few &dquot;RECV&dquot; messages: good! The card is dialing and
|
|
your dialin computer tries to communicate. Maybe the pap/chap authentication
|
|
doesn't work (see question <ref id="pap" name="pap">). Check the ipppd
|
|
configuration!
|
|
<item>The message that ipppd was exited for some reason: not so good!
|
|
Check <tt>/var/log/messages</tt>, <tt>/var/log/debug</tt>, and
|
|
<tt>/var/adm/daemon</tt> (if existing). Could be a bug in ipppd.
|
|
<item>The error/cause E0010 is <bf/NOT/ an error! It is just the informal
|
|
message that the call has ended.
|
|
</itemize>
|
|
|
|
<sect1> syncppp_log: How can I get a log for ipppd?
|
|
<label id="syncppp_log">
|
|
<p>
|
|
Normally when giving the option "debug" to ipppd, the debbuging output
|
|
may be logged in <tt>/var/log/messages</tt>, <tt>/var/log/debug</tt>, or
|
|
<tt>/var/adm/daemon</tt> (depends on your distribution, look around).
|
|
|
|
For debugging purposes you can redirect the PPP log into a separate file.
|
|
Just edit <tt>/etc/syslog.conf</tt> and add the following line (caution:
|
|
do NOT use blanks or tabs - check "man syslog.conf(5)" for more details):
|
|
<code>
|
|
daemon.* /var/log/ppp-log
|
|
</code>
|
|
then every information from PPP demon will be logged to /var/log/ppp-log.
|
|
Emil Stephan <tt><htmlurl url="mailto:ste@esqhen.su.eunet.de"
|
|
name="ste@esqhen.su.eunet.de"></tt> also wrote:
|
|
<verb>
|
|
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 &dquot;kill -1 pid of
|
|
syslogd&dquot;.
|
|
The output in /tmp/debug can be used to optimize the handshaking of
|
|
PPP options.
|
|
</verb>
|
|
|
|
<sect1> syncppp_nopppsupport: Starting ipppd I get the error message
|
|
&dquot;this systems lacks ppp support&dquot; or &dquot;isdn driver is out
|
|
of date. maybe ippp0 has no syncppp0 encapsulation&dquot;.
|
|
<label id="syncppp_nopppsupport">
|
|
<p>
|
|
Check whether the device &dquot;ippp0&dquot; exists (i.e. with the program
|
|
&dquot;ifconfig&dquot;). See question
|
|
<ref id="syncppp_netinterface" name="syncppp_netinterface">
|
|
for details on the naming conventions for net interfaces.
|
|
The ipppd *needs* this device with exactly *that* name and *syncppp*
|
|
encapsulation. If it doesn't exist then you have to define it:
|
|
<code>
|
|
isdnctrl addif ippp0
|
|
isdnctrl encap ippp0 syncppp
|
|
(see i4l documentation or question
|
|
<ref id="syncppp_config" name="syncppp_config"> for more information...)
|
|
</code>
|
|
Maybe you compiled ipppd with the source of another kernel that you are not
|
|
using...
|
|
|
|
<sect1> syncppp_nousabledevice: When I try to start ipppd it says &dquot;Can't
|
|
find usable ippp device&dquot;
|
|
<label id="syncppp_nousabledevice">
|
|
<p>
|
|
This message occurs when the linklevel interface is told to dial out, but ipppd
|
|
is not running, or not available.
|
|
|
|
<sect1> syncppp_starterror: When I start ipppd, I only get error messages from
|
|
the i4l driver.
|
|
<label id="syncppp_starterror">
|
|
<p>
|
|
When ipppd is started, it calls functions that can trigger a network
|
|
packet (e.g. gethostbyname()). Without ipppd (since at this time, ipppd
|
|
it has not been fully started), this network access cannot be processed,
|
|
You should try to put the needed hostnames in the local /etc/hosts or
|
|
in some way define the name so that it can be resolved without having
|
|
the access the ISDN/ippp interface.
|
|
|
|
<sect1> syncppp_framesdelayed: I get the message <tt>IP frames delayed</tt> -
|
|
but no connection.
|
|
<label id="syncppp_framesdelayed">
|
|
<p>
|
|
Have you really dialed out? Check question
|
|
<ref id="dialout_dialmode" name="dialout_dialmode"> and your configuration on the
|
|
different dialmodes.
|
|
|
|
<sect1> syncppp_noroute: I cannot dial out with <tt>isdnctrl dial
|
|
ippp0</tt>. It seems as if the route to ipppd is missing although I <bf/did/
|
|
set it (<tt>network unreachable</tt>). With my old kernel 2.0 everything works
|
|
fine!
|
|
<label id="syncppp_noroute">
|
|
<p>
|
|
In the newer kernels you have to place <tt>route</tt> as the very last command
|
|
before the dialout command. Otherwise the kernel will delete the route.
|
|
|
|
<sect1> syncppp_nodefaultroute: After ipppd dials out my default route is gone.
|
|
<label id="syncppp_nodefaultroute">
|
|
<p>
|
|
It's the kernel's fault. Newer kernels (= 2.0.x) have some changes in the
|
|
routing. Workaround: install a script /etc/ppp/ip-up like this:
|
|
<code>
|
|
#!/bin/sh
|
|
/sbin/route add default ippp*
|
|
</code>
|
|
Please note, that for 2.2.x kernel, you should NOT do this (routing has changed
|
|
yet again). Instead, give the "defaultroute" option to ipppd.
|
|
|
|
If you make your connections manually, can use something like this script:
|
|
<code>
|
|
/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 &dquot;\a Usage: 'isdn on' or 'isdn off'&dquot;
|
|
;;
|
|
esac
|
|
</code>
|
|
Please note, that for 2.2.x kernel, you should NOT use the
|
|
<tt>route add default</tt>, and <tt>route del default</tt> commands.
|
|
Instead, give the "defaultroute" option to ipppd.
|
|
|
|
<sect1> syncppp_packettoolarge: I often get the error message
|
|
<tt>hscx_empty_fifo: incoming packet too large</tt>
|
|
<label id="syncppp_packettoolarge">
|
|
<p>
|
|
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 &dquot;Why should
|
|
I avoid IRQ 12 and 15 for my ISDN card?&dquot;.
|
|
Another problem can be `#' characters in your pap-secrets file. In this
|
|
case you have to surround user name and/or password with quotation marks
|
|
(depending on which one is affected).
|
|
|
|
<sect1> syncppp_slow: The connection with ipppd seems to work, but eventually it
|
|
crashes or is very slow.
|
|
<label id="syncppp_slow">
|
|
<p>
|
|
It could be that some compression is activated (that i4l can't
|
|
handle properly). Common error: &dquot;-vj&dquot; has to be used *additionally*
|
|
to &dquot;-vjccomp&dquot; (to completely switch 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. Therefore, you
|
|
should switch off all compression options (see also question
|
|
<ref id="syncppp_compression" name="syncppp_compression">). Also giving the
|
|
option &dquot;noccp&dquot; can help.
|
|
|
|
<sect1> syncppp_loadproblem: I only have problems with ipppd when the
|
|
connection is being heavily burdened. Then everything stops. What could be
|
|
causing this?
|
|
<label id="syncppp_loadproblem">
|
|
<p>
|
|
Sven Engelhardt <tt><htmlurl url="mailto:sven@sik.de"
|
|
name="sven@sik.de"></tt> wrote on 12 Dec 1996:
|
|
<quote>
|
|
We are an ISP here in Dresden and use Linux (among other systems)
|
|
for our access (with I4L as well as with external terminal adapters).
|
|
We have this problem mostly with Windows 95 and NT customers who
|
|
are using the &dquot;included&dquot; (modem network) software. It doesn't make
|
|
any difference whether the customer is dialing with async or sync PPP.
|
|
It also doesn't matter which modem emulation he is using on his side.
|
|
What they have in common is that the connection is made with Microsoft
|
|
modem adapter + Microsoft PPP (although a colleague recently told me
|
|
about a similar problem with a Macintosh customer).
|
|
Since it doesn't matter to PPP who is the server and who is the
|
|
client, ask your ISP what kind of hardware you are dialing into (we
|
|
have had no problems with Linux customers and Trumpet Winsock
|
|
users, therefore I suspect a bug in MS-PPP).
|
|
The following workaround usually works for us: (it's not a cure,
|
|
but helps to reduce the pain...)
|
|
* Reduce the Max MTU to 576 or even (296)
|
|
* Reduce the DefaultRcvWindow to 2144
|
|
On the Windows 95 side these are 2 Registry entries; on the Linux
|
|
side you can set &dquot;mtu 576&dquot; and &dquot;mru 576&dquot; in the PPP
|
|
options. (See also: <tt><url url="http://www.winfiles.com/connect/trouble.html"></tt>)
|
|
</quote>
|
|
|
|
Erik Corry <tt><htmlurl url="mailto:ec@sign-tronic.dk"
|
|
name="ec@sign-tronic.dk"></tt> added on 16 Dec 1996:
|
|
<quote>
|
|
For me, neither PPP compression option nor mru/mtu 296 helped.
|
|
What did help was the AT command:
|
|
AT&B512
|
|
that limits the sent packets to 512 bytes.
|
|
</quote>
|
|
|
|
<sect1> syncppp_mtu: My ipppd works, but I keep getting the message pppd(104):
|
|
ioctl(SIOCSIFMTU): Invalid argument&dquot;?
|
|
<label id="syncppp_mtu">
|
|
<p>
|
|
If mtu is not set, then a default value is assumed - possibly &dquot;0&dquot;
|
|
(which of course cannot be correct). Add <tt>&dquot;mtu 1024&dquot;</tt> to
|
|
your ipppd options (1500 could also be ok).
|
|
|
|
<sect1> syncppp_1stpacket: The first IP packet gets lost on automatic dialout
|
|
with dynamic IP address allocation.
|
|
<label id="syncppp_1stpacket">
|
|
<p>
|
|
There are some dialout problems in connection with syncPPP 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 have the wrong response ip address and will therefore never
|
|
receive an answer. The problem is that this may cause multiple dialouts
|
|
(see section <ref id="dod" name="dod">). Possible solutions:
|
|
<itemize>
|
|
<item>Dial out manually with &dquot;isdnctrl dial ippp*&dquot;
|
|
<item>Use diald to control when the connection goes up or down.
|
|
<item>Get a permanent IP address
|
|
<item>A workaround is included in the newest kernels, which can be
|
|
activated like this:
|
|
<code>
|
|
echo 7 > /proc/sys/net/ipv4/ip_dynaddr
|
|
</code>
|
|
(use 5 instad of 7 to not get warnings into /var/log/messages)
|
|
If you have a SuSE distribution, this workaround can also be configured by
|
|
setting <tt/IP_DYNIP=&dquot;yes&dquot;/ in <tt>/etc/rc.config</tt>.
|
|
<item>Increase the number of retries on your Windows machine for setting
|
|
up the connection. Change the registry entry
|
|
<tt>Hkey_Local_Machine\\System\\CurrentControlSet\\Services\\VxD\\MSTCP\\MaxConnectRetries</tt>
|
|
from 3 to a larger value (e.g. 5 or 7).
|
|
</itemize>
|
|
|
|
<sect1> syncppp_droppacket: What does the message &dquot;No phone number,
|
|
packet dropped&dquot; mean?
|
|
<label id="syncppp_droppacket">
|
|
<p>
|
|
Michael Engert <tt><htmlurl url="mailto:michi@bello.wor.de"
|
|
name="michi@bello.wor.de"></tt> wrote in Nov/Dec 1996:
|
|
|
|
That means that your computer has an IP packet from somewhat who was
|
|
logged on a few seconds before, but has since broken the connection.
|
|
Your computer tries to send this packet on and finds an appropriate
|
|
route. But the interface isdn(0|1|...) can't reach the other computer,
|
|
since it has no telephone number to dial.
|
|
|
|
<sect1> syncppp_leadingzero: Why does my ipppd dial one too many zeros
|
|
(<tt>&dquot;ippp0: dialing 0 089XXXXXX...&dquot;</tt>)? I don't have any
|
|
extensions!
|
|
<label id="syncppp_leadingzero">
|
|
<p>
|
|
The first zero is not dialed. It only shows the retry counter, which is related
|
|
to the <tt/isdnctrl dialmax/ parameter.
|
|
|
|
<sect1> syncppp_ethfake: My ISDN device is shown with HWaddr and IRQ=0 and
|
|
base address = 0 when I list it with ifconfig
|
|
<label id="syncppp_ethfake">
|
|
<p>
|
|
The ISDN device fakes an Ethernet device. It ignores IRQ and baseaddr and
|
|
just needs the HWaddr for the Ethernet encapsulation.
|
|
|
|
<sect1> syncppp_lzsproblem: I get an error message like <tt>kernel check for
|
|
lzs failed</tt>?
|
|
<label id="syncppp_lzsproblem">
|
|
<p>
|
|
This means that ipppd tries to use lzs compression, but can't find a
|
|
compiled module which contains the code. The error message is only cosmetic,
|
|
since the system will still work fine. Either disable lzs compression by
|
|
providing <tt>noccp</tt> as an option for ipppd, or compile and load the
|
|
lzs module.
|
|
|
|
|
|
<!-- Config Async PPP
|
|
-->
|
|
|
|
<sect> asyncppp: Configuration Async PPP
|
|
<label id="asyncppp">
|
|
|
|
<sect1> asyncppp_whichppp: pppd, ipppd, async PPP, sync PPP - what are they?
|
|
Which should I use?
|
|
<label id="asyncppp_whichppp">
|
|
& |