This file is indexed.

/usr/share/doc/HOWTO/de-html/DE-PCMCIA-HOWTO-3.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
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
 <TITLE>Linux PCMCIA HOWTO: Kompilierung, Installation und Konfiguration</TITLE>
 <LINK HREF="DE-PCMCIA-HOWTO-4.html" REL=next>
 <LINK HREF="DE-PCMCIA-HOWTO-2.html" REL=previous>
 <LINK HREF="DE-PCMCIA-HOWTO.html#toc3" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-PCMCIA-HOWTO-4.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-PCMCIA-HOWTO-2.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-PCMCIA-HOWTO.html#toc3"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="s3">3.</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3">Kompilierung, Installation und Konfiguration</A></H2>

<H2><A NAME="ss3.1">3.1</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.1">Vorbemerkungen und Kernelkonfiguration        </A>
<!--Kernel!PCMCIA--></H2>

<P>Vor dem Beginn sollte man dar&uuml;ber nachdenken, ob es wirklich
erforderlich ist, das PCMCIA-Paket selber zu kompilieren. Die meisten
Linux Distributionen werden mit einem vorkompilierten 
PCMCIA-Treiberpaket ausgeliefert. Im allgemeinen mu&szlig; das 
Paket nur dann selbst kompiliert werden, wenn man eine
neuere Version des PCMCIA-Paketes ben&ouml;tigt, weil erst diese einen
bestimmten Treiber oder eine bestimmte Funktionalit&auml;t besitzt, oder
man eine andere Kernelversion installiert hat, als die, die mit der
Distribution ausgeliefert worden ist. Das Kompilieren des
PCMCIA-Pakets ist technisch nicht schwierig, setzt allerdings eine
gewisse Vertrautheit mit Linux voraus.</P>
<P>Die folgenden Dinge m&uuml;ssen installiert sein, bevor man mit der
Installation des Paketes beginnen kann:</P>
<P>
<UL>
<LI>Einer der folgenden Kernel: 1.2.8 bis 1.2.13, 1.3.30, 1.3.37,
1.3.39 bis 1.3.99, 2.0.x oder 2.1.x.
</LI>
<LI>Die passende Version der Programme f&uuml;r Module.
</LI>
<LI>Optional die <EM>XForms</EM> Bibliothek f&uuml;r ein X11 
User Interface</LI>
</UL>
</P>
<P>Die neueste Version verlangt einen Kernel der Version 1.2.18 oder
h&ouml;her, oder ein Entwickler-Kernel 1.3.30 oder neuer. Version 1.3.38
funktioniert nicht und die Versionen 1.3.31 bis 1.3.36 sind nicht
getestet worden. Es werden auch relativ neue Modulprogramme
ben&ouml;tigt. Es gibt keine Kernel-Patches speziell f&uuml;r PCMCIA.</P>
<P>Man ben&ouml;tigt einen kompletten Quellbaum des Linux-Kernels. Ein
bereits &uuml;bersetzter Kernel allein gen&uuml;gt nicht. Das PCMCIA Modul enth&auml;lt
einige Referenzen auf Kernel-Quelltexte. W&auml;hrend man einen neuen
Kernel &uuml;bersetzen will, um unn&ouml;tige Treiber zu entfernen, ist
dies f&uuml;r die Installation von PCMCIA nicht notwendig.</P>
<P>Aktuelle stabile Kernelquellen und Patches sind unter 
folgenden Adressen erh&auml;ltlich:</P>
<P>
<UL>
<LI><CODE>
<A HREF="http://metalab.unc.edu/pub/Linux/kernel/v2.0">http://metalab.unc.edu/pub/Linux/kernel/v2.0</A></CODE>
</LI>
<LI><CODE>
<A HREF="http://tsx-11.mit.edu/pub/linux/sources/system/v2.0">http://tsx-11.mit.edu/pub/linux/sources/system/v2.0</A></CODE></LI>
</UL>
</P>
<P>Aktuelle Modulwerkzeuge sind dort unter <CODE>modules-2.0.0.tgz</CODE>
zu finden. Entwicklungskernel sind in den entsprechenden <CODE>v2.1</CODE>
Verzeichnissen zu finden. Einige aktuelle Entwicklungskernel und
Compiler arbeiten schlecht mit &auml;lteren Modulwerkzeugen
zusammen. Bei der Verwendung von 2.1-Kerneln mu&szlig; man sicherstellen,
da&szlig; man die richtige Kombination an Libraries und
Modulwerkzeugen einsetzt. Die neuesten Modulwerkzeuge sowie Versionen
f&uuml;r &auml;ltere Kernel sind unter </P>
<P>
<BLOCKQUOTE><CODE>
<A HREF="http://www.pi.se/blox/modules">http://www.pi.se/blox/modules</A></CODE></BLOCKQUOTE>
 </P>
<P>zu finden. </P>
<P>  
<!--
PCMCIA!Ethernetkarte
-->

