31.3. 查错

以下是 PCMCIA 偶尔会遇到的最常见问题列表。有关更多信息,在 PCMCIA README (/usr/share/doc/packages/pcmciautils/README.SuSE) 中可用。

31.3.1. PCMCIA 引起的机器崩溃

PCMCIA 引导中启动时,机器崩溃。要找出机器崩溃的原因,如下所述手动设置。仔细地手动设置 PCMCIA 时,可以清楚地辨认出导致机器崩溃的步骤或组件。一旦辨认出了故障原因,就可以避开有问题的步骤或组件。

要手动设置 PCMCIA,请执行以下操作:

  1. 阻止 PCMCIA 在系统引导时启动,通过向引导提示添加以下选项启用 SysRq 以便更方便地进行调试:

    init=3 pcmcia=off sysrq=1

    有关 SysRq 的更多信息,请参阅 /usr/src/linux/Documentation/sysrq.txt

  2. 将系统引导到基于文本的环境,并以 root 登录。

  3. 向内核添加适当的 PCMCIA 模块:

    /sbin/modprobe yenta_socket
    /sbin/modprobe pcmcia
    
  4. 启动 PCMCIA 插槽:

    /sbin/pcmcia-socket-startup N

    用插槽编号替换 N。对每个插槽重复该步骤。

  5. 如果以上步骤使机器崩溃了,可能是由于在 /etc/pcmcia/config.opts 中指定了错误的 I/O 或内存范围引起的。要防止发生这种情况,执行以下操作之一:

    • 排除 /ect/pcmcia/config.opts 中的范围,重试插槽设置。

    • 如下所述手动添加范围。

      成功地手动添加了适当的范围后,通过在 /etc/pcmcia/config.opts 中包括它们永久设置。

  6. 成功完成插槽设置后,卡初始化和接口设置按 第 31.2.2 节 “卡的初始化”第 31.2.3 节 “接口设置” 中描述的生效。

要手动添加 I/O 范围,请执行如下操作(对每个插槽):

  1. 切换到保存范围配置的目录(在本例中是 pcmcia_socket0,其他插槽编号各有不同):

    cd /sys/class/pcmcia_socket/pcmcia_socket0
  2. 执行以下命令:

    echo begin - end > available_resources_io

    用新范围开始和结束的地址更换 beginend。正确值只能通过试错确定。

手动添加以下范围:

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

/etc/lilo.conf 中的以下行相当:

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

available_resources_mem 下的内存范围也适用相同步骤。

[Important]标识有问题的默认设置

如果发现随本产品交付的默认配置文件 (/etc/pcmcia/config.opts) 中的范围有问题,在 http://bugzilla.novell.com 中提交错误,使开发人员可以调查该问题。

31.3.2. 和 PCMCIA 有关的常规暂停问题

暂停系统的任何时候(暂停到磁盘、到 RAM 或待机),不要在系统处于暂停模式时插入或拔出任何硬件。否则系统可能无法正常恢复。

要在暂停时自动弹出 PCMCIA 卡,请执行如下操作:

  1. 以 root 用户登录。

  2. 打开文件 /etc/powersave/sleep

  3. 设置以下变量:

    SUSPEND2DISK_EJECT_PCMCIA="yes"
    SUSPEND2RAM_EJECT_PCMCIA="yes"
    STANDBY_EJECT_PCMCIA="yes"
    
  4. 保存文件以便应用设置。

如果暂停时需要弹出其他模块,执行以上操作,向以下变量添加模块名称:

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

有关 powersave 守护程序的一般信息,请参见 第 33.5 节 “powersave 包”

31.3.3. 参考信息

/usr/share/doc/packages/pcmciautils/README.SuSE 中可找到有关 PCMCIA 的最新信息。有关 PCMCIA 硬件及其使用领域的全面概述,请转到官方 PCMCIA Web 站点 (http://www.pcmcia.org/pccard.htm)。要检查某种卡或设备通常是否受 Linux 支持,请参阅 http://tuxmobil.org/pcmcia_linux.html 上的 Linux PCMCIA/CF/CardBus Card Survey