This file is indexed.

/usr/share/doc/HOWTO/de-html/DE-Modem-HOWTO-2.html is in doc-linux-de 2003.10-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
 <TITLE>Linux Modem-HOWTO: Grundwissen &uuml;ber Modems und serielle Ports        </TITLE>
 <LINK HREF="DE-Modem-HOWTO-3.html" REL=next>
 <LINK HREF="DE-Modem-HOWTO-1.html" REL=previous>
 <LINK HREF="DE-Modem-HOWTO.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-Modem-HOWTO-3.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Modem-HOWTO-1.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Modem-HOWTO.html#toc2"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="DE-Modem-HOWTO-basics_"></A> <A NAME="s2">2.</A> <A HREF="DE-Modem-HOWTO.html#toc2">Grundwissen &uuml;ber Modems und serielle Ports        </A></H2>

<P> Um ein Modem anzuschliessen und zu verwenden, brauchen Sie 
nicht unbedingt ein Grundwissen &uuml;ber Modems oder serielle Ports.
Falls Fehler auftreten, ist es aber f&uuml;r die Probleml&ouml;sung sehr 
hilfreich, wenn Sie die Grundlagen verstehen.
Wenn Sie diesen Abschnitt gelesen haben und
noch mehr &uuml;ber Modems wissen m&ouml;chten, finden Sie weitere Informationen
im Abschnitt 
<A HREF="DE-Modem-HOWTO-17.html#DE-Modem-HOWTO-how_modems_work">Wie ein Modem technisch funktioniert</A> 
(dieser Abschnitt ist allerdings noch nicht fertiggestellt).
Im <EM>Serial HOWTO</EM> finden Sie weitere Informationen &uuml;ber serielle Ports.</P>

<H2><A NAME="ss2.1">2.1</A> <A HREF="DE-Modem-HOWTO.html#toc2.1">Ein Modem konvertiert digitale Signale in analoge (und umgekehrt)</A>
</H2>

<P> Die meisten Telefon-Hauptleitungen sind bereits digital, aber die Kabel,
die zu Ihrem Haus oder Ihrer Firma f&uuml;hren, sind normalerweise analog. Das 
bedeutet, dass sie eine Welle in Form einer Spannungsschwankung &uuml;bertragen,
die ein Abbild der Schallwelle ist, die von Ihrer Stimme erzeugt
wird. Eine
solche Spannungsschwankung hei&szlig;t »analog«. W&uuml;rde man sie auf einem
Oszilloskop sichtbar machen, dann w&uuml;rde sie aussehen wie eine Sinuskurve 
mit wechselnder Frequenz und Amplitude. Ein digitales Signal hat dagegen einen
rechteckigen Verlauf. Bsp: 3&nbsp;V (Volt) k&ouml;nnte einer digitale Eins und 
0&nbsp;V k&ouml;nnte einer digitalen Null entsprechen. Bei den meisten
seriellen Ports, die von einem externen Modem verwendet werden, entspricht
+12&nbsp;V einem 0-bit und -12&nbsp;V einem 1-bit 
(einige verwenden auch + oder -5&nbsp;V).</P>
<P>Um Daten von Ihrem Computer &uuml;ber eine Telefonleitung zu senden, nimmt das
Modem die digitalen Signale vom Computer entgegen und wandelt sie in ein
analoges Signal. Dies wird erreicht, indem es eine Spannung in Form einer
analogen Sinuskurve erzeugt und diese dann »MOduliert«. Das Ergebnis
repr&auml;sentiert noch immer digitale Daten, es k&ouml;nnte auch digitales Signal
anstelle von analoges Signal hei&szlig;en. Aber es sieht so &auml;hnlich aus wie 
ein analoges Signal und beinahe jeder nennt es auch so. Am anderen Ende 
der Telefonleitung »DEModuliert« ein anderes Modem dieses Signal und das
rein digitale Signal ist wiederhergestellt. Ein Modem ist daher ein
»MOdulator-DEModulator«. </P>

<H2><A NAME="ss2.2">2.2</A> <A HREF="DE-Modem-HOWTO.html#toc2.2">Was ist ein serieller Port?</A>
</H2>

<H3>Einf&uuml;hrung in die serielle Daten&uuml;bertragung</H3>

<P> Nachdem sich zwischen dem Modem und dem Computer ein serieller Anschlu&szlig;
befindet, ist es notwendig, neben dem Modem auch die Arbeitsweise eines
seriellen Ports zu verstehen. Der serielle Port ist ein I/O (Input/Output,
Eingabe/Ausgabe) Ger&auml;t. </P>
<P>Die meisten PCs haben ein oder zwei serielle
Ports. Jeder hat einen 9-poligen (manchmal auch einen 25-poligen) 
Anschlussstecker auf der R&uuml;ckseite des Computers. Einer der 
Anschlussstifte ist f&uuml;r das Senden von Daten zust&auml;ndig, ein anderer
f&uuml;r den Empfang. Die anderen Pins sind entweder auf Masse gelegt oder
f&uuml;r Kontrollaufgaben vorgesehen.</P>
<P>Der serielle Port ist mehr als nur ein einfacher Anschlussstecker. Er 
wandelt parallele Daten in serielle Daten und &auml;ndert ihre elektrische
Darstellung. Innerhalb des Computers flie&szlig;en die Datenbits parallel (und
brauchen viele parallele Leitungen gleichzeitig). Ein serieller Datenstrom
flie&szlig;t &uuml;ber eine einzige Leitung (wie die Leitung, die mit dem Pin f&uuml;r das 
Senden oder Empfangen des Anschlusssteckers verbunden ist). Damit der 
serielle Port solch einen Datenstrom erzeugen kann, mu&szlig; er die parallelen
Daten (aus dem Inneren des Computers) in serielle Daten umwandeln, um
sie zu senden. F&uuml;r den Empfang gilt genau das umgekehrte Verhalten. </P>
<P>Der gr&ouml;&szlig;te Teil der Elektronik eines seriellen Ports befindet sich
auf einem Chip (oder in einem bestimmten Abschnitt eines Chips), der
unter dem Namen UART bekannt ist. Im <EM>Serial HOWTO</EM> finden Sie weiter
Informationen &uuml;ber UARTs.</P>
<P>Im restlichen Teil dieses Kapitels wird die Rolle des UART im
Gesamtsystem vorgestellt.</P>