Wird der Einsatz einer PCMCIA Ethernetkarte geplant, so ist bei der
Konfiguration des Kernels die Unterst&uuml;tzung f&uuml;r Netzwerke zu
aktivieren und die normalen Linux Ethernettreiber einschlie&szlig;lich
der Treiber f&uuml;r »Pocket&laquo; und portable Adapter 
zu deaktivieren. Die PCMCIA-Netzwerkkartentreiber sind alle als 
ladbare Module implementiert. Jeder unn&ouml;tig in den Kernel 
einkompilierte Treiber verschwendet nur Platz.</P>
<P>Wenn SLIP, PPP oder PLIP verwendet werden sollen, m&uuml;ssen die
entsprechenden Treiber entweder in den Kernel einkompiliert
werden oder die Treiber als Module geladen werden. In der
Kernelkonfiguration der 1.2.x-Kernel ist es nicht m&ouml;glich,
Optionen wie SLIP-Kompression f&uuml;r ladbare Module zu
aktivieren. Daher wird es hier wohl besser sein, SLIP direkt in den
Kernel zu binden, wenn diese Funktionalit&auml;t ben&ouml;tigt wird.</P>
<P>  
<!--
PCMCIA!Token Ring
-->

<!--
Token Ring!PCMCIA
-->

Soll ein PCMCIA-Token Ring Karte verwendet werden, so mu&szlig; der
Kernel mit der Option »Token Ring driver support« &uuml;bersetzt worden
sein, wobei die Option <CODE>CONFIG_IBMTR</CODE> ausgeschaltet sein
sollte.</P>
<P>
<!--
PCMCIA!IDE-Karte
-->

<!--
IDE!PCMCIA Karte
-->

<!--
EIDE!PCMCIA Karte
-->

Sollen PCMCIA IDE-Karten verwendet werden, so sollte im Kernel
<CODE>CONFIG_BLK_DEV_IDE_PCMCIA</CODE> aktiviert sein. Diese Funktion gibt
es nur bei den Kerneln 1.3.72 bis 2.1.7. &Auml;ltere Kernel haben
keine Unterst&uuml;tzung f&uuml;r wechselbare IDE-Ger&auml;te; neuere
Kernel ben&ouml;tigen keine spezielle Konfiguration.</P>
<P>
<!--
PCMCIA!SCSI-Karten
-->

<!--
SCSI!PCMCIA
-->

Bei der Verwendung von PCMCIA SCSI-Karten sollte in der
Kernelkonfiguration <CODE>CONFIG_SCSI</CODE> aktiviert sein. Ebenso
sollten die Haupttreiber f&uuml;r die geplanten SCSI-Ger&auml;te wie
Festplatten, Bandlaufwerke, CD-ROMs oder generische Devices
aktiviert sein, wohingegen die Treiber f&uuml;r spezielle
SCSI-Controller-Karten nicht ben&ouml;tigt werden.</P>
<P>
<!--
/etc/pcmcia/config
-->

Wenn Treiber des Kernels, die f&uuml;r die PCMCIA-Ger&auml;te ben&ouml;tigt werden,
als Module &uuml;bersetzt wurden, so ist die Datei
<CODE>/etc/pcmcia/config</CODE> entsprechend zu modifizieren, so da&szlig;
jeweils die ben&ouml;tigten Module f&uuml;r eine Karte geladen werden. Wenn zum
Beispiel ein serieller Treiber modularisiert wurde, mu&szlig; die
serielle Ger&auml;tedefinition wie folgt ge&auml;ndert werden:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
device "serial_cs"
  class  "serial" module "misc/serial", "serial_cs"
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Wenn der Kernel mit der Option <CODE>CONFIG_MODVERSIONS</CODE> (Kontrolle
der Versionsnummer von Modulen) kompiliert wurde, so wird das
Konfigurationsskript nach der Existenz der Datei
<CODE>/usr/include/linux/modversions.h</CODE>, der Moduldatenbank,
suchen. Diese wird erstellt, wenn im Kernelquellverzeichnis der Befehl
<CODE>make dep</CODE> ausgef&uuml;hrt wird.</P>
<P>
<!--
cardinfo
-->

<!--
PCMCIA!cardinfo
-->

Dieses Paket enth&auml;lt eine auf X11 basierte Kartenstatusanzeige mit
dem Namen <CODE>cardinfo</CODE>. Dieses Programm basiert auf der kostenlos
vertriebenen Widgetbibliothek XForms,
welche installiert sein mu&szlig;, wenn man <CODE>cardinfo</CODE>
verwenden will. Eine bin&auml;re Version ist unter </P>
<P>
<BLOCKQUOTE><CODE>
<A HREF="ftp://hyper.stanford.edu/pub/pcmcia/extras">hyper.stanford.edu:/pub/pcmcia/extras</A></CODE></BLOCKQUOTE>
 </P>
<P>sowohl im <EM>a.out</EM> als auch im <EM>ELF</EM> Format 
erh&auml;ltlich. Es m&uuml;ssen zus&auml;tzlich alle gew&ouml;hnlichen X11 Headerdateien 
und Bibliotheken installiert sein.</P>

<H2><A NAME="ss3.2">3.2</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.2">Installation        </A>
<!--PCMCIA!Kompilierung-->       <!--PCMCIA!pcmcia-cs--></H2>

