bad cases, make a silly signed unsigned by killing the generic (keeping the specified subs), if the other supports a lot more specific HWIDs and generics as well.
I think that is what I tried to do, and I also think that is what is best.
I would need feedback on this by specialists like Bâshrat the Sneaky and DDK developers.

In PnP driver install phase (about T=38 to T=34 in WXP installation) there is a ranking for each hardware ID to find the best matching driver. Presence/absence of signatur, version, matching ID (full /generic) and others make for each matching string from a *.inf file a rank value. The driver with the lowest resulting rank value will be installed. You can see what happend in this phase by studying setupapi.log file in %windir% after the installation. 
So for the PnP the presence of more then one matching string is no problem, normally the best will "win".

The problem is the txtmode setup phase. At this stage there is no ranking, only one driver with the same name can be loaded. So if we want to keep the Dell and the native LSI version separated we must use the older generic version 1.20.18.00 in txtmode. Obviously it also supports the Dell controllers. If there is a Dell controller installed, this older unsigned driver will be replaced in the PnP phase by symmpi.sys 1.21.08.00. If "only" a LSI controller is installed it will be kept in PnP. If we would use the Dell driver in txtmode an there is only a LSI controller installed, the PnP must downgrade it. I fear this wont work, but I will try out this cenario in the next days.

Dell
SAS 5/E, SAS 5/i, SAS 5/i Integrated, SAS 5/iR Integrated D/C, SAS 5/iR Integrated Emb, SAS 5/iR Adapter

and

PCI\VEN_1000&DEV_0054&SUBSYS_1F041028,PCI\VEN_1000&DEV_0054&SUBSYS_1F051028,PCI\VEN_1000&DEV_0054&SUBSYS_1F061028,PCI\VEN_1000&DEV_0054&SUBSYS_1F071028,PCI\VEN_1000&DEV_0054&SUBSYS_1F081028,PCI\VEN_1000&DEV_0054&SUBSYS_1F091028

aren't necessary here because they exist under [D-3] as its own driver. The OEM Dell driver has a valid signature unlike the native LSI one. The Dell driver has also a slightly higher version number (1.21.08.00) and a newer date than the original LSI files.

Another idea could probably be to bring the files from D\M\D\3 and D\M\L\4 together. I have watched, that the driver symmpi.sys version 1.21.08.00 also works with my Intel server board. So we would have in this driver directory:

- lsimpi.inf (renamed from \D\M\L\4\symmpi.inf and changed its contents to reflect the new Version number)
- sympseud.inf from \D\M\L\4
- symmpi.inf  from \D\M\D\3
- delpseud.inf from \D\M\D\3
- symmpi.sys from  \D\M\D\3
- mpixp32.cat from \D\M\D\3

But I'm not sure if this is the right solution. On one hand it brings together the drivers of the same hardware that had only been separated because of OEM and/or support reasons, it would keep Dell's signature and it will save some space in Driverpacks file. On the other hand we would have to manipulate a *.inf file to do this.

Regardless of  the question, if we should bring these two drivers together or not we can remove the files symmpi.pdb (debug file of symmpi.sys) and symmpi.tag (tag file for txtsetup.oem) from \D\M\D\3 because both of them are not referenced by any *.inf file.

While you are at this driver (\D\M\L\4) you may want to update it also.
The DriverPacks contains Version 1.10.0 from 04/12/2004 (see symmpi.inf) but their file dates suggest to be 02/26/2006 whats wrong in my opinion. A newer version (DriverVer=06/13/2005,1.20.18.00) is available from  http://www.lsi.com/storage_home/product … ;locale=EN
which in fact supports six more Adapters (SAS models) than version 1.10.0. 

So the new list should be:
ms_1_hwids = "PCI\VEN_1000&DEV_0622,PCI\VEN_1000&DEV_0624,PCI\VEN_1000&DEV_0626,PCI\VEN_1000&DEV_0628,
PCI\VEN_1000&DEV_0030,PCI\VEN_1000&DEV_0032,PCI\VEN_1000&DEV_0050,PCI\VEN_1000&DEV_0054,
PCI\VEN_1000&DEV_0058,PCI\VEN_1000&DEV_005E,PCI\VEN_1000&DEV_0640, PCI\VEN_1000&DEV_0642"

I succsessfully tried the newer driver on a Intel SE7520AF2 server board with onboard LSI U320 chipset.

Thanks!

jtdoom wrote:

...
hehe, end of life products have a tendency to live longer than the vendors support them.

