1Driver for active AVM Controller.
2
3The driver provides a kernel capi2.0 Interface (kernelcapi) and
4on top of this a User-Level-CAPI2.0-interface (capi)
5and a driver to connect isdn4linux with CAPI2.0 (capidrv).
6The lowlevel interface can be used to implement a CAPI2.0
7also for passive cards since July 1999.
8
9The author can be reached at calle@calle.in-berlin.de.
10The command avmcapictrl is part of the isdn4k-utils.
11t4-files can be found at ftp://ftp.avm.de/cardware/b1/linux/firmware
12
13Currently supported cards:
14	B1 ISA (all versions)
15	B1 PCI
16	T1/T1B (HEMA card)
17	M1
18	M2
19	B1 PCMCIA
20
21Installing
22----------
23
24You need at least /dev/capi20 to load the firmware.
25
26mknod /dev/capi20 c 68 0
27mknod /dev/capi20.00 c 68 1
28mknod /dev/capi20.01 c 68 2
29.
30.
31.
32mknod /dev/capi20.19 c 68 20
33
34Running
35-------
36
37To use the card you need the t4-files to download the firmware.
38AVM GmbH provides several t4-files for the different D-channel
39protocols (b1.t4 for Euro-ISDN). Install these file in /lib/isdn.
40
41if you configure as modules load the modules this way:
42
43insmod /lib/modules/current/misc/capiutil.o
44insmod /lib/modules/current/misc/b1.o
45insmod /lib/modules/current/misc/kernelcapi.o
46insmod /lib/modules/current/misc/capidrv.o
47insmod /lib/modules/current/misc/capi.o
48
49if you have an B1-PCI card load the module b1pci.o
50insmod /lib/modules/current/misc/b1pci.o
51and load the firmware with
52avmcapictrl load /lib/isdn/b1.t4 1
53
54if you have an B1-ISA card load the module b1isa.o
55and add the card by calling
56avmcapictrl add 0x150 15
57and load the firmware by calling
58avmcapictrl load /lib/isdn/b1.t4 1
59
60if you have an T1-ISA card load the module t1isa.o
61and add the card by calling
62avmcapictrl add 0x450 15 T1 0
63and load the firmware by calling
64avmcapictrl load /lib/isdn/t1.t4 1
65
66if you have an PCMCIA card (B1/M1/M2) load the module b1pcmcia.o
67before you insert the card.
68
69Leased Lines with B1
70--------------------
71Init card and load firmware.
72For an D64S use "FV: 1" as phone number
73For an D64S2 use "FV: 1" and "FV: 2" for multilink
74or "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:
991 -2 16 2048 1 0
1002 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:
1091 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:
1221 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:
1312780 2226 2256 2226
132
133/proc/capi/controller:
134   controller drivername state cardname   controllerinfo
135   for example:
1361 b1pci      running  b1pci-e000       B1 3.07-01 0xe000 19
1372 t1isa      running  t1isa-450        B1 3.07-01 0x450 11 0
1383 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:
1471 2845 2272 2310 2274
1482 2 0 2 0
1493 2 0 2 0
150
151/proc/capi/driver:
152   drivername ncontroller
153   for example:
154b1pci                            1
155t1isa                            1
156b1pcmcia                         1
157b1isa                            0
158
159/proc/capi/ncci:
160   apllid ncci winsize sendwindow
161   for example:
1621 0x10101 8 0
163
164/proc/capi/users: kernelmodules that use the kernelcapi.
165   name
166   for example:
167capidrv
168capi20
169
170Questions
171---------
172Check out the FAQ (ftp.isdn4linux.de) or subscribe to the
173linux-avmb1@calle.in-berlin.de mailing list by sending
174a mail to majordomo@calle.in-berlin.de with
175subscribe linux-avmb1
176in the body.
177
178German documentation and several scripts can be found at
179ftp://ftp.avm.de/cardware/b1/linux/
180
181Bugs
182----
183If you find any please let me know.
184
185Enjoy,
186
187Carsten Paeth (calle@calle.in-berlin.de)
188