<H3>Anschlussstifte und Anschlusskabel</H3>

<P> &Auml;ltere PCs verwendeten 25-polige Anschl&uuml;sse, aber nur h&ouml;chstens 9
Pins waren tats&auml;chlich belegt, deshalb sind die meisten Anschlussstecker
heutiger PCs nur 9-polig. Jeder der neun Anschlussstifte (Pins) ist mit
einer Leitung verbunden. Neben den beiden Leitungen, die f&uuml;r das Senden und
Empfangen der Daten verwendet werden, ist ein weiterer Pin bzw. eine
weitere Leitung mit der Signalmasse belegt. Die Spannung auf jeder Leitung
wird in Bezug auf diese Signalmasse gemessen. Es m&uuml;ssen also mindestens
drei Leitungen verwendet werden, um Daten gleichzeitig senden und 
empfangen zu k&ouml;nnen. Es ist aber auch m&ouml;glich, ohne die Masseleitung zu
arbeiten, allerdings langsamer und manchmal treten Fehler auf.</P>
<P>Die &uuml;brigen Leitungen sind nur
f&uuml;r die Kontrolle des Datenaustausches vorgesehen und nicht f&uuml;r die &Uuml;bertragung
von Bytes. Alle diese Signale k&ouml;nnten &uuml;ber eine einzige Leitung gesendet
werden, aber f&uuml;r jedes Signal gibt es eine eigene dedizierte Leitung. Diese
Leitungen werden Modem-Steuerleitungen genannt. Diese Steuerleitungen 
befinden sich entweder im aktiven Zustand (Ein) mit einer Spannung
von +12&nbsp;V oder im inaktiven Zustand (Aus) 
mit einer Spannung von -12&nbsp;V. Eine
der Leitungen signalisiert dem Computer, das Senden von Bytes an das
Modem zu unterbrechen. Umgekehrt signalisiert eine andere Leitung dem Modem,
das Senden von Bytes an den Computer einzustellen. Wieder andere Leitungen
veranlassen das Modem, aufzulegen, oder teilen dem Computer mit, dass eine
Verbindung hergestellt wurde oder dass ein Klingelsignal auf der Leitung
liegt (wenn jemand versucht anzurufen).</P>

<H3>Ein internes Modem enth&auml;lt einen seriellen Port</H3>

<P> F&uuml;r ein internes Modem gibt es keinen 9-poligen Verbindungsstecker,
aber das Verhalten ist exakt so, als w&uuml;rden die oben erw&auml;hnten Leitungen
existieren. Anstelle eines 12-Volt Spannungspegels auf einer Leitung,
der den Status auf einer Modemsteuerleitung angibt, verwendet das interne
Modem einfach ein Statusbit in seinem eigenen Speicher (ein Register), um
den Status dieser nicht existierenden Steuerleitung zu bestimmen. Der interne
serielle Port des Modems sieht f&uuml;r den Computer aus wie ein richtiger serieller
Port. F&uuml;r ihn gelten sogar die selben Geschwindigkeitsgrenzen f&uuml;r die 
Daten&uuml;bertragung, die man bei gew&ouml;hnlichen seriellen Schnittstellen einstellt, 
z.B. 115200&nbsp;Bits/s. Ungl&uuml;cklicherweise arbeiten viele interne
Modems nicht auf diese Weise, sondern nutzen MS Windows Software
f&uuml;r ihre Funktion und
arbeiten daher nicht unter Linux. Siehe auch den Abschnitt 
<A HREF="DE-Modem-HOWTO-6.html#DE-Modem-HOWTO-winmodem_">Interne Modems, die zu meiden sind (Winmodems etc.)</A>.</P>

<H2><A NAME="ss2.3">2.3</A> <A HREF="DE-Modem-HOWTO.html#toc2.3">I/O-Adressen und IRQ</A>
</H2>

<P> Weil der Computer mit jeder seriellen Schnittstelle kommuniziert, 
muss das Betriebssystem (Operating System, OS) wissen, dass die seriellen
Schnittstellen existieren, wo sie sind (ihre I/O-Adressen) und welche 
Leitung die serielle Schnittstelle verwendet, um einen Dienst der CPU des
Computers  
in Anspruch zu nehmen. Deshalb muss innerhalb der seriellen Schnittstelle
sowohl die Ein-/Ausgabe-Adresse (I/O) als auch die Interrupt ReQuest Nummer
(IRQ) in einem nicht fl&uuml;chtigen Speicher abgelegt werden. Der IRQ bestimmt,
welche Leitung f&uuml;r ein Interrupt Signal verwendet wird, um einen
Dienst der CPU zu beanspruchen. Siehe auch Abschnitt 
<A HREF="#DE-Modem-HOWTO-interrupt_">Interrupts</A>.</P>
<P>Beim PCI-Bus funktioniert das alles etwas anders, da der PCI-Bus &uuml;ber 
eine eigene Interrupt-Verarbeitung verf&uuml;gt. Das BIOS auf PCI-Boards bildet
die PCI-Interrupts jedoch auf IRQs ab, so dass sich nach au&szlig;en hin alles 
so verh&auml;lt
wie oben beschrieben, mit der Ausnahme, dass sich zwei oder mehr Ger&auml;te 
einen IRQ teilen k&ouml;nnen.</P>
<P>I/O-Adressen sind nicht dasselbe wie Adressen im Hauptspeicher. Wenn eine
I/O-Adresse auf dem Adressbus des Computers anliegt, wird eine andere
Leitung aktiviert. Beides bedeutet f&uuml;r den Hauptspeicher, 
die Adresse zu ignorieren, und es bedeutet f&uuml;r alle angeschlossenen 
Ger&auml;te, die &uuml;ber I/O-Adressen-verf&uuml;gen (wie z.B. der serielle Port) die
Adresse auszuwerten und sie mit der eigenen zu vergleichen. Wenn die
Adresse &uuml;bereinstimmt, liest das I/O-Ger&auml;t die Daten auf dem Datenbus.</P>

