From owner-freebsd-isdn@FreeBSD.ORG Wed Nov 9 12:19:32 2005 Return-Path: X-Original-To: freebsd-isdn@freebsd.org Delivered-To: freebsd-isdn@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E292A16A420 for ; Wed, 9 Nov 2005 12:19:31 +0000 (GMT) (envelope-from stb@lassitu.de) Received: from schlepper.zs64.net (schlepper.zs64.net [212.12.50.230]) by mx1.FreeBSD.org (Postfix) with ESMTP id 070C943D46 for ; Wed, 9 Nov 2005 12:19:28 +0000 (GMT) (envelope-from stb@lassitu.de) Received: from [127.0.0.1] (schlepper [212.12.50.230]) by schlepper.zs64.net (8.13.3/8.12.9) with ESMTP id jA9CJQQ3020359; Wed, 9 Nov 2005 13:19:26 +0100 (CET) (envelope-from stb@lassitu.de) Mime-Version: 1.0 (Apple Message framework v746.2) Content-Transfer-Encoding: 7bit Message-Id: <21AFE91A-0E04-45BE-925C-74A81F5CA7D3@lassitu.de> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: freebsd-isdn@freebsd.org, Thomas Wintergerst From: Stefan Bethke Date: Wed, 9 Nov 2005 13:19:25 +0100 X-Mailer: Apple Mail (2.746.2) Cc: Subject: C4B patchset for 6.0-Release, -stable? X-BeenThere: freebsd-isdn@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Using ISDN with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Nov 2005 12:19:32 -0000 Hi, has anyone produced a patchset for 6-stable yet? My own (mechanical) attempt did not immediately succeed. I used the 1.0 release and went through the make-patches.sh as prescribed in the README in c4b/ patches/FreeBSD-Current. make buildworld fails: ===> avmaic (depend) @ -> /usr/src/sys machine -> /usr/src/sys/i386/include ln -s /usr/obj/usr/src/sys/ASTERIX/opt_avmaic.h opt_avmaic.h awk -f @/tools/makeobjops.awk @/kern/device_if.m -h awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h awk -f @/tools/makeobjops.awk @/isa/isa_if.m -h awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h awk -f @/tools/makeobjops.awk @/dev/pccard/card_if.m -h awk -f @/tools/pccarddevs2h.awk @/dev/pccard/pccarddevs rm -f .depend mkdep -f .depend -a -nostdinc -I/usr/src/sys/modules/avmaic/../../ c4b/include -D_KERNEL -DKLD_MODULE -I- -I/usr/src/sys/modules/ avmaic/../../c4b/include -DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/ contrib/altq -I@/../include -I/usr/include -I/usr/obj/usr/src/sys/ ASTERIX /usr/src/sys/modules/avmaic/../../c4b/driver/avmaic/avmaic.c / usr/src/sys/modules/avmaic/../../c4b/driver/avmaic/avmaic_misc.c /usr/ src/sys/modules/avmaic/../../c4b/driver/avmaic/avmb1.c /usr/src/sys/ modules/avmaic/../../c4b/driver/avmaic/avmt1.c /usr/src/sys/modules/ avmaic/../../c4b/driver/avmaic/avmio.c /usr/src/sys/modules/ avmaic/../../c4b/driver/avmaic/avmdma.c /usr/src/sys/modules/ avmaic/../../c4b/driver/avmaic/avmarm.c /usr/src/sys/modules/avmaic/../../c4b/driver/avmaic/avmaic.c:129:38: macro "PCMCIA_CARD_D" passed 3 arguments, but takes just 2 mkdep: compile failed *** Error code 1 And what of the plans to get the work committed? Thanks, Stefan p.s. here's the patches make-patches.sh generated: --- etc/defaults/rc.conf.org.c4b Sat Oct 8 05:32:53 2005 +++ etc/defaults/rc.conf Tue Nov 8 16:16:22 2005 @@ -301,6 +301,12 @@ atm_pvcs="" # Set to PVC list (or leave empty). atm_arps="" # Set to permanent ARP list (or leave empty). +### CAPI subsystem options: ### +capi_enable="NO" # Enable the CAPI subsystem (YES or NO). +avmaic_enable="NO" # Enable loading active AVM board firmware. +daic_enable="NO" # Enable loading active Diehl board firmware. +ix1a_enable="NO" # Enable loading active IX1 board firmware. + ### ISDN interface options: (see also: /usr/share/examples/isdn) ### isdn_enable="NO" # Enable the ISDN subsystem (or NO). isdn_fsdev="NO" # Output device for fullscreen mode (or NO for daemon mode). --- etc/mtree/BSD.usr.dist.org.c4b Fri Mar 4 15:24:30 2005 +++ etc/mtree/BSD.usr.dist Tue Nov 8 16:17:04 2005 @@ -56,6 +56,14 @@ ru_RU.KOI8-R .. .. + capi + avmaic + .. + daic + .. + ix1a + .. + .. dict .. doc --- etc/rc.d/Makefile.org.c4b Sat Oct 8 05:32:53 2005 +++ etc/rc.d/Makefile Tue Nov 8 16:17:45 2005 @@ -39,6 +39,7 @@ watchdogd wpa_supplicant \ ypbind yppasswdd ypserv \ ypset ypupdated ypxfrd +FILES+= capibase avmaic daic ix1a i4bcapimgr FILESDIR= /etc/rc.d FILESMODE= ${BINMODE} --- include/Makefile.org.c4b Tue Nov 8 15:48:27 2005 +++ include/Makefile Tue Nov 8 15:52:09 2005 @@ -28,6 +28,10 @@ # posix4/mqueue.h is useless without an implementation and isn't installed: PHDRS= sched.h semaphore.h _semaphore.h # mqueue.h +CAPIHDRS= capi_bsd.h capi_bsdtrc.h capi_echoc.h capi_li.h \ + capi_pack_off.h capi_pack_on.h capi_result.h \ + capi_supplsvc.h capi20.h capidef.h + LHDRS= aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \ termios.h ucontext.h @@ -127,6 +131,9 @@ done .endif .endfor + cd ${.CURDIR}/../sys/c4b/include; \ + ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${CAPIHDRS} \ + ${DESTDIR}${INCLUDEDIR} .for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr} ${LSUBSUBDIRS} cd ${.CURDIR}/../sys; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \ @@ -180,6 +187,10 @@ symlinks: @${ECHO} "Setting up symlinks to kernel source tree..." + cd ${.CURDIR}/../sys/c4b/include; \ + for h in ${CAPIHDRS}; do \ + ln -fs ../../sys/c4b/include/$$h ${DESTDIR}${INCLUDEDIR}; \ + done .for i in ${LDIRS} cd ${.CURDIR}/../sys/$i; \ for h in *.h; do \ --- lib/Makefile.org.c4b Thu Jul 28 15:47:18 2005 +++ lib/Makefile Tue Nov 8 15:55:06 2005 @@ -26,7 +26,7 @@ libnetgraph libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} libalias libarchive ${_libatm} \ libbegemot ${_libbluetooth} libbsnmp libbz2 libc ${_libc_r} \ - libcalendar libcam libcompat libdevinfo libdevstat ${_libdisk} \ + libcalendar libcam ${_libcapi20} libcompat libdevinfo libdevstat ${_libdisk} \ libedit libexpat libfetch libform libftpio libgeom $ {_libgpib} \ ${_libio} libipsec \ libipx libkiconv libmagic libmemstat libmenu ${_libmilter} $ {_libmp} \ @@ -55,6 +55,10 @@ .if !defined(NO_BLUETOOTH) _libbluetooth= libbluetooth _libsdp= libsdp +.endif + +.if !defined(NO_CAPI) +_libcapi20= libcapi20 .endif .if ${MACHINE_ARCH} == "i386" --- share/Makefile.org.c4b Wed Apr 13 12:02:58 2005 +++ share/Makefile Tue Nov 8 16:16:18 2005 @@ -4,6 +4,7 @@ # Do not include `info' in the SUBDIR list, it is handled separately. SUBDIR= colldef \ + ${_capi} \ ${_dict} \ ${_doc} \ examples \ @@ -24,6 +25,10 @@ termcap \ timedef \ zoneinfo + +.if !defined(NO_C4B) +_capi= capi +.endif .if !defined(NO_I4B) _isdn= isdn --- share/examples/etc/make.conf.org.c4b Fri Nov 4 19:06:23 2005 +++ share/examples/etc/make.conf Tue Nov 8 16:16:22 2005 @@ -101,6 +101,7 @@ #NO_ATM= # do not build ATM related programs and libraries #NO_AUTHPF= # do not build and install authpf (setuid/gid) #NO_BLUETOOTH= # do not build Bluetooth related stuff +#NO_C4B= true # do not build CAPI support package #NO_BOOT= # do not build boot blocks and loader #NO_CRYPT= # do not build any crypto code #NO_CVS= # do not build CVS --- share/man/man5/make.conf.5.org.c4b Fri Jul 8 21:26:55 2005 +++ share/man/man5/make.conf.5 Tue Nov 8 16:16:22 2005 @@ -429,6 +429,9 @@ .It Va NO_BOOT .Pq Vt bool Set to not build the boot blocks and loader. +.It Va NO_C4B +.Pq Vt bool +Set to not build CAPI package. .It Va NO_CVS .Pq Vt bool Set to not build CVS. --- share/man/man7/hier.7.org.c4b Fri Jan 21 21:50:39 2005 +++ share/man/man7/hier.7 Tue Nov 8 16:16:22 2005 @@ -465,6 +465,22 @@ a variety of pre-fab calendar files; see .Xr calendar 1 +.It Pa capi/ +firmware files and other stuff for CAPI manager controller drivers; for a +general overview of the CAPI implementation for BSD see +.Xr c4b 4 +.Pp +.Bl -tag -width Fl -compat +.It Pa avmaic/ +firmware files for AVM active ISDN boards; see +.Xr avmaic 4 , +.Xr avmaicctl 8 +.It Pa daic/ +firmware files for legacy Diehl (now Eicon) active ISDN boards; see +.Xr daic 4 , +.Xr daicctl 8 +.El +.Pp .It Pa dict/ word lists; see --- share/mk/bsd.libnames.mk.org.c4b Sun Jul 24 18:17:25 2005 +++ share/mk/bsd.libnames.mk Tue Nov 8 16:16:22 2005 @@ -28,6 +28,7 @@ LIBC_R?= ${DESTDIR}${LIBDIR}/libc_r.a LIBCALENDAR?= ${DESTDIR}${LIBDIR}/libcalendar.a LIBCAM?= ${DESTDIR}${LIBDIR}/libcam.a +LIBCAPI20?= ${DESTDIR}${LIBDIR}/libcapi20.a LIBCOM_ERR?= ${DESTDIR}${LIBDIR}/libcom_err.a LIBCOMPAT?= ${DESTDIR}${LIBDIR}/libcompat.a LIBCRYPT?= ${DESTDIR}${LIBDIR}/libcrypt.a --- sys/amd64/conf/NOTES.org.c4b Fri Oct 7 16:00:03 2005 +++ sys/amd64/conf/NOTES Tue Nov 8 16:05:17 2005 @@ -338,6 +338,151 @@ # I2C Bus # + +# +# CAPI manager driver for the AVM active ISDN adapters (B1, C2, C4, T1) +# +# The CAPI manager module "kcapimgr" is also needed when this device is entered +# into a kernel configuration file. +# +# Note: Compiling this module as a separate module (i.e. not directly into the +# kernel) is preferred. So it is better to comment out the following +# device line. +# +# Supported flags: +# 0x00 (or no flags) AVM-B1 ISA +# 0x10 - 0x13 AVM-T1 ISA with board number 0 - 3 (low nibble of +# flags) +# +# Supported options: +# AVMAIC_LOG_LEVEL initializes the log level for the driver +# AVMAIC_MAX_APPLICATIONS specifies the maximum no. supported +# simultaneously registered applications, +# default is 30 +# AVMAIC_MAX_NCCI_PER_CHANNEL +# specifies the maximum no. possible B3 +# connections per channel and application, +# default is 4 +# +device avmaic +# AVM-B1 ISA +hint.avmaic.0.at="isa" +hint.avmaic.0.port="0x150" +hint.avmaic.0.irq="5" + +# +# CAPI manager driver for the legacy Diehl active ISDN adapters (S, SX, SXn, +# SCOM, Quadro, S2m) +# +# The CAPI manager module "kcapimgr" is also needed when this device is entered +# into a kernel configuration file. +# +# Note: Compiling this module as a separate module (i.e. not directly into the +# kernel) is preferred. So it is better to comment out the following +# device line. +# +# Note2: The code for the S2m board is currently not implemented. +# +# Supported options: +# DAIC_LOG_LEVEL initializes the log level for the driver +# DAIC_MAX_APPLICATIONS specifies the maximum no. supported +# simultaneously registered applications, +# default is 30 +# DAIC_MAX_NCCI_PER_PLCI specifies the maximum no. supported NCCIs per +# PLCI (useful for ISO 8208 B3-protocol), +# default is 4 +# DAIC_MAX_NCCI_PER_PORT specifies the overall maximum no. supported +# NCCIs per port of a board, default is 128 +# DAIC_MAX_PLCI_PER_PORT specifies the overall maximum no. supported +# PLCIs per port of a board, default is 64 +# +# For more information about the effect of these driver options see the manual +# page daic(4). +# +device daic +# Diehl S, SX, SXn, SCOM (specifying the memory size is optional) +hint.daic.0.at="isa" +hint.daic.0.maddr="0xD0000" +hint.daic.0.msize="0x800" +hint.daic.0.irq="10" +# Diehl Quattro (specifying the memory size is optional) +hint.daic.0.at="isa" +hint.daic.0.maddr="0xD0000" +hint.daic.0.msize="0x2000" +hint.daic.0.irq="10" +# Diehl S2m (specifying the memory size is optional) +hint.daic.0.at="isa" +hint.daic.0.maddr="0xD0000" +hint.daic.0.msize="0x4000" +hint.daic.0.irq="10" + +# +# CAPI manager driver for the IX1 active ISDN adapters +# +# These ISDN boards were originally manufactured by ITK, Germany, that is now +# part of Digi International. The boards were also sold under the name Digi +# Datafire. See ix1a(4) for further information. +# +# The CAPI manager module "kcapimgr" is also needed when this device is entered +# into a kernel configuration file. +# +# Note: Compiling this module as a separate module (i.e. not directly into the +# kernel) is preferred. So it is better to comment out the following +# device line. +# +# Supported flags (see ix1a(4) for detailed information): +# 0x00 - 0x03 IX1 Basic ISA, card types 1-4 +# 0x10 - 0x13 IX1 Octo ISA, card types 1-4 +# 0x20 - 0x27 IX1 Multimodem ISA, card types 1-8 +# +# Supported options: +# IX1A_LOG_LEVEL initializes the log level for the driver +# +device ix1a +# IX1 Basic ISA, card number 1 +hint.ix1a.0.at="isa" +hint.ix1a.0.port="0x380" +hint.ix1a.0.irq="5" +hint.ix1a.0.flags="0x00" +# IX1 Octo ISA, card number 2 +hint.ix1a.0.at="isa" +hint.ix1a.0.port="0x380" +hint.ix1a.0.irq="5" +hint.ix1a.0.flags="0x11" +# IX1 Multimodem ISA, card number 8 +hint.ix1a.0.at="isa" +hint.ix1a.0.port="0x380" +hint.ix1a.0.irq="5" +hint.ix1a.0.flags="0x27" + +# +# i4b driver to support CAPI controllers +# +# The CAPI manager module "kcapimgr" is also needed when this device is entered +# into a kernel configuration file. +# +# Note: Compiling this module as a separate module (i.e. not directly into the +# kernel) is preferred. So it is better to comment out the following +# device line. +# +# Supported options: +# I4BCAPIMGR_LOG_LEVEL initializes the log level for i4bcapimgr, +# integer value +# I4BCAPIMGR_ALLOC_MAX_BDATA_SIZE +# Normally incoming data blocks are forwarded to +# the layer 4 drivers just as they are. But there +# are situations (activated VJ compression and +# uncompression is performed in the received +# mbuf) where it is assumed that the received +# mbuf is allocated with the maximum size of 2kB. +# If this option is set, all incoming data blocks +# are copied into new mbufs of maximum size, thus +# wasting memory and computing time. +# +#device "i4bcapimgr" + +# + # # Hardware watchdog timers: # --- sys/conf/files.org.c4b Sun Nov 6 00:55:55 2005 +++ sys/conf/files Tue Nov 8 16:01:34 2005 @@ -81,6 +81,17 @@ no-obj no-implicit-rule before- depend \ clean "usbdevs_data.h" cam/cam.c optional scbus +# +# the CAPI manager with the kernel CAPI interface for drivers and applications +# +c4b/kcapimgr/kcapimgr.c optional kcapimgr +c4b/kcapimgr/kcapi_appl.c optional kcapimgr +c4b/kcapimgr/kcapi_ctlr.c optional kcapimgr +c4b/kcapimgr/kcapi_trace.c optional kcapimgr +# +# the CAPI device for CAPI support for user space applications +# +c4b/capidev/capidev.c optional capidev cam/cam_periph.c optional scbus cam/cam_queue.c optional scbus cam/cam_sim.c optional scbus --- sys/conf/options.org.c4b Fri Oct 7 16:00:03 2005 +++ sys/conf/options Tue Nov 8 16:05:16 2005 @@ -61,6 +61,15 @@ NO_ADAPTIVE_MUTEXES opt_adaptive_mutexes.h ALQ CODA_COMPAT_5 opt_coda.h + +# +# options for the CAPI manager +# +KCAPIMGR_LOG_LEVEL opt_kcapimgr.h +# +# options for the CAPI device to user land +# +CAPIDEV_LOG_LEVEL opt_capidev.h COMPAT_43 opt_compat.h COMPAT_FREEBSD4 opt_compat.h COMPAT_FREEBSD5 opt_compat.h --- sys/conf/files.i386.org.c4b Tue Aug 30 16:56:02 2005 +++ sys/conf/files.i386 Tue Nov 8 16:05:16 2005 @@ -354,6 +354,44 @@ warning "COMPAT_SVR4 is broken and should be avoided" i386/svr4/svr4_machdep.c optional compat_svr4 # +# the CAPI manager driver for AVM active ISDN controllers +# +c4b/driver/avmaic/avmaic.c optional avmaic +c4b/driver/avmaic/avmaic_misc.c optional avmaic +c4b/driver/avmaic/avmb1.c optional avmaic +c4b/driver/avmaic/avmarm.c optional avmaic +c4b/driver/avmaic/avmdma.c optional avmaic +c4b/driver/avmaic/avmio.c optional avmaic +c4b/driver/avmaic/avmt1.c optional avmaic +# +# the CAPI manager driver for legacy Diehl active ISDN controllers +# +c4b/driver/daic/daic.c optional daic +c4b/driver/daic/daic_bootstrap.c optional daic +c4b/driver/daic/daic_dispatch.c optional daic +c4b/driver/daic/daic_globalid.c optional daic +c4b/driver/daic/daic_hw.c optional daic +c4b/driver/daic/daic_misc.c optional daic +c4b/driver/daic/daic_ncci.c optional daic +c4b/driver/daic/daic_plci.c optional daic +# +# the CAPI manager driver for IX1 active ISDN controllers (ITK, Digi Datafire) +# +c4b/driver/ix1a/ix1a.c optional ix1a +c4b/driver/ix1a/ix1a_bpci.c optional ix1a +c4b/driver/ix1a/ix1a_isa.c optional ix1a +c4b/driver/ix1a/ix1a_misc.c optional ix1a +c4b/driver/ix1a/ix1a_ppci.c optional ix1a +c4b/driver/ix1a/ix1a_shm.c optional ix1a +# +# i4b driver to support CAPIMGR controllers +# +i4b/i4bcapimgr/i4bcapimgr.c optional i4bcapimgr +i4b/i4bcapimgr/i4bcmgr_l4if.c optional i4bcapimgr +i4b/i4bcapimgr/i4bcmgr_plcism.c optional i4bcapimgr +i4b/i4bcapimgr/i4bcmgr_nccism.c optional i4bcapimgr +i4b/i4bcapimgr/i4bcmgr_capiutil.c optional i4bcapimgr +# # isdn4bsd, needed for isic | iwic | ifpi | ifpi2 | ihfc | ifpnp | itjc # i4b/layer1/i4b_hdlc.c optional itjc --- sys/conf/options.i386.org.c4b Sat Jul 2 22:06:42 2005 +++ sys/conf/options.i386 Tue Nov 8 16:05:17 2005 @@ -116,6 +116,31 @@ # Video spigot SPIGOT_UNSECURE opt_spigot.h +# +# options for the CAPI driver for AVM active ISDN controllers +# +AVMAIC_LOG_LEVEL opt_avmaic.h +AVMAIC_MAX_APPLICATIONS opt_avmaic.h +AVMAIC_MAX_NCCI_PER_CHANNEL opt_avmaic.h +# +# options for the CAPI driver for legacy Diehl active ISDN controllers +# +DAIC_LOG_LEVEL opt_daic.h +DAIC_MAX_APPLICATIONS opt_daic.h +DAIC_MAX_NCCI_PER_PLCI opt_daic.h +DAIC_MAX_NCCI_PER_PORT opt_daic.h +DAIC_MAX_PLCI_PER_PORT opt_daic.h +# +# options for the CAPI driver for IX1 active ISDN controllers +# +IX1A_LOG_LEVEL opt_ix1a.h + +# +# options for the i4b driver to support CAPIMGR controllers +# +I4BCAPIMGR_LOG_LEVEL opt_i4bcapimgr.h +I4BCAPIMGR_ALLOC_MAX_BDATA_SIZE opt_i4bcapimgr.h + # Enables NETGRAPH support for Cronyx adapters NETGRAPH_CRONYX opt_ng_cronyx.h --- sys/conf/files.amd64.org.c4b Thu Oct 6 22:43:44 2005 +++ sys/conf/files.amd64 Tue Nov 8 16:05:17 2005 @@ -229,6 +229,44 @@ compat/linux/linux_uid16.c optional compat_linux32 compat/linux/linux_util.c optional compat_linux32 # +# the CAPI manager driver for AVM active ISDN controllers +# +c4b/driver/avmaic/avmaic.c optional avmaic +c4b/driver/avmaic/avmaic_misc.c optional avmaic +c4b/driver/avmaic/avmb1.c optional avmaic +c4b/driver/avmaic/avmarm.c optional avmaic +c4b/driver/avmaic/avmdma.c optional avmaic +c4b/driver/avmaic/avmio.c optional avmaic +c4b/driver/avmaic/avmt1.c optional avmaic +# +# the CAPI manager driver for legacy Diehl active ISDN controllers +# +c4b/driver/daic/daic.c optional daic +c4b/driver/daic/daic_bootstrap.c optional daic +c4b/driver/daic/daic_dispatch.c optional daic +c4b/driver/daic/daic_globalid.c optional daic +c4b/driver/daic/daic_hw.c optional daic +c4b/driver/daic/daic_misc.c optional daic +c4b/driver/daic/daic_ncci.c optional daic +c4b/driver/daic/daic_plci.c optional daic +# +# the CAPI manager driver for IX1 active ISDN controllers (ITK, Digi Datafire) +# +c4b/driver/ix1a/ix1a.c optional ix1a +c4b/driver/ix1a/ix1a_bpci.c optional ix1a +c4b/driver/ix1a/ix1a_isa.c optional ix1a +c4b/driver/ix1a/ix1a_misc.c optional ix1a +c4b/driver/ix1a/ix1a_ppci.c optional ix1a +c4b/driver/ix1a/ix1a_shm.c optional ix1a +# +# i4b driver to support CAPIMGR controllers +# +#XXX#i4b/i4bcapimgr/i4bcapimgr.c optional i4bcapimgr +#XXX#i4b/i4bcapimgr/i4bcmgr_l4if.c optional i4bcapimgr +#XXX#i4b/i4bcapimgr/i4bcmgr_plcism.c optional i4bcapimgr +#XXX#i4b/i4bcapimgr/i4bcmgr_nccism.c optional i4bcapimgr +#XXX#i4b/i4bcapimgr/i4bcmgr_capiutil.c optional i4bcapimgr +# # Windows NDIS driver support # compat/ndis/kern_ndis.c optional ndisapi pci --- sys/conf/options.amd64.org.c4b Thu Jun 30 01:23:16 2005 +++ sys/conf/options.amd64 Tue Nov 8 16:05:17 2005 @@ -32,6 +32,31 @@ ATKBD_DFLT_KEYMAP opt_atkbd.h +# +# options for the CAPI driver for AVM active ISDN controllers +# +AVMAIC_LOG_LEVEL opt_avmaic.h +AVMAIC_MAX_APPLICATIONS opt_avmaic.h +AVMAIC_MAX_NCCI_PER_CHANNEL opt_avmaic.h +# +# options for the CAPI driver for legacy Diehl active ISDN controllers +# +DAIC_LOG_LEVEL opt_daic.h +DAIC_MAX_APPLICATIONS opt_daic.h +DAIC_MAX_NCCI_PER_PLCI opt_daic.h +DAIC_MAX_NCCI_PER_PORT opt_daic.h +DAIC_MAX_PLCI_PER_PORT opt_daic.h +# +# options for the CAPI driver for IX1 active ISDN controllers +# +IX1A_LOG_LEVEL opt_ix1a.h + +# +# options for the i4b driver to support CAPIMGR controllers +# +I4BCAPIMGR_LOG_LEVEL opt_i4bcapimgr.h +I4BCAPIMGR_ALLOC_MAX_BDATA_SIZE opt_i4bcapimgr.h + # ------------------------------- # isdn4bsd: passive PCI cards # ------------------------------- --- sys/conf/NOTES.org.c4b Fri Oct 28 21:02:22 2005 +++ sys/conf/NOTES Tue Nov 8 16:05:17 2005 @@ -2521,6 +2521,22 @@ # options NSWBUF_MIN=120 +# +# kernel and user space CAPI support +# +# Note: Compiling these two modules as separate modules (i.e. not directly into +# the kernel) is preferred. So it is better to comment out the following +# two lines. +# +# supported options: +# KCAPIMGR_LOG_LEVEL initializes the log level for the CAPI manager, +# integer value +# CAPIDEV_LOG_LEVEL initialize the log level for the CAPI device to +# user space applications, integer value +# +device "kcapimgr" +device "capidev" + ##################################################################### # More undocumented options for linting. --- sys/conf/kern.pre.mk.org.c4b Mon Nov 7 10:55:47 2005 +++ sys/conf/kern.pre.mk Tue Nov 8 16:05:17 2005 @@ -55,6 +55,10 @@ # ... and the same for ipfilter INCLUDES+= -I$S/contrib/ipfilter +# This lets us use the same CAPI header files under /usr/include and within the +# kernel in the directory /sys/c4b/include. +INCLUDES+= -I$S/c4b/include + # ... and the same for pf INCLUDES+= -I$S/contrib/pf --- sys/i386/conf/NOTES.org.c4b Fri Oct 7 16:00:05 2005 +++ sys/i386/conf/NOTES Tue Nov 8 16:05:17 2005 @@ -723,6 +723,148 @@ hint.pcf.0.irq="5" # +# CAPI manager driver for the AVM active ISDN adapters (B1, C2, C4, T1) +# +# The CAPI manager module "kcapimgr" is also needed when this device is entered +# into a kernel configuration file. +# +# Note: Compiling this module as a separate module (i.e. not directly into the +# kernel) is preferred. So it is better to comment out the following +# device line. +# +# Supported flags: +# 0x00 (or no flags) AVM-B1 ISA +# 0x10 - 0x13 AVM-T1 ISA with board number 0 - 3 (low nibble of +# flags) +# +# Supported options: +# AVMAIC_LOG_LEVEL initializes the log level for the driver +# AVMAIC_MAX_APPLICATIONS specifies the maximum no. supported +# simultaneously registered applications, +# default is 30 +# AVMAIC_MAX_NCCI_PER_CHANNEL +# specifies the maximum no. possible B3 +# connections per channel and application, +# default is 4 +# +device avmaic +# AVM-B1 ISA +hint.avmaic.0.at="isa" +hint.avmaic.0.port="0x150" +hint.avmaic.0.irq="5" + +# +# CAPI manager driver for the legacy Diehl active ISDN adapters (S, SX, SXn, +# SCOM, Quadro, S2m) +# +# The CAPI manager module "kcapimgr" is also needed when this device is entered +# into a kernel configuration file. +# +# Note: Compiling this module as a separate module (i.e. not directly into the +# kernel) is preferred. So it is better to comment out the following +# device line. +# +# Note2: The code for the S2m board is currently not implemented. +# +# Supported options: +# DAIC_LOG_LEVEL initializes the log level for the driver +# DAIC_MAX_APPLICATIONS specifies the maximum no. supported +# simultaneously registered applications, +# default is 30 +# DAIC_MAX_NCCI_PER_PLCI specifies the maximum no. supported NCCIs per +# PLCI (useful for ISO 8208 B3-protocol), +# default is 4 +# DAIC_MAX_NCCI_PER_PORT specifies the overall maximum no. supported +# NCCIs per port of a board, default is 128 +# DAIC_MAX_PLCI_PER_PORT specifies the overall maximum no. supported +# PLCIs per port of a board, default is 64 +# +# For more information about the effect of these driver options see the manual +# page daic(4). +# +device daic +# Diehl S, SX, SXn, SCOM (specifying the memory size is optional) +hint.daic.0.at="isa" +hint.daic.0.maddr="0xD0000" +hint.daic.0.msize="0x800" +hint.daic.0.irq="10" +# Diehl Quattro (specifying the memory size is optional) +hint.daic.0.at="isa" +hint.daic.0.maddr="0xD0000" +hint.daic.0.msize="0x2000" +hint.daic.0.irq="10" +# Diehl S2m (specifying the memory size is optional) +hint.daic.0.at="isa" +hint.daic.0.maddr="0xD0000" +hint.daic.0.msize="0x4000" +hint.daic.0.irq="10" + +# +# CAPI manager driver for the IX1 active ISDN adapters +# +# These ISDN boards were originally manufactured by ITK, Germany, that is now +# part of Digi International. The boards were also sold under the name Digi +# Datafire. See ix1a(4) for further information. +# +# The CAPI manager module "kcapimgr" is also needed when this device is entered +# into a kernel configuration file. +# +# Note: Compiling this module as a separate module (i.e. not directly into the +# kernel) is preferred. So it is better to comment out the following +# device line. +# +# Supported flags (see ix1a(4) for detailed information): +# 0x00 - 0x03 IX1 Basic ISA, card types 1-4 +# 0x10 - 0x13 IX1 Octo ISA, card types 1-4 +# 0x20 - 0x27 IX1 Multimodem ISA, card types 1-8 +# +# Supported options: +# IX1A_LOG_LEVEL initializes the log level for the driver +# +device ix1a +# IX1 Basic ISA, card number 1 +hint.ix1a.0.at="isa" +hint.ix1a.0.port="0x380" +hint.ix1a.0.irq="5" +hint.ix1a.0.flags="0x00" +# IX1 Octo ISA, card number 2 +hint.ix1a.0.at="isa" +hint.ix1a.0.port="0x380" +hint.ix1a.0.irq="5" +hint.ix1a.0.flags="0x11" +# IX1 Multimodem ISA, card number 8 +hint.ix1a.0.at="isa" +hint.ix1a.0.port="0x380" +hint.ix1a.0.irq="5" +hint.ix1a.0.flags="0x27" + +# +# i4b driver to support CAPI controllers +# +# The CAPI manager module "kcapimgr" is also needed when this device is entered +# into a kernel configuration file. +# +# Note: Compiling this module as a separate module (i.e. not directly into the +# kernel) is preferred. So it is better to comment out the following +# device line. +# +# Supported options: +# I4BCAPIMGR_LOG_LEVEL initializes the log level for i4bcapimgr, +# integer value +# I4BCAPIMGR_ALLOC_MAX_BDATA_SIZE +# Normally incoming data blocks are forwarded to +# the layer 4 drivers just as they are. But there +# are situations (activated VJ compression and +# uncompression is performed in the received +# mbuf) where it is assumed that the received +# mbuf is allocated with the maximum size of 2kB. +# If this option is set, all incoming data blocks +# are copied into new mbufs of maximum size, thus +# wasting memory and computing time. +# +device "i4bcapimgr" + +# # Hardware watchdog timers: # # ichwd: Intel ICH watchdog timer --- sys/i386/include/i4b_ioctl.h.org.c4b Thu Jan 6 23:18:15 2005 +++ sys/i386/include/i4b_ioctl.h Tue Nov 8 16:07:05 2005 @@ -78,7 +78,8 @@ #define CTRL_TINADD 3 /* Stollmann Tina-dd active card*/ #define CTRL_AVMB1 4 /* AVM B1 active card */ #define CTRL_CAPI 5 /* cards seen via the CAPI layer*/ -#define CTRL_NUMTYPES 6 /* number of controller types */ +#define CTRL_CAPIMGR 6 /* boards accessed through the CAPI manager */ +#define CTRL_NUMTYPES 7 /* number of controller types */ / *----------------------------------------------------------------------- ----* * CTRL_PASSIVE: driver types --- sys/i4b/layer4/i4b_l4mgmt.c.org.c4b Thu Jan 6 23:18:21 2005 +++ sys/i4b/layer4/i4b_l4mgmt.c Tue Nov 8 16:08:21 2005 @@ -301,7 +301,9 @@ for(i=0; i < nctrl; i++) { -/*XXX*/ if(ctrl_desc[i].ctrl_type == CTRL_PASSIVE) +/*XXX*/ if(*ctrl_desc[i].N_MGMT_COMMAND && + (ctrl_desc[i].ctrl_type == CTRL_PASSIVE || + ctrl_desc[i].ctrl_type == CTRL_CAPIMGR)) { NDBGL4(L4_MSG, "CMR_DOPEN sent to unit %d", ctrl_desc[i].unit); (*ctrl_desc[i].N_MGMT_COMMAND)(ctrl_desc [i].unit, CMR_DOPEN, 0); @@ -322,7 +324,9 @@ for(i=0; i < nctrl; i++) { -/*XXX*/ if(ctrl_desc[i].ctrl_type == CTRL_PASSIVE) +/*XXX*/ if(*ctrl_desc[i].N_MGMT_COMMAND && + (ctrl_desc[i].ctrl_type == CTRL_PASSIVE || + ctrl_desc[i].ctrl_type == CTRL_CAPIMGR)) { NDBGL4(L4_MSG, "CMR_DCLOSE sent to unit %d", ctrl_desc[i].unit); (*ctrl_desc[i].N_MGMT_COMMAND)(ctrl_desc [i].unit, CMR_DCLOSE, 0); --- sys/modules/Makefile.org.c4b Fri Oct 7 17:56:30 2005 +++ sys/modules/Makefile Tue Nov 8 16:13:09 2005 @@ -32,6 +32,7 @@ ath_rate_onoe \ aue \ ${_auxio} \ + ${_avmaic} \ ${_awi} \ axe \ bfe \ @@ -42,6 +43,7 @@ cam \ ${_canbepm} \ ${_canbus} \ + ${_capidev} \ ${_cardbus} \ ${_cbb} \ cd9660 \ @@ -60,6 +62,7 @@ ${_ctau} \ cue \ ${_cx} \ + ${_daic} \ dc \ dcons \ dcons_crom \ @@ -93,6 +96,7 @@ ${_hptmv} \ hwpmc \ ${_i2c} \ + ${_i4bcapimgr} \ ${_ibcs2} \ ${_ichwd} \ ${_ida} \ @@ -125,6 +129,7 @@ iwi \ joy \ kbdmux \ + ${_kcapimgr} \ kue \ lge \ libalias \ @@ -321,6 +326,7 @@ _ath_hal= ath_hal _awi= awi _bktr= bktr +_capidev= capidev _cardbus= cardbus _cbb= cbb _coff= coff @@ -337,10 +343,12 @@ _fe= fe _hfa= hfa _i2c= i2c +_i4bcapimgr= i4bcapimgr _ibcs2= ibcs2 _ie= ie _if_ndis= if_ndis _io= io +_kcapimgr= kcapimgr _linprocfs= linprocfs _linux= linux _lnc= lnc @@ -378,12 +386,14 @@ _arl= arl _arcmsr= arcmsr _asr= asr +_avmaic= avmaic _bios= bios _ciss= ciss _cm= cm _cs= cs _ctau= ctau _cx= cx +_daic= daic _dpt= dpt _el= el _ex= ex --- usr.sbin/Makefile.org.c4b Mon Aug 15 22:24:07 2005 +++ usr.sbin/Makefile Tue Nov 8 16:15:19 2005 @@ -22,6 +22,7 @@ bsnmpd \ ${_btxld} \ burncd \ + ${_c4b} \ cdcontrol \ chkgrp \ chown \ @@ -266,6 +267,9 @@ _apmd= apmd _asf= asf _btxld= btxld +.if !defined(NO_C4B) +_c4b= c4b +.endif .if !defined(NO_I4B) _i4b= i4b .endif --- usr.sbin/i4b/isdnd/controller.c.org.c4b Sat Dec 22 10:38:24 2001 +++ usr.sbin/i4b/isdnd/controller.c Tue Nov 8 16:14:20 2005 @@ -95,6 +95,10 @@ "AVM B1 ISA", }; + static char *capimgr_card[] = { + "CAPI manager driven board" + }; + if(ctrl_type == CTRL_PASSIVE) { int index = card_type - CARD_TYPEP_8; @@ -117,6 +121,10 @@ if (index >= 0 && index < (sizeof capi_card / sizeof capi_card[0] )) return capi_card[index]; } + else if(ctrl_type == CTRL_CAPIMGR) + { + return capimgr_card[0]; + } return "unknown card type"; } @@ -210,6 +218,12 @@ break; case CTRL_CAPI: + isdn_ctrl_tab[controller].ctrl_type = ctrl_type; + isdn_ctrl_tab[controller].card_type = card_type; + isdn_ctrl_tab[controller].state = CTRL_UP; + break; + + case CTRL_CAPIMGR: isdn_ctrl_tab[controller].ctrl_type = ctrl_type; isdn_ctrl_tab[controller].card_type = card_type; isdn_ctrl_tab[controller].state = CTRL_UP; -- Stefan Bethke Fon +49 170 346 0140