Jump to content

PERC 5 Driver Fails to Start in WinPE


Hysteresis

Recommended Posts

I have a WinPE 2005 (based on Win2003 SP1) build which is being used on a Dell 2900. This system contains a Dell PERC 5i RAID disk controller so I have added driver support for this device by copying the percsas.sys file to i386\system32\drivers and percsas.inf file to i386\inf and updated appropriate sections in i386\TXTSETUP.SIF.

This technique has worked fine for many other Mass Storage devices, but not the PERC 5. According to setupapi.log the controller is detected during the WinPE PNP device detection phase, but fails to start with a CM_PROB_REGISTRY error (see extract from setupapi.log below). The longshot of all this is that the disks don't get recognised.

I suspect this driver requires some registry keys to be set before it will work, but I'm not sure what. Anyone had experience with the PERC 5 and WinPE ?

Thanks in advance.

----------------------------------------------------------------------------

#-019 Searching for hardware ID(s): pci\ven_1028&dev_0015&subsys_1f031028&rev_00,pci\ven_1028&dev_0015&subsys_1f031028,pci\ven_1028&dev_0015&cc_010400,pci\ven_1028&dev_0015&cc_0104

#-018 Searching for compatible ID(s): pci\ven_1028&dev_0015&rev_00,pci\ven_1028&dev_0015,pci\ven_1028&cc_010400,pci\ven_1028&cc_0104,pci\ven_1028,pci\cc_010400,pci\cc_0104

#-199 Executing "X:\i386\system32\factory.exe" with command line: factory.exe -winpe

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\ANSMXP.INF, using [sTRINGS] instead.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\ANSPXP.INF, using [sTRINGS] instead.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\D1E5132.INF, using [sTRINGS] instead.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\E1000325.INF, using [sTRINGS] instead.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\E100A325.INF, using [sTRINGS] instead.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\E100ANT5.INF, using [sTRINGS] instead.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\E100B325.INF, using [sTRINGS] instead.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\E1E5132.INF, using [sTRINGS] instead.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\IXGB325.INF, using [sTRINGS] instead.

#I022 Found "PCI\VEN_1028&DEV_0015&SUBSYS_1F031028" in X:\i386\inf\PERCSAS.INF; Device: "DELL PERC 5/i Integrated RAID Controller"; Driver: "DELL PERC 5/i Integrated RAID Controller"; Provider: "DELL"; Mfg: "DELL"; Section name: "percsas_Inst".

#I023 Actual install section: [percsas_Inst.NTx86]. Rank: 0x00000001. Driver date: 12/15/2006. Version: 2.8.0.32.

#W389 No [sTRINGS.0409] or [sTRINGS.0009] section in X:\i386\inf\YK51X86.INF, using [sTRINGS] instead.

#-166 Device install function: DIF_SELECTBESTCOMPATDRV.

#I063 Selected driver installs from section [percsas_Inst] in "x:\i386\inf\percsas.inf".

#I320 Class GUID of device remains: {4D36E97B-E325-11CE-BFC1-08002BE10318}.

#I060 Set selected driver.

#I058 Selected best compatible driver.

#-124 Doing copy-only install of "PCI\VEN_1028&DEV_0015&SUBSYS_1F031028&REV_00\5&22FD9970&0&700028".

#-166 Device install function: DIF_REGISTER_COINSTALLERS.

#I056 Coinstallers registered.

#-166 Device install function: DIF_INSTALLINTERFACES.

#-011 Installing section [percsas_Inst.NTx86.Interfaces] from "x:\i386\inf\percsas.inf".

#I054 Interfaces installed.

#-166 Device install function: DIF_INSTALLDEVICE.

#I123 Doing full install of "PCI\VEN_1028&DEV_0015&SUBSYS_1F031028&REV_00\5&22FD9970&0&700028".

#I163 Device not started: Device has problem: 0x13: CM_PROB_REGISTRY.