<H2><A NAME="ss2.4">2.4</A> <A HREF="DE-Modem-HOWTO.html#toc2.4">Namensgebung</A>
</H2>

<P> 
Die seriellen Schnittstellen hei&szlig;en unter Linux <CODE>ttyS0</CODE>, 
<CODE>ttyS1</CODE>, usw. 
(die korrespondierenden Schnittstellen unter DOS/Windows hei&szlig;en 
normalerweise COM1, COM2, usw).
Im <CODE>/dev</CODE> Verzeichnis gibt es eine spezielle Datei f&uuml;r jeden Port.
Um sie anzuzeigen, k&ouml;nnen Sie folgenden Befehl eingeben:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
ls /dev/ttyS*
</PRE>
</CODE></BLOCKQUOTE>
 </P>
<P>Nur weil es z.B. eine Datei <CODE>ttyS3</CODE> gibt, muss das aber nicht 
hei&szlig;en, dass auch ein physischer serieller Port existiert.</P>
<P>Welcher dieser Namen (<CODE>ttyS0</CODE>, <CODE>ttyS1</CODE>, etc) zu welchem 
physikalisch Port 
geh&ouml;rt, wird wie folgt bestimmt: die Treibersoftware des seriellen Ports
verwaltet eine Tabelle, welche die Zuordnung von I/O-Adressen und ttyS-Namen
enth&auml;lt. Diese Abbildung von Namen auf I/O-Adressen und IRQs kann mit 
Hilfe des Befehls <CODE>setserial</CODE> sowohl gelesen als auch gesetzt werden, siehe
<A HREF="DE-Modem-HOWTO-8.html#DE-Modem-HOWTO-set_serial">Was ist setserial?</A>. 
Dieser Befehl setzt 
<EM>nicht</EM> die I/O-Adressen und IRQs in der Hardware selbst (dies wird
durch Jumper oder Plug-and-Play Software vorgenommen). Welcher physikalische
Port also z.B. mit <CODE>ttyS1</CODE> korrespondiert, h&auml;ngt folglich sowohl davon ab,
was die Treibersoftware (per <CODE>setserial</CODE> Befehl) denkt und wie die Hardware
konfiguriert ist. Falls ein Fehler gemacht wurde, kann es vorkommen, dass
der physikalische Port keinem einzigen Namen (wie z.B. <CODE>ttyS2</CODE>) 
entspricht und daher auch nicht verwendet werden kann. Siehe auch 
<A HREF="DE-Modem-HOWTO-7.html#DE-Modem-HOWTO-ttySN_">Ger&auml;tedateien f&uuml;r die serielle Schnittstelle /dev/ttyS2, usw.</A>.</P>

<H2><A NAME="DE-Modem-HOWTO-interrupt_"></A> <A NAME="ss2.5">2.5</A> <A HREF="DE-Modem-HOWTO.html#toc2.5">Interrupts        </A>
</H2>

<P> Bytes kommen &uuml;ber die Telefonleitung zum Modem, werden vom Modem von
analog nach digital umgewandelt und werden auf dem Weg zu ihrem Ziel 
innerhalb des Computers der seriellen Schnittstelle &uuml;bergeben. Wenn die
serielle Schnittstelle z.B. 8 Bytes vom Modem empf&auml;ngt (diese Anzahl kann
auch auf 1, 4, 8 oder 14 eingestellt sein), signalisiert sie der CPU, diese
Daten abzuholen, indem sie ein elektrisches Signal sendet. Dieses Signal 
liegt auf einer ganz bestimmten Leitung an und ist eine Aufforderung an
die CPU, ihre momentane Arbeit kurz zu unterbrechen und sich um die 
serielle Schnittstelle zu k&uuml;mmern (engl: Interrupt Request, abgek&uuml;rzt IRQ).
&Auml;ltere serielle Schnittstellen senden so ein Unterbrechungssignal f&uuml;r jedes
einzelne empfangene Byte.</P>
<P>Jede Interrupt-Leitung innerhalb des Computers hat eine Nummer (im 
allgemeinen ebenfalls als IRQ bezeichnet) und die serielle Schnittstelle
muss wissen, auf welcher Leitung sie ihre Anforderung zu signalisieren
hat. Z.B. verwendet <CODE>ttyS0</CODE> in der Regel die IRQ Nummer 4 (IRQ4). Eine Liste
dieser Nummern (und mehr) ist in der Manual Page des Kommandos 
<CODE>setserial</CODE> zu finden (<CODE>man setserial</CODE>, im Abschnit »Configuring 
Serial Ports«). Ein Interrupt Signal wird ausgel&ouml;st, wann immer die 
serielle Schnittstelle die Aufmerksamkeit der CPU ben&ouml;tigt. Es ist 
wichtig, dass dies rechtzeitig geschieht, weil der Speicherpuffer 
der seriellen Schnittstelle nur 16 empfangene Bytes (in &auml;lteren 
Modems ist es nur ein Byte) aufnehmen kann. Wenn die
CPU es nicht schafft, diese emfangenen Daten rechtzeitig abzuholen, dann
bleibt f&uuml;r weitere ankommende Bytes kein Platz mehr &uuml;brig und der kleine
Buffer kann &uuml;berlaufen (Overrun). Es gehen dann Bytes verloren. F&uuml;r ein
externes Modem gibt es keine M&ouml;glichkeit, den Datenfluss schnell genug zu
stoppen, um diese Situation zu verhindern. Bei einem internen Modem ist
der 16&nbsp;Byte Buffer auf derselben Karte und ein gutes Modem wird nicht in
diesen Buffer schreiben, wenn er voll ist. Deshalb wird ein gutes internes
Modem den Buffer nicht zum &uuml;berlaufen bringen und dies ist ein Vorteil eines
internen Modems.</P>
<P>Interrupts werden auch ausgel&ouml;st, wenn die serielle Schnittstelle gerade
alle 16 Bytes ihres kleinen Sendebuffers zum Modem &uuml;bertragen hat. Es ist
dann wieder Platz f&uuml;r 16 weitere, zu sendende Bytes. Der Interrupt teilt
dies der CPU mit, so dass sie weitere Bytes in den Sendebuffer schreiben kann.
Ein Interrupt wird auch ausgel&ouml;st, wenn eine Modem-Steuerleitung ihren 
Status &auml;ndert.</P>
<P>Die oben genannten Buffer sind alle in Form von Hardware realisert. Die
serielle Schnittstelle hat auch gro&szlig;e Buffer im Bereich des Hauptspeichers.
Dies wird sp&auml;ter erkl&auml;rt.</P>
<P>Interrupts &uuml;bertragen eine Menge Informationen, allerdings nur indirekt.
Der Interrupt selber signalisiert lediglich einem Chip, dem Interrupt
Controller, dass ein bestimmter serieller Port um Aufmerksamkeit bittet.
Die CPU wird dar&uuml;ber vom Interrupt Controller unterrichtet. Die CPU f&uuml;hrt
dann ein bestimmtes Programm aus, um den seriellen Port zu bedienen. Dieses
Programm wird Interrupt Service Routine genannt und ist Bestandteil der
Treibersoftware f&uuml;r den seriellen Port. Es versucht herauszufinden, was
im seriellen Port passiert ist und behandelt dann das Problem, wie z.B.
die &Uuml;bertragung von Datenbytes aus oder in den Buffer des Ports.
Die Service Routine kann leicht feststellen, was passiert ist, weil der
serielle Port &uuml;ber spezielle Register verf&uuml;gt, deren I/O-Adressen der
Treibersoftware bekannt sind. Diese Register enthalten Statusinformationen
&uuml;ber den seriellen Port. Die Software liest diese Register aus, 
erh&auml;lt dadurch Information, was passiert ist und kann entsprechende 
Ma&szlig;nahmen einleiten.</P>

