31.3. Solución de problemas

A continuación hay una lista de los problemas más importantes que se producen a veces con PCMCIA. Hay más información sobre esto disponible en el archivo léame de PCMCIA (/usr/share/doc/packages/pcmciautils/README.SuSE).

31.3.1. Detención del equipo por un fallo en PCMCIA

Cuando se inicia PCMCIA al arrancar, se produce un fallo del equipo y éste se detiene. Para averiguar la causa de la detención del equipo, configúrelo manualmente tal y como se describe a continuación. Al configurar PCMCIA manualmente y con cuidado, podrá identificar claramente el paso o componente que ha provocado la detención del sistema. Una vez identificado el elemento culpable, podrá evitar el paso o componente problemático.

Para configurar manualmente PCMCIA, siga este procedimiento:

  1. Evite que PCMCIA se inicie al arrancar el sistema y habilite SysRq para que la depuración sea más sencilla añadiendo las siguientes opciones tras el indicador de arranque:

    init=3 pcmcia=off sysrq=1

    Para obtener más información acerca de SysRq, consulte /usr/src/linux/Documentation/sysrq.txt.

  2. Arranque el sistema en un entorno basado en texto e inicie la sesión como usuario Root.

  3. Añada los módulos PCMCIA adecuados al núcleo:

    /sbin/modprobe yenta_socket
    /sbin/modprobe pcmcia
    
  4. Inicie el zócalo PCMCIA:

    /sbin/pcmcia-socket-startup N

    Sustituya N por el número del zócalo. Repita este paso para cada zócalo.

  5. Si el paso anterior ha provocado la detención del equipo, ha podido ser causado por rangos de memoria o de E/S erróneos especificados en /etc/pcmcia/config.opts. Para evitarlo, haga una de las acciones siguientes:

    • Excluya rangos en /ect/pcmcia/config.opts y vuelva a intentar configurar el zócalo.

    • Añada los rangos manualmente tal y como se describe a continuación.

      Después de añadir correctamente los rangos adecuados manualmente, defínalos permanentemente incluyéndolos en /etc/pcmcia/config.opts

  6. Después de configurar el zócalo correctamente, la inicialización de la tarjeta y la configuración de la interfaz deben funcionar tal y como se describe en la Sección 31.2.2, “Inicialización de la tarjeta” y en la Sección 31.2.3, “Configuración de la interfaz”.

Para añadir manualmente rangos de E/S, proceda de la siguiente manera (para cada zócalo):

  1. Cambie al directorio que contiene las configuraciones de rango (en este caso pcmcia_socket0, adapte el número de zócalo según el caso):

    cd /sys/class/pcmcia_socket/pcmcia_socket0
  2. Ejecute el comando siguiente:

     
    echo principio - fin > available_resources_io

    Sustituya principio y fin por las direcciones en las que se debería iniciar y finalizar el nuevo rango. Los valores correctos sólo pueden determinarse siguiendo el método de prueba y error.

Añada manualmente los siguientes rangos:

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

es igual a la siguiente línea de /etc/pcmcia/config.opts:

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

El mismo procedimiento se aplica a los rangos de memoria debajo de available_resources_mem.

[Important]Identificación de los ajustes por defecto incorrectos

Si encuentra un rango incorrecto en el archivo de configuración por defecto (/etc/pcmcia/config.opts) incluido con el producto, envíe el error a http://bugzilla.novell.com para que los desarrolladores puedan solucionar el problema.

31.3.2. Problemas generales de suspensión con PCMCIA

Siempre que el sistema se encuentre en modo de suspensión (suspensión de disco, de RAM o en espera), no conecte o desconecte ningún elemento de hardware. De lo contrario, el sistema podría no reanudarse convenientemente.

Para expulsar automáticamente las tarjetas PCMCIA en suspensión, realice las siguientes acciones:

  1. Inicie sesión como usuario Root.

  2. Abra el archivo /etc/powersave/sleep.

  3. Defina las variables siguientes:

    SUSPEND2DISK_EJECT_PCMCIA="yes"
    SUSPEND2RAM_EJECT_PCMCIA="yes"
    STANDBY_EJECT_PCMCIA="yes"
    
  4. Guarde el archivo para aplicar los ajustes.

Si es necesario expulsar módulos adicionales en suspensión, siga tal y como se ha especificado anteriormente y añada nombres de módulo a las variables siguientes:

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

Para obtener información general acerca del daemon powersave, consulte la Sección 33.5, “Paquete powersave”.

31.3.3. Información adicional

Encontrará la información más actualizada acerca de PCMCIA en /usr/share/doc/packages/pcmciautils/README.SuSE. Para obtener una descripción general exhaustiva del hardware de PCMCIA y dónde se usa, visite el sitio Web de PCMCIA (http://www.pcmcia.org/pccard.htm). Si desea comprobar si una tarjeta o dispositivo determinado es compatible con Linux, consulte el informe sobre tarjetas PCMCIA/CF/CardBus en Linux (Linux PCMCIA/CF/CardBus Card Survey) en http://tuxmobil.org/pcmcia_linux.html.