#I121 Device install of "PCI\VEN_1028&DEV_0015&SUBSYS_1F031028&REV_00\5&22FD9970&0&700028" finished successfully.

Link to comment
Share on other sites


Hi,

So I also use the WinPE 2005 (2003 SP1) based installation, supporting the Dell Perc 5 RAID adapter. This works just fine.... I have all the files in place which I can share if u want me to. However, if we assume that u have added all the relevant entries to the txtsetup.sif file from the percsas.inf file, and then also added the percsas.sys file to the PE i386\system32\drivers (include .cat as well, just in case...) folder, then you, just like u said, should be good to go....

1. Just bare in mind that megasas.sys and mraid35x.sys is for the "old" PERC drivers, u need to add the specific percsas entries to the txtsetup.sif file.

2. U dont have to add the percsas.inf file to the PE's i386\INF directory, if the required entries from the percsas.inf file was migrated to the txtsetup.sif file.

Below follows the entries that I have in the specific files:

TXTSETUP.SIF

[SourceDisksFiles]
percsas.sys = 1,,,,,,_x,2,0,0

[HardwareIdsDatabase]
PCI\VEN_1028&DEV_0015&SUBSYS_1F011028 = "percsas"
PCI\VEN_1028&DEV_0015&SUBSYS_1F021028 = "percsas"
PCI\VEN_1028&DEV_0015&SUBSYS_1F031028 = "percsas"

[SCSI.Load]
percsas = percsas.sys,4

[SCSI]
percsas = "DELL PERC 5/E Adapter RAID Controller"
percsas = "DELL PERC 5/I Adapter RAID Controller"
percsas = "DELL PERC 5/i Integrated RAID Controller"

I use the following version of the percsas.sys file: 1.18.0.32 (which is old, I know, but it works...)

If u wanna get the same PERC controller support within Win2003 (not PE) then u also need to edit dosnet.inf to reference the percsas.sys file. Good luck to you, man! And have a happy Walpurgis weekend!!! :)

Link to comment
Share on other sites

Hi Br4tt3

Thanks for the input.

Yeah, I've added the PERCSAS entries as you describe to TXTSETUP.SIF except for the [sourceDisksFiles] entry. Never had to do that before for other drivers, but will give it a try. Note I think you only need one entry in the [sCSI] section - always worked for me.

Hadn't realised that the i386\INF files were redundant if TXTSETUP.SIF was updated correctly. Thanks for sharing the knowledge.

Good weekend to you to man.

Link to comment
Share on other sites

Note I think you only need one entry in the [sCSI] section - always worked for me.

That's true, u only need one entry which u should find in the .inf file. Thanks for pointing that out! The only reason that I can think of why u need to reference it in the [sourceDiskFiles] entry, is because it is a new file, not a new version of a file that exists native to Windows 200x. Since it is a new file, reference it from this section as well, then for the full Windows install, u also need to do it in the dosnet.inf file.

Link to comment
Share on other sites

Hi

Do you think it would work if I strip out the references to megasas from percsas.inf. As far as I can see that's only used for Win2000 which is not needed for the Win2003 based WinPE build.

Also do you need to add the NODRV.INF file (this comes with the other driver files) to the build ? I'm currently doing this. This seems to add a SCSI\Other__RAID___DummyDevice____0001 device/

Thanks

Link to comment
Share on other sites

Hi

Do you think it would work if I strip out the references to megasas from percsas.inf. As far as I can see that's only used for Win2000 which is not needed for the Win2003 based WinPE build.

Also do you need to add the NODRV.INF file (this comes with the other driver files) to the build ? I'm currently doing this. This seems to add a SCSI\Other__RAID___DummyDevice____0001 device/

Thanks

Q1: Megasas.sys question, dunno, try..... However, I know it works with the percsas.sys part info.

Q2: No, u dont have to incorporate info from NODRV.INF to the txtsetup.sif file. Atleast not when I did it. They mighthave changed it once the driver was updated, but I doubt it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...