boly81
驱动小牛
驱动小牛
  • 注册日期2004-06-25
  • 最后登录2012-06-08
  • 粉丝0
  • 关注0
  • 积分490分
  • 威望73点
  • 贡献值0点
  • 好评度49点
  • 原创分0分
  • 专家分0分
阅读:2109回复:5

放分!45 分 请看看我的inf文件该怎么写

楼主#
更多 发布于:2004-10-25 22:18
我准备花钱下载MS的smbclass.sys,smbhc.sys.smb.sys,然后在他们的基础上写一个SMBus client驱动,请问有没有人做过此类工作?有的话给点意见,不然钱白花了还搞不出来老板会骂啊。

[编辑 -  10/27/04 by  boly81]
boly81
驱动小牛
驱动小牛
  • 注册日期2004-06-25
  • 最后登录2012-06-08
  • 粉丝0
  • 关注0
  • 积分490分
  • 威望73点
  • 贡献值0点
  • 好评度49点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-10-29 09:48
怎样安装SMBclass.sys 和 SMBhc.sys哪?请高手指点

Date: Fri, 25 Jun 2004 11:38:01 -0700


Both of Microsoft provided drivers, smbhc.sys and smbclass.sys, are unsigned, and upon installing, the XP system would crash with blue screen.

Do you have the signed versions?

What's the correct install .inf file and the correct selection? (I had used acpi.inf.)

P.S. I am in the process to write a SMBus client driver for ADM1031 chip, but first I need to have the SMBus driver installed (I'm using DDK 2600).

--wm



Date: Sat, 26 Jun 2004 08:05:55 -0700


Every sys file in the system will be seen as unsigned if it's not installed
using the right INF. It's not the individual files that gets signed - it's
the entire install package- INF, sys, DLL - for a particular device that
gets signed. To avoid unsigned warnings, include the relevant sections from
ACPI.INF in your INF and get the INF and your driver logoed.

There are couple of samples in the DDK (src\input\kbfiltr\kbfiltr.inf,
src\general\toaster\inf\filter.inf) that show how to include sections from
another system provided INF by using Needs and Includes directives.

In this case, the crash is not related to using smbhc.sys and smbclass.sys
in an unsigned package. You probably have other issues in your client
driver.

--
--
-Eliyas
This posting is provided "AS IS" with no warranties, and confers no rights.
"William" <William@discussions.microsoft.com> wrote in message
news:57FAD949-C90E-445A-84E5-ABA67069A1AF@microsoft.com...
> Both of Microsoft provided drivers, smbhc.sys and smbclass.sys, are
unsigned, and upon installing, the XP system would crash with blue screen.



Date: Mon, 28 Jun 2004 09:45:02 -0700


Thanks, Eliyas.
But I had not developed the client driver yet. At this point I only try to install the Microsoft provided drivers, smbhc.sys and smbclass.sys.
Would you try to install it over an XP Professional OS, (by using acpi.inf, presumably), and let me know which selection will install and register the SMBus driver without crash (blue screen)?
--wm

bodajingshen000
驱动牛犊
驱动牛犊
  • 注册日期2004-04-07
  • 最后登录2009-01-04
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-29 11:40
使用DriverStudio的ExDrvInstall可以安装用来调试。
或者你写个inf文件,用硬件安装向导。DDK里有例子,拿来一改。
boly81
驱动小牛
驱动小牛
  • 注册日期2004-06-25
  • 最后登录2012-06-08
  • 粉丝0
  • 关注0
  • 积分490分
  • 威望73点
  • 贡献值0点
  • 好评度49点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-10-29 17:51
谢谢楼上的,先奉献10分
问题是,我希望这两个驱动对所有SMBus都可以安装,因为要在所有主板上用,所以最好能不要在model里指定像这样的hardware ID:
%PCI\VEN_8086&DEV_2413.DeviceDesc%=SMBus.Install,PCI\VEN_8086&DEV_2413

XP下WINDOWS\INF\ACPI.INF好像就可以安装这几个驱动,但是我试了多次都没成功。头一次安装驱动郁闷。

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4d36e97d-e325-11ce-bfc1-08002be10318}
Provider=%MSFT%
LayoutFile=layout.inf
DriverVer=07/01/2001,5.1.2535.0

[DestinationDirs]
DefaultDestDir = 12

[ControlFlags]
;
; Exclude all devices from Select Device list
;
ExcludeFromSelect = *