<H2><A NAME="ss2.6">2.6</A> <A HREF="DE-Modem-HOWTO.html#toc2.6">Datenkompression (durch das Modem)</A>
</H2>

<P> Bevor wir mit den Grundlagen zur seriellen Schnittstellen fortfahren,
m&uuml;ssen wir noch eine weitere Funktion des Modems verstehen: Datenkompression.
In manchen F&auml;llen wird diese Aufgabe in Wirklichkeit von der Software
ausgef&uuml;hrt, die auf der CPU des Computer l&auml;uft, aber ungl&uuml;cklicherweise
funktioniert diese Software bislang nur unter MS Windows. Wir besch&auml;ften
uns hier mit dem Fall, dass das Modem selbst diese Aufgabe erledigt, denn
dies ist eine Voraussetzung, damit das Modem auch unter Linux funktioniert.</P>
<P>Um Daten schneller &uuml;ber die Telefonleitung &uuml;bertragen zu k&ouml;nnen, kann man sie
komprimieren, indem man ein ma&szlig;geschneidertes Kodierungsverfahren verwendet,
welches selber wieder von der Art der Daten abh&auml;ngt. Die kodierten Daten sind
kleiner (sie enthalten die gleiche Information in weniger Bytes) und k&ouml;nnen 
in k&uuml;rzerer Zeit &uuml;ber das Internet &uuml;bertragen werden. Dieser Vorgang wird
als »Datenkompression« bezeichnet. </P>
<P>Wenn Sie Dateien aus dem Internet herunterladen, dann sind sie wahrscheinlich
bereits komprimiert und es ist f&uuml;r das Modem unm&ouml;glich, sie noch weiter zu
komprimieren. Ihr Modem kann evtl. feststellen, dass die Daten bereits 
komprimiert wurden und einen weiteren Kompressionsversuch unterlassen.
Wenn Sie Daten empfangen, die von dem anderen Modem komprimiert wurden, so
wird Ihr Modem sie dekomprimieren und sehr viel mehr Bytes erzeugen, als &uuml;ber
die Telefonleitung gesendet wurden. Daher wird der Datenfluss vom Modem in den
Computer h&ouml;her sein als der Fluss &uuml;ber die Telefonleitung zu Ihnen. Das
Verh&auml;ltnis beider Flussgr&ouml;&szlig;en wird Kompressionsrate genannt. 
Kompressionsraten bis zu einem Wert von 4 sind m&ouml;glich, aber sehr selten.</P>

<H2><A NAME="ss2.7">2.7</A> <A HREF="DE-Modem-HOWTO.html#toc2.7">Fehlerkorrektur</A>
</H2>

<P> &Auml;hnlich wie Datenkompression k&ouml;nnen Modems auch eine Fehlerkorrektur 
durchf&uuml;hren. Eigentlich ist der Name »Fehlerkorrektur« falsch, denn das
Modem kann einen Fehler nur erkennen und den fehlerhaften Datenblock
ein zweites Mal anfordern. Das Modem kann den Fehler aber nicht selbst&auml;ndig
korrigieren. Wenn man es genau nimmt, m&uuml;sste man also von »Fehlererkennung«
sprechen.</P>
<P>Die serielle Schnittstelle erwartet, dass jedes zu &uuml;bertragende Byte von
zwei zus&auml;tzlichen Bits eingerahmt ist: ein Start-Bit und ein Stop-Bit.
Ohne Verwendung einer Fehlerkorrektur werden diese zus&auml;tzlichen Bits
vom Modem &uuml;ber die Telefonleitung &uuml;bertragen.
Obwohl bei den Fehlerkorrekturverfahren 
zus&auml;tzliche Steuer- und Pr&uuml;fsummeninformationen
&uuml;bertragen werden, die den effektiven 
Datendurchsatz (in Byte/s) reduzieren, f&uuml;hrt die Tatsache, dass
jetzt auf die Start- und Stop-Bits verzichtet werden kann, in Wirklichkeit  
zu einer leichten Erh&ouml;hung des Datendurchsatzes. Die Bytes werden jetzt in
einzelnen Paketen &uuml;bertragen, und die Start- und Stop-Bits werden 
&uuml;berfl&uuml;ssig.</P>

