|
2#

楼主 |
发表于 2009-6-16 18:24:01
|
只看该作者
二、转入正题,Scan卡死分析
主要论据来自我对Adaptec PCI SCSI卡驱动和Linux PCI内核选项有关资料信息的解读。
(一) 问题出在Scan PCI BUS上。ASPI manager确定PCI SCSI卡是否安装,有3种扫描方式:
1、通过PCI BIOS调用INT 1Ah扫描PCI BUS;
2、通过Intel PCI config Mechanism1扫描PCI BUS;
3、通过Intel PCI config Mechanism2扫描PCI BUS。
大多数PCI系统(主板)不能同时支持3种扫描方式。
第2、3种方式是不通过BIOS,强制直接访问硬件,与Intel芯片组有关,大多数芯片组使用
Mechanism1,只有很老的芯片组才使用Mechanism2。两者的区别在于:在PCI系统中发挥重要
作用的CF8H/CFCH寄存器使用方式不同。选错Mechanism1/Mechanism2会造成系统挂起或重启。
第1种方式则与上面相反,不直接访问硬件,而是完全信任BIOS(大多数情况下它并不可信),
通过BIOS访问。这种方式的问题有很多,其中一条是,通过PCI BIOS调用来获取中断路由表,
但这种调用在不少机器上都有缺陷,会导致系统挂起! 但在某些机器上却又是唯一获取中断
路由表的手段! 晕~
(二)用winhex打开USBASPI.SYS,通过分析字符串,我们有理由推断,USBASPI.SYS应该是采用
第1种方式扫描PCI BUS。这种方式的问题见上面分析。
Scan问题,我们基本上无力解决,只能尽量调整BIOS,尤其是IRQ选项去与USBASPI.SYS协调。
更进一步的解决办法还是USBASPI.SYS在版本升级时,增加PCI BUS扫描选项。除了PCI BIOS调用,
还应有Mechanism1扫描选项。
[ 本帖最后由 wuwuzz 于 2009-6-16 18:33 编辑 ] |
|