<P>Hier ist ein &Uuml;bersicht des Installationsprozesses:</P>
<P>
<UL>
<LI>Entpacken von <CODE>pcmcia-cs-2.9.?.tar.gz</CODE> in <CODE>/usr/src</CODE>.
</LI>
<LI>Starte <CODE>make config</CODE> in dem neu entstandenen Verzeichnis
<CODE>pcmcia-cs-2.9.?</CODE>.
</LI>
<LI>Starte <CODE>make all</CODE>, danach <CODE>make install</CODE>.
</LI>
<LI>Anpassen des PCMCIA-Startskripts und der Optionsdatei in
<CODE>/etc/pcmcia</CODE> an die eigenen Bed&uuml;rfnisse.</LI>
</UL>
</P>
<P>W&auml;hrend des Laufs von <CODE>make config</CODE> werden einige
Konfigurationseinstellungen abgefragt und es wird &uuml;berpr&uuml;ft,
ob das System f&uuml;r die Installation der PCMCIA-Unterst&uuml;tzung
entsprechend vorbereitet ist. In den meisten F&auml;llen k&ouml;nnen
die Standardeinstellungen verwendet werden. F&uuml;r den Fall, da&szlig;
Probleme auftreten, ist es ratsam, auf die Ausgaben dieses Programmes zu
achten.</P>
<P>Wird das PCMCIA-Paket f&uuml;r den Gebrauch auf einem anderen Computer
kompiliert, so sollte ein anderes Installationsverzeichnis angegeben
werden, wenn danach gefragt wird. Dies sollte ein absoluter Pfad
sein. Alle PCMCIA-Dateien werden relativ zu diesem Pfad
installiert. Danach ist man in der Lage, das ganze Unterverzeichnis
in eine tar Datei zu schreiben und zum Zielcomputer zu kopieren, wo das
Archiv dann im Root-Verzeichnis entpackt werden mu&szlig;, um das 
PCMCIA-Paket an der richtigen Stelle zu installieren.</P>
<P>Wenn das Paket f&uuml;r einen andere Architektur, z.B. f&uuml;r einen Linux
Rechner mit einer Alpha CPU, crosskompiliert werden
soll, so kann ein anderer Compiler und Linker
angegeben werden. Dies kann auch auf Systemen mit gemischtem 
<EM>a.out</EM>- und <EM>ELF</EM>-Formaten hilfreich sein. 
Auch wird das Skript nach zus&auml;tzlichen Optionen des Compilers 
f&uuml;r's Debugging fragen. </P>
<P>Einige der Programme (<CODE>cardctl</CODE> und <CODE>cardinfo</CODE>)
k&ouml;nnen entweder in der <EM>safe</EM>- oder <EM>trusting</EM>-Form
kompiliert werden. Die <EM>safe</EM>-Form verhindert, da&szlig;
Nicht-Root-Anwender die Kartenkonfiguration &auml;ndern
k&ouml;nnen. Die <EM>trusting</EM>-Form erlaubt normalen Anwendern,
Befehle abzusetzen, um Karten anzuhalten, wiederanzufahren,
zur&uuml;ckzusetzen und die aktuelle Konfiguration zu &auml;ndern. Das
Konfigurationsskript wird nach einer der beiden Formen fragen. Die
Voreinstellung ist <EM>safe</EM>.</P>
<P>Es gibt ein paar Einstellungen der Kernelkonfiguration, die
Auswirkungen auf die PCMCIA-Werkzeuge haben. Das Konfigurationsskript
kann diese meistens aus dem laufenden Kernel 
herauslesen. Alternativ, wenn f&uuml;r einen anderen Computer
kompiliert wird, kann diese Konfiguration aus einem 
Kernelquellcode-Verzeichnisbaum herausgelesen werden oder sie 
k&ouml;nnen interaktiv abgefragt werden.</P>
<P>Das Durchlaufen von <CODE>make all</CODE> gefolgt von <CODE>make
install</CODE> wird die Kernelmodule und Anwendungsprogramme erzeugen und
installieren. Die Kernelmodule werden in
<CODE>/lib/modules/</CODE>{<EM>version</EM>}<CODE>/pcmcia</CODE> installiert. 
Die Programme <CODE>cardmgr</CODE> und <CODE>cardctl</CODE> werden in <CODE>/sbin</CODE>
installiert. Wenn <CODE>cardinfo</CODE> erstellt wird, so wird es in
<CODE>/usr/bin/X11</CODE> installiert.</P>
<P>Die Konfigurationsdateien werden in das Verzeichnis
<CODE>/etc/pcmcia</CODE> kopiert. Wird &uuml;ber eine alte Version
installiert, so werden die alten Kofigurationsdateien umbenannt, bevor
die neuen installiert werden. Die alten Skriptdateien bekommen
Endungen wie *.~1~, *.~2~ und so weiter.</P>
<P>
<!--
PCMCIA!probe
-->

Wenn nicht bekannt ist, welcher PCMCIA Controller Chip in den Rechner
eingebaut ist, so kann die <CODE>probe</CODE> Funktion im Unterverzeichnis von
<CODE>cardmgr/</CODE> verwendet werden, um den Chiptyp zu ermitteln. Es
gibt zwei Hauptarten an Chips: der Databook TCIC-2 Typ und der Intel
i82365SL kompatible Typ.</P>
<P>
<!--
cardmgr
-->

