Topic: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

The current mass storage driver pack already includes the LSI Logic PCI SCSI/FC MPI Driver, which is also known as the LSI Adapter, FC 4000 series, Dual or Quad port (with 929).

However, in order to support the IBM Intellistation Z Pro (type 6221), additional hardware ids are needed in DriverPack_MassStorage_wnt5_x86-32.ini file.

The DriverPack_MassStorage_wnt5_x86-32.ini [L-4] section currently has the following line:
ms_1_hwids            = "PCI\VEN_1000&DEV_0626,PCI\VEN_1000&DEV_0628,PCI\VEN_1000&DEV_0032"

The updated line should state:
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"

The current L\4\symmpi.inf is correct and it lists the additional hwids.

Last edited by zookeeper (2007-04-19 05:38:35)

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

OK, will implement this

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

included in 70414 test version
file no longer on rapidS

Last edited by jtdoom (2007-04-17 09:16:08)

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

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.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

I'll look at this.

I must say that posts like this are helpful.
We verify, and do the change, and the poster can test our changes, which is most helpful.
(if not outright 'required'.)

So... Thanks.
I will do it later today, have to leave home soon.

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

UPDATE

[L-4]

06/13/2005 1.20.18.00 replaces 04/12/2004 1.10.0

LSI
2Gb FC, models 44929,
G2 with 929/with 919 & models 7202,7402 with 929X & models 7102 with 919X
Ultra320 SCSI 2000 series, w/1020/1030
Ultra320 SCSI RAID series, w/1035
SAS 3000 series, 4-port with 1064
SAS 3000 series, 8-port with 1068 /1068E
SAS 3000 series, 6-port with 1066
4Gb FC, models 7204,7404 with 949X & models 7104 with 939X

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

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,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

Last edited by jtdoom (2007-04-17 09:19:57)

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

test 70416

pull, see later

Last edited by jtdoom (2007-04-17 16:08:00)

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

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.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

I'll look
I had already searched and compared section wher I saw identical HWID in lsi
(L-5 with matches is for server)

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

btw, JSe?
Thanks.

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

old LSI did not use pseudo device, and a 'tactic' like 'nodrv' or 'pseud' is something I noticed in relatively new drivers.

for the interested, I should copy a txt RUUDBOEK wrote.
brb, edits will follow.

observance jtdoom
I told this to Erik not long ago.
1; when one edits INF, CAT is no longer valid.
The supported devices in INF that do not math listed devices in the CAT, are not signed when match occurs.

a CAT file actually lists HWIDs
engineers using DDK can edit it, but after that it has to be signed.

Last edited by jtdoom (2007-04-17 12:48:30)

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

Q: What does the entry "ms_count = 1" mean?
A: The number next to the "ms_count =" entry represents the amount of .sys files
that are present underneath the section and should be used during the slipstream.
This entry can also be used to exclude a driver from the slipstream.
Do do this, simply add a zero next to the "ms_count =" entry.
For example:

"ms_count = 0"


Q:What does the "ms_1_deviceName" entry mean?
A:The "ms_1_deviceName" entry represents the full drivername.

One driver can often support multiple hardware devices.
For example: "IBM ServeRAID 4H Controller" and "IBM ServeRAID 3H/3L Controller" both share the same driverfiles.

The "ms_1_deviceName" entry enables you to specify one name representing all these different hardware devices. This name is displayed during the loading of the masstorage drivers for textmode setup.
Since this name has no impact on the proper functioning of the driver itself, it is possible to make up a name by yourself.
It is however strongly advised to use a name similar to the name that is used by the driver manufacturer.


Q:What does the "ms_1_tag" entry mean?
A:Most of the time the "ms_1_tag" represents the name of the .sys file included in the driver.
This name is used to create the compressed files which are located in the I386 folder (example: SI3124.SY_).
This compressed file is decompressed during text mode setup and loaded into memory so that storage media is accessible.
Textmode setup is the blue screen part at the beginning of the installation and enables you to, for example, partition your hard drive.

In some cases there are .sys files present from different drivers, yet have duplicate filenames.
They can not be compressed and placed into the I386 folder using the same filename, because the resulting compressed files would bear the same filename also.

In that case a workaround is needed. The resulting compressed files should get different filenames from the original .sys filename.
The "ms_1_tag" entry enables you to specify different filenames for the resulting compressed files.


Q:Where can i find the "ms_1_sysFile" entry in my driver?
A:The "ms_1_sysFile" entry represents the name of the .sys file which should always be included in your driver.
If there is more then one .sys file present in the driverpackage, please bear in mind that only the BUS driver is relevant.

Often you will find .sys files which include the following in their names:

    filter, filt, fltr, filtr, etc

For example: xfilt.sys.

Those .sys files are called filters and are NOT bus drivers. They can therefore be ignored.

Often you will also find .sys files which includes the following in their names:

    64

For example: videX64.sys

Most of the time that value means that the .sys file was built for the 64-bit version of Windows XP.
Since the driverpack masstorage only supports the 32-bit version of Windows XP, those .sys files can also be ignored.


