ISDN

[ home --> isdn --> isdn4k-utils --> X.75/UUCP --> HDLC/PPP --> voicemail --> miscellaneous --> links ]

ISDN and Linux

This document should describe the entire process of installing ISDN under Linux. I currently use a Teles BRI 16.3 (non-PNP) internal ISDN adapter, with the HiSax drivers.

I have completed the installation of ISDN in several steps:

  1. Install the hardware
  2. Obtain the software
  3. Linux kernel changes:
  4. Install the isdn4k-utils package
  5. Set up an X.75 (terminal) link (for UUCP as well)
  6. Set up an HDLC (PPP) link
  7. Set up voicemail
  8. Miscellaneous software
For more information, check the ISDN-related links. Some relevant phone numbers (for example, those of my ISP IAEhv) are mentioned below.

Hardware

Install the Teles ISDN card (I use irq 15, address 0x180). Connect to the S0 bus. That's it ;)

Software

Make sure you have a complete kernel source tree available, correctly installed (e.g. Linux 2.0.29). It seems that kernel 2.0.30 does not work reliably with ISDN!

Get isdn4linux and HiSax from ftp://ftp.franken.de/pub/isdn4linux/.

Read the HiSax documentation; in the version I use [19970420], HiSax is implemented as a set of patches (isdn4kernel-2.0.29, isdn4kernel-2.0.29.1, isdn4kernel-2.0.29.2, isdn4kernel-2.0.29.3 and isdn4kernel-2.0.29.4) to the kernel source tree.

Note: the newer kernels already include the HiSax driver, so those kernel patches are no longer needed. You can skip to kernel configuration.

Patch the kernel

For ISDN support, several patches need to be applied to your kernel source tree (/usr/src/linux). Apply the patches as follows:
    cat /tmp/isdn4kernel-2.0.29   |patch -p1 >& /tmp/patch.log
    cat /tmp/isdn4kernel-2.0.29.1 |patch -p1 >& /tmp/patch1.log
    cat /tmp/isdn4kernel-2.0.29.2 |patch -p1 >& /tmp/patch2.log
    cat /tmp/isdn4kernel-2.0.29.3 |patch -p1 >& /tmp/patch3.log
    cat /tmp/isdn4kernel-2.0.29.4 |patch -p1 >& /tmp/patch4.log
(substitute zcat for cat if you use the .gz patch files)

Check the patch-logfiles for anomalies. Read the documentation under /usr/src/linux/Documentation/isdn/. I mean it! H2(Configure the kernel) Start kernel configuration using make menuconfig or make xconfig (some of you may even enjoy the normal make config, but I've switched to make menuconfig and don't regret it).

Install the kernel

After configuration, the kernel (and the modules) need to be compiled and installed.
    make clean ; make dep
    make zImage
    make modules ; make modules_install
Next, reboot and enjoy (hopefully).

Test the new kernel

Try the HiSax module using:
    modprobe hisax type=3 protocol=2 io=0x180 irq=15
The protocol used here is Euro-ISDN. You should see entries like the following appear in /var/log/messages:
Apr 20 20:14:30 hal kernel: HiSax: Driver for Siemens chip set ISDN cards
Apr 20 20:14:30 hal kernel: HiSax: Version 2.0
Apr 20 20:14:30 hal kernel: HiSax: Revisions 1.8/1.7/1.6/1.24/1.6
Apr 20 20:14:30 hal kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
Apr 20 20:14:30 hal kernel: HiSax: Teles IO driver Rev. 1.8
Apr 20 20:14:48 hal kernel: HiSax: Driver for Siemens chip set ISDN cards
Apr 20 20:14:48 hal kernel: HiSax: Version 2.0
Apr 20 20:14:48 hal kernel: HiSax: Revisions 1.8/1.7/1.6/1.24/1.6
Apr 20 20:14:48 hal kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
Apr 20 20:14:48 hal kernel: HiSax: Teles IO driver Rev. 1.8
Apr 20 20:14:51 hal kernel: HiSax: Driver for Siemens chip set ISDN cards
Apr 20 20:14:51 hal kernel: HiSax: Version 2.0
Apr 20 20:14:51 hal kernel: HiSax: Revisions 1.8/1.7/1.6/1.24/1.6
Apr 20 20:14:51 hal kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
Apr 20 20:14:51 hal kernel: HiSax: Teles IO driver Rev. 1.8
Apr 20 20:14:51 hal kernel: HiSax: Teles 16.3 config irq:15 isac:980  cfg:d80
Apr 20 20:14:51 hal kernel: HiSax: hscx A:180  hscx B:580
Apr 20 20:14:51 hal kernel: Teles3: HSCX version A: V2.1  B: V2.1
Apr 20 20:14:51 hal kernel: Teles3: ISAC 2086/2186 V1.1
Apr 20 20:14:51 hal kernel: HiSax: DSS1 Rev. 1.12
Apr 20 20:14:51 hal kernel: HiSax: 2 channels added
Apr 20 20:14:51 hal kernel: HiSax: module installed
Now, if you have more than one number, call some of your MSNs (called EAZ in Germany) from your telephone, and see if /var/log/messages logs lines like:
Apr 20 20:16:40 hal kernel: isdn_tty: call from 402345670 -> 402345671 ignored
Apr 20 20:18:14 hal kernel: isdn_tty: call from 402345670 -> 402345672 ignored
If you see similar lines, the low-level stuff (hardware and basic drivers) seem to be functioning. Now would be the time to make Linux automatically load HiSax on bootup:

Add to /etc/rc.d/rc.modules (near the top):

    # Parallel port (printer) support:
    /sbin/modprobe lp

    # Teles 16.3 ISDN (HiSax) support:
    /sbin/modprobe hisax type=3 protocol=2 io=0x180 irq=15

Phone numbers

The Netherlands PTT has test numbers for ISDN:

026 - 355 7771
026 - 355 7772

This is an automatic ISDN Answering Machine (Speech plus dialback). Call this number from your ISDN line, and a canned woman's voice will answer.

The PTT also operates a Support Server (for their own ISDN packs, containing the Teles), phone number 071 331 7513.

My provider, Internet Access Eindhoven, has ISDN dialin numbers:

040 - 260 6606 for HDLC/PPP
040 - 296 0392 for X.75/V.110/V.120

Duovox hints and tips

When using multiple Duovox units, each one must be programmed with a unique ID (1..9). The default ID is 1.
*92*pin*id#

top$Id: index.m4,v 1.2 1999/04/26 12:22:24 ed Exp $

Sending unsolicited (commercial) email
to any address on these pages strictly prohibited!

Caught in a frame? Go to http://www.iaehv.nl/users/evoncken/index.html
Questions? Remarks? Contact Ed Voncken evoncken@iaehv.nl