summaryrefslogtreecommitdiff
path: root/Documentation/networking/slicecom.hun
blob: bed2f045e5501ea78e9e3ed9755330fa589b5ed3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
SliceCOM adapter felhasznaloi dokumentacioja - 0.51 verziohoz

Bartók István <bartoki@itc.hu>
Utolso modositas: Wed Aug 29 17:26:58 CEST 2001

-----------------------------------------------------------------

Hasznalata:

Forditas:

Code maturity level options
	[*] Prompt for development and/or incomplete code/drivers

Network device support
	Wan interfaces
		<M> MultiGate (COMX) synchronous
			<M> Support for MUNICH based boards: SliceCOM, PCICOM (NEW)
			<M> Support for HDLC and syncPPP...


A modulok betoltese:

modprobe comx

modprobe comx-proto-ppp		# a Cisco-HDLC es a SyncPPP protokollt is
				# ez a modul adja

modprobe comx-hw-munich		# a modul betoltodeskor azonnal jelent a
				# syslogba a detektalt kartyakrol


Konfiguralas:

# Ezen az interfeszen Cisco-HDLC vonali protokoll fog futni
# Az interfeszhez rendelt idoszeletek: 1,2 (128 kbit/sec-es vonal)
# (a G.703 keretben az elso adatot vivo idoszelet az 1-es)
#
mkdir /proc/comx/comx0.1/
echo slicecom	>/proc/comx/comx0.1/boardtype
echo hdlc	>/proc/comx/comx0.1/protocol
echo 1 2	>/proc/comx/comx0.1/timeslots


# Ezen az interfeszen SyncPPP vonali protokoll fog futni
# Az interfeszhez rendelt idoszelet: 3 (64 kbit/sec-es vonal)
#
mkdir /proc/comx/comx0.2/
echo slicecom	>/proc/comx/comx0.2/boardtype
echo ppp	>/proc/comx/comx0.2/protocol
echo 3		>/proc/comx/comx0.2/timeslots

...

ifconfig comx0.1 up
ifconfig comx0.2 up

-----------------------------------------------------------------

A COMX driverek default 20 csomagnyi transmit queue-t rendelnek a halozati
interfeszekhez. WAN halozatokban ennel hosszabbat is szokas hasznalni
(20 es 100 kozott), hogy a vonal kihasznaltsaga nagy terheles eseten jobb
legyen (bar ezzel megno a varhato kesleltetes a csomagok sorban allasa miatt):

# ifconfig comx0 txqueuelen 50

Ezt a beallitasi lehetoseget csak az ujabb disztribuciok ifconfig parancsa
tamogatja (amik mar a 2.2 kernelekhez keszultek, mint a RedHat 6.1 vagy a
Debian 2.2).

A 2.1-es Debian disztribuciohoz a http://www.debian.org/~rcw/2.2/netbase/
cimrol toltheto le ujabb netbase csomag, ami mar ilyet tamogato ifconfig
parancsot tartalmaz. Bovebben a 2.2 kernel hasznalatarol Debian 2.1 alatt:
http://www.debian.org/releases/stable/running-kernel-2.2

-----------------------------------------------------------------

A kartya LED-jeinek jelentese:

piros	- eg, ha Remote Alarm-ot kuld a tuloldal
zold	- eg, ha a vett jelben megtalalja a keretszinkront

Reszletesebben:

piros:	zold:	jelentes:

-	-	nincs keretszinkron (nincs jel, vagy rossz a jel)
-	eg	"minden rendben"
eg	eg	a vetel OK, de a tuloldal Remote Alarm-ot kuld
eg	-	ez nincs ertelmezve, egyelore funkcio nelkul

-----------------------------------------------------------------

Reszletesebb leiras a hardver beallitasi lehetosegeirol:

Az altalanos,- es a protokoll-retegek beallitasi lehetosegeirol a 'comx.txt'
fajlban leirtak SliceCOM kartyanal is ervenyesek, itt csak a hardver-specifikus
beallitasi lehetosegek vannak osszefoglalva:

