找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: zhaohj

chkpci外部命令检测硬件ID唯一性的讨论

[复制链接]
 楼主| 发表于 2010-11-4 11:57:09 | 显示全部楼层
记得2010-11-02上传的 5点左右 的版本是好的,后来11-02版本被覆盖,自己也没有保留。
回复

使用道具 举报

发表于 2010-11-4 11:59:01 | 显示全部楼层

回复 #61 zhaohj 的帖子

chkpci -srs 应该就是 chkpci -cc:01 -sc:0,4的简写吧?
INTEL AHCI 应该是chkpci -cc:01 -sc:06吧?
应该是没错吧?
回复

使用道具 举报

发表于 2010-11-4 12:00:37 | 显示全部楼层
@zhaohj
我还是没有看出异常..

你用chkpci不带任何参数试试看能不能看到,换旧版不带参数的执行看看有没有区别

后面chkpci -srs
chkpci -cc:01 -sc:0,4
没有任何显示也是正常的.因为根本就没有符合条件的ID.
回复

使用道具 举报

 楼主| 发表于 2010-11-4 12:06:05 | 显示全部楼层
可以这样简单测试:
chkpci -cc:01           ;显示所有的ID信息
chkpci -cc:01 -sc:0,1,2,3,4,128  ;这条命令与上面结果应该一样,实际测试结果不同
Snap2.jpg
回复

使用道具 举报

发表于 2010-11-4 12:09:23 | 显示全部楼层
可能是zhaohj以为 chkpci -srs 能检测是intel AHCI呢吧? 这个chkpci -cc:01 -sc:0,4应该就是chkpci -srs的简写吧 ACHI应该是cc_0106 所以要用chkpci --cc:01 sc:06
回复

使用道具 举报

 楼主| 发表于 2010-11-4 12:11:46 | 显示全部楼层
原帖由 zoom4ever 于 2010-11-4 12:09 发表
可能是zhaohj以为 chkpci -srs 能检测是intel AHCI呢吧? 这个chkpci -cc:01 -sc:0,4应该就是chkpci -srs的简写吧 ACHI应该是cc_0106 所以要用chkpci --cc:01 sc:06


你误解了
Class Code 1: Mass Storage Controllers

Sub-Class

Prog. I/F

Description

0x00

0x00

SCSI Controller

0x01

0xXX

IDE controller. The Prog I/F is defined as follows:

bits

Desc

0

Operating mode (primary)

1

Programmable indicator (primary)

2

Operating mode (secondary)

3

Programmable indicator (secondary)

6..4

Reserved (zero)

7

Master IDE device


0x02

0x00

Floppy disk controller

0x03

0x00

IPI controller

0x04

0x00

RAID controller

0x80

0x00

Other mass storage controller


回复

使用道具 举报

发表于 2010-11-4 12:12:58 | 显示全部楼层

回复 #67 zhaohj 的帖子

但是为什么AHCI后面sub-class 是06呢?我机器的硬件ID:PCI\VEN_8086&DEV_3A22&CC_010601 所以chkpci -srs 根本显示不出来~

[ 本帖最后由 zoom4ever 于 2010-11-4 12:15 编辑 ]
回复

使用道具 举报

发表于 2010-11-4 12:13:52 | 显示全部楼层
还是没有看出来区别...

-sc:0,4只显示sub-class的id为00,04的ID,可是很明显根本就没有这样的ID.

另外看你上面的图片显示出来的ID和以前显示出来的ID是不一样的,可能是你修改了配置?

还有发现一个sub-class id =7的,这个不在-SRS参数列表中.-srs只有0,4

7的难道就是AHCI?

[ 本帖最后由 chenall 于 2010-11-4 12:17 编辑 ]
回复

使用道具 举报

发表于 2010-11-4 12:18:48 | 显示全部楼层
原帖由 zoom4ever 于 2010-11-4 12:12 发表
但是为什么AHCI后面sub-class 是06呢?我机器的硬件ID:PCI\VEN_8086&DEV_3A22&CC_010601 所以chkpci -srs 根本显示不出来~


因为-src只检测0,4的6不在列表中.

可能是新的规范.
回复

使用道具 举报

发表于 2010-11-4 12:25:49 | 显示全部楼层
再查了一下相关资料,-srs还得再加两个(SATA的)ID.6和7

  (clase:$01;subclass:$06;progif:$00;name:'Serial ATA'),
   (clase:$01;subclass:$06;progif:$01;name:'Serial ATA (AHCI 1.0)'),
   (clase:$01;subclass:$07;progif:$00;name:'Serial Attached SCSI'),
回复

使用道具 举报

 楼主| 发表于 2010-11-4 12:25:58 | 显示全部楼层
麻烦大了,虚拟机测试,竟然是0x7
Snap1.jpg
回复

使用道具 举报

发表于 2010-11-4 12:38:26 | 显示全部楼层
实机的AHCI应该是06
回复

使用道具 举报

发表于 2010-11-4 13:49:07 | 显示全部楼层
重新上传了.
-srs 参数添加了两个SATA/AHCI的ID.
回复

使用道具 举报

 楼主| 发表于 2010-11-4 16:06:17 | 显示全部楼层
终于可以了,万分感谢!
回复

使用道具 举报

 楼主| 发表于 2010-11-17 13:02:16 | 显示全部楼层