<!--
PCMCIA!cardmgr
-->

Ein Daemon auf Anwenderebene &uuml;berwacht, ob eine Karte
eingeschoben oder entfernt wird. Dieser Daemon hei&szlig;t
<CODE>cardmgr</CODE>. Dieser ist &auml;hnlich in der Funktion wie Barry
Jaspans <CODE>pcmdiad</CODE> in fr&uuml;heren Versionen. <CODE>cardmgr</CODE>
liest die Konfigurationsdatei <CODE>/etc/pcmcia/config</CODE>,
welche die bekannten PCMCIA Karten beschreibt. Es werden darin ebenso die
zus&auml;tzlichen Module erw&auml;hnt, die f&uuml;r den Gebrauch der
PCMCIA-Karte notwendig sind und eventuell auf das eigene
System angepa&szlig;t werden m&uuml;ssen. Sollten weitere Informationen ben&ouml;tigt
werden, sollte die Manual Page weiterhelfen.</P>

<H2><A NAME="ss3.3">3.3</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.3">Abschlu&szlig; der Installation bei Systemen, die BSD Initskripte verwenden        </A>
<!--PCMCIA!Initskripte!BSD-->       <!--/etc/rc.d/rc.pcmcia--></H2>

<P>Einige Linux Distributionen, wie z.B. Slackware, verwenden eine 
BSD-Anordnung der Systemstartskripte. Wenn die Datei
<CODE>/etc/rc.d/rc.M</CODE> existiert, geh&ouml;rt das System zu dieser
Gruppe. Das Skript <CODE>rc.pcmcia</CODE>, das in <CODE>/etc/rc.d</CODE>
installiert ist, kontrolliert den Start und Stopp des 
PCMCIA-Systems. <CODE>make install</CODE> verwendet das Kommando <CODE>probe</CODE>,
um den Chiptyp zu ermitteln und das Skript <CODE>rc.pcmcia</CODE>
entsprechend anzupassen. Es sollte dann eine Zeile in der Startdatei
<CODE>/etc/rc.d/rc.M</CODE> eingef&uuml;gt werden, die das 
PCMCIA-Startskript aufruft:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
/etc/rc.d/rc.pcmcia start
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Es ist nicht wichtig, wo diese Zeile erscheint, solange sie nach dem Start
von <CODE>syslogd</CODE> steht.</P>

<H2><A NAME="ss3.4">3.4</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.4">Abschlu&szlig; der Installation bei Systemen, die den System V        Startskripts folgen        </A>
<!--PCMCIA!Initskripte!System V-->       <!--/etc/init.d/rc.pcmcia-->       <!--/etc/rc.d/init.d/rc.pcmcia--></H2>

<P>RedHat, Caldera und Debian Linux haben Startskripts, die dem <EM>System V</EM>
folgen. Wenn ein Verzeichnis mit dem Namen <CODE>/etc/init.d</CODE> oder
<CODE>/etc/rc.d/init.d</CODE> existiert, geh&ouml;rt die Distribution zu
dieser Gruppe. Das <CODE>rc.pcmcia</CODE> Skript wird dann entsprechend in
<CODE>/etc/init.d</CODE> oder <CODE>/etc/rc.d/init.d</CODE> installiert. Es
besteht hier keine Notwendigkeit, irgendeine Startdatei zu editieren, um
PCMCIA zu aktivieren: Dies geschieht automatisch.</P>
<P>Wenn das Verzeichnis <CODE>/etc/sysconfig</CODE> existiert, wird eine
separate Konfigurationsdatei zum Starten als <CODE>/etc/sysconfig</CODE>
installiert. Wenn in diesem Fall irgendwelche Moduloptionen, wie
z.B. <CODE>PCIC=</CODE> oder <CODE>PCIC_OPTS=</CODE> Einstellungen, ge&auml;ndert werden sollen,
so ist dies in dieser Datei einzutragen und nicht im Startskript. Bei
nachfolgenden Installationen wird diese Datei nicht
&uuml;berschrieben. Einige Systeme werden mit
Systemkonfigurationsdateien ausgeliefert, die PCMCIA per Voreinstellung
deaktivieren (wie z.B. S.u.S.E.). Daher sollte der Inhalt solcher
Dateien vorher &uuml;berpr&uuml;ft werden (bei S.u.S.E.:
<CODE>/etc/rc.config</CODE>).</P>
<P>Einige fr&uuml;here Versionen verwendeten die PCMCIA-Skripte in 
<CODE>/etc/sysconfig</CODE> anstelle von <CODE>/etc/pcmcia</CODE>. Die
aktuelle Version und zuk&uuml;nftige werden das Verzeichnis
<CODE>/etc/pcmcia</CODE> auf allen Systemen verwenden. Existierende
PCMCIA-Skripte in <CODE>/etc/sysconfig</CODE> werden nach
<CODE>/etc/pcmcia</CODE> verschoben.</P>

