Connecting Unix to Demon

Connecting to Demon Internet using SUN's ISDN

Martin Hargreaves (martin@datamodl.demon.co.uk) - Dec 1996


This documents describes only the set up I know to work - it should also work with other SunISDN configurations, but I'm not able to test it.

This wouldn't have worked without help from Richard Skelton (Richard.Skelton@brake.demon.co.uk).


This Configuration

SPARCstation LX running:

The machine initially had 16 Mb of RAM, but later was upgraded to 48 Mb. ISDN works OK in 16 Mb under Solaris 2.5.1, but older, more memory hungry versions of Solaris may not.

The SPARCstation LX, Voyager and SPARCstation 10 have builtin ISDN via their "DBRI" chip. Other machines will need an ISDN card. I'm assuming that the rest of this will work the same for those machines with ISDN cards.

The LX has two ISDN ports at the back, connect these to the BT "box-on-the-wall" using normal UTP cabling. I used CAT5, but apparently it doesn't much matter. I only connected one channel, as I use the second channel for other things. That's the hardware part.

How it works

This provides a dial on demand link to Demon. For checking email fingering nodename@post.demon.co.uk will bring up the link and the Demon end will then start to send mail.

Command line FTP to ftp.demon.co.uk reports about 8 KB per second for large files and everything else seems similarly fast.

Since I'm using CDE I use the "dtmail" program for mail, although this is very similar to the OpenWindows "mailtool".

This machine has a name which is different to it's Demon name. It is named via it's hostname.le0, which calls it "muppet". It's demon nodename is "datamodl". This causes sendmail some confusion and needs to be worked around. This workaround for mail allows the rest of the system to behave sensibly, rather than having the same name for two network interfaces which confuses it immensely.

It also acts as a gateway to an internal LAN. Since you can't get any more IP addresses from Demon for internal LANs I use numbers on network 10. I.e. 10.10.10.1, 10.10.10.2, etc. It's not possible to route packets from the internal LAN to Demon as they don't have real IP addresses, so the replies never come back. It _is_ possible to have the SPARC run proxies so that internal requests appear to come from it. Currently I have a proxy in for News access (I like Free Agent), and mail can be picked up via POP3 from the SPARC if necessary, personally I prefer dtmail.

ISDN Setup

Getting Sun ISDN 1.0.3

First you need to obtain Sun ISDN 1.0.3. This can be either bought via SunExpress - in which case you get manuals, or downloaded from Sun's WWW site - in which case you don't pay for it. I downloaded it.

It can be obtained from:

<URL:http://www.sun.com/products-n-solutions/hw/ISDN/isdndload_mailer.pl.cgi>

and is 3.84 MB compressed or 2.52 Mb gzipped. There's also a 69K file containing release notes in PostScript . That's not extremely useful however. The heading says "Drivers" but it it the package you need.

There's also a form to fill in (should you want to) before downloading:

<URL:http://www.sun.com/products-n-solutions/hw/ISDN/isdnform.html>

Which relates to upgrading existing versions of Sun ISDN 1.0.3. I'm not sure if Sun intended to charge for this product or not. If this worries you buy it from SunExpress (they're on 0800 89 88 88).

Don't use versions of Sun ISDN other than 1.0.3, I haven't, but I've heard no end of bad things about them. Some versions will not co-exist with normal Sun PPP.

Getting Patch 103356-01

