Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | Driver for active AVM Controller. |
| 2 | |
| 3 | The driver provides a kernel capi2.0 Interface (kernelcapi) and |
| 4 | on top of this a User-Level-CAPI2.0-interface (capi) |
| 5 | and a driver to connect isdn4linux with CAPI2.0 (capidrv). |
| 6 | The lowlevel interface can be used to implement a CAPI2.0 |
| 7 | also for passive cards since July 1999. |
| 8 | |
| 9 | The author can be reached at calle@calle.in-berlin.de. |
| 10 | The command avmcapictrl is part of the isdn4k-utils. |
| 11 | t4-files can be found at ftp://ftp.avm.de/cardware/b1/linux/firmware |
| 12 | |
| 13 | Currently supported cards: |
| 14 | B1 ISA (all versions) |
| 15 | B1 PCI |
| 16 | T1/T1B (HEMA card) |
| 17 | M1 |
| 18 | M2 |
| 19 | B1 PCMCIA |
| 20 | |
| 21 | Installing |
| 22 | ---------- |
| 23 | |
| 24 | You need at least /dev/capi20 to load the firmware. |
| 25 | |
| 26 | mknod /dev/capi20 c 68 0 |
| 27 | mknod /dev/capi20.00 c 68 1 |
| 28 | mknod /dev/capi20.01 c 68 2 |
| 29 | . |
| 30 | . |
| 31 | . |
| 32 | mknod /dev/capi20.19 c 68 20 |
| 33 | |
| 34 | Running |
| 35 | ------- |
| 36 | |
| 37 | To use the card you need the t4-files to download the firmware. |
| 38 | AVM GmbH provides several t4-files for the different D-channel |
| 39 | protocols (b1.t4 for Euro-ISDN). Install these file in /lib/isdn. |
| 40 | |
| 41 | if you configure as modules load the modules this way: |
| 42 | |
| 43 | insmod /lib/modules/current/misc/capiutil.o |
| 44 | insmod /lib/modules/current/misc/b1.o |
| 45 | insmod /lib/modules/current/misc/kernelcapi.o |
| 46 | insmod /lib/modules/current/misc/capidrv.o |
| 47 | insmod /lib/modules/current/misc/capi.o |
| 48 | |
| 49 | if you have an B1-PCI card load the module b1pci.o |
| 50 | insmod /lib/modules/current/misc/b1pci.o |
| 51 | and load the firmware with |
| 52 | avmcapictrl load /lib/isdn/b1.t4 1 |
| 53 | |
| 54 | if you have an B1-ISA card load the module b1isa.o |
| 55 | and add the card by calling |
| 56 | avmcapictrl add 0x150 15 |
| 57 | and load the firmware by calling |
| 58 | avmcapictrl load /lib/isdn/b1.t4 1 |
| 59 | |
| 60 | if you have an T1-ISA card load the module t1isa.o |
| 61 | and add the card by calling |
| 62 | avmcapictrl add 0x450 15 T1 0 |
| 63 | and load the firmware by calling |
| 64 | avmcapictrl load /lib/isdn/t1.t4 1 |
| 65 | |
| 66 | if you have an PCMCIA card (B1/M1/M2) load the module b1pcmcia.o |
| 67 | before you insert the card. |
| 68 | |
| 69 | Leased Lines with B1 |
| 70 | -------------------- |
| 71 | Init card and load firmware. |
| 72 | For an D64S use "FV: 1" as phone number |
| 73 | For an D64S2 use "FV: 1" and "FV: 2" for multilink |
| 74 | or "FV: 1,2" to use CAPI channel bundling. |
| 75 | |
| 76 | /proc-Interface |
| 77 | ----------------- |
| 78 | |
| 79 | /proc/capi: |
| 80 | dr-xr-xr-x 2 root root 0 Jul 1 14:03 . |
| 81 | dr-xr-xr-x 82 root root 0 Jun 30 19:08 .. |
| 82 | -r--r--r-- 1 root root 0 Jul 1 14:03 applications |
| 83 | -r--r--r-- 1 root root 0 Jul 1 14:03 applstats |
| 84 | -r--r--r-- 1 root root 0 Jul 1 14:03 capi20 |
| 85 | -r--r--r-- 1 root root 0 Jul 1 14:03 capidrv |
| 86 | -r--r--r-- 1 root root 0 Jul 1 14:03 controller |
| 87 | -r--r--r-- 1 root root 0 Jul 1 14:03 contrstats |
| 88 | -r--r--r-- 1 root root 0 Jul 1 14:03 driver |
| 89 | -r--r--r-- 1 root root 0 Jul 1 14:03 ncci |
| 90 | -r--r--r-- 1 root root 0 Jul 1 14:03 users |
| 91 | |
| 92 | /proc/capi/applications: |
| 93 | applid level3cnt datablkcnt datablklen ncci-cnt recvqueuelen |
| 94 | level3cnt: capi_register parameter |
| 95 | datablkcnt: capi_register parameter |
| 96 | ncci-cnt: current number of nccis (connections) |
| 97 | recvqueuelen: number of messages on receive queue |
| 98 | for example: |
| 99 | 1 -2 16 2048 1 0 |
| 100 | 2 2 7 2048 1 0 |
| 101 | |
| 102 | /proc/capi/applstats: |
| 103 | applid recvctlmsg nrecvdatamsg nsentctlmsg nsentdatamsg |
| 104 | recvctlmsg: capi messages received without DATA_B3_IND |
| 105 | recvdatamsg: capi DATA_B3_IND received |
| 106 | sentctlmsg: capi messages sent without DATA_B3_REQ |
| 107 | sentdatamsg: capi DATA_B3_REQ sent |
| 108 | for example: |
| 109 | 1 2057 1699 1721 1699 |
| 110 | |
| 111 | /proc/capi/capi20: statistics of capi.o (/dev/capi20) |
| 112 | minor nopen nrecvdropmsg nrecvctlmsg nrecvdatamsg sentctlmsg sentdatamsg |
| 113 | minor: minor device number of capi device |
| 114 | nopen: number of calls to devices open |
| 115 | nrecvdropmsg: capi messages dropped (messages in recvqueue in close) |
| 116 | nrecvctlmsg: capi messages received without DATA_B3_IND |
| 117 | nrecvdatamsg: capi DATA_B3_IND received |
| 118 | nsentctlmsg: capi messages sent without DATA_B3_REQ |
| 119 | nsentdatamsg: capi DATA_B3_REQ sent |
| 120 | |
| 121 | for example: |
| 122 | 1 2 18 0 16 2 |
| 123 | |
| 124 | /proc/capi/capidrv: statistics of capidrv.o (capi messages) |
| 125 | nrecvctlmsg nrecvdatamsg sentctlmsg sentdatamsg |
| 126 | nrecvctlmsg: capi messages received without DATA_B3_IND |
| 127 | nrecvdatamsg: capi DATA_B3_IND received |
| 128 | nsentctlmsg: capi messages sent without DATA_B3_REQ |
| 129 | nsentdatamsg: capi DATA_B3_REQ sent |
| 130 | for example: |
| 131 | 2780 2226 2256 2226 |
| 132 | |
| 133 | /proc/capi/controller: |
| 134 | controller drivername state cardname controllerinfo |
| 135 | for example: |
| 136 | 1 b1pci running b1pci-e000 B1 3.07-01 0xe000 19 |
| 137 | 2 t1isa running t1isa-450 B1 3.07-01 0x450 11 0 |
| 138 | 3 b1pcmcia running m2-150 B1 3.07-01 0x150 5 |
| 139 | |
| 140 | /proc/capi/contrstats: |
| 141 | controller nrecvctlmsg nrecvdatamsg sentctlmsg sentdatamsg |
| 142 | nrecvctlmsg: capi messages received without DATA_B3_IND |
| 143 | nrecvdatamsg: capi DATA_B3_IND received |
| 144 | nsentctlmsg: capi messages sent without DATA_B3_REQ |
| 145 | nsentdatamsg: capi DATA_B3_REQ sent |
| 146 | for example: |
| 147 | 1 2845 2272 2310 2274 |
| 148 | 2 2 0 2 0 |
| 149 | 3 2 0 2 0 |
| 150 | |
| 151 | /proc/capi/driver: |
| 152 | drivername ncontroller |
| 153 | for example: |
| 154 | b1pci 1 |
| 155 | t1isa 1 |
| 156 | b1pcmcia 1 |
| 157 | b1isa 0 |
| 158 | |
| 159 | /proc/capi/ncci: |
| 160 | apllid ncci winsize sendwindow |
| 161 | for example: |
| 162 | 1 0x10101 8 0 |
| 163 | |
| 164 | /proc/capi/users: kernelmodules that use the kernelcapi. |
| 165 | name |
| 166 | for example: |
| 167 | capidrv |
| 168 | capi20 |
| 169 | |
| 170 | Questions |
| 171 | --------- |
| 172 | Check out the FAQ (ftp.isdn4linux.de) or subscribe to the |
| 173 | linux-avmb1@calle.in-berlin.de mailing list by sending |
| 174 | a mail to majordomo@calle.in-berlin.de with |
| 175 | subscribe linux-avmb1 |
| 176 | in the body. |
| 177 | |
| 178 | German documentation and several scripts can be found at |
| 179 | ftp://ftp.avm.de/cardware/b1/linux/ |
| 180 | |
| 181 | Bugs |
| 182 | ---- |
| 183 | If you find any please let me know. |
| 184 | |
| 185 | Enjoy, |
| 186 | |
| 187 | Carsten Paeth (calle@calle.in-berlin.de) |