<H2><A NAME="ss3.5">3.5</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.5">Computerspezifische Konfigurationsoptionen        </A>
<!--PCMCIA!Probleme!Interrupts-->       <!--PCMCIA!Probleme!Ports-->       <!--/etc/pcmcia/config.opts--></H2>

<P><EM>Card Services</EM> sollte es automatisch vermeiden, auf Ports und
Interrupts zuzugreifen, die von anderen Ger&auml;ten verwendet
werden. Es wird ebenfalls versucht, Konflikte mit anderen unbekannten
Ger&auml;ten zu entdecken. Allerdings ist dies nicht absolut
zuverl&auml;ssig. In einigen F&auml;llen m&uuml;ssen bestimmte
Bereiche f&uuml;r einen Treiber explizit ausgeschlossen werden. Dies
erreicht man &uuml;ber die Datei <CODE>/etc/pcmcia/config.opts</CODE>.</P>
<P>Hier sind einige Einstellungen f&uuml;r spezielle Notebooks:</P>
<P>
<UL>
<LI>Beim AMS SoundPro vermeide IRQ 10.
</LI>
<LI>Bei einigen AMS TravelPro 5300 Modellen sollte der Speicherbereich
0x8000-0xcffff verwendet werden. 
</LI>
<LI>Beim Chicony NB5 sollten die IRQs 5 und 9 nicht verwendet werden.
</LI>
<LI>Die Ports 0x2f8-0x2ff, IRQ 3 und IRQ 5 sollten beim Compaq
Presario 1020 ausgeschlossen werden.
</LI>
<LI>Die Ports 0x300-0x30f sollten beim HP Omnibook 4000C vermieden
werden.
</LI>
<LI>Die IRQs 5 und 9 sollten beim Micron Millenia Transport nicht
verwendet werden.
</LI>
<LI>Beim NEC Versa M schlie&szlig;e die Ports 0x2e0-0x2ff und IRQ 9
aus.
</LI>
<LI>Beim NEC Versa P/75 sollten die IRQs 5 und 9 ausgeschlossen werden.
</LI>
<LI>Bei der NEC Versa 6000 Serie sollten die IRQs 9 und 12
ausgeschlossen werden.
</LI>
<LI>Beim ProStar 9200, Altima Virage und Acquiline Hurricane DX4-100
vermeide IRQ 5, Port 0x330-0x35f. Versuche eventuell den
Speicherbereich 0xd8000-0xdffff.
</LI>
<LI>Verwende auf dem TI TravelMate 5000 den Speicherbereich
0xd4000-0xdffff.
</LI>
<LI>Bei dem Toshiba T4900 CT schlie&szlig;e IRQ5 und die Ports
0x2e0-0x2e8 und 0x330-0x338 aus.
</LI>
<LI>Bei dem Twinhead 5100, HP 4000, Sharp PC-8700 und PC-8900
schlie&szlig;e IRQ 9 (Sound) und IRQ 12 aus.
</LI>
<LI>Bei der MPC 800 Serie sollten IRQ 5 und der Port 0x300-0x30f
f&uuml;r das CD-ROM-Laufwerk vermieden werden.</LI>
</UL>
</P>
<P>Einige PCMCIA-Controller haben optionale Eigenschaften, die bei
einigen Systemen eventuell implementiert sind. Es ist generell
unm&ouml;glich, f&uuml;r einen PCMCIA-Treiber festzustellen, ob diese
speziellen Eigenschaften eingebaut sind. Man lese daher die 
Manual Page des eingebauten Treibers f&uuml;r die m&ouml;glicherweise 
implementierten und aktivierbaren Eigenschaften.</P>
<P>In wenigen F&auml;llen ist das <CODE>probe</CODE> Kommando nicht in der
Lage, den Controllertyp automatisch zu ermitteln. Bei Halikan NBD 
486-Systemen, die einen TCIC-2-Controller an einer ungew&ouml;hnlichen
Stelle haben, mu&szlig; die Datei <CODE>rc.pcmcia</CODE> editiert
werden, damit das <CODE>tcic</CODE> Modul geladen wird. Dabei mu&szlig; der
Parameter <CODE>PCIC_OPTS</CODE> auf <CODE>tcic_base=0x02c0</CODE> gesetzt werden.</P>
<P>
<!--
PCMCIA!Probleme!Busgeschwindigkeit
-->