<H2><A NAME="ss2.8">2.8</A> <A HREF="DE-Modem-HOWTO.html#toc2.8">Datenflussrate (&Uuml;bertragungsgeschwindigkeit)</A>
</H2>

<P> Daten (Bytes, aus denen Briefe, Bilder usw. bestehen) flie&szlig;en vom Computer
zum Modem und dann &uuml;ber die Telefonleitung (und umgekehrt). Durchsatzraten 
wie z.B. 56k (56000&nbsp;Bits/s) werden f&auml;lschlicherweise auch als 
»&Uuml;bertragungsgeschwindigkeit« bezeichnet, dieser Begriff hat sich jedoch 
weitgehend
durchgesetzt. G&auml;be es keine Datenkompression, dann w&uuml;rde die Durchsatzrate 
zwischen Computer und Modem etwa mit der Durchsatzrate auf der Telefonleitung
&uuml;bereinstimmen.</P>
<P>In Wirklichkeit sind jedoch zwei verschiedene &Uuml;bertragungsgeschwindigkeiten 
an Ihrem Ende der Telefonleitung zu unterscheiden:</P>
<P>
<UL>
<LI> Die &Uuml;bertragungsgeschwindigkeit auf der Telefonleitung zwischen 
beiden Modems (DCE Geschwindigkeit)</LI>
<LI> Die &Uuml;bertragungsgeschwindigkeit zwischen der seriellen 
Schnittstelle und dem Modem (DTE Geschwindigkeit)</LI>
</UL>
</P>
<P>Wenn Sie eine Verbindung mit einem Modem auf der anderen Seite der
Telefonleitung aufbauen, schickt Ihnen das Modem oft eine Nachricht wie
z.B. <CODE>CONNECT 28000</CODE> oder <CODE>CONNECT 115200</CODE>. Was bedeuten diese Angaben?
Nun, damit kann entweder die DCE- oder die DTE-Geschwindigkeit gemeint sein.
Wenn der Wert h&ouml;her ist als auf dem Modem angegeben, muss es die DTE
Geschwindigkeit zwischen Modem und Computer sein. Dies ist der Fall f&uuml;r
den oben genannten Wert 115200. Der Wert 28800 kann nur die DCE-Geschwindigkeit
sein, weil die serielle Schnittstelle diesen Wert nicht kennt. Das Modem
kann so konfiguriert werden, dass es die eine oder die andere Geschwindigkeit
meldet. Einige Modems melden beide Werte und zeigen den DCE-Wert z.B. als
<CODE>CARRIER 28800</CODE> an.</P>
<P>Wenn Sie ein internes Modem verwenden, w&uuml;rden Sie vielleicht nicht erwarten,
dass es eine Begrenzung f&uuml;r die &Uuml;bertragungsgeschwindigkeit zwischen Ihrem
Modem und Ihrem Computer gibt, weil sich das Modem innerhalb des Computers
befindet und fast ein Teil Ihres Computers ist. Aber es gibt diese Grenze,
weil das Modem einen fest zugeordneten seriellen Port enth&auml;lt.</P>
<P>Es ist wichtig zu verstehen, dass die durchschnittliche Geschwindigkeit 
h&auml;ufig kleiner ist als die angegebene Geschwindigkeit, besonders auf der
kurzen &Uuml;bertragungsstrecke zwischen Computer und Modem. Die geringere
Durchschnittsgeschwindigkeit ist durch Wartezeiten bedingt. Wegen der 
<A HREF="#DE-Modem-HOWTO-flow_control">Flusskontrolle</A> 
k&ouml;nnen durchaus Wartezeiten
von etwa einer Sekunde auftreten. Andererseits k&ouml;nnen auch sehr kurze
Verz&ouml;gerungen von wenigen Mikrosekunden vorkommen, die das Ende des einen
Bytes und den Anfang des n&auml;chsten kennzeichnen. Au&szlig;erdem k&ouml;nnen Modems
auf kleinere Geschwindigkeiten umschalten, wenn die Qualit&auml;t der Telefonleitung
w&auml;hrend der Verbindungsdauer schlechter wird.</P>
<P>Im Abschnitt 
<A HREF="DE-Modem-HOWTO-12.html#DE-Modem-HOWTO-speed_">Welche Geschwindigkeit sollte ich verwenden?</A> wird erl&auml;utert, 
welche DTE Geschwindigkeit eingestellt werden sollte.</P>

<H2><A NAME="DE-Modem-HOWTO-flow_control"></A> <A NAME="ss2.9">2.9</A> <A HREF="DE-Modem-HOWTO.html#toc2.9">Flusskontrolle         </A>
</H2>

<P>Unter Flusskontrolle wird die F&auml;higkeit verstanden, den Fluss von Bytes
auf einer &Uuml;bertragungsleitung zu unterbrechen und ohne Datenverlust wieder
aufzunehmen. Mittels Flusskontrolle kann das Modem die momentane 
Durchsatzrate der Daten beeinflussen.</P>

<H3>Ein Beispiel f&uuml;r Flusskontrolle</H3>

