31.3. Fehlerbehebung

Im Folgenden finden Sie eine Liste der bekanntesten Probleme, die gelegentlich mit PCMCIA auftreten. Weitere Informationen zu diesem Thema finden Sie in PCMCIA README (/usr/share/doc/packages/pcmciautils/README.SuSE).

31.3.1. Computer stürzt mit PCMCIA ab

Ihr Computer stürtzt ab, wenn PCMCIA beim Booten gestartet wird. Um die Ursache für den Absturz des Computers zu ermitteln, richten Sie den Computer, wie nachstehend beschrieben, manuell ein. Wenn Sie PCMCIA sorgfältig manuell installieren, können Sie den Schritt oder die Komponente, die den Absturz des Computers verursacht hat, eindeutig identifizieren. Sobald die Ursache erkannt wurde, können Sie den problematischen Schritt oder die Komponente umgehen.

Gehen Sie wie folgt vor, um PCMCIA manuell einzurichten:

  1. Vermeiden Sie, dass PCMCIA beim Booten des Systems gestartet wird, und aktivieren Sie SysRq, um die Fehlersuche zu erleichtern, indem Sie folgende Optionen an die Bootprompt anfügen:

    init=3 pcmcia=off sysrq=1

    Weitere Informationen zu SysRq erhalten Sie in der Datei /usr/src/linux/Documentation/sysrq.txt.

  2. Booten Sie das System in einer textbasierten Umgebung und melden Sie sich als „root“ an.

  3. Fügen Sie dem Kernel die passenden PCMCIA-Module hinzu:

    /sbin/modprobe yenta_socket
    /sbin/modprobe pcmcia
    
  4. Starten Sie den PCMCIA-Socket:

    /sbin/pcmcia-socket-startup N

    Ersetzen Sie N durch die Nummer des Socket. Wiederholen Sie diesen Schritt für jeden Socket.

  5. Falls der vorige Schritt den Computer zum Absturz brachte, wurden möglicherweise die falschen E/A- oder Speicherbereiche in /etc/pcmcia/config.opts angegeben. Gehen Sie wie folgt vor, um dies zu vermeiden:

    • Schließen Sie Bereiche in /ect/pcmcia/config.opts aus und versuchen Sie die Socket-Einrichtung erneut.

    • Fügen Sie die Bereiche manuell durch, wie nachfolgend beschrieben.

      Nachdem Sie die passenden Bereiche erfolgreich manuell hinzugefügt haben, legen Sie sie permanent fest, indem Sie sie in /etc/pcmcia/config.opts einschließen.

  6. Nachdem die Socket-Einrichtung erfolgreich abgeschlossen wurde, funktioniert die Karteninitialisierung und die Schnittstelleneinrichtung wie in Abschnitt 31.2.2, „Initialisierung der Karte“ und Abschnitt 31.2.3, „Einrichtung der Schnittstelle“ beschrieben.

Gehen Sie (für jeden einzelnen Socket) wie folgt vor, um E/A-Bereiche manuell hinzuzufügen:

  1. Wechseln Sie zum Verzeichnis, in dem die Bereichskonfiguration enthalten ist (in diesem Fall pcmcia_socket0; muss für andere Socket-Nummern angepasst werden):

    cd /sys/class/pcmcia_socket/pcmcia_socket0
  2. Führen Sie den folgenden Befehl aus:

    echo begin - end > available_resources_io

    Ersetzen Sie begin und end mit den Adressen, an denen der neue Bereich anfangen bzw. enden soll. Die richtigen Werte können nur durch Ausprobieren ermittelt werden.

Manuelles Hinzufügen der folgenden Bereiche:

echo 0x800 - 0x8ff > available_resources_io
echo 0xc00 - 0xcff > available_resources_io

entspricht der folgenden Zeile aus /etc/pcmcia/config.opts:

include port 0x800-0x8ff, port 0xc00 0xcff

Dieselbe Vorgehensweise gilt für die Speicherbereiche unter available_resources_mem.

[Important]Ermitteln fehlerhafter Standardeinstellungen

Wenn Sie einen fehlerhaften Bereich in der standardmäßigen Konfigurationsdatei (/etc/pcmcia/config.opts), die mit diesem Produkt geliefert wurde, finden, reichen Sie diesbezüglich unter http://bugzilla.novell.com einen Fehlerbericht ein, damit die Entwickler das Problem untersuchen können.

31.3.2. Allgemeine Probleme bei Suspend-Vorgängen mit PCMCIA

Schließen Sie, während Sie Suspend-Vorgänge am System ausführen, niemals Hardware-Komponenten an oder trennen diese vom System, während sich dieses im Suspend-Modus befindet. Anderenfalls kann das System nicht ordnungsgemäß wiederaufgenommen werden.

Um PCMCIA-Karten während eines Suspend-Vorgangs automatisch auszugeben, gehen Sie wie folgt vor:

  1. Melden Sie sich als „root“ an.

  2. Öffnen Sie die Datei /etc/powersave/sleep.

  3. Legen Sie folgende Variablen fest:

    SUSPEND2DISK_EJECT_PCMCIA="yes"
    SUSPEND2RAM_EJECT_PCMCIA="yes"
    STANDBY_EJECT_PCMCIA="yes"
    
  4. Speichern Sie die Datei, um die Einstellungen anzuwenden.

Falls zusätzliche Module im Suspend-Modus ausgegeben werden müssen, gehen Sie wie oben beschrieben vor und fügen Sie den folgenden Variablen die Modulnamen hinzu:

UNLOAD_MODULES_BEFORE_SUSPEND2DISK=""
UNLOAD_MODULES_BEFORE_SUSPEND2RAM=""
UNLOAD_MODULES_BEFORE_STANDBY=""

Allgemeine Informationen zum Powersave-Daemon erhalten Sie in Abschnitt 33.5, „Das powersave-Paket“.

31.3.3. Weitere Informationen

Aktuelle Informationen zu PCMCIA erhalten Sie in usr/share/doc/packages/pcmciautils/README.SuSE. Eine umfassende Übersicht über die PCMCIA-Hardware und deren Verwendungsbereiche finden Sie auf der offiziellen PCMCIA-Website (http://www.pcmcia.org/pccard.htm). In der Linux PCMCIA/CF/CardBus Card Survey unter http://tuxmobil.org/pcmcia_linux.html können Sie überprüfen, ob eine bestimmte Karte oder ein Gerät im Allgemeinen unter Linux unterstützt wird.