[ClassInstall32]
AddReg=System_Class_Addreg

[System_Class_Addreg]
HKR,,,0,"System Class Drivers"
HKR,,NoInstallClass,,1

[Manufacturer]
%MSFT%=Microsoft

[Microsoft]
%*pnp0c08.DeviceDesc% = ACPI_Inst,*pnp0c08
%*pnp0c09.DeviceDesc% = ACPIEC_Inst,*pnp0C09
%*acpi0001.DeviceDesc% = SMBHC_Inst,*acpi0001
%SMBALI.DeviceDesc% = SMBALI_Inst,ACPI\SMBUS&VEN_10B9&DEV_7101
%*pnp0c14.DeviceDesc% = WMIMAP_Inst,*pnp0c14
%*pnp0c08.DeviceDesc% = ACPI_Inst,pnp0c08
%*pnp0c09.DeviceDesc% = ACPIEC_Inst,pnp0C09
%*acpi0001.DeviceDesc% = SMBHC_Inst,acpi0001
%*pnp0c14.DeviceDesc% = WMIMAP_Inst,pnp0c14
%*compbatt.DeviceDesc% = COMPBATT_Inst,COMPOSITE_BATTERY
%ACPI\acpi0001.DeviceDesc% = SMBBCLIENT_Inst,ACPI\acpi0001

[ACPI_Inst.NT]
Copyfiles = @acpi.sys
AddReg = RP_REG_MUTE_IRQ
Reboot

[ACPI_Inst.NT.Services]
AddService = ACPI,%SPSVCINST_TAGTOFRONT%,ACPI_Service_Inst

[ACPI_Service_Inst]
DisplayName    = %ACPI.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\ACPI.sys
LoadOrderGroup = Boot Bus Extender

[ACPIEC_Inst.NT]
CopyFiles = @acpiec.sys
CopyFiles = @oprghdlr.sys

[ACPIEC_Inst.NT.Services]
AddService = ACPIEC,%SPSVCINST_ASSOCSERVICE%,ACPIEC_Service_Inst

[ACPIEC_Service_Inst]
DisplayName    = %ACPIEC.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\ACPIEC.sys
LoadOrderGroup = System Bus Extender

[SMBHC_Inst.NT]
Copyfiles = @smbhc.sys
Copyfiles = @smbclass.sys

[SMBHC_Inst.NT.Services]
AddService = SMBHC,%SPSVCINST_ASSOCSERVICE%,SMBHC_Service_Inst

[SMBHC_Service_Inst]
DisplayName    = %SMBHC.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_SYSTEM_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\SMBHC.sys
LoadOrderGroup = Extended Base

[SMBALI_Inst.NT]
Copyfiles = @smbali.sys
Copyfiles = @smbclass.sys

[SMBALI_Inst.NT.Services]
AddService = SMBALI,%SPSVCINST_ASSOCSERVICE%,SMBALI_Service_Inst

[SMBALI_Service_Inst]
DisplayName    = %SMBALI.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_SYSTEM_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\SMBALI.sys
LoadOrderGroup = Extended Base

[SMBBCLIENT_Inst.NT]
Copyfiles = @smbspd.sys
Copyfiles = @smbclass.sys

[WMIMAP_Inst.NT]
Copyfiles = @wmiacpi.sys

[WMIMAP_Inst.NT.Services]
AddService = WmiAcpi,%SPSVCINST_ASSOCSERVICE%,WMIMAP_Service_Inst

[WMIMAP_Service_Inst]
DisplayName    = %WMIMAP.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_SYSTEM_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\wmiacpi.sys
LoadOrderGroup = Extended Base

[COMPBATT_Inst.NT]
Copyfiles = @compbatt.sys
Copyfiles = @battc.sys

[COMPBATT_Inst.NT.Services]
AddService = Compbatt,%SPSVCINST_TAGTOFRONT%,COMPBATT_Service_Inst

[COMPBATT_Service_Inst]
DisplayName    = %COMPBATT.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\compbatt.sys
LoadOrderGroup = System Bus Extender

[RP_REG_MUTE_IRQ]
HKR,,ResourcePickerExceptions,0,"IRQ:HAL"