Die Treibermodule <EM>tcic</EM> und <EM>i82365</EM> haben zahlreiche
Parameter zur Behandlung der Busgeschwindigkeit, welche f&uuml;r
besonders schnelle Prozessoren angepa&szlig;t werden m&uuml;ssen. Symptome
f&uuml;r Geschwindigkeitsprobleme sind unter anderem Probleme der
Kartenerkennung, Blockierung bei hoher Prozessorbelastung, gro&szlig;e
Fehlerraten oder schlechte &Uuml;bertragungsraten der
Ger&auml;te. Man kontrolliere die entsprechenden Manual Pages f&uuml;r
n&auml;here Informationen. Hier ist eine kurze Zusammenfassung:</P>
<P>
<UL>
<LI>Cirrus Controller haben zahlreiche anpa&szlig;bare
Geschwindigkeitsparameter. Der wichtigste scheint die
<CODE>cmd_time</CODE> Option, die die Dauer von PCMCIA-Buszyklen festlegt,
zu sein. Schnelle 486-Systeme (insbesondere DX4-100) scheinen oft von
einer Erh&ouml;hung von 6 (Voreinstellung) auf 12 oder 16 zu
profitieren.
</LI>
<LI>Der Cirrus PD6729 PCI Controller hat eine <CODE>fast_pci</CODE>
Einstellung, welche gesetzt werden sollte, falls die
PCI-Busgeschwindigkeit gr&ouml;&szlig;er als 25 MHz ist.
</LI>
<LI>Bei Vadem VG-468- und Databook TCIC-2-Controllern
&auml;ndert die <CODE>async_clock</CODE> Option die relative
Geschwindigkeit des PCMCIA-Busses zum Hauptbus. Wird diese Option
gesetzt, so werden extra Wartezyklen bei einigen Operationen
eingef&uuml;gt werden. David hat von einem Notebook
geh&ouml;rt, das diese Option ben&ouml;tigte.
</LI>
<LI>Das <CODE>pcmcia_core</CODE> Modul besitzt einen <CODE>cis_speed</CODE>
Parameter zum &Auml;ndern der Geschwindigkeit, mit der auf den Speicher
der Card Information Structure (CIS) zugegriffen wird. Bei einigen
Systemen mit schnellen Busgeschwindigkeiten kann die Erh&ouml;hung
dieses Parameters, d.h. Verlangsamung des Kartenzugriffs, die
Erkennung einzelner Karten beg&uuml;nstigen.
</LI>
<LI>Dies ist keine Geschwindigkeitseigenschaft, ist aber hilfreich,
wenn sich mehr als ein PCMCIA-Controller im System befindet oder
mehrere Einsch&uuml;be sich in einer »Docking Station«
befinden. In diesem Fall hilft es, wenn beim Laden des <EM>i82365</EM> Moduls
die Option <CODE>extra_sockets=1</CODE> gesetzt ist. </LI>
</UL>
</P>
<P>Alle diese Optionen sollten durch Modifizierung der Datei
<CODE>rc.pcmcia</CODE> konfiguriert werden. Zum Beispiel:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
# sollte entweder i82365 oder tcic sein
PCIC=i82365
# Geschwindigkeitsparameter des Treibers sollten hier 
# stehen
PCIC_OPTS="cmd_time=12"
# pcmcia_core Optionen werden hier angegeben
CORE_OPTS="cis_speed=500"
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Hier sind ein paar Geschwindigkeitseinstellungen f&uuml;r spezielle
Systeme:</P>
<P>
<UL>
<LI>Beim ARM Pentium-90 oder Midwest Micro Soundbook Plus sollten
die Optionen <CODE>"freq_bypass=1 cmd_time=8"</CODE> verwendet werden.
</LI>
<LI>Beim Midwest Micro Soundbook Elite verwendet man
<CODE>"cmd_time=12"</CODE>.
</LI>
<LI>Beim Gateway Liberty versuche man die Option <CODE>"cmd_time=16"</CODE>.</LI>
</UL>
</P>
<P>Bei einigen Systemen, die den Cirrus-Controller verwenden, wie z.B. der
NEC Versa M, versetzt das BIOS den Controller in einen speziellen
Ruhemodus w&auml;hrend des Einschaltens. Auf solchen Systemen wird das
<CODE>probe</CODE>-Kommando keinen PCMCIA-Controller entdecken. Wenn dies
geschieht, mu&szlig; die Datei <CODE>rc.pcmcia</CODE> von Hand wie folgt
abge&auml;ndert werden:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
# sollte entweder i82365 oder tcic sein
PCIC=i82365
# Geschwindigkeitsparameter des Treibers sollten hier
# stehen
PCIC_OPTS="wakeup=1"
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H2><A NAME="ss3.6">3.6</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.6">Probleme beim Laden der Kernelmodule        </A>
<!--PCMCIA!Probleme!Laden der Kernelmodule--></H2>