呵呵,可能有误,抱歉,正在测试新版grldr...

[ 本帖最后由 zhaohj 于 2010-11-17 17:30 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2011-7-1 18:10:20 | 显示全部楼层
下面的网卡驱动,chkpci需要加强:
Snap1.jpg
回复

使用道具 举报

发表于 2011-7-2 08:19:55 | 显示全部楼层

回复 #77 zhaohj 的帖子

这个应该也有类似PCI\VEN_XXXX&DEV_XXXX的形式的。

驱动INF文件中应该可以找到。另外你可以把CHKPCI检测的结果贴上来。

我刚下载了一个这个驱动看了一下,实际上它的驱动ID是。
pci\ven_14e4&dev_163b

[ 本帖最后由 chenall 于 2011-7-2 08:28 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2011-7-2 13:21:48 | 显示全部楼层
原帖由 chenall 于 2011-7-2 08:19 发表
这个应该也有类似PCI\VEN_XXXX&DEV_XXXX的形式的。

驱动INF文件中应该可以找到。另外你可以把CHKPCI检测的结果贴上来。

我刚下载了一个这个驱动看了一下,实际上它的驱动ID是。
pci\ven_14e4&dev_163b


今天休息天,实机在服务器上操作了一下
chkpci -net
结果确实是:
PCI\VEN_14E4&DEV_163B&SUBSYS_028C1028

=====================
提取这样的驱动还真不易。
回复

使用道具 举报

 楼主| 发表于 2011-7-22 11:30:00 | 显示全部楼层
目前还不能检测nv芯片组

*_NVRAIDBUS="NVRAID"
*NVRAIDBUS="NVRAID"
SCSI\NVIDIA__RAID_DISK________="NVRD32"
SCSI\NVIDIA__RAID_DISK_20_____="NVRD32"
SCSI\__NVIDIA_______RAID_DISK="NVRD32"
SCSI\__NVIDIA____RAID_DISK_20= ...
回复

使用道具 举报

发表于 2011-7-22 16:25:50 | 显示全部楼层

回复 #80 zhaohj 的帖子

应该是和上面的驱动一样,这些ID电脑应该是无法检测的,需要安装它的一个驱动之后由它的驱动提供的.
回复

使用道具 举报

发表于 2011-8-10 13:47:36 | 显示全部楼层
但是我的阵列卡是
PCI\VEN_105A&DEV_3574
这些是我的驱动盘里面看到的信息
可是我的命令下看到的是
pci\VEN_8086&DEV_269E&SUBSYS_00009..
pci\VEN_8086&DEV_2680&SUBSYS_00009..
很明显不对啊
回复

使用道具 举报

发表于 2011-8-10 15:21:51 | 显示全部楼层
但是我的阵列卡是TX4310
PCI\VEN_105A&DEV_3574
这些是我的驱动盘里面看到的信息
可是我的命令下看到的是
pci\VEN_8086&DEV_269E&SUBSYS_00009..
pci\VEN_8086&DEV_2680&SUBSYS_00009..
很明显不对啊
回复

使用道具 举报

 楼主| 发表于 2011-8-10 15:30:10 | 显示全部楼层
PCI\VEN_8086开头的明显是IDE的驱动,说明你的阵列卡没有检测到
回复

使用道具 举报

发表于 2011-8-10 16:01:24 | 显示全部楼层
是啊  为啥呢?但是我用自己增加阵列卡驱动的PE,进入PE能看到磁盘的
回复

使用道具 举报

发表于 2011-8-12 13:20:38 | 显示全部楼层
找到了 前面的帖子里面的52楼Class Codes和里面CC字符串对照一下能看出来了
回复

使用道具 举报

发表于 2011-8-27 14:23:48 | 显示全部楼层
zhaohj兄和chenall大大 今天在帮学校弄服务器的时候 一台浪潮NF5220的服务器 RAID卡是LSI 8208ELP 用CHKPCI的时候为什么不能检测出ID呢 直接执行chkpci -srs 没有任何显示输出 这个RAID卡的硬件ID应该是PCI\VEN_1000&DEV_0059
回复

使用道具 举报

发表于 2011-8-27 16:48:55 | 显示全部楼层
回复

使用道具 举报

发表于 2011-8-29 13:12:39 | 显示全部楼层
新版本的chkpci没问题了 谢谢C大!
回复

使用道具 举报

发表于 2011-8-30 06:08:14 | 显示全部楼层

回复 #80 zhaohj 的帖子

这个属于ACPI范畴,CHKACPI的话就可以检测到CPU和这类型的HWID,不过ms推出ACPI说的很笼统,目前即使是linux也对它支持也不是很理想。
BTW:你们贴的那些PCI类型已经很老了,现在除了CC_0101、0104、0106、0107、0180可能还有0105。再说现在USB做启动的也越来越多,说不定啥时候还得CHKUSB。
CHK的最大问题是无法确确确定哪个设备是真正的启动设备,ms似乎也没有找到比较好的方法,所以折腾出磁盘签名之类的一大堆繁琐的东东。
回复

使用道具 举报

 楼主| 发表于 2011-8-30 07:41:39 | 显示全部楼层
一年多前N版说在制作CHKACPI,未见下文...
版主能完善下造福众生!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-4-19 21:37

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表