TITLE:		ISDN4LFS
LFS VERSION:	2.4.4+
AUTHOR:		Max Schattauer <smax@smaximum.de>

SYNOPSIS:
	Getting ISDN4LINUX to work with LFS

HINT:
ver 1.3 06/18/2001


TABLE OF CONTENTS
=================


1. Introduction
2. Software
3. Card Setup
4. Links


1. Introduction
===============

Setting up a working ISDN system has always caused a major trouble, although it
really isn't that complicated. The purpose of this hint is to help you set up a
working dial-in interface. This hint just covers the dial-in with dynamic IPs,
I haven't worked out how to set it up with static IPs yet.


2. Software
===========

You need the latest version of isdn4linux, which is available from 
ftp://isdn4linux.de/pub/isdn4linux/utils.

For the usage of isdnlog you'll need gdbm (1.80), available at any gnu-mirror.


3. System Setup
===============

Make sure your kernel supports ISDN, synchronous ppp, general networking
support, EURO/DSS1.

Load modules slhc, isdn and hisax in that order. Note that hisax might require
irq and io parameters, like in my case (avm fritz) I would use 

modprobe hisax io=0x200 irq=4 id=hisax protocol=2 type=5

Refer to /usr/src/linux/Documentation/isdn/README.hisax for more information on
these options, putting that info in here would somewhat exceed the scope of
this hint.

If you want to use isdnlog install gdbm now.

After you loaded the modules you have to install isdn4linux utils. Do make 
config to configure its options. You need ippp, hisaxctrl and isdnctrl, 
everything else should be optional. After you finished the configure script
should be executed. If it fails in building the FAQ, edit the makefile and 
comment that out, should be fine though. Do make and make install to install
isdn4linux.


These commands are used to actually set up the device (very rudimentary!):

isdnctrl addif ippp0
isdnctrl eaz ippp0 <yourmsnhere>
isdnctrl dialmode ippp0 manual|auto|off (whatever you prefer)
isdnctrl dialmax ippp0 3    (or set any another number)
isdnctrl l2_prot ippp0 hdlc
isdnctrl encap ippp0 syncppp
isdnctrl huptimeout ippp0 <timeout in sec.>
isdnctrl pppbind ippp0 0
isdnctrl addphone ippp0 out <number to dial>
ifconfig ippp0 1.1.1.1 up


Next we have to set up the ipppd. Check if the ipppd is installed. Calling
ipppd should give you something like ipppd: Can't open options file 
/etc/ppp/ioptions: No such file or directory. That's fine, since its config
file isn't installed right now. It should go into /etc/ppp/ioptions and look
like this:

# Begin /etc/ppp/ioptions

/dev/ippp0
name <username>
ipcp-accept-local
ipcp-accept-remote
noipdefault
defaultroute
-vj
-vjccomp
-ac
-pc
-bsdcomp
mru 1524
mtu 1500
lcp-restart 3

# End /etc/ppp/ioptions


Create /etc/ppp/pap-secrets and /etc/ppp/chap-secrets. Both have the same
content. They should look like:

<username> * <password>

Start the ipppd now. 

Now you shoud be able to do isdnctrl dial ippp0. You can check what's going on
by executing imon, the isdn monitor. If you get any errors check
/var/log/sys.log. Error messages should go in here.

To actually do ping www.whatever.com set up your /etc/resolv.conf with

nameserver <namerserver ip>

It might be a good idea to write a little boot-script to execute the commands
stated above at boottime. 

4. Links
========

http://www.isdn4linux.de/faq/

http://www.tu-harburg.de/dlhp/HOWTO/DE-ISDN-HOWTO.html 
(german only. I don't know if there's any english translation)


Hope this helps :)

Thanks on creating this hint apply to the following people

Shine <shine@shinewelt.de>
joe
chemical
various people from #LFS