<P> Nehmen wir einmal an, Sie verbinden ein 33,6k Modem, welches einfach
Bytes mit genau 33,6&nbsp;kBits pro Sekunde (bps) &uuml;ber 
die Telefonleitung sendet
und empf&auml;ngt, mit dem seriellen Port. Das Modem soll keinerlei 
Datenkompression oder Fehlerkorrektur durchf&uuml;hren. Und nehmen wir weiter an,
dass Sie die Geschwindigkeit der seriellen Schnittstelle auf 
115.200&nbsp;Bits/s
(bps) eingestellt haben und Daten vom Computer zum Modem &uuml;bertragen. Dann
betr&auml;gt der Datenfluss vom Computer zum Modem 115,2&nbsp;kbps. Der Datenfluss
des Modems &uuml;ber die Telefonleitung betr&auml;gt im besten Fall jedoch nur 
33,6&nbsp;kbps.
Weil ein h&ouml;herer Datenfluss in das Modem hineingeht als von ihm wieder 
herauskommt, speichert das Modem die Differenz (115,2k - 33,6k = 81,6k) in
einem seiner Buffer. Dieser Buffer kann schnell &uuml;berlaufen, wenn der 
115,2k-Fluss nicht gestoppt wird.</P>
<P>Und nun kommt die Flusskontrolle zu Hilfe. Wenn der Buffer des Modems
fast voll ist, sendet das Modem ein Stop-Signal zum seriellen Port. Der
serielle Port leitet dieses Signal zum Ger&auml;tetreiber weiter der 115,2&nbsp;kbps
Fluss wird gestoppt. Das Modem sendet weiterhin Daten mit 33,6&nbsp;kbps aus 
seinem vorher angef&uuml;llten Buffer. Weil keine Daten mehr in diesen Buffer
hineinflie&szlig;en, beginnt er sich zu leeren. Wenn fast keine Bytes mehr im 
Buffer vorhanden sind, sendet das Modem ein Start-Signal zum seriellen Port
und der 115,2&nbsp;kbps Datenstrom beginnt wieder zu flie&szlig;en. Flusskontrolle
bewirkt also im Ergebnis einen durchschnittlichen Datendurchsatz (in unserem
Fall 33,6&nbsp;kbps), der deutlich unter dem Durchsatz von 115,2&nbsp;kbps im 
eingeschalteten Zustand liegt. Dies ist die so genannte »Start-Stop«
Flusskontrolle.</P>
<P>Das eben geschilderte ist ein einfaches Beispiel f&uuml;r Flusskontrolle f&uuml;r
einen Datenfluss vom Computer zum Modem, aber auch f&uuml;r die
entgegengesetzte &Uuml;bertragungsrichtung (vom Modem oder einem anderen Ger&auml;t
zum Computer) kann Flusskontrolle genutzt werden. Bei jeder Richtung des
Datenflusses spielen 3 verschiedene Buffer ein Rolle: 1. innerhalb des
Modems, 2. innerhalb des UART-Bausteins im seriellen Port und 3. in dem
Hauptspeicher, der vom Ger&auml;tetreiber des seriellen Ports verwendet wird.
Flusskontrolle sch&uuml;tzt diese Buffer vor einem &Uuml;berlauf. Die kleinen 
Hardware-Buffer des seriellen Ports sind durch diesen Mechanismus nicht
direkt gesch&uuml;tzt, sie vertrauen statt dessen auf die schnelle Reaktion
auf die von ihnen ausgel&ouml;sten Interrupt-Signale. </P>
<P>Dies war das Wichtigste &uuml;ber Flusskontrolle, aber es gibt nat&uuml;rlich noch
mehr Details.</P>
<P>F&uuml;r die &Uuml;bertragungsrichtung vom Modem zum PC wird Flusskontrolle 
nur selten notwendig sein. Im Kapitel »Complex Flow Control Example« des
<EM>Serial HOWTO</EM> wird ein Beispiel behandelt, in dem dies notwendig ist.
Aber wenn Sie die &Uuml;bertragungsrate zwischen Modem und Computer 
(Geschwindigkeit des seriellen Ports) nicht hoch genug eingestellt haben, 
dann ist es notwendig, den Datenfluss vom Modem zum Computer zu reduzieren.
Um dies zu erreichen muss der &uuml;ber die Telefonleitung hereinkommende
Datenfluss unterbrochen werden k&ouml;nnen. Ihr Modem muss das andere Modem
veranlassen, weiter Daten zu senden. Siehe 
<A HREF="#DE-Modem-HOWTO-M-M_flow_c">Modem-zu-Modem Flusskontrolle</A></P>

<H3>Hardware und Software Flusskontrolle</H3>

<P> Falls m&ouml;glich, ist es das Beste, Hardware-Flusskontrolle zu verwenden;
dabei werden zwei der Modem-Kontrollleitungen verwendet, um das Start- 
und Stop-Signal zu &uuml;bermitteln. Software-Flusskontrolle nutzt die normalen
Sende- und Empfangsleitungen, um die Start- und Stop-Signale zu &uuml;bertragen.
F&uuml;r diesen Zweck werden die ASCII-Kontrollzeichen DC1 (Start) und DC3 (Stop)
verwendet. Sie werden einfach in den normalen Datenstrom eingef&uuml;gt. 
Software-Flusskontrolle ist nicht nur langsamer hinsichtlich der
Reaktionszeit, auch die &Uuml;bertragung bin&auml;rer Daten ist nicht m&ouml;glich, ohne
dass besondere Vorsichtsma&szlig;regeln getroffen werden. Weil beliebige bin&auml;re Daten
sehr wahrscheinlich die Bitmuster DC1 und DC3 enthalten, muss mit 
besonderen Mitteln zwischen einem DC3-Zeichen, das das Flusskontroll-Zeichen
»Stop« bedeutet und einem DC3-Zeichen, das Teil der bin&auml;ren Daten ist, 
unterschieden werden. Das gleiche gilt f&uuml;r DC1. Eine funktionierende
Software-Flusskontrolle f&uuml;r bin&auml;re Daten setzt sowohl Modem- (Hardware) als
auch entsprechende Software-Unterst&uuml;tzung voraus.</P>

