Driver for active AVM Controller. The driver provides a kernel capi2.0 Interface (kernelcapi) and on top of this a User-Level-CAPI2.0-interface (capi) and a driver to connect isdn4linux with CAPI2.0 (capidrv). The lowlevel interface can be used to implement a CAPI2.0 also for passive cards since July 1999. The author can be reached at calle@calle.in-berlin.de. The command avmcapictrl is part of the isdn4k-utils. t4-files can be found at ftp://ftp.avm.de/cardware/b1/linux/firmware Currently supported cards: B1 ISA (all versions) B1 PCI T1/T1B (HEMA card) M1 M2 B1 PCMCIA Installing ---------- You need at least /dev/capi20 to load the firmware. mknod /dev/capi20 c 68 0 mknod /dev/capi20.00 c 68 1 mknod /dev/capi20.01 c 68 2 . . . mknod /dev/capi20.19 c 68 20 Running ------- To use the card you need the t4-files to download the firmware. AVM GmbH provides several t4-files for the different D-channel protocols (b1.t4 for Euro-ISDN). Install these file in /lib/isdn. if you configure as modules load the modules this way: insmod /lib/modules/current/misc/capiutil.o insmod /lib/modules/current/misc/b1.o insmod /lib/modules/current/misc/kernelcapi.o insmod /lib/modules/current/misc/capidrv.o insmod /lib/modules/current/misc/capi.o if you have an B1-PCI card load the module b1pci.o insmod /lib/modules/current/misc/b1pci.o and load the firmware with avmcapictrl load /lib/isdn/b1.t4 1 if you have an B1-ISA card load the module b1isa.o and add the card by calling avmcapictrl add 0x150 15 and load the firmware by calling avmcapictrl load /lib/isdn/b1.t4 1 if you have an T1-ISA card load the module t1isa.o and add the card by calling avmcapictrl add 0x450 15 T1 0 and load the firmware by calling avmcapictrl load /lib/isdn/t1.t4 1 if you have an PCMCIA card (B1/M1/M2) load the module b1pcmcia.o before you insert the card. Leased Lines with B1 -------------------- Init card and load firmware. For an D64S use "FV: 1" as phone number For an D64S2 use "FV: 1" and "FV: 2" for multilink or "FV: 1,2" to use CAPI channel bundling. /proc-Interface ----------------- /proc/capi: dr-xr-xr-x 2 root root 0 Jul 1 14:03 . dr-xr-xr-x 82 root root 0 Jun 30 19:08 .. -r--r--r-- 1 root root 0 Jul 1 14:03 applications -r--r--r-- 1 root root 0 Jul 1 14:03 applstats -r--r--r-- 1 root root 0 Jul 1 14:03 capi20 -r--r--r-- 1 root root 0 Jul 1 14:03 capidrv -r--r--r-- 1 root root 0 Jul 1 14:03 controller -r--r--r-- 1 root root 0 Jul 1 14:03 contrstats -r--r--r-- 1 root root 0 Jul 1 14:03 driver -r--r--r-- 1 root root 0 Jul 1 14:03 ncci -r--r--r-- 1 root root 0 Jul 1 14:03 users /proc/capi/applications: applid level3cnt datablkcnt datablklen ncci-cnt recvqueuelen level3cnt: capi_register parameter datablkcnt: capi_register parameter ncci-cnt: current number of nccis (connections) recvqueuelen: number of messages on receive queue for example: 1 -2 16 2048 1 0 2 2 7 2048 1 0 /proc/capi/applstats: applid recvctlmsg nrecvdatamsg nsentctlmsg nsentdatamsg recvctlmsg: capi messages received without DATA_B3_IND recvdatamsg: capi DATA_B3_IND received sentctlmsg: capi messages sent without DATA_B3_REQ sentdatamsg: capi DATA_B3_REQ sent for example: 1 2057 1699 1721 1699 /proc/capi/capi20: statistics of capi.o (/dev/capi20) minor nopen nrecvdropmsg nrecvctlmsg nrecvdatamsg sentctlmsg sentdatamsg minor: minor device number of capi device nopen: number of calls to devices open nrecvdropmsg: capi messages dropped (messages in recvqueue in close) nrecvctlmsg: capi messages received without DATA_B3_IND nrecvdatamsg: capi DATA_B3_IND received nsentctlmsg: capi messages sent without DATA_B3_REQ nsentdatamsg: capi DATA_B3_REQ sent for example: 1 2 18 0 16 2 /proc/capi/capidrv: statistics of capidrv.o (capi messages) nrecvctlmsg nrecvdatamsg sentctlmsg sentdatamsg nrecvctlmsg: capi messages received without DATA_B3_IND nrecvdatamsg: capi DATA_B3_IND received nsentctlmsg: capi messages sent without DATA_B3_REQ nsentdatamsg: capi DATA_B3_REQ sent for example: 2780 2226 2256 2226 /proc/capi/controller: controller drivername state cardname controllerinfo for example: 1 b1pci running b1pci-e000 B1 3.07-01 0xe000 19 2 t1isa running t1isa-450 B1 3.07-01 0x450 11 0 3 b1pcmcia running m2-150 B1 3.07-01 0x150 5 /proc/capi/contrstats: controller nrecvctlmsg nrecvdatamsg sentctlmsg sentdatamsg nrecvctlmsg: capi messages received without DATA_B3_IND nrecvdatamsg: capi DATA_B3_IND received nsentctlmsg: capi messages sent without DATA_B3_REQ nsentdatamsg: capi DATA_B3_REQ sent for example: 1 2845 2272 2310 2274 2 2 0 2 0 3 2 0 2 0 /proc/capi/driver: drivername ncontroller for example: b1pci 1 t1isa 1 b1pcmcia 1 b1isa 0 /proc/capi/ncci: apllid ncci winsize sendwindow for example: 1 0x10101 8 0 /proc/capi/users: kernelmodules that use the kernelcapi. name for example: capidrv capi20 Questions --------- Check out the FAQ (ftp.franken.de) or subscribe to the linux-avmb1@calle.in-berlin.de mailing list by sending a mail to majordomo@calle.in-berlin.de with subscribe linux-avmb1 in the body. German documentaion and several scripts can be found at ftp://ftp.avm.de/cardware/b1/linux/ Bugs ---- If you find any please let me know. Enjoy, Carsten Paeth (calle@calle.in-berlin.de)