31.3. Risoluzione dei problemi

Di seguito è riportato un elenco dei problemi più importanti che possono verificarsi occasionalmente durante l'utilizzo di una scheda PCMCIA. Ulteriori informazioni su questo argomento sono disponibili nel file README di PCMCIA in /usr/share/doc/packages/pcmciautils/README.SuSE.

31.3.1. Crash del computer all'avvio di PCMCIA

Il computer si arresta quando PCMCIA viene attivato all'avvio. Per individuare il motivo dell'arresto, configurare PCMCIA manualmente come illustrato di seguito. Ciò consente di identificare il passaggio o il componente che ha provocato l'arresto del computer per cercare di escluderlo dalla procedura.

Per configurare manualmente PCMCIA, eseguire le operazioni riportate di seguito.

  1. Impedire che PCMCIA venga attivata all'avvio del sistema e abilitare SysRq per semplificare la procedura di debug. A questo scopo, aggiungere le opzioni seguenti nel prompt di avvio:

    init=3 pcmcia=off sysrq=1

    Per ulteriori informazioni su SysRq, fare riferimento a /usr/src/linux/Documentation/sysrq.txt.

  2. Avviare il sistema in un ambiente basato su testo ed eseguire il log in come utente root.

  3. Aggiungere i moduli PCMCIA appropriati al kernel:

    /sbin/modprobe yenta_socket
    /sbin/modprobe pcmcia
    
  4. Avviare il socket PCMCIA:

    /sbin/pcmcia-socket-startup N

    Sostituire N con il numero del socket. Ripetere questo passaggio per ciascun socket.

  5. Se il passaggio precedente ha provocato l'arresto del computer, è possibile che in /etc/pcmcia/config.opts siano stati specificati intervalli I/O o di memoria errati. Per risolvere questo problema, eseguire le operazioni riportate di seguito:

    • Escludere gli intervalli in /ect/pcmcia/config.opts e provare a configurare di nuovo il socket.

    • Aggiungere manualmente gli intervalli come illustrato di seguito.

      Dopo aver aggiunto gli intervalli appropriati, impostarli in modo permanente includendoli in /etc/pcmcia/config.opts.

  6. Dopo aver completato la configurazione del socket, le procedure di inizializzazione e configurazione d'interfaccia si comportando come illustrato nella Sezione 31.2.2, "Inizializzazione della scheda" e la Sezione 31.2.3, "Configurazione dell'interfaccia".

Per aggiungere manualmente gli intervalli I/O, eseguire le operazioni riportate di seguito per ciascun socket.

  1. Cambiare la directory in cui si trovano le configurazioni degli intervalli, in questo caso pcmcia_socket0, scegliendone un'altra adattata agli altri numeri di socket:

    cd /sys/class/pcmcia_socket/pcmcia_socket0
  2. Eseguire il seguente comando:

    echo begin - end > available_resources_io

    Sostituire begin ed end con gli indirizzi di inizio e di fine del nuovo intervallo. Per determinare i valori corretti, è necessario effettuare vari tentativi.

Aggiungere manualmente i seguenti intervalli:

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

equals the following line from /etc/pcmcia/config.opts:

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

La stessa procedura è applicabile per gli intervalli di memoria inclusi in available_resources_mem.

[Important]Identificazione delle impostazioni predefinite con errori

Se viene individuato un intervallo errato nel file di configurazione predefinito (/etc/pcmcia/config.opts) fornito con questo prodotto, segnalare un apposito bug in http://bugzilla.novell.com per consentire agli sviluppatori di risolvere questo problema.

31.3.2. Problemi generici di sospensione con PCMCIA

Quando si mette in sospensione il computer: sul disco, sulla RAM o in standby, non collegare o scollegare componenti hardware per evitare che il sistema non sia grado di effettuare correttamente il ripristino.

Per rimuovere automaticamente le schede PCMCIA durante la sospensione, eseguire le operazioni riportate di seguito.

  1. Eseguire il login come root.

  2. Aprire il file /etc/powersave/sleep.

  3. Impostare le seguenti variabili:

    SUSPEND2DISK_EJECT_PCMCIA="yes"
    SUSPEND2RAM_EJECT_PCMCIA="yes"
    STANDBY_EJECT_PCMCIA="yes"
    
  4. Salvare il file per applicare le impostazioni.

Se è necessario rimuovere ulteriori moduli durante la sospensione, eseguire le operazioni appena illustrate e aggiungere i nomi dei moduli alle seguenti variabili:

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

Per informazioni generiche sul daemon powersave, vedere la Sezione 33.5, "Il pacchetto powersave".

31.3.3. Ulteriori informazioni

Le informazioni aggiornate su PCMCIA sono disponibili nel file /usr/share/doc/packages/pcmciautils/README.SuSE. Per una panoramica completa dei componenti hardware PCMCIA e dei relativi ambiti di utilizzo, visitare il sito Web ufficiale di PCMCIA all'indirizzo: http://www.pcmcia.org/pccard.htm. Per verificare se una determinata scheda o un particolare dispositivo è supportato da Linux, vedere Linux PCMCIA/CF/CardBus Card Survey in http://tuxmobil.org/pcmcia_linux.html.