<H3>Anzeichen fehlender Flusskontrolle</H3>

<P> Die Theorie der Flusskontrolle zu verstehen, kann von praktischem 
Nutzen sein. Z.B. habe ich mein Modem f&uuml;r einen Internet-Zugang verwendet,
und alles schien gut zu funktionieren. Nach einigen Monaten versuchte ich,
gro&szlig;e Dateien von meinem PC zum ISP (Internet Service Provider) zu
&uuml;bertragen, dabei kam es zu vielen &Uuml;bertragungswiederholungen und Fehlern.
Das Empfangen von Dateien aus der anderen Richtung (von meinem ISP zu mir)
funktionierte einwandfrei. Es stellte sich heraus, dass das Problem ein
Hardwarefehler in meinem Modem war, der dazu f&uuml;hrte, dass die Flusskontrolle
deaktiviert wurde. Der Buffer des Modems lief &uuml;ber, wenn gro&szlig;e Dateien
gesendet wurden, weil nie ein Stop-Signal zum Computer gesendet wurde, um
den Datenfluss zum Modem zu unterbrechen. F&uuml;r die entgegengesetzte 
&Uuml;bertragungsrichtung vom Modem zum Computer trat kein Problem auf, weil die
Endger&auml;tegeschwindigkeit (z.B. 115,2&nbsp;kBit/s) immer h&ouml;her war als die 
&Uuml;bertragungsgeschwindigkeit auf der Telefonleitung. Die L&ouml;sung des Problems
bestand darin, ein Kommando zur Aktivierung der Flusskontrolle am Ende
des Modem-Initialisierungsstrings anzuh&auml;ngen.</P>

<H3><A NAME="DE-Modem-HOWTO-M-M_flow_c"></A> Modem-Modem Flusskontrolle         </H3>

<P> Dies ist die Flusskontrolle f&uuml;r die Daten, die zwei Modems 
&uuml;ber die Telefonleitung austauschen. In der Praxis gibt es diese Flusskontrolle
nur, wenn die Fehlerkorrektur eingeschaltet ist. Es ist aber tats&auml;chlich
m&ouml;glich, Software-Flusskontrolle zwischen zwei Modems auch ohne Fehlerkorrektur
einzuschalten, dies kann aber das Senden von bin&auml;ren Daten st&ouml;ren und daher
wird sie selten verwendet.</P>

<H2><A NAME="ss2.10">2.10</A> <A HREF="DE-Modem-HOWTO.html#toc2.10">Weg des Datenflusses; Puffer</A>
</H2>

<P> Obwohl viel von diesem Thema schon erkl&auml;rt wurde, z.B. Flusskontrolle,
ein Paar 16&nbsp;Byte Puffer der Hardware des seriellen Ports und ein Paar von
gr&ouml;&szlig;eren Puffern innerhalb des Modems, so gibt es doch noch ein anderes 
Pufferpaar. Dies sind gr&ouml;&szlig;ere Puffer (z.B. 8&nbsp;kByte) im Hauptspeicher, 
die so genannten Schnittstellenpuffer des seriellen Ports.
Wenn ein Anwendungsprogramm
Bytes zum seriellen Port (und damit zum Modem) sendet, werden sie zuerst
im Sendepuffer des seriellen Ports im Hauptspeicher zwischengespeichert.
Das Pufferpaar besteht aus diesem Sendepuffer und einem Empfangspuffer f&uuml;r 
die entgegengesetzte Richtung des Datenstroms.</P>
<P>Der Ger&auml;tetreiber des seriellen Ports holt sich aus diesem Sendepuffer z.B.
16&nbsp;Bytes, ein Byte nach dem anderen, und legt sie im 16&nbsp;Byte 
Hardware-Sendepuffer zur &Uuml;bertragung ab. Wenn die Bytes erst einmal in diesem
Sendepuffer gelandet sind, gibt es keine M&ouml;glichkeit mehr, ihr Versenden
zu verhindern. Sie werden dann zum Modem &uuml;bertragen, welches wiederum
&uuml;ber einen gen&uuml;gend gro&szlig;en Puffer (z.B. 1&nbsp;kByte) verf&uuml;gt. 
Wenn der Ger&auml;tetreiber
(durch die Flusskontrolle angefordert) den ausgehenden Datenfluss des 
Computers unterbricht, wird in Wirklichkeit nur der Datenstrom aus dem
gro&szlig;en Sendepuffer des Hauptspeichers unterbrochen. Selbst nachdem dies
geschehen ist und der Datenfluss zum Modem gestoppt wurde, kann ein
Anwendungsprogramm weiterhin Daten in diesen 8k-Sendepuffer hineinschreiben
bis er voll wird. </P>
<P>Wenn dieser Puffer gef&uuml;llt ist, kann das Anwendungsprogramm keine Daten
mehr in diesen Puffer schreiben (der <CODE>write()</CODE>-Befehl 
in einem C-Programm
blockiert) und das Anwendungsprogramm stoppt vor&uuml;bergehend in seinem 
Ablauf und wartet, bis wieder ein wenig Speichplatz im Puffer verf&uuml;gbar
wird (synchrone Arbeitsweise). 
Daher kann ein Flusskontroll-»Stop« Signal im Extremfall das
Programm anhalten, welches die Bytes sendet. Obwohl dieses Programm steht,
muss das nicht bedeuten, das auch der Computer steht. Andere Prozesse
k&ouml;nnen die CPU Zeit beanspruchen, w&auml;hrend er auf ein »Start«-Signal von
der Flusskontrolle wartet. </P>
<P>Die eben geschilderten Vorg&auml;nge wurden ein wenig vereinfacht dargestellt,
da es f&uuml;r das Anwendungsprogramm auch die Alternative gibt, etwas anderes
zu tun, w&auml;hrend es auf die »write«-Anweisung wartet (asynchrone Arbeitsweise).</P>