<P>Das Konfigurationsskript stellt normalerweise sicher, da&szlig; die 
PCMCIA-Module mit dem installierten Kernel funktionieren. Daher 
lassen sich Probleme mit dem Laden der Module meist darauf
zur&uuml;ckf&uuml;hren, da&szlig; der Installationsvorgang nicht
korrekt durchgef&uuml;hrt worden ist. Einige solcher Fehlermeldungen
werden direkt auf der Linuxkonsole ausgegeben, andere werden in der
Systemlogdatei aufgezeichnet. Diese hei&szlig;t normalerweise
<CODE>/usr/adm/messages</CODE> oder <CODE>/var/log/messages</CODE>. Dies
h&auml;ngt von der Konfiguration des <CODE>syslogd</CODE> Daemons ab
und wird in der Datei <CODE>/etc/syslog.conf</CODE> festgelegt. Um den
Fehler einzugrenzen, sollten dieses Log-Dateien genau untersucht
werden. Auf diese Weise kann auch herausgefunden werden, welches Modul
das Problem verusacht.</P>
<P>Einige der PCMCIA-Module ben&ouml;tigen Kerneldienste, die nur dann vorhanden
sind, wenn der Kernel entsprechend konfiguriert wurde.
Zum Beispiel verlangt der SCSI-Kartentreiber, da&szlig; der Kernel mit 
SCSI-Unterst&uuml;tzung &uuml;bersetzt wurde. Analog ben&ouml;tigt der
Netzwerktreiber die Netzwerkunterst&uuml;tzung des Kernels. Wenn dem Kernel
die notwendigen Treiber fehlen, kann es sein, da&szlig; sich <CODE>insmod</CODE>
mit der Begr&uuml;ndung von undefinierten Symbolen weigert, ein
Modul zu laden. </P>
<P>Wenn <CODE>insmod</CODE> von »wrong version«-Fehlern berichtet, so
bedeutet dies, da&szlig; die Module f&uuml;r eine andere Kernelversion als die
aktuell auf dem System laufende &uuml;bersetzt worden sind. Dieses kann
passieren, wenn die Module auf einem anderen Computer mit anderer
Konfiguration &uuml;bersetzt worden sind und auf den eigenen kopiert
wurden oder wenn der Kernel nach der Installation der PCMCIA-Module
neu konfiguriert wurde.</P>
<P>Eine andere Fehlerquelle besteht darin, da&szlig; die Module und der
Kernel mit unterschiedlichen Einstellungen von
<CODE>CONFIG_MODVERSIONS</CODE> &uuml;bersetzt worden sind. Wenn ein Modul
mit Versionskontrolle in ein Kernel ohne diese Kontrolle geladen wird, so wird
<CODE>insmod</CODE> sich &uuml;ber undefinierte Symbole beschweren.</P>
<P>Zum Schlu&szlig; sind noch relativ neue Versionen der <EM>binutils</EM> 
inkompatibel mit den &auml;lteren Versionen der Modulwerkzeuge. Dies
kann Inkompatibilit&auml;ten der Module verursachen. Eine &uuml;bliche
Fehlermeldung in einem solchen Fall ist die Meldung, da&szlig; 
<CODE>gcc_compiled</CODE> nicht definiert sei. Wenn diese Fehlermeldungen
erscheinen, sollte man auf die neuesten Modulwerkzeuge
aufr&uuml;sten. Diese sind unter 
<BLOCKQUOTE><CODE>
<A HREF="http://www.pi.se/blox/modules">http://www.pi.se/blox/modules</A></CODE></BLOCKQUOTE>
 zu bekommen.</P>

<H2><A NAME="ss3.7">3.7</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.7">Interruptprobleme beim Wechsel des Kartenstatus        </A>
<!--PCMCIA!Probleme!Interrupts--></H2>

<P>In den meisten F&auml;llen wird der Treiber (<EM>i82365</EM> oder
<CODE>tcic</CODE>) automatisch einen Interrupt suchen und ausw&auml;hlen,
um den Kartenstatus anzuzeigen. Diese automatische Interruptsuche
funktioniert bei einigen Intel-kompatiblen Controllern nicht, wie
z.B. Cirrus Chips und einige in IBM ThinkPads verwendeten Chips. Wenn
ein Ger&auml;t w&auml;hrend des Testvorgangs inaktiv ist, kann es
passieren, da&szlig; der Interrupt dieses Ger&auml;tes als frei
erscheint. In solchen F&auml;llen kann es passieren, da&szlig; dieser
Interrupt vom Treiber verwendet wird.</P>
<P>Bei den <EM>i82365</EM> und dem <CODE>tcic</CODE> Treibern kann die Option
<CODE>irq_mask</CODE> verwendet werden, um die m&ouml;glichen Interrupts
einzuschr&auml;nken. Diese Maske schr&auml;nkt den Satz der
m&ouml;glichen Interrupts, die f&uuml;r den Gebrauch mit PCMCIA-Karten
oder f&uuml;r die Anzeige von Kartenstatus&auml;nderungen verwendet
k&ouml;nnen, ein. Die Option <CODE>cs_irq</CODE> kann ebenfalls verwendet
werden, um explizit den Interrupt festzulegen, mit welchem der Wechsel
des Kartenstatus &uuml;berwacht wird.</P>
<P>Wenn ein funktionierender Interrupt nicht gefunden werden kann, so
besteht die M&ouml;glichkeit, einen Pollingmodus zu verwenden. Sowohl der 
<EM>i82365</EM> als auch der <CODE>tcic</CODE> Treiber akzeptieren die
Option <CODE>poll_intervall=100</CODE>, durch welche festgelegt wird,
da&szlig; sie jede Sekunde Kartenstatus pollen. Diese Option
sollte auch verwendet werden, wenn der Spielraum f&uuml;r freie
Interrupts f&uuml;r den Gebrauch durch PCMCIA stark eingeschr&auml;nkt
ist. Insbesondere f&uuml;r Systeme mit mehreren PCMCIA Controllern
ist die Zahl der Interrupts zur Anzeige der Statusinformationen der
Karten stark eingeschr&auml;nkt.</P>
<P>Alle diese Optionen sollten in der <CODE>PCIC_OPTS=</CODE> Zeile in der
Datei <CODE>rc.pcmcia</CODE> gesetzt werden.</P>