Konfiguralasi interfesz a /proc/comx/ alatt:

Minden timeslot-csoportnak kulon comx* interfeszt kell letrehozni mkdir-rel:
comx0, comx1, .. stb. Itt beallithato, hogy az adott interfesz hanyadik kartya
melyik timeslotja(i)bol alljon ossze. A Cisco-fele serial3:1 elnevezesek
(serial3:1 = a 3. kartyaban az 1-es idoszelet-csoport) Linuxon aliasing-ot
jelentenenek, ezert mi nem tudunk ilyen elnevezest hasznalni.

Tobb kartya eseten a comx0.1, comx0.2, ... vagy slice0.1, slice0.2 nevek
hasznalhatoak.

Tobb SliceCOM kartya is lehet egy gepben, de sajat interrupt kell mindegyiknek,
nem tud meg megosztott interruptot kezelni.

Az egesz kartyat erinto beallitasok:

Az ioport es irq beallitas nincs: amit a PCI BIOS kioszt a rendszernek,
azt hasznalja a driver.


comx0/boardnum	- hanyadik SliceCOM kartya a gepben (a 'termeszetes' PCI
		sorrendben ertve: ahogyan a /proc/pci-ban vagy az 'lspci'
		kimeneteben megjelenik, altalaban az alaplapi PCI meghajto
		aramkorokhoz kozelebb eso kartyak a kisebb sorszamuak)

		Default: 0 (0-tol kezdodik a szamolas)


Bar a kovetkezoket csak egy-egy interfeszen allitjuk at, megis az egesz kartya
mukodeset egyszerre allitjak. A megkotes hogy csak UP-ban levo interfeszen
hasznalhatoak, azert van, mert kulonben nem vart eredmenyekre vezetne egy ilyen
paranccsorozat:

	echo 0        >boardnum
	echo internal >clock_source
	echo 1        >boardnum

- Ez a 0-s board clock_source-at allitana at.

Ezek a beallitasok megmaradnak az osszes interfesz torlesekor, de torlodnek
a driver modul ki/betoltesekor.


comx0/clock_source - A Tx orajelforrasa, a Cisco-val hasonlatosra keszult.
	Hasznalata:

	papaya:# echo line     >/proc/comx/comx0/clock_source
	papaya:# echo internal >/proc/comx/comx0/clock_source

	line     - A Tx orajelet a vett adatfolyambol dekodolja, igyekszik
		igazodni hozza. Ha nem lat orajelet az inputon, akkor
		atall a sajat orajelgeneratorara.
	internal - A Tx orajelet a sajat orajelgeneratora szolgaltatja.

	Default: line

	Normal osszeallitas eseten a tavkozlesi szolgaltato eszkoze
	(pl. HDSL modem) adja az orajelet, ezert ez a default.


comx0/framing	- A CRC4 ki/be kapcsolasa

	A CRC4: 16 PCM keretet (A PCM keret az, amibe a 32 darab 64
	kilobites csatorna van bemultiplexalva. Nem osszetevesztendo a HDLC
	kerettel.) 2x8 -as csoportokra osztanak, es azokhoz 4-4 bites CRC-t
	szamolnak. Elsosorban a vonal minosegenek a monitorozasara szolgal.

	papaya:~# echo crc4	>/proc/comx/comx0/framing
	papaya:~# echo no-crc4	>/proc/comx/comx0/framing

	Default a 'crc4', a MATAV vonalak altalaban igy futnak. De ha nem
	egyforma is a beallitas a vonal ket vegen, attol a forgalom altalaban
	at tud menni.


comx0/linecode	- A vonali kodolas beallitasa

	papaya:~# echo hdb3	>/proc/comx/comx0/linecode
	papaya:~# echo ami	>/proc/comx/comx0/linecode

	Default a 'hdb3', a MATAV vonalak igy futnak.
	
	(az AMI kodolas igen ritka E1-es vonalaknal). Ha ez a beallitas nem
	egyezik a vonal ket vegen, akkor elofordulhat hogy a keretszinkron
	osszejon, de CRC4-hibak es a vonalakon atvitt adatokban is hibak
	keletkeznek (amit a HDLC/SyncPPP szinten CRC-hibaval jelez)


