在 Linux 上调试 PCI-Cardbus 桥的步骤

在 Linux 上调试 PCI-Cardbus 桥的步骤

我有一张 PCI 转 PCMCIA 适配卡,安装在运行 Linux 2.6 的 Dell 服务器上。文档表明,它适用于 3.3V 和 5V 卡,也适用于 16 位 PCMCIA 和 Cardbus。当我插入 16 位 PCMCIA 卡时,该卡被识别,出现在 中/sys/bus/pcmcia,一切正常。当我插入 Cardbus 卡时,dmesg 报告“pccard:CardBus 卡已插入插槽 0”,没有其他反应。该卡在lspci或中不可见/sys/bus/pci,驱动程序未加载,在 中没有资源分配错误或任何类型的异常dmesg,什么都没有。

pccardctl info显示如下:

PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0000,0000
FUNCID=255

但据我了解,这对于 2.6 版的 Cardbus 卡来说是正常的吧?我想是吧?

适配器是“Creative I/O”型号,没有名字,但芯片是 Ricoh RL5c475 (PCI ID 1180:0475),我认为它在 Linux 中应该可以很好地工作。2.6.18 和 2.6.26(均为 Debian 版本)也存在同样的问题。我可以尝试从反向移植的 2.6.30 或定制的 2.6.31,但前提是有充分理由期待改进。

有人对下一步有什么建议吗,或者我应该尝试更换适配器?

附加信息:当我在 Windows 机器上安装适配器时,该卡可以正常工作。但是硬件不同——我没有安装 Windows 的 PE2850。

答案1

问题已解决

问题出在 PCI 总线重叠问题上。BIOS 提供的 PCI 总线编号没有为桥接器另一侧的 Cardbus 总线留出任何空间来接收总线编号。dmesg 中的消息“修复此桥接器的父桥接器的上限:#0a”表明了这一点(不幸的是,这条消息并不十分迫切!)。我能够通过使用选项 启动 Linux 来解决这个问题pci=assign-busses

相关内容