Teaching OpenBSD 2.8 ISDN
Table of Content
1 - Introduction
ISDN support for various BSD flavours was done by Hellmuth
Michaelis and is called isdn4bsd or short
i4b. Isdn4bsd is integrated part of FreeBSD since FreeBSD 3.0
and is to be integrated into NetBSD soon. Sadly the isdn4bsd
package does not support OpenBSD 2.6 or newer -- Hellmuth had
to drop OpenBSD support due to lack of time. Thats the point
this page kicks in: here you'll find a patched i4b packet which
applies cleanly to OpenBSD 2.8 and enables full ISDN support on
OpenBSD.
2 - Supported hardware
ISA-Karten:
- Teles S0/8 or Niccy 1008
- Teles S0/16 or Creatix ISDN-S0 or Niccy 1016 (tested)
- Teles S0/16.3 (tested)
- AVM A1 or AVM Fritz!Card (tested)
- USRobotics Sportster ISDN TA intern
- Teles S0/16.3 PnP
- Creatix ISDN-S0 P&P
PCI-Karten:
- ELSA QuickStep 1000
- AVM Fritz!Card PCI (tested)
Kernel PPP does not work right now, but uerlevel PPP offers
much more features (channel-bundling, dialin support, etc.) and
works fine for me. You'll need to compile your own userlevel
ppp daemon since the version OpenBSD is shipping does not
support HDLC or isdnd-signaling.
3 - Downloading files
This stuff applies against OpenBSD 2.8 (actually
OpenBSD-20010116) and Isdn4BSD-00.90.00-beta-111299.
As stated earlier you need to compile a new version of the
userlevel ppp daemon since the one OpenBSD is shipping does not
support HDLC and isdnd signaling.
4 - Step by step installation
# cd /usr/src
# tar -xzf ~/i4b-0.90.0-OpenBSD-20010116.tar.gz # unpack patched i4b sources
# cd i4b/OpenBSD
# more INSTALL # READ !
# sh ./install-openbsd.sh
# cd /dev; sh /usr/src/i4b/OpenBSD/MAKEDEV.i4b all
# [EDIT YOUR KERNEL CONFIG] && [BUILD KERNEL] && [INSTALL KERNEL]
# cd /usr/src/i4b
# cp -Rp machine /usr/include/i4b # IMPORTANT !
# cd /root
# tar -xzf ppp-20000608-OpenBSD.tar.gz # unpack patched ppp sources
# cd ppp-OpenBSD
# make && make install
Reboot, read 'man ppp', 'man isdnd', 'man isdnd.rc' etc.
Setting up a PPP link over ISDN is just like setting up a PPP
link over a modem execep two entries in your
/etc/ppp/ppp.conf:
set device /dev/i4brbch0
set speed sync
5 - Example configuration
You may have a look at my running example configuration -- it
proofed to be very stable:
- /etc/ppp/ppp.conf,
- /etc/isdn/isdnd.rc
- and last but not least a kernel configuration file for a
box having a Fritz!Card PCI: ISDNKERNEL
-
Here's an example for setting up logging and integrating
isdnd into the boot sequence:
Add this to your /etc/syslog.conf:
local2.info /var/log/isdnd
And do a:
# touch /var/log/isdnd
Include the following line in /etc/newsyslog.conf for
logfile rotation:
/var/log/isdnd l 600 10 * 168 Z
And finally start isdnd in rc.local:
# Starting isdnd.
if [ -x /usr/local/bin/isdnd ]; then
echo -n ' isdnd';
# -d0x95 is a quite verbose debugginglevel
# -s 18 corresponds to syslog facility local2
# -s 3 would enable logging to /var/log/daemon just like ppp
/usr/local/bin/isdnd -d0xf9 -s 18
fi
6 - Special features
6.1 - Dialin configuration
Upon dialin ppp normally connects to the stdin/sdtout of the
tty that executes ppp -direct without looking at the "set
device" line in ppp.conf, To get ppp to work with i4b the
"glue" programm i4brunppp is used to connect /dev/i4brbchx with
the ppp -direct process.
Compile i4brunppp:
# cd /usr/src/i4b/user-ppp
# make
# cp i4brunppp /etc/isdn
# cp i4brunppp.cat8 /usr/share/man/cat8/i4brunppp.0
Here are the example ppp.conf and isdnd.rc from the
/usr/src/i4b/user-ppp directory.
6.2 - Callback configuration
A very nice feature is having the ppp-server call back a
Windows client.(ppp.conf isdnd.rc ppp.secret)
But a weired thing sometimes(always?) happens: Using a Windows
machine to call an NT ppp-server the callback is almost
instantanious, doing this with a OpenBSD ppp-server, the period
between hangup and callback is 15 seconds. Curiously enough the
ppp logs show that it is the Windows client that requests this
lengthy timeout. There seems to be no configuration option on
either system to adjust this period, no idea how it is on NT
machines.
It seems to be hard to find information about this on the
web.
[ToDo]
[ToDo] write some stuff setup of a answering machine etc...
[ToDo]
7 - Troubleshooting
8 - Feedback / Other resources
You may reach me at joerg@zilium.de
Please drop me a line if managed to get a not yet tested card
running and report any unforeseen difficulties you encountered
while installing -- doing so may help making future versions
more userfriendly.
Thanks to Marcus Daniel (danielm@uni-muenster.de)
for documentation enhancements.
Some links you may find helpfull:
[1] http://www.unrest.de --
Alex Hoffmanns page about setting up ISDN on OpenBSD
[2] http://www.freebsd-support.de/i4b
-- Isdn4bsd homepage
[3] http://www.awfulhak.org/ppp.html
-- PPP daemons home
[4] obsd27-isdn.html -- ISDN
patches for OpenBSD 2.7
Joerg Bornschein