This file is indexed.

/usr/share/doc/HOWTO/de-html/DE-PCMCIA-HOWTO-7.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
<!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: Tips f&uuml;r die Fehlersuche und Informationen zur Programmierung       </TITLE>
 <LINK HREF="DE-PCMCIA-HOWTO-6.html" REL=previous>
 <LINK HREF="DE-PCMCIA-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<IMG SRC="next.png" ALT="Weiter">
<A HREF="DE-PCMCIA-HOWTO-6.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-PCMCIA-HOWTO.html#toc7"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="s7">7.</A> <A HREF="DE-PCMCIA-HOWTO.html#toc7">Tips f&uuml;r die Fehlersuche und Informationen zur Programmierung       </A><!--PCMCIA!Fehlerreport--></H2>


<H2><A NAME="ss7.1">7.1</A> <A HREF="DE-PCMCIA-HOWTO.html#toc7.1">Wie kann ein hilfreicher Fehlerreport verschickt werden?</A>
</H2>

<P>Der beste Weg, einen Fehlerreport zu versenden, besteht darin, die
HyperNews-Mitteilungsliste der PCMCIA-Homepage zu
verwenden. Auf diesem Weg k&ouml;nnen andere Anwender die aktuellen
Probleme und deren L&ouml;sungen oder Vermeidung, falls
m&ouml;glich, sehen. Hier sind einige Dinge, die in einem Fehlerreport
enthalten sein sollten:
<UL>
<LI>Der Systemtyp und die Ausgabe des Kommandos <CODE>probe</CODE>.
</LI>
<LI>Welche PCMCIA-Karten werden verwendet?
</LI>
<LI>Version des Linuxkernels und des PCMCIA-Treibers.
</LI>
<LI>Alle &Auml;nderungen, die in den Startdateien im Verzeichnis
<CODE>/etc/pcmcia</CODE> oder dem PCMCIA-Startskript gemacht wurden.
</LI>
<LI>Alle im Zusammenhang mit PCMCIA stehenden Mitteilungen in der
Systemlog-Datei. </LI>
</UL>

Vor dem Abschicken des Fehlerreports sollte man sicher sein, da&szlig;
die neuesten PCMCIA-Treiberpakete verwendet wurden. Es ist keine 
sehr gute Sache, die Zeit mit dem Lesen von Fehlerreporten zu
verschwenden, wenn diese Fehler l&auml;ngst behoben wurden.</P>
<P>Wenn das Problem mit einem Kernelfehler einhergeht, so ist der
Registerausdruck nur dann hilfreich, wenn die fehlerhafte Adresse,
EIP, herausgefunden werden kann. Wenn diese im Hauptkernel liegt, kann
die Adresse dazu verwendet werden, mittels der Datei
<CODE>System.map</CODE> die fehlerhafte Funktion herauszufinden. Wenn der
Fehler in einem ladbaren Modul liegt, ist diese Funktion ein wenig
schwieriger herauszufinden. Von den aktuellen Modulwerkzeugen wird
<CODE>ksyms -m</CODE> die Basisadressen der Module anzeigen. Man nehme
dann das Modul, welches die EIP-Adresse enth&auml;lt und subtrahiere
die Basisadresse von der EIP, um einen Offset innerhalb des Moduls zu 
bekommen. Danach kann das <CODE>gdb</CODE> Programm auf das Modul
angewendet werden. Mit dem <CODE>list</CODE> Kommando kann dann dieser
Offset betrachtet werden. Dies wird aber nur funktionieren, wenn das
Modul mit der Option <CODE>-g</CODE> zum Einbinden von
Debugginginformationen &uuml;bersetzt wurde.</P>
<P>Wenn kein Zugang zum WWW besteht, k&ouml;nnen Fehlerberichte direkt an
<A HREF="mailto:dhinds@hyper.stanford.edu">David Hinds</A> geschickt
werden. David bevorzugt es aber, da&szlig; diese Fehlerberichte direkt
an die Website geschickt werden, da sie hier auch von anderen gelesen
werden k&ouml;nnen.</P>

<H2><A NAME="ss7.2">7.2</A> <A HREF="DE-PCMCIA-HOWTO.html#toc7.2">Hilfe zur Fehlersuche auf niedrigster Stufe        </A>
<!--PCMCIA!Debugging--></H2>

