31.3. Solução de problemas

A seguir está uma lista dos problemas mais proeminentes encontrados ocasionalmente com PCMCIA. Mais informações sobre esse assunto estão disponíveis no README do PCMCIA (/usr/share/doc/packages/pcmciautils/README.SuSE).

31.3.1. A máquina falha com o PCMCIA

A sua máquina falha quando o PCMCIA é iniciado com boot. Para descobrir o que causou a falha na máquina, configure-a manualmente conforme descrito abaixo. Ao configurar com cuidado o PCMCIA manualmente, você pode identificar com clareza a etapa ou o componente que causou falha na sua máquina. Após a identificação do responsável, você pode contornar o componente ou a etapa problemática.

Para configurar manualmente o PCMCIA, proceda da seguinte maneira:

  1. Evite que o PCMCIA seja iniciado durante a inicialização do sistema e habilite o SysRq para depuração mais fácil acrescentando as seguintes opções ao prompt de inicialização:

    init=3 pcmcia=off sysrq=1

    Para obter mais informações sobre SysRq, consulte /usr/src/linux/Documentation/sysrq.txt.

  2. Inicialize o sistema em um ambiente baseado em texto e efetue login como root.

  3. Adicione os módulos PCMCIA apropriados ao kernel:

    /sbin/modprobe yenta_socket
    /sbin/modprobe pcmcia
    
  4. Inicie o soquete do PCMCIA:

    /sbin/pcmcia-socket-startup N

    Substitua N pelo número do soquete. Repita esta etapa para cada soquete.

  5. Se a etapa anterior causou falhas na máquina, isso pode ter sido causado por faixas de memória ou E/S erradas especificadas em /etc/pcmcia/config.opts. Para evitar isso, execute uma das seguintes ações:

    • Exclua faixas em /ect/pcmcia/config.opts e tente novamente a configuração do soquete.

    • Adicione as faixas manualmente conforme descrito abaixo.

      Após ter adicionado com êxito as faixas apropriadas manualmente, defina-as de forma permanente incluindo-as em /etc/pcmcia/config.opts.

  6. Após a configuração de soquete ter sido concluída com êxito, a inicialização da placa e a configuração da interface funcionam conforme descrito na Seção 31.2.2, “Inicialização da placa” e na Seção 31.2.3, “Configuração de interface”.

Para adicionar manualmente faixas de E/S, proceda da seguinte maneira (para cada soquete):

  1. Mude para o diretório que mantém as configurações de faixa (neste caso, pcmcia_socket0, adaptado para outros números de soquete):

    cd /sys/class/pcmcia_socket/pcmcia_socket0
  2. Execute o seguinte comando:

    echo begin - end > available_resources_io

    Substitua begin e end pelos endereços onde a nova faixa deve iniciar e encerrar. Os valores corretos só podem ser determinados por tentativa e erro.

Adicionando manualmente as seguintes faixas:

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

é igual à seguinte linha de /etc/pcmcia/config.opts:

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

O mesmo procedimento se aplica às faixas de memória sob available_resources_mem.

[Important]Identificando configurações padrão com falhas

Se você encontrar uma faixa com falha no arquivo de configuração padrão (/etc/pcmcia/config.opts) enviado com este produto, arquive um relatório de erros sobre ele em http://bugzilla.novell.com, para que os desenvolvedores possam analisar esse problema.

31.3.2. Problemas de suspensão geral com o PCMCIA

Ao suspender o sistema (suspender para disco, suspender para RAM ou standby), não conecte ou desconecte quaisquer itens de hardware enquanto o sistema estiver no modo de suspensão. De outra forma, o sistema talvez não continue de forma adequada.

Para ejetar placas PCMCIA automaticamente na suspensão, proceda da seguinte maneira:

  1. Efetue login como Root.

  2. Abra o arquivo /etc/powersave/sleep.

  3. Defina as seguintes variáveis:

    SUSPEND2DISK_EJECT_PCMCIA="yes"
    SUSPEND2RAM_EJECT_PCMCIA="yes"
    STANDBY_EJECT_PCMCIA="yes"
    
  4. Grave o arquivo para aplicar as configurações.

Se módulos adicionais precisarem ser ejetados na suspensão, proceda como acima e adicione os nomes de módulos às seguintes variáveis:

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

Para obter informações gerais sobre o daemon de economia de energia, consulte a Seção 33.5, “O Pacote powersave”.

31.3.3. Mais informações

Encontre as informações mais atualizadas sobre o PCMCIA em /usr/share/doc/packages/pcmciautils/README.SuSE. Para obter uma visão geral abrangente sobre o hardware do PCMCIA e seus campos de uso, vá para o site oficial do PCMCIA (http://www.pcmcia.org/pccard.htm). Para verificar se uma determinada placa ou dispositivo é geralmente suportada pelo Linux, consulte a Linux PCMCIA/CF/CardBus Card Survey em http://tuxmobil.org/pcmcia_linux.html.