comx0/reg	- a kartya aramkoreinek, a MUNICH (reg) es a FALC (lbireg)
comx0/lbireg	regisztereinek kozvetlen elerese. Hasznalata:

		echo >reg 0x04 0x0	- a 4-es regiszterbe 0-t ir
		echo >reg 0x104		- printk()-val kiirja a 4-es regiszter
					tartalmat a syslogba.

		WARNING: ezek csak a fejleszteshez keszultek, sok galibat
		lehet veluk okozni!


comx0/loopback - A kartya G.703 jelenek a visszahurkolasara is van lehetoseg:

	papaya:# echo none   >/proc/comx/comx0/loopback
	papaya:# echo local  >/proc/comx/comx0/loopback
	papaya:# echo remote >/proc/comx/comx0/loopback

	none   - nincs visszahurkolas, normal mukodes
	local  - a kartya a sajat maga altal adott jelet kapja vissza
	remote - a kartya a kivulrol vett jelet adja kifele

	Default: none

-----------------------------------------------------------------

Az interfeszhez (Cisco terminologiaban 'channel-group') kapcsolodo beallitasok:

comx0/timeslots	- mely timeslotok (idoszeletek) tartoznak az adott interfeszhez.

	papaya:~# cat /proc/comx/comx0/timeslots
	1 3 4 5 6
	papaya:~#

	Egy timeslot megkeresese (hanyas interfeszbe tartozik nalunk):

	papaya:~# grep ' 4' /proc/comx/comx*/timeslots
	/proc/comx/comx0/timeslots:1 3 4 5 6
	papaya:~#

	Beallitasa:
	papaya:~# echo '1 5 2 6 7 8' >/proc/comx/comx0/timeslots
	
	A timeslotok sorrendje nem szamit, '1 3 2' ugyanaz mint az '1 2 3'.

	Beallitashoz az adott interfesznek DOWN-ban kell lennie
	(ifconfig comx0 down), de ugyanannak a kartyanak a tobbi interfesze
	uzemelhet kozben.

	Beallitaskor leellenorzi, hogy az uj timeslotok nem utkoznek-e egy
	masik interfesz timeslotjaival. Ha utkoznek, akkor nem allitja at.

	Mindig 10-es szamrendszerben tortenik a timeslotok ertelmezese, nehogy
	a 08, 09 alaku felirast rosszul ertelmezze.

-----------------------------------------------------------------

Az interfeszek es a kartya allapotanak lekerdezese:

- A ' '-szel kezdodo sorok az eredeti kimenetet, a //-rel kezdodo sorok a
magyarazatot jelzik.

 papaya:~$ cat /proc/comx/comx1/status
 Interface administrative status is UP, modem status is UP, protocol is UP
 Modem status changes: 0, Transmitter status is IDLE, tbusy: 0
 Interface load (input): 978376 / 947808 / 951024 bits/s (5s/5m/15m)
               (output): 978376 / 947848 / 951024 bits/s (5s/5m/15m)
 Debug flags: none
 RX errors: len: 22, overrun: 1, crc: 0, aborts: 0
            buffer overrun: 0, pbuffer overrun: 0
 TX errors: underrun: 0
 Line keepalive (value: 10) status UP [0]

// Itt kezdodik a hardver-specifikus resz:
 Controller status:
         No alarms

// Alarm: hibajelzes:
//
// No alarms - minden rendben
//
// LOS  - Loss Of Signal - nem erzekel jelet a bemeneten.
// AIS  - Alarm Indication Signal - csak egymas utani 1-esek jonnek
//	a bemeneten, a tuloldal igy is jelezheti hogy meghibasodott vagy
//	nincs inicializalva.
// AUXP - Auxiliary Pattern Indication - 01010101.. sorozat jon a bemeneten.
// LFA  - Loss of Frame Alignment - nincs keretszinkron
// RRA  - Receive Remote Alarm - a tuloldal el, de hibat jelez.
// LMFA - Loss of CRC4 Multiframe Alignment - nincs CRC4-multikeret-szinkron
// NMF  - No Multiframe alignment Found after 400 msec - ilyen alarm a no-crc4
//	es crc4 keretezesek eseten nincs, lasd lentebb
//
// Egyeb lehetseges hibajelzesek:
//
// Transmit Line Short - a kartya ugy erzi hogy az adasi kimenete rovidre
//	van zarva, ezert kikapcsolta az adast. (nem feltetlenul veszi eszre
//	a kulso rovidzarat)

