From owner-freebsd-isdn@FreeBSD.ORG Thu Aug 11 17:34:43 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 1DFFF16A41F for ; Thu, 11 Aug 2005 17:34:43 +0000 (GMT) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe04.swip.net [212.247.154.97]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C72543D49 for ; Thu, 11 Aug 2005 17:34:42 +0000 (GMT) (envelope-from hselasky@c2i.net) X-T2-Posting-ID: gvlK0tOCzrqh9CPROFOFPw== Received: from mp-217-233-55.daxnet.no ([193.217.233.55] verified) by mailfe04.swip.net (CommuniGate Pro SMTP 4.3.4) with ESMTP id 441872582 for freebsd-isdn@freebsd.org; Thu, 11 Aug 2005 19:34:36 +0200 From: Hans Petter Selasky To: freebsd-isdn@freebsd.org Date: Thu, 11 Aug 2005 19:35:34 +0200 User-Agent: KMail/1.7 MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <200508111935.35251.hselasky@c2i.net> Subject: New ISDN driver X-BeenThere: freebsd-isdn@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: hselasky@c2i.net List-Id: Using ISDN with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Aug 2005 17:34:43 -0000 Hi all, I'm out with a pre-release of my latest ISDN/USB driver. It should be very easy to install. Until further you need FreeBSD 5/6/7, though there are some plans to port it to NetBSD. What you get this time is a cloneable "/dev/i4b" and "/dev/capi20", besides from all those other improvements I have mentioned earlier. To make I4B compile on all platforms, I have moved all include files to "/usr/include/i4b/include" and "/sys/i4b/include", including "capi20.h". My CAPI library and helper functions are 99% compatible with Linux, though not completely identical. To make a Linux CAPI application compile on FreeBSD you only need to include the file "/usr/include/i4b/include/capi20.h" and make a few one-line patches. See "man capi" for how to resolve those one-liners. NOTE: there is no need to install liblinuxcapi ! So far I have test compiled my "capi20.h" with "chan_capi-0.3.5", which is a module for the Asterisk PBX, though I have plans for a "chan_i4btel" under BSD license, that will use CAPI aswell, One thing to note is that the controller numbers start at 0 so that I4B controller 0 is CAPI controller 0. Other implementations start controller numbers at 1, but I see no reason to confuse people, haveing more than one number for the same controller. If controller 0 is not valid please change the application in question to allow that value. If you cannot change the application, one can use "8" or "MAX_CONTROLLER" instead of "0" for outgoing calls. See "/usr/src/usr.sbin/i4b/capitest/main.c" for an example on how to take full advantage of my CAPI 2.0 implementation. See "/usr/src/usr.sbin/i4b/isdntest/main.c" if you want to stay updated on the I4B API. As a consequence of the changes I have made, you can now run "isdntest" while "isdnd" is running. I have plans to make the device allocation dynamic, so that applications can allocate devices like "/dev/i4btelX" dynamically, without need for configuration. Until further I have put all the "counts" in "/sys/i4b/include/i4b_global.h". If you need more than 8 units please edit that file. My driver now supports all cards that are supported by the official version of I4B except active CAPI controllers and one "Frizt" card. So if you have got an ISDN card or device the chances should be good that my driver will support it. Download the three files below into a new directory and type "make install". To uninstall type "make deinstall". http://home.c2i.net/hselasky/isdn4bsd/privat/temporary/155/Makefile http://home.c2i.net/hselasky/isdn4bsd/privat/temporary/new_ihfc_1_5_5.tar.bz2 http://home.c2i.net/hselasky/isdn4bsd/privat/temporary/new_ihfc_1_5_5.diff.bz2 Type "make help" for more help. PS: If you have the source tree in a directory different from "/usr/src", simply use "make S=/usr/mydirectory install". The only files that will not get installed here is a copy of the header files, which is always installed in /usr/include/.... A little note. If you are using FreeBSD 7 current from before 8th of August 2005, you will have to change "#if (__FreeBSD_version >= 700001)" to "#if 0" in the two files that break during kernel compilation. These are "/sys/i4b/layer4/i4b_capidrv.c" and "/sys/i4b/layer4/i4b_i4bdrv.c". --HPS