/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ü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ü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önnen andere Anwender die aktuellen
Probleme und deren Lösungen oder Vermeidung, falls
mö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 Ä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ß
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ä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ä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 übersetzt wurde.</P>
<P>Wenn kein Zugang zum WWW besteht, können Fehlerberichte direkt an
<A HREF="mailto:dhinds@hyper.stanford.edu">David Hinds</A> geschickt
werden. David bevorzugt es aber, daß diese Fehlerberichte direkt
an die Website geschickt werden, da sie hier auch von anderen gelesen
werden kö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 Übersetzen
eingebunden werden kann. Der meiste Code steht
unter Kontrolle der <CODE>PCMCIA_DEBUG</CODE>
Präprozessordefinition. Wenn diese undefiniert ist, wird der
meiste Fehlersuchcode nicht übersetzt. Wenn dieser Wert auf 0
gesetzt ist, wird dieser Code zwar übersetzt, ist jedoch
inaktiv. Größere Werte spezifizieren einen höheren
Grad der Mitteilungsbereitschaft. Jedes Modul, das mit
definiertem <CODE>PCMCIA_DEBUG</CODE> übersetzt wurde, enthält
einen ganzzahligen Parameter <CODE>pc_debug</CODE>, der die
Meldebereitschaft des Moduls bestimmt. Dieser kann während des
Ladens eines Moduls modifiziert werden, so daß die Ausgabe auf
Modulbasis angegeben werden kann, ohne daß der Code
neue übersetzt werden muß.</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üge der PCMCIA-Controller und entschlüsseln eine
Menge der Registerinformationen. Diese sind besonders hilfreich, wenn
man Zugang zu einem Datenblatt des zugehörigen Controller-Chips
hat. Das Programm <CODE>dump_tuples</CODE> listet den Inhalt der CIS (Card
Information Structure) auf und entschlüsselt einige interessante
Bits. Mit dem Programm <CODE>dump_cisreg</CODE> kö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ü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 über FTP erhä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äten, die den normalen ISA-Geräten nahe stehen, kann
man wahrscheinlich einen Großteil der existierenden Linuxtreiber
verwenden. In einigen Fällen wird der größte
Brocken die Anpassung existierender Treiber sein, so daß
diese das Hinzufügen und Entfernen der Geräte nach dem
Booten handhaben können. Von den aktuellen Treibern ist der
Speicherkartentreiber der einzige eigenständige Treiber,
der nicht von den Teilen des Linux Kernels abhängt und so die
meiste Arbeit leisten muß.</P>
<P>David hat einen Treiber als Grundgerüst für eigene Treiber geschrieben,
der mit einer Menge an Kommentaren erklärt, wie die Kommunikation
zwischen dem Treiber und den <EM>Card Services</EM> ablä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>
|