<P>Die PCMCIA-Module enthalten eine Menge Debuggingcode, der beim &Uuml;bersetzen
eingebunden werden kann. Der meiste Code steht
unter Kontrolle der <CODE>PCMCIA_DEBUG</CODE>
Pr&auml;prozessordefinition. Wenn diese undefiniert ist, wird der
meiste Fehlersuchcode nicht &uuml;bersetzt. Wenn dieser Wert auf 0
gesetzt ist, wird dieser Code zwar &uuml;bersetzt, ist jedoch
inaktiv. Gr&ouml;&szlig;ere Werte spezifizieren einen h&ouml;heren
Grad der Mitteilungsbereitschaft. Jedes Modul, das mit
definiertem <CODE>PCMCIA_DEBUG</CODE> &uuml;bersetzt wurde, enth&auml;lt
einen ganzzahligen Parameter <CODE>pc_debug</CODE>, der die
Meldebereitschaft des Moduls bestimmt. Dieser kann w&auml;hrend des
Ladens eines Moduls modifiziert werden, so da&szlig; die Ausgabe auf
Modulbasis angegeben werden kann, ohne da&szlig; der Code 
neue &uuml;bersetzt werden mu&szlig;.</P>
<P>Es sind einige Werkzeuge zur Fehlersuche in dem Unterverzeichnis
<CODE>debug_tools</CODE> der PCMCIA-Distribution enthalten. Die Programme
<CODE>dumb_tcic</CODE> und <CODE>dumb_i365</CODE> erstellen komplette
Registerausz&uuml;ge der PCMCIA-Controller und entschl&uuml;sseln eine
Menge der Registerinformationen. Diese sind besonders hilfreich, wenn
man Zugang zu einem Datenblatt des zugeh&ouml;rigen Controller-Chips
hat. Das Programm <CODE>dump_tuples</CODE> listet den Inhalt der CIS (Card
Information Structure) auf und entschl&uuml;sselt einige interessante
Bits. Mit dem Programm <CODE>dump_cisreg</CODE> k&ouml;nnen die lokalen
Konfigurationsregister einer Karte angezeigt werden.</P>
<P>Der <CODE>pcmem_cs</CODE> Speicherkartentreiber kann manchmal auch sehr
hilfreich sein. Dieser kann an irgendeine Karte gebunden werden und
hat keine Wechselwirkungen mit anderen Treibern. Er kann 
verwendet werden, um direkten Zugriff auf den Attribut- oder 
allgemeinen Speicher einer Karte zu erlangen.</P>

<H2><A NAME="ss7.3">7.3</A> <A HREF="DE-PCMCIA-HOWTO.html#toc7.3">Wie schreibt man einen Treiber f&uuml;r eine neue Karte?        </A>
<!--PCMCIA!Programmierung--></H2>

<P>Der <EM>Linux PCMCIA Programmer's Guide</EM> ist die beste
Dokumentation der Linux-PCMCIA-Schnittstelle. Die neueste Version ist
immer &uuml;ber FTP erh&auml;ltlich bei 
<BLOCKQUOTE><CODE>
<A HREF="ftp://hyper.stanford.edu/pub/pcmcia/doc">hyper.stanford.edu:/pub/pcmcia/doc</A></CODE></BLOCKQUOTE>
 oder per WWW bei
<BLOCKQUOTE><CODE>
<A HREF="http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html">http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html</A></CODE></BLOCKQUOTE>
 </P>
<P>Bei Ger&auml;ten, die den normalen ISA-Ger&auml;ten nahe stehen, kann
man wahrscheinlich einen Gro&szlig;teil der existierenden Linuxtreiber 
verwenden. In einigen F&auml;llen wird der gr&ouml;&szlig;te
Brocken die Anpassung existierender Treiber sein, so da&szlig;
diese das Hinzuf&uuml;gen und Entfernen der Ger&auml;te nach dem
Booten handhaben k&ouml;nnen. Von den aktuellen Treibern ist der
Speicherkartentreiber der einzige eigenst&auml;ndige Treiber,
der nicht von den Teilen des Linux Kernels abh&auml;ngt und so die
meiste Arbeit leisten mu&szlig;.</P>
<P>David hat einen Treiber als Grundger&uuml;st f&uuml;r eigene Treiber geschrieben, 
der mit einer Menge an Kommentaren erkl&auml;rt, wie die Kommunikation 
zwischen dem Treiber und den <EM>Card Services</EM> abl&auml;uft. 
Dieser kann in der PCMCIA-Quelldistribution unter <CODE>modules/skeleton.c</CODE> 
gefunden werden.</P>
<HR>
<IMG SRC="next.png" ALT="Weiter">
<A HREF="DE-PCMCIA-HOWTO-6.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-PCMCIA-HOWTO.html#toc7"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>