Q: What does the "ms_1_hwids" entry mean?
A: The "ms_1_hwids" entry represents all the hardware id's that are associated with the driver.


Q: Where can i find the correct hardware id's for my driver?
A: You can find the hardware id's inside a file called txtsetup.oem or in the .inf files of your driver.
It is strongly recommended to always use look inside the txtsetup.oem file. Only when a txtsetup.oem file
is not present you can look inside the .inf files of the driver.

When looking inside a txtsetup.oem file:
Look for a section with the following in its name : HardwareIds.SCSI
For example:

[HardwareIds.SCSI.Si3112_XP]
id = "PCI\VEN_1095&DEV_3112&SUBSYS_31121095", "Si3112"
id = "PCI\VEN_1095&DEV_3112&SUBSYS_34238086", "Si3112"
id = "PCI\VEN_1095&DEV_3112&SUBSYS_311215D9", "Si3112"
id = "PCI\VEN_1095&DEV_3112&SUBSYS_B0021458", "Si3112"

The actuall hardwareid's are located underneath the specified
section ([HardwareIds.SCSI.Si3112_XP].
Hardwareid's always start with PCI\...
In this example the correct hardwareid's are therefore the following:

PCI\VEN_1095&DEV_3112&SUBSYS_31121095
PCI\VEN_1095&DEV_3112&SUBSYS_34238086
PCI\VEN_1095&DEV_3112&SUBSYS_311215D9
PCI\VEN_1095&DEV_3112&SUBSYS_B0021458"


When no txtsetup.oem file is present you need to look inside the .inf files of the driver.
In this case open the .inf file(s) and look for a section called [Manufacturer] inside the .inf file(s).
Underneath that section you should find the name of the section where the actuall
hardwareid's can be found.
For example:

[Manufacturer]
%ITE%   = ITE.Mfg

In this example,  we will thefore find all the hardwareid's in the following section:

[ITE.Mfg]

Sometimes more then one section is specified underneath [Manufacturer]. Bear in mind that if one of those sections include the value 64, in most cased that specific section can be ignored, since it it most probably represents 64-bit Windows XP, which is not supported.

The actuall hardwareid's themselfs are located at the end of each line located underneath the specified sections.
For this example:

[ITE.Mfg]
%ITE.DeviceDesc0% = iteraid, PCI\VEN_1283&DEV_8212&SUBSYS_00011283
%ITE.DeviceDesc0% = iteraid, PCI\VEN_1283&DEV_8212&SUBSYS_00000000
%ITE.DeviceDesc0% = iteraid, PCI\VEN_1283&DEV_8211&SUBSYS_82111283

Hardwareid's always start with PCI\...
In this example the correct hardwareid's are therefore the following:
PCI\VEN_1283&DEV_8212&SUBSYS_00011283
PCI\VEN_1283&DEV_8212&SUBSYS_00000000
PCI\VEN_1283&DEV_8211&SUBSYS_82111283

Hardware id's should be added to the "ms_1_hwids" entry in one line and each hardwareid should be seperated by a comma.
The complete line should also start with double quotes and end with double quotes.

For example:
ms_1_hwids= "PCI\VEN_1283&DEV_8212&SUBSYS_00011283,PCI\VEN_1283&DEV_8212&SUBSYS_00000000,PCI\VEN_1283&DEV_8211&SUBSYS_82111283"


Q:What does the entry "ms_1_isBusExtender" mean?
A:The "ms_1_isBusExtender" entry specifies wether the driver is a busextender or not.

Q:How can i find out if my driver is a busextender?
A:Open the .inf files which should be included in the driver.
Look for a line similar to the following:

LoadOrderGroup = System Bus Extender

If that line is present, your driver is a busextender.


Q:What does the entry "ms_1_exc_skipIfOS" mean?
A:The "ms_1_exc_skipIfOS" entry represents the operating system to which the driver(s) does not apply.

For example:
ms_1_exc_skipIfOS= "w2k"

In this example the entry will prevent the specified driver from being slipstreamed when the OS to be slipstreamed into, is Windows 2000.


Q:What does the entry "ms_1_exc_disableIfOS" mean?
A:The "ms_1_exc_skipIfOS" entry represents the operating system in which the driver should not be included during textmode setup.

For example:
ms_1_exc_disableIfOS= "w2k"

In this example the entry will prevent the specified driver from being loaded into memory during textmode setup when the OS is Windows 2000.
After slipstream the entry of the driver will still be present in txtsetup.sif and dosnet.inf, but the entry is prefixed by a semi-colon which will cause setup to not load that driver.
Excluding driver to be loaded during textmode setup can be quite usefull.
Windows 2000, for example, is limited in the amount of memory that can be allocated for loading textmode drivers.


Q:What does the entry "ms_1_exc_replaceIfOS" mean?
A:The "ms_1_exc_replaceIfOS" entry represents the operating system in which the specified driver should replace an already existing driver.
Some operating systems already contain drivers for textmode setup by default.
For example, the operating Windows XP contains a driver called "Mylex AcceleRAID 160 Disk Array Controller".
This driver can be found in the I386 folder under de name dac2w2k.sy_.
If you want to overwrite this driver by a newer driver you can use the following entry to tell the slipstreamer to overwrite the existing dac2w2k driver:

ms_1_exc_replaceIfOS= "wxp"

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

So, I looked at doubles in LSI, and saw I should not edit L-5 because the last line there told me it was for server.

What I did NOT do, (what you did, THANKS) I had not gone to root of expanded M-stor, and searched from there.

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

hmmm
if D-3 is signed, keep
if SYS for those is different, definatetly keep
unsigned generic versus proprietary? keep signed proprietary

filter (mass INI), that can indeed be changed to not use non-signed lsi-4 for hwid signed in D-3

conflicting generic? (dupe generic HWID)
like Bâshrat the Sneaky said, coffee, and good judgment.
generic signed, keep, unsigned toss away

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.

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

I posted Ruudboek txt, and want to stress importnce of ms_1_tag

making a pack perfect is not easy.
adding a driver, one has to not only look at real name, but also at existing ms_1_tag names

(I will easily admit to human error, but what are peers for? to check, to test, to help us do it right, and to explain how..)

The answer was 42?
Kind regards, Jaak.

16

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

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.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

trying to make txtmode match what pnp does later on, is what I thought what needs to be done, and it is not easy.

txtmode uses the mass stor INI
and pnp uses the inf
some drivers are unsigned because the version of that sys supports several oems using same sys for their inf, and they got merged, which broke signing.

after somebody pointed it out, I realised that when a conflicting signed one with matching generic hwid in inf is left signed (by not removing generics) then one can get bsod.

people like I, (fairly new at helping with packs) need guidance.
I rather try explain the changes I did, and learn, and when I get it wrong, i take blame and learn.
Being in the dark is not gonna help helpers.

erm, where's the sunglasses when u are in the limelite, eh?

soryy, i am Flemish, and seldom get myself across, but I do hope you see that what you tell me helped me and future helpers.
keep it coming.

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

cuz dell is newer, and signed, INI for L-4 got edited
L-4 INF left intact
D-3 INF edited out generic (dell is proprietary at best, and sys file size is different.)


16 pulled, 17 up
17 pulled

Last edited by jtdoom (2007-04-20 02:28:17)

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

@jtdoom

Thanks for the detailed information on the .ini tags.
As a suggestion, can you place this information as comments in the top of the .ini file?

Thanks again!

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

a condensed version is actually in DOCS folder, when you extract Base

reference.ini

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

I reproduced the marking out drivers that should not marked out (in textmode.sif and dosnet.inf) using our test Base version, and want to look at that while using current official release.

long time ago, we had similar bug.

The answer was 42?
Kind regards, Jaak.

22

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

I reproduced the marking out drivers that should not marked out (in textmode.sif and dosnet.inf) using our test Base version, and want to look at that while using current official release.

The same problem here, tried 70414, 70416, 70417. The problem starts after [AU-3], the first commented out is [C] CPQ32FS2.
Compared to the original 704 there some changes at this point 704 also had [AU-4] and [AU-5] bot no [C].
I have already looked twice but I don't see any anomalies.

I will try to remove drivers to locate the problem. Is there a complete changelog from 704 to 70417 available?

Edit:
OK, I have found the problem:
it's the option
ms_1_exc_disableIfOS= "wxp" under the [C] header.  From this point on _all_ drivers that follow will be disabled, this seems to be a bug of the Base program. I have replaced this option by
ms_1_exc_skipIfOS    = "wxp"
This solves the problem under WinXP, other systems I did not test.

Last edited by JSe (2007-04-18 16:00:51)

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

because you dont understand something does not mean there is a bug in the base.

disable was not what you wanted
ms_1_exc_skipIfOS=  or set  ms_count = 0  are to "Disable"  a driver (from your perspective) 

the ms_1_exc_disableIfOS= "wxp" means something totaly different to the Base program.

"load the driver for plug and play but; in a DISABLEd state during text mode setup."
We have never needed to do this for any OS except windows 2000.
the only reason we do this is because at a certain point windows 2000 runs out of available memory to load additional text mode drivers additionaly this is only a problem in text mode . so we want the drivers available to windows but not windows setup. so we _disableIfOS on some drivers to free ram.

Last edited by OverFlow (2007-04-18 18:41:10)

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

Hi, you mean this is caused by the new one in [c] ?

D\M\C
Oh my goodness, I looked
This was not in the public release, and I am glad it is caught.
I've edited it on my machine, and will run a slipstream test asap
for [c]
ms_2_exc_skipIfOS    = "wxp,w2k"

The answer was 42?
Kind regards, Jaak.

Re: [REQ] LSI Logic PCI SCSI/FC MPI Driver - add hwids IBM Intellistation

I'll be dxmned
not a single ; commenting out drivers after I fixed [c]

The answer was 42?
Kind regards, Jaak.