This doesn't seem to be a publically available patch, so you'll need to be a Sun support customer (or know one). In which case it should be on SunSolve, and is certainly on SunSolve Online (at <URL:http://sunsolve.sun.com/>).

Installing Sun ISDN 1.0.3

Uncompress and untar the Sun ISDN package into a scratch directory. This will create a directory called "isdn_1.0.3_fcs", the "fcs" apparently standing for "First Customer Shipment", hence the patch. You'll need about 10 Meg to unpack this into. The same again under /opt to actually install to.

Go into this directory and have a look around. There's a patches subdirectory containing a libc patch for Solaris 2.4 and earlier. I run 2.5.1 so have no idea what difference this makes to Sun ISDN on other versions. If it applies to you, I'd install it - it's probably there for a reason.

To install the packages be in the directory with the "Copyright" file and to a "pkgadd -d .". When the list of choices comes up say "all" and then hold the systems hand as it asks you multiple times if you're sure.

Installing the patch

Uncompress and untar the file containing patch 103356-01 and go into the directory it creates. There should be a readme file but all you need to do is "./installpatch ." and say yes when it asks you if you're sure (lots of times).

At the end of this you should have an installation that looks like mine.

The output of "pkginfo | grep -i isdn" looks like:

application SUNWisdn       SunISDN User Programs and Switch Software
application SUNWisdnh      SunISDN Interface Developer Source Code
application SUNWisdni      SunISDN IP/PPP over ISDN Connection Manager
application SUNWisdni.2    SunISDN IP/PPP over ISDN Connection Manager
system      SUNWisdnk      SunISDN PPP Kernel Drivers and Modules
application SUNWisdnm      SunISDN Loadable Binary Interface Modules
application SUNWisdnm.2    SunISDN Loadable Binary Interface Modules
application SUNWisdnu      SunISDN Utilities (Graphical User Interface)
application SUNWisdnu.2    SunISDN Utilities (Graphical User Interface)
and the output of "showrev -p" looks like:

Patch: 103356-01  Obsoletes:   Packages: SUNWisdnk 1.0.3,PATCH=1, 
SUNWisdni.2 1.0.3,PATCH=1, SUNWisdnm.2 1.0.3,PATCH=1, 
SUNWisdnu.2 1.0.3,PATCH=1

Although you may also have other patches listed here.

Configuring

The software now lives under /opt/SUNWisdn. The most useful things are /opt/SUNWisdn/tools/isdntool - a graphical application for configuring ISDN, and /opt/SUNWisdn/bin/path_stat - which tells you the state of the ISDN link.

I'll go through the "isdntool" configuration I have and then include the actual config file itself. Using "isdntool" (you must be root):

Isdntool has four button and some menus. Go to the Configure menu and choose "ISDN".

That's it. Go to the Configure menu and choose "PPP"

In the "Name" field create a new entry called "Demon" and click "Add". A window pops up with loads of things to fill in. Here's what mine say:

IP Interface Dialogue

Name                  =  Demon
Source Name           =  (Your Demon IP address)
Destination Name      =  158.152.1.222
IP Netmask            =  +
Interface Type        =  point-to-point
Interface Number      =  0
Private               =  Unchecked
Default Route         =  Dynamic

Connection Dialogue

Encapsulation         =  PPP
Header Compressions   =  VJ (checked)
Data Compression      =  off (Demon don't support it)
Inactivity Timeout    =  240
IP Setup Timeout      =  120
All "Special Parameters" are unchecked.

Security Dialogue

Security Card                 =  Unchecked
They Authenticate Us With     =  Pap
We Authenticate Them With     =  None
PAP ID                        =  (Your Demon Nodename)
PAP Password                  =  (You Demon Password)
All else is blank

Phone Dialogue

Number to Call     = (Your demon dialup number but with 667 at the end not 666)
Subaddress         = Unchecked
Physical Interface = any
Profile            = A
Service            = data64

Advanced Options Dialogue

Bandwidth Controller  = unchecked (greys out lots of stuff)
Enable MP             = unchecked ( ditto )
Restart Timer         = 3000
MRU                   = 1500
Max Restarts          = 10
Use Caller ID         = unchecked
Custom Network        = nil

Routing Dialogue

Route Command         = route add net 158.152.0.0 (your Demon IP address) 0

That's it. Say OK to the window and go to the "Troubleshooting" window. This lets you bring up debug windows. Bring up the ones you fancy and hit the "Restart" button on isdntool. From a shell window (once ISDN has started OK) kill your sendmail daemon (unless it's already configured correctly) and FTP to ftp.demon.co.uk to test it. It should be very fast.

Here's my config file, it lives in /etc/opt/SUNWisdn and is called isppp.cf


#================================================================
#      This file is automatically generated by isdntool.        =
#      Please don't edit this manually                          =
#================================================================
#
version 1               
#
use_caller_id   off      
#================================================================
#      This file is automatically generated by isdntool.        =
#      Please don't edit this manually                          =
#================================================================
#       demon
ifconfig isptp0 plumb YOUR_DEMON_IP_ADDRESS 158.152.1.222 netmask + up
isdn_path
        name                     demon
        interface                isptp0
        default_route
        lcp_encapsulation        PPP
        ipcp_compression         vj
        bandwidth_controller     off
        inactivity_timeout       240
        ipsetup_timeout          120
        hunt_mode                off
        negotiate_address        off
        will_do_authentication   pap
        require_authentication   off
        pap_id                   YOUR_DEMON_NODENAME
        pap_password             YOUR_DEMON_PASSWORD
        called_number YOUR_DEMON_ISDN_DIALUP_NUMBER 1 any    A
data64
        restart_timer            3000
        max_restarts             10
        lcp_mru                  1500
        network                  nil
route add net 158.152.0.0 YOUR_DEMON_IP_ADDRESS 0
#
#       End of demon

The phone number to use for ISDN calls to Demon is the number you use for normal Demon calls, except that ending in 666 it ends in 667.


Last modified: Sun Jan 12 20:29:21 GMT 1997