First checkin, not complete, for Armin only.
This commit is contained in:
parent
54d5a07cc8
commit
a4133bb51d
|
@ -0,0 +1,73 @@
|
||||||
|
# $Id: Makefile.in,v 1.1 1998/06/12 11:11:42 fritz Exp $
|
||||||
|
#
|
||||||
|
# Makefile for diehlctrl
|
||||||
|
# (C) 1997 Fritz Elfert
|
||||||
|
#
|
||||||
|
#
|
||||||
|
SHELL = /bin/sh
|
||||||
|
CFLAGS = -Wall -O2
|
||||||
|
INCLUDES = -I. -I@CONFIG_KERNELDIR@/include -I@CONFIG_KERNELDIR@/drivers/isdn/diehl
|
||||||
|
DEFS =
|
||||||
|
LDFLAGS = -L../lib @LIBS@
|
||||||
|
PROGRAM = diehlctrl
|
||||||
|
MODULES = diehlctrl.o
|
||||||
|
MANPAGE = diehlctrl.8
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
SBINDIR = @CONFIG_SBINDIR@
|
||||||
|
DATADIR = @CONFIG_DATADIR@
|
||||||
|
MANDIR = @CONFIG_MANDIR@
|
||||||
|
MAN8DIR = $(MANDIR)/man8
|
||||||
|
INSTALL_PROGRAM = $(INSTALL) -o 0 -g 0 -m 0750
|
||||||
|
INSTALL_DATA = $(INSTALL) -o 0 -g 0 -m 0644
|
||||||
|
INSTALL_MAN = $(INSTALL) -o 0 -g 0 -m 0644
|
||||||
|
CC = @CC@
|
||||||
|
COPTS =
|
||||||
|
|
||||||
|
ifeq ("@CONFIG_DIEHLCTRL_DEBUG@","y")
|
||||||
|
COPTS += -D__DEBUGVAR__
|
||||||
|
endif
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
.SUFFIXES: .c .o
|
||||||
|
|
||||||
|
%.o: %.c Makefile
|
||||||
|
$(CC) $(CFLAGS) $(INCLUDES) $(DEFS) $(COPTS) -c -o $@ $<
|
||||||
|
|
||||||
|
all: $(PROGRAM)
|
||||||
|
|
||||||
|
config:
|
||||||
|
@./configure
|
||||||
|
|
||||||
|
Makefile: Makefile.in config.status
|
||||||
|
./config.status
|
||||||
|
|
||||||
|
config.status: configure
|
||||||
|
./config.status --recheck
|
||||||
|
|
||||||
|
$(PROGRAM): $(MODULES)
|
||||||
|
$(CC) $(CFLAGS) $(INCLUDES) $(DEFS) $? $(LDFLAGS) -o $@
|
||||||
|
|
||||||
|
install-data:
|
||||||
|
mkdir -p $(DATADIR)
|
||||||
|
#$(INSTALL_DATA) firmware/loadpg.bin $(DATADIR)/loadpg.bin
|
||||||
|
#$(INSTALL_DATA) firmware/pc_eu_ca.bin $(DATADIR)/pc_eu_ca.bin
|
||||||
|
#$(INSTALL_DATA) firmware/pc_1t_ca.bin $(DATADIR)/pc_1t_ca.bin
|
||||||
|
|
||||||
|
install-man: $(PROGRAM).man
|
||||||
|
mkdir -p $(MAN8DIR)
|
||||||
|
$(INSTALL_MAN) $< $(MAN8DIR)/$(MANPAGE)
|
||||||
|
|
||||||
|
install: $(PROGRAM) install-man install-data
|
||||||
|
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||||
|
|
||||||
|
install-strip: $(PROGRAM)
|
||||||
|
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
rm -f $(SBINDIR)/$(PROGRAM) $(MAN8DIR)/$(MANPAGE)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o *~ $(PROGRAM)
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm -f config.status config.cache config.log Makefile diehlctrl.man
|
|
@ -0,0 +1,41 @@
|
||||||
|
dnl
|
||||||
|
dnl Try finding linux sourcetree
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN(AC_FIND_KERNEL, [
|
||||||
|
OLD_CPPFLAGS="$CPPFLAGS"
|
||||||
|
lxdir="no"
|
||||||
|
eval tst_kerneldir=$CONFIG_KERNELDIR
|
||||||
|
|
||||||
|
AC_ARG_WITH(kernel,
|
||||||
|
[ --with-kernel=DIR Set kernel source directory [/usr/src/linux]],
|
||||||
|
DOTEST="y"; tst_kerneldir="${withval}")
|
||||||
|
|
||||||
|
if test "$DOTEST" = "y" || test "$CONFIG_KERNELDIR" != "" ; then
|
||||||
|
AC_MSG_CHECKING([for linux kernel source in ${tst_kerneldir}])
|
||||||
|
CPPFLAGS="-nostdinc -I${tst_kerneldir}/drivers/isdn"
|
||||||
|
AC_TRY_CPP([#include <isdn_common.h>], lxdir=${tst_kerneldir},
|
||||||
|
AC_MSG_RESULT("no"))
|
||||||
|
fi
|
||||||
|
if test "$lxdir" = "no" ; then
|
||||||
|
AC_MSG_CHECKING([for linux kernel source in /usr/src/linux])
|
||||||
|
CPPFLAGS="-nostdinc -I/usr/src/linux/drivers/isdn"
|
||||||
|
AC_TRY_CPP([#include <isdn_common.h>], lxdir=/usr/src/linux)
|
||||||
|
fi
|
||||||
|
if test "$lxdir" = "no" ; then
|
||||||
|
AC_MSG_RESULT("$lxdir")
|
||||||
|
AC_MSG_CHECKING([for linux kernel source in /usr/local/src/linux])
|
||||||
|
CPPFLAGS="-nostdinc -I/usr/local/src/linux/drivers/isdn"
|
||||||
|
AC_TRY_CPP([#include <isdn_common.h>], lxdir=/usr/local/src/linux)
|
||||||
|
fi
|
||||||
|
if test "$lxdir" != "no" ; then
|
||||||
|
AC_MSG_RESULT("yes")
|
||||||
|
else
|
||||||
|
lxdir=""
|
||||||
|
AC_MSG_ERROR("Kernel source not found. You MUST specify a correct path to the linux source in the configuration.")
|
||||||
|
fi
|
||||||
|
CONFIG_KERNELDIR="$lxdir"
|
||||||
|
CPPFLAGS="$OLD_CPPFLAGS"
|
||||||
|
AC_DEFINE_UNQUOTED(CONFIG_KERNELDIR,"$lxdir")
|
||||||
|
AC_SUBST(CONFIG_KERNELDIR)
|
||||||
|
])
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,73 @@
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
AC_INIT(diehlctrl.c)
|
||||||
|
AC_PREFIX_DEFAULT("/usr")
|
||||||
|
|
||||||
|
I4LVERSION=${I4LVERSION:-"?.?"}
|
||||||
|
CONFIG_DATADIR=${CONFIG_DATADIR:-"/usr/lib/isdn"}
|
||||||
|
CONFIG_SBINDIR=${CONFIG_SBINDIR:-"/sbin"}
|
||||||
|
CONFIG_MANDIR=${CONFIG_MANDIR:-"/usr/man"}
|
||||||
|
CONFIG_DIEHLCTRL_DEBUG=${CONFIG_DIEHLCTRL_DEBUG:-"n"}
|
||||||
|
CONFIG_KERNELDIR=`eval echo ${CONFIG_KERNELDIR:-"/usr/src/linux"}`
|
||||||
|
MANDATE=`grep CHECKIN diehlctrl.man.in | awk '{print $4}'`
|
||||||
|
|
||||||
|
dnl Checks for programs.
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
AC_PROG_CC
|
||||||
|
|
||||||
|
dnl Checks for libraries.
|
||||||
|
|
||||||
|
dnl Checks for header files.
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h)
|
||||||
|
|
||||||
|
dnl Find current kernel source
|
||||||
|
AC_FIND_KERNEL
|
||||||
|
AC_CHECK_HEADERS($CONFIG_KERNELDIR/include/linux/isdn.h,,
|
||||||
|
AC_MSG_ERROR("$CONFIG_KERNELDIR/include/linux/isdn.h missing. Kernel installed?")
|
||||||
|
)
|
||||||
|
AC_CHECK_HEADERS($CONFIG_KERNELDIR/drivers/isdn/diehl/diehl.h,,
|
||||||
|
AC_MSG_ERROR("$CONFIG_KERNELDIR/drivers/isdn/diehl/diehl.h missing. Kernel installed?")
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
|
||||||
|
dnl Checks for library functions.
|
||||||
|
AC_PROG_GCC_TRADITIONAL
|
||||||
|
AC_FUNC_MMAP
|
||||||
|
|
||||||
|
dnl Optional firmware directory
|
||||||
|
AC_ARG_WITH(firmware,
|
||||||
|
[ --with-firmware=DIR Set dir where firmware istalled. [/usr/lib/isdn]],
|
||||||
|
CONFIG_DATADIR="${withval}"
|
||||||
|
AC_DEFINE(CONFIG_DATADIR,"${withval}"),
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl Optional sbin directory
|
||||||
|
AC_ARG_WITH(sbin,
|
||||||
|
[ --with-sbin=DIR Set dir where binary is istalled. [/sbin]],
|
||||||
|
CONFIG_SBINDIR="${withval}"
|
||||||
|
AC_DEFINE(CONFIG_SBINDIR,"${withval}"),
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl Optional man directory
|
||||||
|
AC_ARG_WITH(man,
|
||||||
|
[ --with-man=DIR Set manpage dir. [/usr/man]],
|
||||||
|
CONFIG_MANDIR="${withval}"
|
||||||
|
AC_DEFINE(CONFIG_MANDIR,"${withval}"),
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl Check, if user wants dump option for debugging
|
||||||
|
AC_ARG_ENABLE(dump,
|
||||||
|
[ --enable-dump Enable dump feature for debugging [no]],
|
||||||
|
CONFIG_DIEHLCTRL_DEBUG="y"
|
||||||
|
)
|
||||||
|
|
||||||
|
AC_SUBST(INSTALL)
|
||||||
|
AC_SUBST(MANDATE)
|
||||||
|
AC_SUBST(CONFIG_DIEHLCTRL_DEBUG)
|
||||||
|
AC_SUBST(CONFIG_DATADIR)
|
||||||
|
AC_SUBST(CONFIG_KERNELDIR)
|
||||||
|
AC_SUBST(CONFIG_SBINDIR)
|
||||||
|
AC_SUBST(CONFIG_MANDIR)
|
||||||
|
AC_SUBST(I4LVERSION)
|
||||||
|
AC_OUTPUT(Makefile diehlctrl.man)
|
|
@ -0,0 +1,188 @@
|
||||||
|
/* $Id: diehlctrl.c,v 1.1 1998/06/12 11:11:45 fritz Exp $
|
||||||
|
*
|
||||||
|
* Diehl-ISDN driver for Linux. (Control-Utility)
|
||||||
|
*
|
||||||
|
* Copyright 1998 by Fritz Elfert (fritz@wuemaus.franken.de)
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*
|
||||||
|
* $Log: diehlctrl.c,v $
|
||||||
|
* Revision 1.1 1998/06/12 11:11:45 fritz
|
||||||
|
* First checkin, not complete, for Armin only.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <malloc.h>
|
||||||
|
|
||||||
|
#include <linux/isdn.h>
|
||||||
|
#include <diehl.h>
|
||||||
|
|
||||||
|
char *cmd;
|
||||||
|
|
||||||
|
void usage() {
|
||||||
|
fprintf(stderr,"usage: %s shmem [shmem-addr] (get/set memaddr)\n",cmd);
|
||||||
|
fprintf(stderr," or: %s irq [irq-nr] (get/set irq)\n",cmd);
|
||||||
|
fprintf(stderr," or: %s load <bootcode> <protocol> (load firmware)\n",cmd);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv) {
|
||||||
|
int fd;
|
||||||
|
int tmp;
|
||||||
|
int ac;
|
||||||
|
int arg_ofs;
|
||||||
|
isdn_ioctl_struct ioctl_s;
|
||||||
|
|
||||||
|
cmd = argv[0];
|
||||||
|
if (argc > 1) {
|
||||||
|
if (!strcmp(argv[1], "-d")) {
|
||||||
|
strcpy(ioctl_s.drvid, argv[2]);
|
||||||
|
arg_ofs = 3;
|
||||||
|
} else {
|
||||||
|
ioctl_s.drvid[0] = '\0';
|
||||||
|
arg_ofs = 1;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
usage();
|
||||||
|
ac = argc - (arg_ofs - 1);
|
||||||
|
if (ac < 2)
|
||||||
|
usage();
|
||||||
|
fd = open("/dev/isdnctrl",O_RDWR);
|
||||||
|
if (fd < 0) {
|
||||||
|
perror("/dev/isdnctrl");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
if (!strcmp(argv[arg_ofs], "shmem")) {
|
||||||
|
if (ac == 3) {
|
||||||
|
if (sscanf(argv[arg_ofs + 1], "%i", &tmp) !=1 )
|
||||||
|
usage();
|
||||||
|
ioctl_s.arg = tmp;
|
||||||
|
if (ioctl(fd, DIEHL_IOCTL_SETMMIO + IIOCDRVCTL, &ioctl_s) < 0) {
|
||||||
|
perror("ioctl SETMMIO");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((tmp = ioctl(fd, DIEHL_IOCTL_GETMMIO + IIOCDRVCTL, &ioctl_s)) < 0) {
|
||||||
|
perror("ioctl GETMMIO");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
printf("Shared memory at 0x%08lx\n", (unsigned long)tmp);
|
||||||
|
close(fd);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (!strcmp(argv[arg_ofs], "irq")) {
|
||||||
|
if (ac == 3) {
|
||||||
|
if (sscanf(argv[arg_ofs + 1], "%i", &tmp) != 1)
|
||||||
|
usage();
|
||||||
|
ioctl_s.arg = tmp;
|
||||||
|
if (ioctl(fd, DIEHL_IOCTL_SETIRQ + IIOCDRVCTL, &ioctl_s) < 0) {
|
||||||
|
perror("ioctl SETIRQ");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((tmp = ioctl(fd, DIEHL_IOCTL_GETIRQ + IIOCDRVCTL, &ioctl_s)) < 0) {
|
||||||
|
perror("ioctl GETIRQ");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
printf("Irq is %d\n", tmp);
|
||||||
|
close(fd);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (!strcmp(argv[arg_ofs], "load")) {
|
||||||
|
FILE *code;
|
||||||
|
int plen;
|
||||||
|
char protoname[1024];
|
||||||
|
char bootname[1024];
|
||||||
|
u_char protobuf[0x100000];
|
||||||
|
u_char bootbuf[0x1000];
|
||||||
|
diehl_codebuf *cb;
|
||||||
|
|
||||||
|
if (ac == 4) {
|
||||||
|
strcpy(bootname, argv[arg_ofs + 1]);
|
||||||
|
strcpy(protoname,argv[arg_ofs + 2]);
|
||||||
|
if ((tmp = ioctl(fd,DIEHL_IOCTL_GETTYPE + IIOCDRVCTL, &ioctl_s)) < 1) {
|
||||||
|
perror("ioctl GETTYPE");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
switch (tmp) {
|
||||||
|
case DIEHL_CTYPE_S:
|
||||||
|
strcat(bootname,".bin");
|
||||||
|
printf("Adapter-type is Diehl-S\n");
|
||||||
|
break;
|
||||||
|
case DIEHL_CTYPE_SX:
|
||||||
|
strcat(protoname,".sx");
|
||||||
|
printf("Adapter-type is Diehl-SX\n");
|
||||||
|
break;
|
||||||
|
case DIEHL_CTYPE_SCOM:
|
||||||
|
strcat(protoname,".sy");
|
||||||
|
printf("Adapter-type is Diehl-SCOM\n");
|
||||||
|
break;
|
||||||
|
case DIEHL_CTYPE_QUADRO:
|
||||||
|
strcat(protoname,".sq");
|
||||||
|
printf("Adapter-type is Diehl-QUADRO\n");
|
||||||
|
break;
|
||||||
|
case DIEHL_CTYPE_PRI:
|
||||||
|
strcat(protoname,".p");
|
||||||
|
printf("Adapter-type is Diehl-PRI\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "Unknown Adapter type %d\n", tmp);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
if (!(code = fopen(protoname,"r"))) {
|
||||||
|
perror(protoname);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
if ((plen = fread(protobuf, 1, sizeof(protobuf), code))<1) {
|
||||||
|
fprintf(stderr, "Read error on %s\n", protoname);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
plen = (plen % 256)?((plen/256)+1)*256:plen;
|
||||||
|
fclose(code);
|
||||||
|
if (!(code = fopen(bootname,"r"))) {
|
||||||
|
perror(bootname);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
if ((tmp = fread(bootbuf, 1, sizeof(bootbuf), code))<1) {
|
||||||
|
fprintf(stderr, "Read error on %s\n", bootname);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
fclose(code);
|
||||||
|
cb = malloc(sizeof(diehl_codebuf) + tmp + plen );
|
||||||
|
memset(cb, 0, sizeof(diehl_codebuf));
|
||||||
|
memcpy(&cb->isa.code, bootbuf, tmp);
|
||||||
|
memcpy(&cb->isa.code[tmp], protobuf, plen);
|
||||||
|
cb->isa.bootstrap_len = tmp;
|
||||||
|
cb->isa.firmware_len = plen;
|
||||||
|
cb->isa.boot_opt = DIEHL_ISA_BOOT_MEMCHK;
|
||||||
|
printf("Loading Protocol %s ...\n", &protobuf[4]);
|
||||||
|
ioctl_s.arg = (ulong)cb;
|
||||||
|
if (ioctl(fd, DIEHL_IOCTL_LOADBOOT + IIOCDRVCTL, &ioctl_s) < 0) {
|
||||||
|
perror("ioctl LOADBOOT");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
close(fd);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
usage();
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,154 @@
|
||||||
|
.\" $Id: diehlctrl.man.in,v 1.1 1998/06/12 11:11:46 fritz Exp $
|
||||||
|
.\"
|
||||||
|
.\" CHECKIN $Date: 1998/06/12 11:11:46 $
|
||||||
|
.\"
|
||||||
|
.\" Process this file with
|
||||||
|
.\" groff -man -Tascii diehlctrl.1 for ASCII output, or
|
||||||
|
.\" groff -man -Tps diehlctrl.1 for PostScript output
|
||||||
|
.\"
|
||||||
|
.TH DIEHLCTRL 8 "@MANDATE@" isdn4k-utils-@I4LVERSION@ "Linux System Administration"
|
||||||
|
.SH NAME
|
||||||
|
diehlctrl \- configure Diehl active ISDN adaptor
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B diehlctrl [-d
|
||||||
|
.IB Driver-Id ]
|
||||||
|
.I action options
|
||||||
|
.B ...
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B diehlctrl
|
||||||
|
is used to setup the Diehl
|
||||||
|
.SM ISDN
|
||||||
|
device driver and for downloading the firmware into the
|
||||||
|
.SM ISDN
|
||||||
|
card.
|
||||||
|
.LP
|
||||||
|
The use of
|
||||||
|
.I diehlctrl
|
||||||
|
makes sense, if you are using an active Diehl ISDN card only.
|
||||||
|
.LP
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.BI "-d " Driver-Id
|
||||||
|
selects the S0 interface named by
|
||||||
|
.IR Driver-Id .
|
||||||
|
Driver-Ids are defined during driver initialisation. See
|
||||||
|
.BR diehl (4)
|
||||||
|
for a description of the syntax to be used for modularised and
|
||||||
|
monolithic driver versions.
|
||||||
|
This option
|
||||||
|
.B must
|
||||||
|
be used to identify the S0 interface if more than one S0 interface is
|
||||||
|
existent. If a single card is used, it may be omitted.
|
||||||
|
If using more than one card, support for the other cards is enabled
|
||||||
|
with the
|
||||||
|
.B add
|
||||||
|
action of diehlctrl. Ids may
|
||||||
|
.B not
|
||||||
|
start with
|
||||||
|
.B digits
|
||||||
|
or small
|
||||||
|
.BR x ,
|
||||||
|
because these values are misinterpreted
|
||||||
|
as numeric parameters by
|
||||||
|
.BR insmod .
|
||||||
|
For loading the module, always the
|
||||||
|
newest
|
||||||
|
.B modutils
|
||||||
|
package should be used to avoid problems during load.
|
||||||
|
.LP
|
||||||
|
The following
|
||||||
|
.I actions
|
||||||
|
may be given to
|
||||||
|
.BR diehlctrl .
|
||||||
|
.TP
|
||||||
|
.BI "irq [" "interrupt" ]
|
||||||
|
sets the irq number to use.
|
||||||
|
After loading the diehl-module into kernel-space, this command
|
||||||
|
should be used as the very first setup, if the hardware settings are
|
||||||
|
different from the default settings below.
|
||||||
|
If both parameters are omitted, prints out current settings. The
|
||||||
|
default irq number is
|
||||||
|
.IR 0x320 .
|
||||||
|
.TP
|
||||||
|
.B leased on|1|2|off
|
||||||
|
switches between normal (dialup) and leased-line mode. Leased-line mode
|
||||||
|
is intended for usage with S64K-lines or - if both channels are used -
|
||||||
|
for S02. If the second parameter is
|
||||||
|
.B 1
|
||||||
|
, only one channel is enabled.
|
||||||
|
If the second parameter is
|
||||||
|
.BR 2 " or " on
|
||||||
|
both channels are enabled. Leased lines do not have a D-channel. When
|
||||||
|
leased-line mode is enabled, the driver simulates incoming calls using
|
||||||
|
special "phone-numbers" for calling and called address which are generated
|
||||||
|
as follows:
|
||||||
|
.ie 1
|
||||||
|
.RS
|
||||||
|
Calling number:
|
||||||
|
.RS
|
||||||
|
.BI LEASED x
|
||||||
|
.RS
|
||||||
|
where
|
||||||
|
.I x
|
||||||
|
is the internal slot-number of the S0 interface. This number starts with
|
||||||
|
.I 0
|
||||||
|
for the first S0 interface and is incremented by one for every S0 interface
|
||||||
|
configured using the
|
||||||
|
.B add
|
||||||
|
action.
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
|
.ie 1
|
||||||
|
Called number:
|
||||||
|
.RS
|
||||||
|
.I x
|
||||||
|
.RS
|
||||||
|
where
|
||||||
|
.I x
|
||||||
|
is equal to the channel number of the calling S0 interface starting with
|
||||||
|
.IR 1 .
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.BI "load " boot-code " " firmware
|
||||||
|
downloads the firmware into the card and starts operation. The firmware
|
||||||
|
name
|
||||||
|
.B must
|
||||||
|
be given
|
||||||
|
.B without
|
||||||
|
extension, since the card-type is determined automatically and according
|
||||||
|
to this, the appropriate extension is appended by the program. The
|
||||||
|
following extensions are used for various card-types:
|
||||||
|
Diehl-S:
|
||||||
|
.B .bin
|
||||||
|
Diehl-SX:
|
||||||
|
.B .sx
|
||||||
|
Diehl-SCOM:
|
||||||
|
.B .sy
|
||||||
|
Diehl-Quadro:
|
||||||
|
.B .sq
|
||||||
|
Diehl-PRI
|
||||||
|
.B .p
|
||||||
|
Using this command, after loading the diehl-module into kernel-space the
|
||||||
|
first real access to the hardware is done. Therefore the
|
||||||
|
.B irq
|
||||||
|
action above, should be used before, if the hardware settings are different
|
||||||
|
from the default settings.
|
||||||
|
Usually the images are located in
|
||||||
|
.IR @DATADIR@ .
|
||||||
|
The boot-code is named
|
||||||
|
.IR prload.bin .
|
||||||
|
.TP
|
||||||
|
.B dump
|
||||||
|
is available if the program is configured using the
|
||||||
|
.B --enable-dump
|
||||||
|
option only. The contents of internal driver variables is dumped on stdout.
|
||||||
|
.LP
|
||||||
|
.SH BUGS
|
||||||
|
No bugs so far.
|
||||||
|
.SH AUTHOR
|
||||||
|
\(co 1998 by Fritz Elfert <fritz@wuemaus.franken.de>
|
||||||
|
.LP
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR isdnctrl "(8), " diehl "(4), " isdnctrl "(4), " ttyI (4).
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exit 0
|
Loading…
Reference in New Issue