Date: Thu, 11 Aug 2005 19:35:34 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-isdn@freebsd.org Subject: New ISDN driver Message-ID: <200508111935.35251.hselasky@c2i.net>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508111935.35251.hselasky>