[TG3]: Set minimal hw interrupt mitigation.
[linux-2.6/verdex.git] / Documentation / networking / slicecom.hun
blob5acf1918694a01e76e89828ee5a345d42e19cd23
2 SliceCOM adapter felhasznaloi dokumentacioja - 0.51 verziohoz
4 Bartók István <bartoki@itc.hu>
5 Utolso modositas: Wed Aug 29 17:26:58 CEST 2001
7 -----------------------------------------------------------------
9 Hasznalata:
11 Forditas:
13 Code maturity level options
14         [*] Prompt for development and/or incomplete code/drivers
16 Network device support
17         Wan interfaces
18                 <M> MultiGate (COMX) synchronous
19                         <M> Support for MUNICH based boards: SliceCOM, PCICOM (NEW)
20                         <M> Support for HDLC and syncPPP...
23 A modulok betoltese:
25 modprobe comx
27 modprobe comx-proto-ppp         # a Cisco-HDLC es a SyncPPP protokollt is
28                                 # ez a modul adja
30 modprobe comx-hw-munich         # a modul betoltodeskor azonnal jelent a
31                                 # syslogba a detektalt kartyakrol
34 Konfiguralas:
36 # Ezen az interfeszen Cisco-HDLC vonali protokoll fog futni
37 # Az interfeszhez rendelt idoszeletek: 1,2 (128 kbit/sec-es vonal)
38 # (a G.703 keretben az elso adatot vivo idoszelet az 1-es)
40 mkdir /proc/comx/comx0.1/
41 echo slicecom   >/proc/comx/comx0.1/boardtype
42 echo hdlc       >/proc/comx/comx0.1/protocol
43 echo 1 2        >/proc/comx/comx0.1/timeslots
46 # Ezen az interfeszen SyncPPP vonali protokoll fog futni
47 # Az interfeszhez rendelt idoszelet: 3 (64 kbit/sec-es vonal)
49 mkdir /proc/comx/comx0.2/
50 echo slicecom   >/proc/comx/comx0.2/boardtype
51 echo ppp        >/proc/comx/comx0.2/protocol
52 echo 3          >/proc/comx/comx0.2/timeslots
54 ...
56 ifconfig comx0.1 up
57 ifconfig comx0.2 up
59 -----------------------------------------------------------------
61 A COMX driverek default 20 csomagnyi transmit queue-t rendelnek a halozati
62 interfeszekhez. WAN halozatokban ennel hosszabbat is szokas hasznalni
63 (20 es 100 kozott), hogy a vonal kihasznaltsaga nagy terheles eseten jobb
64 legyen (bar ezzel megno a varhato kesleltetes a csomagok sorban allasa miatt):
66 # ifconfig comx0 txqueuelen 50
68 Ezt a beallitasi lehetoseget csak az ujabb disztribuciok ifconfig parancsa
69 tamogatja (amik mar a 2.2 kernelekhez keszultek, mint a RedHat 6.1 vagy a
70 Debian 2.2).
72 A 2.1-es Debian disztribuciohoz a http://www.debian.org/~rcw/2.2/netbase/
73 cimrol toltheto le ujabb netbase csomag, ami mar ilyet tamogato ifconfig
74 parancsot tartalmaz. Bovebben a 2.2 kernel hasznalatarol Debian 2.1 alatt:
75 http://www.debian.org/releases/stable/running-kernel-2.2
77 -----------------------------------------------------------------
79 A kartya LED-jeinek jelentese:
81 piros   - eg, ha Remote Alarm-ot kuld a tuloldal
82 zold    - eg, ha a vett jelben megtalalja a keretszinkront
84 Reszletesebben:
86 piros:  zold:   jelentes:
88 -       -       nincs keretszinkron (nincs jel, vagy rossz a jel)
89 -       eg      "minden rendben"
90 eg      eg      a vetel OK, de a tuloldal Remote Alarm-ot kuld
91 eg      -       ez nincs ertelmezve, egyelore funkcio nelkul
93 -----------------------------------------------------------------
95 Reszletesebb leiras a hardver beallitasi lehetosegeirol:
97 Az altalanos,- es a protokoll-retegek beallitasi lehetosegeirol a 'comx.txt'
98 fajlban leirtak SliceCOM kartyanal is ervenyesek, itt csak a hardver-specifikus
99 beallitasi lehetosegek vannak osszefoglalva:
101 Konfiguralasi interfesz a /proc/comx/ alatt:
103 Minden timeslot-csoportnak kulon comx* interfeszt kell letrehozni mkdir-rel:
104 comx0, comx1, .. stb. Itt beallithato, hogy az adott interfesz hanyadik kartya
105 melyik timeslotja(i)bol alljon ossze. A Cisco-fele serial3:1 elnevezesek
106 (serial3:1 = a 3. kartyaban az 1-es idoszelet-csoport) Linuxon aliasing-ot
107 jelentenenek, ezert mi nem tudunk ilyen elnevezest hasznalni.
109 Tobb kartya eseten a comx0.1, comx0.2, ... vagy slice0.1, slice0.2 nevek
110 hasznalhatoak.
112 Tobb SliceCOM kartya is lehet egy gepben, de sajat interrupt kell mindegyiknek,
113 nem tud meg megosztott interruptot kezelni.
115 Az egesz kartyat erinto beallitasok:
117 Az ioport es irq beallitas nincs: amit a PCI BIOS kioszt a rendszernek,
118 azt hasznalja a driver.
121 comx0/boardnum  - hanyadik SliceCOM kartya a gepben (a 'termeszetes' PCI
122                 sorrendben ertve: ahogyan a /proc/pci-ban vagy az 'lspci'
123                 kimeneteben megjelenik, altalaban az alaplapi PCI meghajto
124                 aramkorokhoz kozelebb eso kartyak a kisebb sorszamuak)
126                 Default: 0 (0-tol kezdodik a szamolas)
129 Bar a kovetkezoket csak egy-egy interfeszen allitjuk at, megis az egesz kartya
130 mukodeset egyszerre allitjak. A megkotes hogy csak UP-ban levo interfeszen
131 hasznalhatoak, azert van, mert kulonben nem vart eredmenyekre vezetne egy ilyen
132 paranccsorozat:
134         echo 0        >boardnum
135         echo internal >clock_source
136         echo 1        >boardnum
138 - Ez a 0-s board clock_source-at allitana at.
140 Ezek a beallitasok megmaradnak az osszes interfesz torlesekor, de torlodnek
141 a driver modul ki/betoltesekor.
144 comx0/clock_source - A Tx orajelforrasa, a Cisco-val hasonlatosra keszult.
145         Hasznalata:
147         papaya:# echo line     >/proc/comx/comx0/clock_source
148         papaya:# echo internal >/proc/comx/comx0/clock_source
150         line     - A Tx orajelet a vett adatfolyambol dekodolja, igyekszik
151                 igazodni hozza. Ha nem lat orajelet az inputon, akkor
152                 atall a sajat orajelgeneratorara.
153         internal - A Tx orajelet a sajat orajelgeneratora szolgaltatja.
155         Default: line
157         Normal osszeallitas eseten a tavkozlesi szolgaltato eszkoze
158         (pl. HDSL modem) adja az orajelet, ezert ez a default.
161 comx0/framing   - A CRC4 ki/be kapcsolasa
163         A CRC4: 16 PCM keretet (A PCM keret az, amibe a 32 darab 64
164         kilobites csatorna van bemultiplexalva. Nem osszetevesztendo a HDLC
165         kerettel.) 2x8 -as csoportokra osztanak, es azokhoz 4-4 bites CRC-t
166         szamolnak. Elsosorban a vonal minosegenek a monitorozasara szolgal.
168         papaya:~# echo crc4     >/proc/comx/comx0/framing
169         papaya:~# echo no-crc4  >/proc/comx/comx0/framing
171         Default a 'crc4', a MATAV vonalak altalaban igy futnak. De ha nem
172         egyforma is a beallitas a vonal ket vegen, attol a forgalom altalaban
173         at tud menni.
176 comx0/linecode  - A vonali kodolas beallitasa
178         papaya:~# echo hdb3     >/proc/comx/comx0/linecode
179         papaya:~# echo ami      >/proc/comx/comx0/linecode
181         Default a 'hdb3', a MATAV vonalak igy futnak.
182         
183         (az AMI kodolas igen ritka E1-es vonalaknal). Ha ez a beallitas nem
184         egyezik a vonal ket vegen, akkor elofordulhat hogy a keretszinkron
185         osszejon, de CRC4-hibak es a vonalakon atvitt adatokban is hibak
186         keletkeznek (amit a HDLC/SyncPPP szinten CRC-hibaval jelez)
189 comx0/reg       - a kartya aramkoreinek, a MUNICH (reg) es a FALC (lbireg)
190 comx0/lbireg    regisztereinek kozvetlen elerese. Hasznalata:
192                 echo >reg 0x04 0x0      - a 4-es regiszterbe 0-t ir
193                 echo >reg 0x104         - printk()-val kiirja a 4-es regiszter
194                                         tartalmat a syslogba.
196                 WARNING: ezek csak a fejleszteshez keszultek, sok galibat
197                 lehet veluk okozni!
200 comx0/loopback - A kartya G.703 jelenek a visszahurkolasara is van lehetoseg:
202         papaya:# echo none   >/proc/comx/comx0/loopback
203         papaya:# echo local  >/proc/comx/comx0/loopback
204         papaya:# echo remote >/proc/comx/comx0/loopback
206         none   - nincs visszahurkolas, normal mukodes
207         local  - a kartya a sajat maga altal adott jelet kapja vissza
208         remote - a kartya a kivulrol vett jelet adja kifele
210         Default: none
212 -----------------------------------------------------------------
214 Az interfeszhez (Cisco terminologiaban 'channel-group') kapcsolodo beallitasok:
216 comx0/timeslots - mely timeslotok (idoszeletek) tartoznak az adott interfeszhez.
218         papaya:~# cat /proc/comx/comx0/timeslots
219         1 3 4 5 6
220         papaya:~#
222         Egy timeslot megkeresese (hanyas interfeszbe tartozik nalunk):
224         papaya:~# grep ' 4' /proc/comx/comx*/timeslots
225         /proc/comx/comx0/timeslots:1 3 4 5 6
226         papaya:~#
228         Beallitasa:
229         papaya:~# echo '1 5 2 6 7 8' >/proc/comx/comx0/timeslots
230         
231         A timeslotok sorrendje nem szamit, '1 3 2' ugyanaz mint az '1 2 3'.
233         Beallitashoz az adott interfesznek DOWN-ban kell lennie
234         (ifconfig comx0 down), de ugyanannak a kartyanak a tobbi interfesze
235         uzemelhet kozben.
237         Beallitaskor leellenorzi, hogy az uj timeslotok nem utkoznek-e egy
238         masik interfesz timeslotjaival. Ha utkoznek, akkor nem allitja at.
240         Mindig 10-es szamrendszerben tortenik a timeslotok ertelmezese, nehogy
241         a 08, 09 alaku felirast rosszul ertelmezze.
243 -----------------------------------------------------------------
245 Az interfeszek es a kartya allapotanak lekerdezese:
247 - A ' '-szel kezdodo sorok az eredeti kimenetet, a //-rel kezdodo sorok a
248 magyarazatot jelzik.
250  papaya:~$ cat /proc/comx/comx1/status
251  Interface administrative status is UP, modem status is UP, protocol is UP
252  Modem status changes: 0, Transmitter status is IDLE, tbusy: 0
253  Interface load (input): 978376 / 947808 / 951024 bits/s (5s/5m/15m)
254                (output): 978376 / 947848 / 951024 bits/s (5s/5m/15m)
255  Debug flags: none
256  RX errors: len: 22, overrun: 1, crc: 0, aborts: 0
257             buffer overrun: 0, pbuffer overrun: 0
258  TX errors: underrun: 0
259  Line keepalive (value: 10) status UP [0]
261 // Itt kezdodik a hardver-specifikus resz:
262  Controller status:
263          No alarms
265 // Alarm: hibajelzes:
267 // No alarms - minden rendben
269 // LOS  - Loss Of Signal - nem erzekel jelet a bemeneten.
270 // AIS  - Alarm Indication Signal - csak egymas utani 1-esek jonnek
271 //      a bemeneten, a tuloldal igy is jelezheti hogy meghibasodott vagy
272 //      nincs inicializalva.
273 // AUXP - Auxiliary Pattern Indication - 01010101.. sorozat jon a bemeneten.
274 // LFA  - Loss of Frame Alignment - nincs keretszinkron
275 // RRA  - Receive Remote Alarm - a tuloldal el, de hibat jelez.
276 // LMFA - Loss of CRC4 Multiframe Alignment - nincs CRC4-multikeret-szinkron
277 // NMF  - No Multiframe alignment Found after 400 msec - ilyen alarm a no-crc4
278 //      es crc4 keretezesek eseten nincs, lasd lentebb
280 // Egyeb lehetseges hibajelzesek:
282 // Transmit Line Short - a kartya ugy erzi hogy az adasi kimenete rovidre
283 //      van zarva, ezert kikapcsolta az adast. (nem feltetlenul veszi eszre
284 //      a kulso rovidzarat)
286 // A veteli oldal csomagjainak lancolt listai, debug celokra:
288  Rx ring:
289          rafutott: 0
290          lastcheck: 50845731, jiffies: 51314281
291          base: 017b1858
292          rx_desc_ptr: 0
293          rx_desc_ptr: 017b1858
294          hw_curr_ptr: 017b1858
295          06040000 017b1868 017b1898 c016ff00
296          06040000 017b1878 017b1e9c c016ff00
297          46040000 017b1888 017b24a0 c016ff00
298          06040000 017b1858 017b2aa4 c016ff00
300 // A kartyat hasznalo tobbi interfesz: a 0-s channel-group a comx1 interfesz,
301 // es az 1,2,...,16 timeslotok tartoznak hozza:
303  Interfaces using this board: (channel-group, interface, timeslots)
304           0 comx1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
305           1 comx2: 17
306           2 comx3: 18
307           3 comx4: 19
308           4 comx5: 20
309           5 comx6: 21
310           6 comx7: 22
311           7 comx8: 23
312           8 comx9: 24
313           9 comx10: 25
314          10 comx11: 26
315          11 comx12: 27
316          12 comx13: 28
317          13 comx14: 29
318          14 comx15: 30
319          15 comx16: 31
321 // Hany esemenyt kezelt le a driver egy-egy hardver-interrupt kiszolgalasanal:
323  Interrupt work histogram:
324  hist[ 0]:        0 hist[ 1]:        2 hist[ 2]:    18574 hist[ 3]:       79
325  hist[ 4]:       14 hist[ 5]:        1 hist[ 6]:        0 hist[ 7]:        1
326  hist[ 8]:        0 hist[ 9]:        7
328 // Hany kikuldendo csomag volt mar a Tx-ringben amikor ujabb lett irva bele:
330  Tx ring histogram:
331  hist[ 0]:     2329 hist[ 1]:        0 hist[ 2]:        0 hist[ 3]:        0
333 // Az E1-interfesz hiba-szamlaloi, az rfc2495-nek megfeleloen:
334 // (kb. a Cisco routerek "show controllers e1" formatumaban: http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/rbook/rinterfc.htm#xtocid25669126)
336 Data in current interval (91 seconds elapsed):
337    9516 Line Code Violations, 65 Path Code Violations, 2 E-Bit Errors
338    0 Slip Secs, 2 Fr Loss Secs, 2 Line Err Secs, 0 Degraded Mins
339    0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 11 Unavail Secs
340 Data in Interval 1 (15 minutes):
341    0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
342    0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
343    0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
344 Data in last 4 intervals (1 hour):
345    0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
346    0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
347    0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
348 Data in last 96 intervals (24 hours):
349    0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
350    0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
351    0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
353 -----------------------------------------------------------------
355 Nehany kulonlegesebb beallitasi lehetoseg (idovel beepulhetnek majd a driverbe):
356 Ezekkel sok galibat lehet okozni, nagyon ovatosan kell oket hasznalni!
358         modified CRC-4, for improved interworking of CRC-4 and non-CRC-4
359         devices: (lasd page 107 es g706 Annex B)
360                 lbireg[ 0x1b ] |= 0x08
361                 lbireg[ 0x1c ] |= 0xc0
362         - ilyenkor ertelmezett az NMF - 'No Multiframe alignment Found after
363         400 msec' alarm.
365         FALC - a vonali meghajto IC
366         local loop - a sajat adasomat halljam vissza
367         remote loop - a kivulrol jovo adast adom vissza
369         Egy hibakeresesre hasznalhato dolog:
370                 - 1-es timeslot local loop a FALC-ban:  echo >lbireg 0x1d 0x21
371                 - local loop kikapcsolasa:              echo >lbireg 0x1d 0x00