<H2><A NAME="ss3.8">3.8</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.8">Probleme mit der Konfiguration des Speicherfensters        </A>
<!--PCMCIA!Probleme!Speicherfenster--></H2>

<P>Per Voreinstellung reservieren sich die PCMCIA-Treiber 
Speicherfenster im Bereich 0xc0000-0xfffff nach der
&Uuml;berpr&uuml;fung dieses Bereiches auf den Gebrauch durch ROM oder
andere Ger&auml;te. Dieses Fenster wird in der Datei
<CODE>/etc/pcmcia/config.opts</CODE> definiert. Die &Uuml;berpr&uuml;fung
dieses Bereichs wird durchgef&uuml;hrt, wenn ein Treiber versucht, eine
neue Karte zu konfigurieren. Dieser Pr&uuml;fvorgang ist nicht
Narrensicher, so da&szlig; Probleme auftreten
k&ouml;nnen. Wenn ein Speicherbereich erkannt wurde, der von einem
anderen Ger&auml;t verwendet wird, so kann es passieren, da&szlig; die
Karte nicht korrekt erkannt wird. Durch das von einigen Chips&auml;tzen
unterst&uuml;tzte BIOS »Shadowing« k&ouml;nnen ebenfalls Fehler
entstehen. Wenn man feststellt, da&szlig; alle Karten
f&auml;lschlicherweise immer als Speicherkarten erkannt werden, sollte
man sichergehen, da&szlig; das BIOS »Shadowing« beim Computer
ausgeschaltet ist. Ein gutes Fenster zu finden, erfordert manchmal
einiges Herumexperimentieren. Einige gute Fensteralternativen, die man
versuchen kann, sind die Bereiche 0xd8000-0xdffff, 0xc0000-0xcffff und
0xc8000-0xcffff.</P>
<P>Wenn man DOS PCMCIA Treiber besitzt, kann man versuchen, anhand dieser
einen guten Speicherbereich herauszufinden. Es ist jedoch zu beachten,
da&szlig; diese Adressen oft in Segmentform angegeben sind. Es fehlt
in diesem Fall die letzte hexadezimale Ziffer. Die absolute Adresse
0xd0000 w&uuml;rde also z.B. als 0xd000 angegeben werden. Man sollte also
darauf achten, diese letzte Ziffer hinzuzuf&uuml;gen, falls man solche 
Werte &uuml;bernimmmt.</P>
<P>Wenn das Anpassen des Fensters im Speicherbereich das Problem der
Kartenerkennung nicht l&ouml;st, so liegt wahrscheinlich ein
Geschwindigkeitsproblem (»timing«) vor.</P>

<H2><A NAME="ss3.9">3.9</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.9">Warum werden die PCMCIA-Treiber nicht bin&auml;r vertrieben?</A>
</H2>

<P>Das Vertreiben von bin&auml;ren Treibern ist schwierig, da einige
Eigenschaften erst beim &Uuml;bersetzen der Dateien angegeben werden 
k&ouml;nnen. Die PCMCIA-Module h&auml;ngen auch von der richtigen
Kernelkonfigutation und -version ab. Daher m&uuml;ssten bin&auml;re
Versionen zusammen mit passenden Kerneln vertrieben werden. Der
gr&ouml;&szlig;te Bedarf an vor&uuml;bersetzten Modulen besteht bei
der Installation einer Linux-Distribution. In diesem Fall werden die 
PCMCIA-Module zum Teil direkt f&uuml;r die Installation ben&ouml;tigt, um z.B. &uuml;ber
eine PCMCIA-Netzwerkkarte die Pakete der Distribution von einem Server
zu beziehen.</P>
<P>PCMCIA ist heute Bestandteil der meisten Linux-Distributionen.</P>

<H2><A NAME="ss3.10">3.10</A> <A HREF="DE-PCMCIA-HOWTO.html#toc3.10">Warum ist das PCMCIA-Paket so gro&szlig;?</A>
</H2>

<P>Eigentlich ist das Paket nicht so gro&szlig;. Alle Treibermodule
zusammen ben&ouml;tigen weniger als 200&nbsp;KB an Speicherplatz auf der
Festplatte. Mit den zus&auml;tzlichen Werkzeugen werden es
zus&auml;tzlich weitere 70&nbsp;KB und das Verzeichnis <CODE>/etc/pcmcia</CODE>
belegt ungef&auml;hr 30&nbsp;KB. Im Betrieb ben&ouml;tigen die Hauptmodule
ungef&auml;hr 48&nbsp;KB Hauptstpeicher. Der <CODE>cardmgr</CODE>-Daemon wird
generell direkt ausgelagert und nur beim Kartenwechsel aktiv. Das
gesamte Paket belegt nicht mehr Platz als die DOS-Varianten.</P>


<HR>
<A HREF="DE-PCMCIA-HOWTO-4.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-PCMCIA-HOWTO-2.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-PCMCIA-HOWTO.html#toc3"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>