<H2><A NAME="ss2.11">2.11</A> <A HREF="DE-Modem-HOWTO.html#toc2.11">Modem Befehle</A>
</H2>

<P> Befehle werden vom Kommunikationsprogramm &uuml;ber die selben Leitungen
an das Modem gesendet, die auch f&uuml;r die &Uuml;bertragung von Daten genutzt
werden. Die Befehle bestehen aus kurzen ASCII-Strings, z.B. »AT&amp;K3«
um die Hardware-Flusskontrolle (RTS/CTS) zwischen Computer und Modem zu
aktivieren, oder »ATDT5393401« um die Nummer 5393401 anzuw&auml;hlen. Beachten
Sie, dass alle Befehle mit »AT« beginnen. Einige Befehle, wie z.B. der
Befehl zum Einschalten der Flusskontrolle, helfen dabei, das Modem zu
konfigurieren. Andere Befehle wie z.B. der W&auml;hlbefehl bewirken, dass
tats&auml;chlich etwas passiert. Es gibt etwa 100 verschiedene m&ouml;glich Befehle.
Wenn Ihr Kommunikationsprogramm startet, sendet es zuerst einen 
Initialisierungsbefehl an das Modem, der aus mehreren AT-Befehlen bestehen
kann, um es richtig einzustellen. Alle Befehle werden &uuml;ber die gew&ouml;hnlichen
Datenleitungen gesendet, bevor das Modem w&auml;hlt oder einen Anruf erh&auml;lt.</P>
<P>Wenn das Modem mit dem anderen Modem verbunden ist (Online Modus), wird alles,
was vom Computer zum Modem gesendet wird, direkt zum anderen Modem &uuml;bertragen
und vom Modem nicht als Befehl interpretiert. Es gibt eine M&ouml;glichkeit, 
diesen Modus zu verlassen und zur&uuml;ck in den Kommandomodus zur&uuml;ckzukehren,
in dem alles, was an das Modem gesendet wird, als Befehl interpretiert wird.
Der Computer sendet einfach die Zeichenfolge »+++«, wobei 
innerhalb eines bestimmten Zeitfensters vor und nach dem Senden
dieses Befehls keine anderen Daten &uuml;bertragen 
werden. Wenn das Zeitfenster eingehalten wird, kehrt das Modem in den 
Befehlsmodus zur&uuml;ck. Eine andere M&ouml;glichkeit dies zu erreichen ist ein
Signal auf einer bestimmten Modemsteuerleitung.</P>
<P>Es gibt eine Reihe von Tabellen dieser Modem-Befehle im Internet. Der
Abschnitt 
<A HREF="DE-Modem-HOWTO-16.html#DE-Modem-HOWTO-web_sites">Seiten im Internet</A> enth&auml;lt Links
zu einigen solchen WWW Adressen. Verschiedene Modem-Modelle und -marken 
verwenden nicht genau den gleichen Satz von Befehlen. Was bei einem Modem
funktioniert, kann bei einem anderem Modem versagen. Einige gemeinsame
Befehle (es wird nicht garantiert, dass sie f&uuml;r alle Modems funktionieren)
sind in diesem HOWTO im Abschnitt 
<A HREF="DE-Modem-HOWTO-5.html#DE-Modem-HOWTO-modem_conf">Modem  Konfiguration</A> aufgelistet.</P>

<H2><A NAME="ss2.12">2.12</A> <A HREF="DE-Modem-HOWTO.html#toc2.12">Ger&auml;tetreibersoftware f&uuml;r den seriellen Port</A>
</H2>

<P> Der Ger&auml;tetreiber f&uuml;r den seriellen Port ist die Software,
die die Hardware des seriellen Ports anspricht. Der Linux Kernel bedient
sich der Funktionen der Treibersoftware, um die 
serielle Schnittstelle zu nutzen. Dieser Ger&auml;tetreiber wird nun als
ladbares Modul angeboten. Das Modul wird normalerweise vom Kernel 
automatisch geladen, wenn es ben&ouml;tigt wird. Kernel ab der Version 2.2
unterst&uuml;tzen dies. In &auml;lteren Kernel-Versionen musste der Prozess
<CODE>kerneld</CODE> laufen, um Module bei Bedarf automatisch zu laden. Anderenfalls
musste das Modul explizit im Verzeichnis <CODE>/etc/modules</CODE>
zu finden sein. Bevor unter Linux Module verwendet wurden, waren
Ger&auml;tetreiber &uuml;blicherweise Teil des Kernels (»monolithischer Kernel«).</P>
<P>Wenn das Modul mit dem seriellen Ger&auml;tetreiber geladen wird, werden
Informationen &uuml;ber die vorhandenen seriellen Ports auf dem 
Bildschirm angezeigt (oft mit einem falschen IRQ). Wenn aber mithilfe
von <CODE>setserial</CODE> dem Ger&auml;tetreiber der hoffentlich richtige Wert 
f&uuml;r den IRQ mitgeteilt wurde, sollten Sie eine weitere Bildschirmausgabe
mit den richtigen Werten sehen. Der Abschnitt
<A HREF="DE-Modem-HOWTO-8.html#DE-Modem-HOWTO-set_serial">Was ist setserial</A> enth&auml;lt mehr Informationen &uuml;ber den
<CODE>setserial</CODE>-Befehl.</P>
<P>Man kann den Treiber modifizieren, wenn man den Kernel-Quellcode &auml;ndert.
Vieles, was den seriellen Treiber betrifft, findet sich in der Datei
<CODE>serial.c</CODE>. Informationen &uuml;ber die Entwicklung von Programmen f&uuml;r
den seriellen Port gibt das <EM>Serial Programming HOWTO</EM>.</P>

<HR>
<A HREF="DE-Modem-HOWTO-3.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Modem-HOWTO-1.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Modem-HOWTO.html#toc2"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>