[strings]
MSFT                  = "Microsoft"
*pnp0c08.DeviceDesc   = "Microsoft ACPI-Compliant System"
*pnp0c09.DeviceDesc   = "Microsoft ACPI-Compliant Embedded Controller"
*acpi0001.DeviceDesc  = "Microsoft System Management Bus Host Controller"
SMBALI.DeviceDesc     = "ALI 1535 SMBus Host Controller"
*COMPBATT.DeviceDesc  = "Microsoft Composite Battery"
*pnp0c14.DeviceDesc   = "Microsoft Windows Management Interface for ACPI"
ACPI.SvcDesc          = "Microsoft ACPI Driver"
ACPIEC.SvcDesc        = "Microsoft Embedded Controller Driver"
SMBHC.SvcDesc         = "Microsoft SM Bus Host Controller Driver"
SMBALI.SvcDesc        = "ALI 1535 SMBus Host Controller Driver"
COMPBATT.SvcDesc      = "Microsoft Composite Battery Driver"
WMIMAP.SvcDesc        = "Microsoft Windows Management Interface for ACPI"

SPSVCINST_TAGTOFRONT  = 0x00000003
SPSVCINST_ASSOCSERVICE= 0x00000002
SERVICE_KERNEL_DRIVER = 1
SERVICE_BOOT_START    = 0
SERVICE_SYSTEM_START  = 1
SERVICE_ERROR_NORMAL  = 1
SERVICE_ERROR_IGNORE  = 0
REG_EXPAND_SZ         = 0x00020000
REG_DWORD             = 0x00010001
REG_SZ                = 0x00000000

下面是intel的smbus驱动的inf,我在设备管理器里可以成功装上。
据说SMBus的interface guid是
// GUID_SMB {EF2CEA02L-64FC-11D2-9EE7-00AA0009E4E6}
DEFINE_GUID (GUID_SMB,0xef2cea02L, 0x64fc, 0x11d2, 0x9e, 0xe7, 0x0, 0xaa, 0x0, 0x9, 0xe4, 0xe6);


但在成功装上intel的smb.sys后, 我用
status = IoGetDeviceInterfaces(&GUID_SMB,
NULL,
0,
&pInterfaceList);
获取的pInterfaceList为空,status返回是STATUS_SUCCESS。

; ****************************************************************************
; ****************************************************************************
; **                                                                        **
; **    Copyright (c) 1999- 2002 Intel Corporation. All Rights Reserved.    **
; **                                                                        **
; **    Filename:  SMBUS.INF                                                **
; **    Abstract:  Windows INF for Intel(r) SMBus controllers               **
; ****************************************************************************
; ****************************************************************************
[Version]
Signature = "$Windows NT$"
Class=System
ClassGUID={4d36e97d-e325-11ce-bfc1-08002be10318}
; CatalogFile=smb.cat
Provider=%Intel%
DriverVer=01/09/2003,4.0.4.0

[DestinationDirs]
DefaultDestDir = 10,system32\drivers
SMBus.CopyFiles = 10,system32\drivers

[SourceDisksNames.x86]
0=%SMBus.SourceDisk%,,,  

[SourceDisksNames.ia64]

[SourceDisksFiles.x86]
smb.sys=0

[SourceDisksFiles.ia64]

[Manufacturer]
%Intel%=Intel.Section

[Intel.Section]
; Suported ICHx IDs
%PCI\VEN_8086&DEV_2413.DeviceDesc%=SMBus.Install,PCI\VEN_8086&DEV_2413
%PCI\VEN_8086&DEV_2423.DeviceDesc%=SMBus.Install,PCI\VEN_8086&DEV_2423
%PCI\VEN_8086&DEV_2443.DeviceDesc%=SMBus.Install,PCI\VEN_8086&DEV_2443
%PCI\VEN_8086&DEV_2483.DeviceDesc%=SMBus.Install,PCI\VEN_8086&DEV_2483
%PCI\VEN_8086&DEV_24C3.DeviceDesc%=SMBus.Install,PCI\VEN_8086&DEV_24C3
%PCI\VEN_8086&DEV_24D3.DeviceDesc%=SMBus.Install,PCI\VEN_8086&DEV_24D3

[SMBus.Install]
CopyFiles=SMBus.CopyFiles
AddReg=SMBus.AddReg,SMBus.AddRegCommon

[SMBus.Install.ntx86]
CopyFiles=SMBus.CopyFiles

[SMBus.Install.ntx86.Services]
AddService = smbusp,%SPSVCINST_ASSOCSERVICE%,SMBus.Service