or in German: Totgesagte leben länger!

Yes, these controllers are really good.

In section [IN-2-winnt-x86] of the DP_MassStorage_wnt5_x86-32.ini there are three missing Vendor/Device-IDs under ms_1_hwids that exist in the corresponding [SRC] section of the \D\M\IN\2\oemsetup.inf. The missing IDs are the last three of the long list in the oemsetup.inf file:
PCI\VEN_1119&DEV_0300
PCI\VEN_8086&DEV_0600
PCI\VEN_8086&DEV_0601

By the way, these Raid controllers have not been manufactored by Intel but by the German "ICP Vortex Computersysteme GmbH" see here:
http://www.icp-vortex.com/english/product/prodrdy_e.htm
Most of them have been sold under their own label "ICP GDT xxxx" (having the vendor ID 1119), only two of them are sold as Intel SRCX32 and SRCX42L with Intel's ID 8086. There is still another Intel Raid Controller SRC42X wich has been manufactored by LSI Logic that is completely diffrent to the ICP types.  All these controllers are "end of life" products.

For drivers (and *.inf files that also contain ICP as manufactorer) see here:
http://www.icp-vortex.com/english/downl … innt_e.htm
The driver binaries are the same as already contained in DP_MassStorage.

So I would ask you to change the deviceName like this: 
ms_1_deviceName        = "ICP and Intel SCSI RAID Controllers"
and to add the IDs:
ms_1_hwids            = "PCI\VEN_1119&DEV_0000,PCI\VEN_1119&DEV_0001,PCI\VEN_1119&DEV_0002,PCI\VEN_1119&DEV_0003,PCI\VEN_1119&DEV_0004,PCI\VEN_1119&DEV_0005,PCI\VEN_1119&DEV_0006,PCI\VEN_1119&DEV_0007,PCI\VEN_1119&DEV_0008,PCI\VEN_1119&DEV_0009,PCI\VEN_1119&DEV_000A,PCI\VEN_1119&DEV_000B,PCI\VEN_1119&DEV_000C,PCI\VEN_1119&DEV_000D,PCI\VEN_1119&DEV_0100,PCI\VEN_1119&DEV_0101,PCI\VEN_1119&DEV_0102,PCI\VEN_1119&DEV_0103,PCI\VEN_1119&DEV_0104,PCI\VEN_1119&DEV_0105,PCI\VEN_1119&DEV_0110,PCI\VEN_1119&DEV_0111,PCI\VEN_1119&DEV_0112,PCI\VEN_1119&DEV_0113,PCI\VEN_1119&DEV_0114,PCI\VEN_1119&DEV_0115,PCI\VEN_1119&DEV_0118,PCI\VEN_1119&DEV_0119,PCI\VEN_1119&DEV_011A,PCI\VEN_1119&DEV_011B,PCI\VEN_1119&DEV_0136,PCI\VEN_1119&DEV_0137,PCI\VEN_1119&DEV_0138,PCI\VEN_1119&DEV_0139,PCI\VEN_1119&DEV_013A,PCI\VEN_1119&DEV_013B,PCI\VEN_1119&DEV_013C,PCI\VEN_1119&DEV_013D,PCI\VEN_1119&DEV_013E,PCI\VEN_1119&DEV_013F,PCI\VEN_1119&DEV_0166,PCI\VEN_1119&DEV_0167,PCI\VEN_1119&DEV_0168,PCI\VEN_1119&DEV_0169,PCI\VEN_1119&DEV_016A,PCI\VEN_1119&DEV_016B,PCI\VEN_1119&DEV_016C,PCI\VEN_1119&DEV_016D,PCI\VEN_1119&DEV_016E,PCI\VEN_1119&DEV_016F,PCI\VEN_1119&DEV_01D6,PCI\VEN_1119&DEV_01D7,PCI\VEN_1119&DEV_01F6,PCI\VEN_1119&DEV_01F7,PCI\VEN_1119&DEV_01FC,PCI\VEN_1119&DEV_01FD,PCI\VEN_1119&DEV_01FE,PCI\VEN_1119&DEV_01FF,PCI\VEN_1119&DEV_0210,PCI\VEN_1119&DEV_0211,PCI\VEN_1119&DEV_0260,PCI\VEN_1119&DEV_0261,PCI\VEN_1119&DEV_02F6,PCI\VEN_1119&DEV_0300,PCI\VEN_8086&DEV_0600,PCI\VEN_8086&DEV_0601"

Thanks in advance!