// A veteli oldal csomagjainak lancolt listai, debug celokra:

 Rx ring:
         rafutott: 0
         lastcheck: 50845731, jiffies: 51314281
         base: 017b1858
         rx_desc_ptr: 0
         rx_desc_ptr: 017b1858
         hw_curr_ptr: 017b1858
         06040000 017b1868 017b1898 c016ff00
         06040000 017b1878 017b1e9c c016ff00
         46040000 017b1888 017b24a0 c016ff00
         06040000 017b1858 017b2aa4 c016ff00

// A kartyat hasznalo tobbi interfesz: a 0-s channel-group a comx1 interfesz,
// es az 1,2,...,16 timeslotok tartoznak hozza:

 Interfaces using this board: (channel-group, interface, timeslots)
          0 comx1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
          1 comx2: 17
          2 comx3: 18
          3 comx4: 19
          4 comx5: 20
          5 comx6: 21
          6 comx7: 22
          7 comx8: 23
          8 comx9: 24
          9 comx10: 25
         10 comx11: 26
         11 comx12: 27
         12 comx13: 28
         13 comx14: 29
         14 comx15: 30
         15 comx16: 31

// Hany esemenyt kezelt le a driver egy-egy hardver-interrupt kiszolgalasanal:

 Interrupt work histogram:
 hist[ 0]:        0 hist[ 1]:        2 hist[ 2]:    18574 hist[ 3]:       79
 hist[ 4]:       14 hist[ 5]:        1 hist[ 6]:        0 hist[ 7]:        1
 hist[ 8]:        0 hist[ 9]:        7

// Hany kikuldendo csomag volt mar a Tx-ringben amikor ujabb lett irva bele:

 Tx ring histogram:
 hist[ 0]:     2329 hist[ 1]:        0 hist[ 2]:        0 hist[ 3]:        0

// Az E1-interfesz hiba-szamlaloi, az rfc2495-nek megfeleloen:
// (kb. a Cisco routerek "show controllers e1" formatumaban: http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/rbook/rinterfc.htm#xtocid25669126)

Data in current interval (91 seconds elapsed):
   9516 Line Code Violations, 65 Path Code Violations, 2 E-Bit Errors
   0 Slip Secs, 2 Fr Loss Secs, 2 Line Err Secs, 0 Degraded Mins
   0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 11 Unavail Secs
Data in Interval 1 (15 minutes):
   0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
   0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
   0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
Data in last 4 intervals (1 hour):
   0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
   0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
   0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
Data in last 96 intervals (24 hours):
   0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
   0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
   0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs

-----------------------------------------------------------------

Nehany kulonlegesebb beallitasi lehetoseg (idovel beepulhetnek majd a driverbe):
Ezekkel sok galibat lehet okozni, nagyon ovatosan kell oket hasznalni!

	modified CRC-4, for improved interworking of CRC-4 and non-CRC-4
	devices: (lasd page 107 es g706 Annex B)
		lbireg[ 0x1b ] |= 0x08
		lbireg[ 0x1c ] |= 0xc0
	- ilyenkor ertelmezett az NMF - 'No Multiframe alignment Found after
	400 msec' alarm.

	FALC - a vonali meghajto IC
	local loop - a sajat adasomat halljam vissza
	remote loop - a kivulrol jovo adast adom vissza

	Egy hibakeresesre hasznalhato dolog:
		- 1-es timeslot local loop a FALC-ban:	echo >lbireg 0x1d 0x21
		- local loop kikapcsolasa:		echo >lbireg 0x1d 0x00