[SMBus.Service]
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_IGNORE%
ServiceBinary = %12%\smb.sys
LoadOrderGroup = %SMBus.GroupName%
DisplayName = %SMBus.ServiceName%
AddReg = SMBus.AddRegCommon

[SMBus.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,smb.sys

[SMBus.AddRegCommon]
; Set Value to 0 for interrupt mode, 1 for polling mode
HKR,Parameters,UsePolling,0x10001,0

[SMBus.CopyFiles]
smb.sys

[Strings]
Intel="Intel"
PCI\VEN_8086&DEV_2413.DeviceDesc="Intel(R) 82801AA SMBus Controller (Intel(R) SMBus 2.0 Driver)"
PCI\VEN_8086&DEV_2423.DeviceDesc="Intel(R) 82801AB SMBus Controller (Intel(R) SMBus 2.0 Driver)"
PCI\VEN_8086&DEV_2443.DeviceDesc="Intel(R) 82801BA/BAM SMBus Controller - 2443 (Intel(R) SMBus 2.0 Driver)"
PCI\VEN_8086&DEV_2483.DeviceDesc="Intel(R) 82801CAM SMBus Controller - 2483 (Intel(R) SMBus 2.0 Driver)"
PCI\VEN_8086&DEV_24C3.DeviceDesc="Intel(R) ICH4/ICH4-M SMBus Controller - 24C3 (Intel(R) SMBus 2.0 Driver)"
PCI\VEN_8086&DEV_24D3.DeviceDesc="Intel(R) 6300ESB SMBus Controller - 24D3 (Intel(R) SMBus 2.0 Driver)"

SMBus.ServiceName="Intel(R) SMBus 2.0 Driver"
SMBus.GroupName="SMBus"
SMBus.SourceDisk="SMBus Install Disk"


;////////////////////////////////////////////////////////////////////////////
;//  Declaration type strings
SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER = 0x1
SERVICE_BOOT_START = 0x0
SERVICE_SYSTEM_START = 0x1
SERVICE_AUTO_START = 0x2
SERVICE_DEMAND_START = 0x3
SERVICE_ERROR_IGNORE = 0x0
SERVICE_ERROR_NORMAL = 0x1
SERVICE_ERROR_SEVERE = 0x2
SERVICE_ERROR_CRITICAL = 0x3
SERVICE_DISABLED = 0x4
COPYFLG_NOSKIP=2            
COPYFLG_OVERWRITE_OLDER_ONLY=0x00000040
REG_DWORD=0x00010001
REG_BIN=0x00000001


; ****************************************************************************
; Information in this document is provided in connection with Intel products.
; No license, express or implied, by estoppel or otherwise, to any intellectual
; property rights is granted by this document.  Except as provided in Intel's
; Terms and Conditions of Sale for such products, Intel assumes no liability
; whatsoever, and Intel disclaims any express or implied warranty, relating to
; sale and/or use of Intel products including liability or warranties relating
; to fitness for a particular purpose, merchantability, or infringement of any
; patent, copyright or other intellectual property right. Intel products are
; not intended for use in medical, life saving, or life sustaining applications.
;
; ****************************************************************************
; * Intel Corporation disclaims all warranties and liabilities for the use   *
; * of this document and the information contained herein, and assumes no    *
; * responsibility for any errors which may appear in this document, nor     *
; * does Intel make a commitment to update the information contained herein. *
; * Intel reserves the right to make changes to this document at any time,   *
; * without notice.                                                          *
; ****************************************************************************
; ****************************************************************************

; * Third-party brands and names are the property of their respective owners.
; Copyright (c) Microsoft Corporation, 1993-1998
; Copyright (c) Intel Corporation, 1999



snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-10-29 18:25
没成功,报什么错误呀
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
boly81
驱动小牛
驱动小牛
  • 注册日期2004-06-25
  • 最后登录2012-06-08
  • 粉丝0
  • 关注0
  • 积分490分
  • 威望73点
  • 贡献值0点
  • 好评度49点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-10-29 19:07
在设备管理器里根本没法装,我想是因为没有hardware ID (像这个:   %PCI\VEN_8086&DEV_2423.DeviceDesc%=SMBus.Install,PCI\VEN_8086&DEV_2423)吧,但是我希望它不依赖那个硬件,要列举所有的SMBus控制器的hardware ID也不可能,我没有这么全的资料。而且除了intel,其它厂商生产的芯片里的SMBus控制器没有设备号。


游客

返回顶部