diff --git a/Makefile b/Makefile index 36fa909d..5a6c9a66 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.24 1998/08/25 16:33:09 calle Exp $ +# $Id: Makefile,v 1.25 1998/10/13 12:54:44 paul Exp $ # # Toplevel Makefile for isdn4k-utils # @@ -126,6 +126,12 @@ rootperm: install: rootperm set -e; for i in `echo $(SUBDIRS)`; do $(MAKE) -C $$i install; done + @if [ -c /dev/isdnctrl0 ] && ls -l /dev/isdnctrl0 | egrep "[[:space:]]45,[[:space:]]+64[[:space:]]" > /dev/null; \ + then \ + echo -e '(some) ISDN devices already exist, not creating them.\nUse scripts/makedev.sh manually if necessary.'; \ + else \ + sh scripts/makedev.sh; \ + fi uninstall: rootperm set -e; for i in `echo $(SUBDIRS)`; do $(MAKE) -C $$i uninstall; done diff --git a/README b/README index 7f9e135d..0bef688b 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ # -# $Id: README,v 1.8 1998/08/01 19:59:12 paul Exp $ +# $Id: README,v 1.9 1998/10/13 12:54:43 paul Exp $ # This is the README file for the "isdn4k-utils" package from "The i4l-crew". @@ -28,7 +28,10 @@ This package contains the following stuff: vbox, an answering machine/voice mailbox. ipppd, daemon need for syncPPP and MPP. -4. Documentation: +4. Miscellaneous: + scripts/makedev.sh for creating the ISDN device files under /dev . + +5. Documentation: A very detailed FAQ and the generic manpages ttyI.4, isdninfo.4, isdn_audio.4 and isdn_cause.7. Manpages for the above utilities: @@ -97,6 +100,11 @@ System prerequisites: The config files usually are installed in /etc/isdn if not specified otherwise during configuration. + If no existing ISDN devices in /dev are detected (via an admittedly + simple test), script/makedev.sh is run during "make install". Check + that the permissions / groups are suitable for your needs. + You can run the makedev.sh script again if necessary. + 5. Application The directory ./etc contains an example startup-script which gets @@ -110,6 +118,6 @@ System prerequisites: For the utilities refer to the man pages or look into their subdirectories for Documentation. - For tips, troubleshooting etc. look into the FAQ subdirectory + For tips, troubleshooting etc. look into the FAQ subdirectory. -Fritz diff --git a/scripts/makedev.sh b/scripts/makedev.sh new file mode 100755 index 00000000..d14e690e --- /dev/null +++ b/scripts/makedev.sh @@ -0,0 +1,87 @@ +#!/bin/sh +# +# $Id: makedev.sh,v 1.1 1998/10/13 12:54:48 paul Exp $ +# +# This script creates all ISDN devices under /dev . +# Most distributions don't include these devices. + +if [ "`id | grep uid=0`" = "" ]; then + echo "In order to create device inodes, you must run this script as root." + exit 1 +fi +echo -e "Creating device inodes ... \c" + +DEV=/tmp/dev + +MAJ=45 +MIN=0 +rm -f $DEV/isdnctrl* $DEV/ippp* +while [ $MIN -lt 64 ] ; do +# mknod -m 600 $DEV/isdn$MIN c $MAJ $MIN + mknod -m 660 $DEV/isdnctrl$MIN c $MAJ `expr $MIN + 64` + mknod -m 600 $DEV/ippp$MIN c $MAJ `expr $MIN + 128` + MIN=`expr $MIN + 1` +done +if grep '^pppusers:' /etc/group > /dev/null +then # RH 5 standard + chgrp pppusers $DEV/isdnctrl* $DEV/ippp* +elif grep '^dialout:' /etc/group > /dev/null +then # Debian/SuSE standard + chgrp dialout $DEV/isdnctrl* $DEV/ippp* +fi +rm -f $DEV/isdninfo +mknod -m 444 $DEV/isdninfo c $MAJ 255 +ln -sf $DEV/isdnctrl0 $DEV/isdnctrl + +MAJ=43 +MIN=0 +rm -f $DEV/ttyI* +while [ $MIN -lt 64 ] ; do + mknod -m 666 $DEV/ttyI$MIN c $MAJ $MIN + MIN=`expr $MIN + 1` +done + +MAJ=44 +MIN=0 +rm -f $DEV/cui* +while [ $MIN -lt 64 ] ; do + mknod -m 666 $DEV/cui$MIN c $MAJ $MIN + MIN=`expr $MIN + 1` +done + +if grep '^dialout:' /etc/group > /dev/null +then # Debian/SuSE standard + chgrp dialout $DEV/ttyI* $DEV/cui* +fi + +MAJ=68 +MIN=0 +rm -f $DEV/capi20* +mknod -m 666 $DEV/capi20 c $MAJ 0 +mknod -m 666 $DEV/capi20.00 c $MAJ 1 +mknod -m 666 $DEV/capi20.01 c $MAJ 2 +mknod -m 666 $DEV/capi20.02 c $MAJ 3 +mknod -m 666 $DEV/capi20.03 c $MAJ 4 +mknod -m 666 $DEV/capi20.04 c $MAJ 5 +mknod -m 666 $DEV/capi20.05 c $MAJ 6 +mknod -m 666 $DEV/capi20.06 c $MAJ 7 +mknod -m 666 $DEV/capi20.07 c $MAJ 8 +mknod -m 666 $DEV/capi20.08 c $MAJ 9 +mknod -m 666 $DEV/capi20.09 c $MAJ 10 +mknod -m 666 $DEV/capi20.10 c $MAJ 11 +mknod -m 666 $DEV/capi20.11 c $MAJ 12 +mknod -m 666 $DEV/capi20.12 c $MAJ 13 +mknod -m 666 $DEV/capi20.13 c $MAJ 14 +mknod -m 666 $DEV/capi20.14 c $MAJ 15 +mknod -m 666 $DEV/capi20.15 c $MAJ 16 +mknod -m 666 $DEV/capi20.16 c $MAJ 17 +mknod -m 666 $DEV/capi20.17 c $MAJ 18 +mknod -m 666 $DEV/capi20.18 c $MAJ 19 +mknod -m 666 $DEV/capi20.19 c $MAJ 20 + +if grep '^dialout:' /etc/group > /dev/null +then # Debian/SuSE standard + chgrp dialout $DEV/capi20 $DEV/capi20.?? +fi + +echo "done."