Topic: Can I make a custom MassStorage DriverPack?

Yes...

However, it is a lot easier to to remove them to save space, than it is to add them to support new hardware.
since mass storage is such a small pack trimming it down is not often needed but it is a FAQ.

HINTS and hints, and a story about learning pains.
----------------------------------------------------------
       Drivers and the Mass storage Driverpack

GLOSSARY

1; driver.INF
Information the Operating System requires to support hardware; including registry entries and files to copy.

2; driver.CAT
Security catalog. A *.CAT file can be WHQL signed but this is not always the case.

3; driver.SYS
System level support for hardware (the driver!)

4; HWID
Hardware identity, vendor and device.
This is the number the device reports to plug and play to match with a driver file.

5; driverpack INI (full name = DriverPack_MassStorage_wnt5_x86-32.INI)
This file is used to identify exceptions and special cases, such as, this driver only has windows 2003 support.

6; generic HWID (VendorID&deviceID, NO SUB.)
Example PCI\VEN_13C1&DEV_1002
Example PCI\VEN_1191&DEV_0006

7; SUB Specified HWID
Subversions of a chip can exist. Either proprietary made for an OEM, or an improved mask was used at the Fabrication plant. They will have SUB_SYS and sometimes Revision info after the generic ID.
Example PCI\VEN_13C1&DEV_1002&SUBSYS_100213C1
Example PCI\VEN_1191&DEV_0006&SUBSYS_00061191&REV_01

8; mask
Used in etching process at the Plant. A new mask etches different traces and a different chip is built.

9; Original Equipment Manufacturer (OEM)
Large OEMs like DELL, NEC or HP/Compaq often have proprietary chips on the motherboards.

10; Windows Hardware Quality Labs (WHQL) and Windows Driver Model (WDM)
Drivers that have been submitted and successfully passed the tests at Microsoft will get the WHQL signed status.
WHQL was introduced when XP was in its infancy and you will seldom find very old WHQL signed drivers because of this.
Windows Driver Model (WDM) are most likely good drivers because this standard is still in use.
Unstable drivers do exist. Information and rants about unstable drivers can be found on the internet.
We will attempt to avoid any known unstable drivers.

11; Native drivers
Native drivers are the drivers supported by the original OS. When Microsoft release a service pack, sometimes they add support for new devices. The best way to find out wich drivers are supported by your OS is to look at the txtsetup.sif file on your CD.
Also look at the mshdc.inf and pnpscsi.inf located in "c:\windows\inf".

---------------------------------------------
Next, a reference TXT.
It was written by RuudBoek
---------------------------------------------
Editing the Mass storage driverpack INI.

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 in the current section and folder that should be used during the slipstream. This entry can also be used to exclude a driver from all OS'es during slipstreaming.
To 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 driver name (Its friendly name).
One driver can often support multiple hardware devices. For example: "IBM ServeRAID 4H Controller" and "IBM ServeRAID 3H/3L Controller" both share the same driver files. 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 Mass Storage 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* part of setup and loaded into memory so that mass storage media is accessible.

*Textmode setup is the blue screen part at the beginning of the installation and it enables you to partition your hard drive.

In some cases there are .sys files present from different driver folders that have the same file names.
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. When this occurs a workaround is used. The resulting compressed files get different filenames than the original .sys filename.
The "ms_1_tag" entry enables you to specify unique filenames for filenames that would have otherwise been duplicated during the copy to I386.

TAG NAME MUST BE UNIQUE and 8 DIGITS MAX.

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 DriverPacks Mass Storage 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 usually find the drivers hardware id's inside the txtsetup.oem file.
It is strongly recommended to always use the HWID's inside the txtsetup.oem file when available. If a txtsetup.oem file is not present you will be forced to look inside the .inf files for the driver IDs.

When looking inside a txtsetup.oem file, first 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 actual hardwareid's are located in 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

Simple right! Well, there's more.

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] in that section you should be able to find the name of the section where the HWID'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 than one section is specified underneath [Manufacturer]. Bear in mind that if one of those sections include the value 64 that specific section can be normally be ignored. It most probably represents 64-bit Windows driver which is not currently supported.

The hardware id's themselves are located at the end of each line in 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

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

Hardware id's should be added to the "ms_1_hwids" entry; all on one line, with no spaces, and each HWID should be separated 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"


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

Q:How can I find out if my driver is a bus extender?
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 then 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) will not be slipstreamed.
For example:
ms_1_exc_skipIfOS= "w2k"
In this example the entry will prevent the specified driver from being slipstreamed into the specified Windows OS.

Q:What does the entry "ms_1_exc_disableIfOS" mean?
A:The "ms_1_exc_disableIfOS" entry represents the operating system in which the driver should not be included during textmode setup.
This feature is currently only needed and only supported for Windows 2000.

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 the slipstream completes the driver will be present in txtsetup.sif and dosnet.inf but the entry will be prefixed by a semi-colon which will cause setup to ignore that line and therefore the driver on that line.

Excluding a driver to be loaded during textmode setup can be quite useful. Windows 2000, for example, is very limited in the amount of memory that can be allocated for loading textmode drivers. So we can easily select some rarely used drivers to be "on hold" for text mode but still available to plug and play in windows afterwards. So far we have only needed to do this for windows 2000 and it is technically only supported for windows 2000. However, it is only a matter of time until this memory limit becomes a factor for XP and eventually 2003.

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:
Windows XP contains a driver called "Mylex AcceleRAID 160 Disk Array Controller".
This driver can be found in the I386 folder and it is named dac2w2k.sy_. If you want to overwrite this driver with a newer version you can use the following entry to tell the DPs_Base to overwrite the existing dac2w2k driver:
ms_1_exc_replaceIfOS= "wxp"

The tag name must match the native driver file name, or the native driver won't get replaced.

When Ruud posted this, the project had not yet gone open source.
The info is now available to you.

=============================

Let us go on about Mass storage Drivers.

First, let us mention something about the security catalog file, the CAT:
When one edits a duplicate driver's INF file to add HWIDs, its CAT is no longer valid for all HWIDs.
The supported devices in INF that do not match devices listed in the CAT are not signed when a HWID match occurs.
Yes, a CAT file actually lists HWIDs. Engineers using DDK can edit a CAT, but after that it needs to be submitted and re-signed. Signed drivers are published as "WHQL signed" at manufacturers download sites. We do not use DDK since we would not be successful in getting the drivers re-signed. Note that not all original drivers are WHQL signed and work just fine.

Working on a pack is fun.

When one looks at a driver, you will find that:

The driver.INF has info on its version, the supported HWIDs, and a section in there [sourcediskfiles] lists the files used to make a driver work.
Compare content of the unpacked driver against all "Copyfile" lines.
When you look at these entries, you know which files are essential.
You can then look whether the required files are present.
The NON essential files can be left out to save space, if you wish.

The driver.SYS file also has version info in it, and the internal name can be seen too.
This info about the file is just a right-click away. This information can help you make correct decisions.
One sometimes finds that it has a internal name different to the real name.
A team member found a filename error in an original driver and fixed the issue after he had looked at that.
The supplier had renamed the file so it was "wrong".
Also look at its size.

When you compare a driver against a similar driver (pretty often they use same name), you will want to look at the INF.
Besides HWIDs, version, the files used, one has to compare the rest of the txt in the INF files as well.

You see, if you want to MERGE a driver, then the registry entries have to match as well.
(MERGING means adding the HWIDs of one driver into another driver's INF, so as to not have to use two identical sets of driver.sys files.)
If these registry entries are different while using same GUI Class keys, you can be almost sure merging won't work.
(You can easily spot the likeness and differences.)
If its SYS file has same name but is different in size, you can be almost sure merging won't work. (version)
If the driver.sys files have same version, but the INF have differences in registry entries, you could rename the INF file which contains the smaller number of HWIDs.

There are free utilities like http://winmerge.org/ which can compare folder content and file content.
When you see you CAN merge, you can still choose to not merge lines into the INF already there.
You could rename and ADD the variant INF to the folder, OR you edit and add the HWIDs to the existing driver's INF.
Either way, you will have to add the UNIQUE HWIDs in the corresponding section in DriverPack_MassStorage_wnt5_x86-32.INI.
This information about merging is also true for other drivers (sound drivers, LAN and WLAN were very good examples.)
When you add a renamed driver.INF we know that renaming its CAT (to also add it) means you have to edit the reference to it.
This will at least have the result there is one good CAT and INF in the set, but the other CAT signing probably broke, which is a good reason to choose the INF with the lower number of HWIDs when you rename/merge/edit..

We consider ourselves fortunate when we do not have to merge HWIDs in the mass storage driverpack.


Now, if that driver is NOT an update of those you compared it with, and you want to add it, then you will have to make a new section entry in mass storage INI.
One of the first considerations is the name it will be given for TxtMode.
Look for existing ms_1_tag names and do not use an existing name when you add a driver.
You will have to look at supported HWIDs and compare these with the rest of the pack.

Sometimes, Updated Drivers drop support for older hardware.
When you read its INF and find that new DLL files, extra SYS and extra INF files are required and used (like nodrv.inf), then one can edit out the duplicate HWIDs in the older driver's DriverPack_MassStorage_wnt5_x86-32.INI section, so that only the NEW one will cover these.
You do that to avoid conflicts.
(Otherwise during Txtmode stage of setup, two sys files would get loaded for the same Chip and a BSOD is likely.)
You can also edit the older driver's INF and comment the duplicated HWIDs)
(Sometimes this is a good solution. This is done to avoid a clash during PNP stage which could occur when both are unsigned.)
Of course, you can disable the older one altogether (Do Not Delete. You may have to re-enable at a later date.), but the newer one will sometimes not support some older chip versions and we've seen that old hardware has a tendency to outlive vendor support.

To Illustrate some of this, let's recount a real story.
It happened in Mass storage forum.
An update for LSI was requested, and Jaak took the task.
What could a look at files and the INF tell us?
Old LSI in [L-4] did not use pseudo device.
Then Jaak looked for matching HWIDs to avoid possible conflicts. At first, Jaak forgot to look through ALL drivers and therefore he did not notice there was a DELL using HWIDs this LSI listed.
So, he had looked for double HWIDs only in LSI and found them, but saw he should not edit [L-5] because the last line there told him it was for server.
Because of that oversight, there was an unnoticed DELL driver using HWIDs this updated LSI also listed, and this was pointed out by a gifted member called LSe (his 'nick'.)

LSe wrote:
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 signature (The CAT), 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 happened 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.

Jaak replied;
Trying to make txtmode match what PnP will do is what I thought we should do, and it is not easy.
TXTmode uses the mass storage INI, and PNP uses the INF.
Some drivers are unsigned because that sys version supports several OEM INFs and they got merged/added, which broke signing.
After somebody had 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.

Because of this finding, we had to make a choice..
In our example, the OEM Dell driver [D-3] has a valid signature unlike the reference LSI [L-4].
The same Dell HWIDs were suppored in LSI [L-4].
The Dell driver has also a slightly higher version number (1.21.08.00) and a newer date than the original LSI files.
So? What influenced our choice?
If [D-3] is signed, keep it.
If the SYS file size for the one in LSI is different, definatetly keep Dell.
Still more considerations were made.
Is there a choice between unsigned generic versus signed proprietary? Keep signed proprietary.
A choice between Subsys and 'proprietary" subsys? Keep signed 'proprietary" subsys.
The filter (mass INI) must be changed to not use non-signed LSI in [L-4] for hwid signed in [D-3]
One could say that generic HWIDs in signed driver should be kept, and unsigned generics can be tossed away if one has it covered by a signed driver. Then, Dell won. BUT... Jaak decided against.
In some cases one can make an edit to a signed driver's INF and kill the generic in there, while keeping the specified subs. You can do that if this one is proprietary and the other supports a lot more generic and SUB_sys HWIDs as well.
The LSI reference driver was not signed, older, and therefore Jaak edited the DriverPack_MassStorage_wnt5_x86-32.INI for [L-4] so that it did not list DELL's HWIDs.
One "could" go as far as editing its INF as well, but since Dell was newer, it was the DELL's INF that got edited to not support the generic. (Jaak did that because he thinks Dell used a modified LSI chip. Dell, Compaq and other OEMs often use proprietary modifications of chips. And, the SYS they use is most likely specific for that proprietary chip.)
LSI's reference driver can most probably handle the generics better than Dell's prorietary sys-file.
Will this be the best solution?
Time will tell.
(hehe..This was done somewhere in 2006, and that choice seems to have worked rather well.)
====================================

Making a pack perfect is not easy.

A testing version was put on rapidshare by Jaak.
BUT; Jaak had made an error in mass storage INI when he added a driver for servers in [c]
In [C] section, for a driver intended only for SERVER, Ms_1_exc_disableIfOS= "wxp" was used.
This had caused a long list of disabled drivers.

JSe wrote
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] but no [C].
and 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"

Meanwhile, Jaak had reported what he thought was a bug at the bugtracker..

Because of this error, OverFlow wrote a reply in forum:
Because you don't 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.
...

JSe (thinking that was meant for him) then wrote:
Yes, you are right, I did not completly understand this functionality, but please note:
1. It was not me, who used this ms_1_exc_disabledIfOS="wxp", I was only the one who wrote that this option caused the problem of commenting out _all_ drivers, not only that one, that had this option applied that follow this driver.
2. What I still would call a (possible) bug is that an option, regardless if it is usefull or not at the point it had been used acts on all the following drivers. And if you dont like the word bug then let's call this unpredictable behavior we should be aware of if it happens again.
Then Jeff wrote:
I disagree. It does what it was designed to do. It is neither a bug nor unpredictable.
It is used for w2k to prevent drivers from loading into ram to prevent ram from being used up and it does.
We have yet to add enough drivers to find these limits on XP or 2003 and is not needed or supported.
If you put Garbage Into the .inf file you will get Garbage Out (GIGO).
That is not a flaw with the base it's user error. The "meat" virus.
Let's agree it was just not well documented.

And then Jaak wrote
I was unaware of that too, and I made that error in [C]
One could call it "learning pains", and I really think this should be made "more robust" against such "user" error.
I would NOT have posted RUUDBOEK's text had this project not become open-source.
The end user has had the possibility to edit the INI for a while now, and little in depth information was public.
Give me the choice between PM or chat for help... Then I will choose public discussions. Always.

Long time ago, on other boards, some long discussions got summarised, and a summary like that was welcomed.
It came with all relevant links, and all helpful posts (or parts of) that got included were credited to the original poster.
You can bet there are people using snips of posted tips to write their own reference txt.
I am one of those...
---------
So, this is how this txt came to fruition.
We've now collaborated on this summary, and we hope it is informative.

Some quoted text was edited for clarity or grammar.
We're an international bunch, and English is only a second language to many.

We hope this helped you.
Kind regards, Erik, Jaak, Jeff, Jon, Ruud.
=======================

Revision 10, date November 24, 2008

Last edited by JakeLD (2008-11-25 14:42:14)

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: Can I make a custom MassStorage DriverPack?

Here is an addition to above. (When you arrived here following a link, you might as well scroll up.)

TRIMMING TIPS
-------------------

If you are going to TRIM  (aka prune) the Mass Storage driverpack, extract it in a separate folder because later on you have to recompress * its content.
(When finished, you make a new 7z archive.)

When you TRIM (in other words, when you want to delete folders from mass storage.) you will have to look at the content of the DriverPack_MassStorage_wnt5_x86-32.INI, because if you remove folders and do not edit the DriverPack_MassStorage_wnt5_x86-32.ini you will get a critical "file not found" error during slipstream.

Renaming a folder also results in "file not found" if you do not change the section header for its foldername in the DriverPack_MassStorage_wnt5_x86-32.ini.

In Mass storage, ALL folders have a section in DriverPack_MassStorage_wnt5_x86-32.ini.
The section header [3-1] corresponds with D\M\3\1, and [X-X-1] would point to D\M\X\X\1
Header [31] would correspond with D\M\31 and Header [SiS1] would correspond with D\M\SiS1

In short. When you are pruning folders from the tree you must remove their sections in INI.

You can, however, remove a section in the INI and leave the folder in the pack.
This will not create an error during slipstream.
(Disable by using MsCount=0 (zero), or commenting out all lines for the section has the same effect.)
- - - - - - - - - -

CUSTOMISE TIP
You can also MOVE around sections in DriverPack_MassStorage_wnt5_x86-32.ini.
You must have noticed the section at the bottom loads last during TXTmode.

You may also have noticed the INI sections are not in alphabetic order.

If you were to move the [3-1] section to bottom of DriverPack_MassStorage_wnt5_x86-32.ini, you would then see that it loads after VMware driver [VM] during the TXTmode part of windows Setup.

We can use this technique to load the driver we want after another of which we know it supports the exact same chip, or same type of chip, or same chip with different firmware.
(I will mention you sometimes simply cannot flash to latest firmware, and we included BIOS -aka firmware - specific drivers when we learned it was needed.)
We had to include drivers for different modi of a chip in the pack.
SoftRaid, RAID, and standard IDE mode are three control modi a chip can handle.

It is obvious that when we include a driver for each mode, we have one mode load later than its other mode.
The other choice was we don't include the other mode at all, and that was unacceptable.
The one loading later will sometimes be the one used for access to hard disk during TXTmode, even if you BIOS setting has set the chip to another mode.
(An example; This is what Silicon Image sometimes does. We fought a "sillycone Hyll battle" with help from some users.)

You may wonder why we did not alltogether drop drivers of which we know they sometimes "take load, when they should not".
Well, IF we did, you would not have the choice. Users have always been "allowed' to edit/prune/customise DriverPacks and we do our best to have minimum issue with maximum availability.
(consider for one second what a forced DriverPacks build control would do to you. You would not be able to fix. These txts here tell you that you can do, and how..)

If you want to see how the section placement in mass storage INI changed driver load order, you can look at/compare streamed source's TXTSETUP.SIF files in which you locate the [SCSI.load] section.
<very advanced> Some people edit this file and comment the offending driver... And then they also have to edit dosnet.inf <did I say very advanced?>

; tip for noobs, about commenting out ;
The ; character in front of a line comments out a line, ; it is not seen as "to be processed..".
It basically gets seen as a remark, and you can actualy find commented out information lines in the INI.

AFTER CUSTOMISATION or TRIMMING
I will recommend you stream a new copy of a source.
Primo; it is best practice to work on a non-DriverPacks streamed source.

Secundo; This will make comparison possible.
TIP: keep a copy of each important stage.
That way you can have a copy you did not yet slipstream DriverPacks to available to you at all times.

Tertio:
A build that did not work for you should not be re-streamed with experimental work.
The end result of that would not be same when compared to a "clean" stream with the experimental..
We had a hard time figuring out errors users reported, and then we learned that re-streaming could introduce errors.
OverFlow has been working on a much better cleanup routine, which was released as DriverPacks BASE 805.
EDIT December 2008; However, in real life, nothing anybody can code is perfect.
All I am saying here is that a "re-streamed" build compared to a clean streamed build can show differences, and IF you don't tell us what YOU did, we find ourselves looking for an issue while put on the wrong foot. We are then perhaps looking for a solution in a DriverPacks INI while the coder should be looking in the DriverPacks BASE code.

OK, now you know a lot of what can be done.

* You have to recompress the Pack.
DPs_base uses the driverpacks, not the extracted folders.
The name you give the recompressed pack must follow the naming convention for a driverpack.
Suppose you unpacked xxx8041, you could call it xxx8042 so as not to accidentally overwrite the original.
I figure you would want the original in case your modification was not succesful.
Its higher version will be useful anyway.
However, if I were you I would use 804a because that will immediately show it is customised, and 804a will be higher than 8049. smile
(This behaviour is nowadays commonly taken advantage of when we upload testpacks.)

NEVER rename DriverPack_MassStorage_wnt5_x86-32.ini

I let 7zip unpack it to folder so it creates a new folder wich has the name of the pack..
Then I rename that folder, changing the version number to a higher version.
After that I can do what I want to do in that new folder.
(Examples: add a driver and its section, move sections to change load order, prune unwanted drivers, make it not skip a driver, disable a driver and keep it for PnP and so on.).
When you are done you select the D folder and INI file so that both get highlited, and rightclick to use 7zip on selection.
It will automatically suggest the name of the folder, which was already renamed to higher version..
7z, ultra, max dictionary, 273 word size, LZMA, SOLID.

Let us know what you had to fix, and how you did it.
Help us help you.

Last edited by Jaak (2008-12-21 14:19:35)

The answer was 42?
Kind regards, Jaak.

Re: Can I make a custom MassStorage DriverPack?

WHEN must replace be used?
---------------------------------
Windows 2003 SP2 Contains

[TXTSETUP.SIF 2K3 SP2]

PCI\VEN_8086&DEV_1230 = "intelide" ok
PCI\VEN_8086&DEV_7010 = "intelide" ok
PCI\VEN_8086&DEV_7111 = "intelide" ok
PCI\VEN_8086&DEV_2411 = "intelide" ok
PCI\VEN_8086&DEV_2421 = "intelide" ok
PCI\VEN_8086&DEV_7199 = "intelide" ok
PCI\VEN_8086&DEV_244A = "intelide" ok
PCI\VEN_8086&DEV_244B = "intelide" ok 
PCI\VEN_8086&DEV_248A = "intelide" ok
PCI\VEN_8086&DEV_248B = "intelide"
PCI\VEN_8086&DEV_7601 = "intelide" ok
PCI\VEN_1106&DEV_0571 = "viaide" V3 fixed
PCI\VEN_1179&DEV_0105 = "toside" ok
PCI\VEN_1095&DEV_0648 = "cmdide" ok
PCI\VEN_1095&DEV_0649 = "cmdide" L S ok
PCI\VEN_10B9&DEV_5229 = "aliide" AU fixed
PCI\VEN_1022&DEV_7409 = "amdide" AM fixed
PCI\VEN_1022&DEV_7411 = "amdide" AM fixed
PCI\VEN_1022&DEV_7441 = "amdide" AM fixed
PCI\VEN_1022&DEV_7469 = "amdide" AM fixed
PCI\VEN_105A&DEV_4D33 = "pciide" P8
PCI\VEN_9005&DEV_00CF = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_008F = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_00C0 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0081 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_00C0&SUBSYS_F6209005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_00C0&SUBSYS_F6200E11 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080&SUBSYS_E2A09005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080&SUBSYS_E2A00E11 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080&SUBSYS_62A09005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080&SUBSYS_E2209005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0081&SUBSYS_62A19005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0082&SUBSYS_02109005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_8000 = "adpu320"
PCI\VEN_9005&DEV_800F = "adpu320"
PCI\VEN_9005&DEV_8010 = "adpu320"
PCI\VEN_9005&DEV_8011 = "adpu320"
PCI\VEN_9005&DEV_8012 = "adpu320"
PCI\VEN_9005&DEV_801D = "adpu320"
PCI\VEN_9005&DEV_801E = "adpu320"
PCI\VEN_9005&DEV_801F = "adpu320"
PCI\VEN_9005&DEV_8014&SUBSYS_00449005 = "adpu320"
PCI\VEN_9005&DEV_8015&SUBSYS_00409005 = "adpu320"
PCI\VEN_9005&DEV_8016&SUBSYS_00409005 = "adpu320"
PCI\VEN_9005&DEV_8017&SUBSYS_00449005 = "adpu320"
PCI\VEN_1044&DEV_A501&SUBSYS_C0471044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A501&SUBSYS_C03C1044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A501&SUBSYS_C05A1044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A501&SUBSYS_C0661044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A501&SUBSYS_C0641044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A501&SUBSYS_C0651044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A511&SUBSYS_C0351044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A511&SUBSYS_C0341044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A511&SUBSYS_C0331044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A511&SUBSYS_C0321044 = "dpti2o" AD4 ok
PCI\VEN_9005&DEV_005F = "aic78u2" ok
PCI\VEN_9005&DEV_001F = "aic78u2" ok
PCI\VEN_9005&DEV_0050 = "aic78u2" ok
PCI\VEN_9005&DEV_0051 = "aic78u2" ok
PCI\VEN_9005&DEV_0010 = "aic78u2" ok
PCI\VEN_9005&DEV_0050&SUBSYS_F5009005 = "aic78u2" ok
PCI\VEN_9005&DEV_0051&SUBSYS_B5009005 = "aic78u2" ok
PCI\VEN_9005&DEV_0010&SUBSYS_A1009005 = "aic78u2" ok
PCI\VEN_9005&DEV_0010&SUBSYS_21809005 = "aic78u2" ok
PCI\VEN_9005&DEV_0010&SUBSYS_A1809005 = "aic78u2" ok
PCI\VEN_9005&DEV_0010&SUBSYS_E1009005 = "aic78u2" ok
PCI\VEN_9005&DEV_0011&SUBSYS_01819005 = "aic78u2" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78959004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78919004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78929004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78949004 = "aic78xx" ok
PCI\VEN_9004&DEV_8078&SUBSYS_78809004 = "aic78xx" ok
PCI\VEN_9004&DEV_8178&SUBSYS_78819004 = "aic78xx" ok
PCI\VEN_9004&DEV_8778&SUBSYS_78879004 = "aic78xx" ok
PCI\VEN_9004&DEV_3860&SUBSYS_38699004 = "aic78xx" ok
PCI\VEN_9004&DEV_8078 = "aic78xx" ok
PCI\VEN_9004&DEV_8178 = "aic78xx" ok
PCI\VEN_9004&DEV_8278 = "aic78xx" ok
PCI\VEN_9004&DEV_8478 = "aic78xx" ok
PCI\VEN_9004&DEV_8578 = "aic78xx" ok
PCI\VEN_9004&DEV_8678 = "aic78xx" ok
PCI\VEN_9004&DEV_3B78 = "aic78xx" ok
PCI\VEN_9004&DEV_EC78 = "aic78xx" ok
PCI\VEN_9004&DEV_7078 = "aic78xx" ok
PCI\VEN_9004&DEV_7178 = "aic78xx" ok
PCI\VEN_9004&DEV_7278 = "aic78xx" ok
PCI\VEN_9004&DEV_7478 = "aic78xx" ok
PCI\VEN_9004&DEV_7578 = "aic78xx" ok
PCI\VEN_9004&DEV_7678 = "aic78xx" ok
PCI\VEN_9004&DEV_7778 = "aic78xx" ok
PCI\VEN_9004&DEV_6075 = "aic78xx" ok
PCI\VEN_9004&DEV_6778 = "aic78xx" ok
PCI\VEN_9004&DEV_6678 = "aic78xx" ok
PCI\VEN_9004&DEV_6578 = "aic78xx" ok
PCI\VEN_9004&DEV_6478 = "aic78xx" ok
PCI\VEN_9004&DEV_6278 = "aic78xx" ok
PCI\VEN_9004&DEV_6178 = "aic78xx" ok
PCI\VEN_9004&DEV_6078 = "aic78xx" ok
PCI\VEN_9004&DEV_7860 = "aic78xx" ok
PCI\VEN_9004&DEV_5078 = "aic78xx" ok
PCI\VEN_9004&DEV_5075 = "aic78xx" ok
PCI\VEN_9005&DEV_0285&SUBSYS_02859005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_02879005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_02869005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_028A9005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_028B9005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_02909005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_02929005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_02939005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_028E9005 = "arc"
PCI\VEN_9005&DEV_0285&SUBSYS_028F9005 = "arc"
PCI\VEN_103C&DEV_1028&SUBSYS_000715BC = "afcnt"
PCI\VEN_0E11&DEV_A0EC = "cpqfcalm"
PCI\VEN_0E11&DEV_A0FC&SUBSYS_A0FC0E11 = "cpqfcalm"
PCI\VEN_0E11&DEV_AE10 = "cpqarray" ok
CPQARRAY_SCSI = "cpqarray" ok
PCI\VEN_0E11&DEV_B060&SUBSYS_40700E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_B178&SUBSYS_40820E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_B178&SUBSYS_40830E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_B178&SUBSYS_40800E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_0046&SUBSYS_40910E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_0046&SUBSYS_409A0E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_0046&SUBSYS_409B0E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_0046&SUBSYS_409C0E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_0046&SUBSYS_409D0E11 = "cpqcissm" C1
PCI\VEN_0E11&DEV_0046&SUBSYS_409E0E11 = "cpqcissm" ok
PCI\VEN_103C&DEV_3220 = "hpcisss"
PCI\VEN_103C&DEV_3222 = "hpcisss"
PCI\VEN_103C&DEV_3230 = "hpcisss"
PCI\VEN_103C&DEV_3231 = "hpcisss"
PCI\VEN_103C&DEV_3232 = "hpcisss"
PCI\VEN_103C&DEV_3233 = "hpcisss"
PCI\VEN_103C&DEV_3234 = "hpcisss"
PCI\VEN_103C&DEV_3235 = "hpcisss"
PCI\VEN_103C&DEV_3236 = "hpcisss"
PCI\VEN_103C&DEV_3237 = "hpcisss"
PCI\VEN_103C&DEV_3238 = "hpcisss"
PCI\VEN_103C&DEV_3239 = "hpcisss"
PCI\VEN_103C&DEV_323A = "hpcisss"
PCI\VEN_103C&DEV_323B = "hpcisss"
PCI\VEN_103C&DEV_323C = "hpcisss"
PCI\VEN_1000&DEV_0001 = "symc810" C ok
PCI\VEN_1000&DEV_0002 = "symc8xx"
PCI\VEN_1000&DEV_0003 = "symc8xx" C ok
PCI\VEN_1000&DEV_0004 = "symc8xx"
PCI\VEN_1000&DEV_0005 = "symc8xx"
PCI\VEN_1000&DEV_0006 = "symc8xx"
PCI\VEN_1000&DEV_000C = "symc8xx" C ok
PCI\VEN_1000&DEV_000D = "symc8xx"
PCI\VEN_1000&DEV_000F = "symc8xx" C ok
PCI\VEN_1000&DEV_0012 = "sym_hi"
PCI\VEN_1000&DEV_000A = "sym_hi" C ok
PCI\VEN_1000&DEV_000B = "sym_hi" C ok
PCI\VEN_1000&DEV_0012&SUBSYS_001b0e11 = "sym_hi" C ok
PCI\VEN_1000&DEV_000b&SUBSYS_60040e11 = "sym_hi"
PCI\VEN_1000&DEV_0020 = "sym_u3"
PCI\VEN_1000&DEV_0021 = "sym_u3"
PCI\VEN_1000&DEV_0020&SUBSYS_10201DE1 = "sym_u3"
PCI\VEN_1000&DEV_0021&SUBSYS_10201DE1 = "sym_u3"
PCI\VEN_1000&DEV_0020&SUBSYS_10101DE1 = "sym_u3"
PCI\VEN_1000&DEV_0021&SUBSYS_10101DE1 = "sym_u3"
PCI\VEN_10DF&DEV_1AE5 = "lp6nds35"
PCI\VEN_10DF&DEV_F700 = "lp6nds35"
PCI\VEN_10DF&DEV_F800 = "lp6nds35"
PCI\VEN_10DF&DEV_F900 = "lp6nds35"
PCI\VEN_10DF&DEV_F980 = "lp6nds35"
PCI\VEN_10DF&DEV_FA00 = "lp6nds35"
PCI\VEN_10DF&DEV_F085 = "lp6nds35"
PCI\VEN_10DF&DEV_F095 = "lp6nds35"
PCI\VEN_10DF&DEV_F098 = "lp6nds35"
PCI\VEN_10DF&DEV_F0A5 = "lp6nds35"
PCI\VEN_10DF&DEV_F0A1 = "lp6nds35"
PCI\VEN_1077&DEV_1240 = "ql1240"
PCI\VEN_1077&DEV_2100 = "ql2100"
PCI\VEN_1077&DEV_2100&SUBSYS_00011077 = "ql2100"
PCI\VEN_1077&DEV_2200 = "ql2200"
PCI\VEN_1077&DEV_2200&SUBSYS_00021077 = "ql2200"
PCI\VEN_1077&DEV_2300 = "ql2300"
PCI\VEN_1077&DEV_2300&SUBSYS_00091077 = "ql2300"
PCI\VEN_1077&DEV_2300&SUBSYS_01061077 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01001077 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01011077 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01021077 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_010A1077 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01000E11 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_027D1014 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01010E11 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01020E11 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_34BA8086 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01021749 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_10511734 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01030E11 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01040E11 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_01050E11 = "ql2300" 
PCI\VEN_1077&DEV_2312&SUBSYS_12BA103C = "ql2300"
PCI\VEN_1077&DEV_2312&SUBSYS_01060E11 = "ql2300"
PCI\VEN_1077&DEV_2312&SUBSYS_01070E11 = "ql2300"
PCI\VEN_1077&DEV_2312&SUBSYS_12C2103C = "ql2300"
PCI\VEN_1077&DEV_2312&SUBSYS_12C7103C = "ql2300"
PCI\VEN_1077&DEV_2312&SUBSYS_12C9103C = "ql2300"
PCI\VEN_1077&DEV_2312&SUBSYS_018A1028 = "ql2300"
PCI\VEN_1077&DEV_2322&SUBSYS_01151077 = "ql2300"
PCI\VEN_1077&DEV_2322&SUBSYS_01161077 = "ql2300"
PCI\VEN_1077&DEV_2322&SUBSYS_01171077 = "ql2300"
PCI\VEN_1077&DEV_2322&SUBSYS_01181077 = "ql2300"
PCI\VEN_1077&DEV_2322&SUBSYS_01701028 = "ql2300"
PCI\VEN_1077&DEV_2322&SUBSYS_34BC8086 = "ql2300"
PCI\VEN_1077&DEV_1020 = "ql10wnt"
PCI\VEN_101E&DEV_9010 = "mraid35x"
PCI\VEN_101E&DEV_9060 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0438101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0466101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0467101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0490101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_04671028 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_11111028 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_10C6103C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_10C7103C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_10CC103C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_10CD103C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_11111111 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_11121111 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_03A2113C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0471101E = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_0471101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0493101E = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_0493101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0475101E = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_0475101E = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_04751028 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_04711028 = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_04711028 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_04931028 = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_04931028 = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_60E7103C = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_60E8103C = "mraid35x"
PCI\VEN_101E&DEV_1960&SUBSYS_60E3103C = "mraid35x"
PCI\VEN_1028&DEV_000E&SUBSYS_01231028 = "mraid35x"
PCI\VEN_1000&DEV_1960&SUBSYS_05201028 = "mraid35x"
PCI\VEN_1000&DEV_1960&SUBSYS_05181028 = "mraid35x"
PCI\VEN_1000&DEV_1960&SUBSYS_05181000 = "mraid35x"
PCI\VEN_1000&DEV_1960&SUBSYS_05201000 = "mraid35x"
PCI\VEN_1000&DEV_1960&SUBSYS_A5201000 = "mraid35x"
PCI\VEN_1000&DEV_0407&SUBSYS_05301000 = "mraid35x"
PCI\VEN_1000&DEV_0407&SUBSYS_05311000 = "mraid35x"
PCI\VEN_1000&DEV_0407&SUBSYS_05321000 = "mraid35x"
PCI\VEN_1000&DEV_1960&SUBSYS_45231000 = "mraid35x"
PCI\VEN_1000&DEV_1960&SUBSYS_05231000 = "mraid35x"
PCI\VEN_1028&DEV_0013&SUBSYS_016C1028 = "mraid35x"
PCI\VEN_1028&DEV_0013&SUBSYS_016D1028 = "mraid35x"
PCI\VEN_1028&DEV_0013&SUBSYS_016E1028 = "mraid35x"
PCI\VEN_1028&DEV_0013&SUBSYS_016F1028 = "mraid35x"
PCI\VEN_1028&DEV_0013&SUBSYS_01701028 = "mraid35x"
PCI\VEN_1000&DEV_0408&SUBSYS_00021028 = "mraid35x"
PCI\VEN_1069&DEV_0050&SUBSYS_00541069 = "dac2w2k"
PCI\VEN_1069&DEV_0050&SUBSYS_00521069 = "dac2w2k"
PCI\VEN_1069&DEV_0050&SUBSYS_00501069 = "dac2w2k"
PCI\VEN_1069&DEV_BA56&SUBSYS_00401069 = "dac2w2k"
PCI\VEN_1069&DEV_BA56&SUBSYS_00301069 = "dac2w2k"
PCI\VEN_1069&DEV_0001 = "dac960nt"
PCI\VEN_1069&DEV_0002 = "dac960nt"
PCI\VEN_1069&DEV_0010 = "dac960nt"
PCI\VEN_1011&DEV_1065&SUBSYS_00201069 = "dac960nt"
PCI\VEN_101E&DEV_1960&SUBSYS_05111028 = "dellcerc"
PCI\VEN_1014&DEV_002E&SUBSYS_022E1014 = "ipsraidn"
PCI\VEN_1014&DEV_002E&SUBSYS_002E1014 = "ipsraidn"
PCI\VEN_1014&DEV_002E&SUBSYS_00000000&REV_04 = "ipsraidn"
PCI\VEN_1014&DEV_002E&SUBSYS_00000000&REV_03 = "ipsraidn"
PCI\VEN_1014&DEV_002E&SUBSYS_00000000&REV_02 = "ipsraidn"
PCI\VEN_1014&DEV_01BD&SUBSYS_01BE1014&REV_00 = "nfrd960"
PCI\VEN_1014&DEV_01BD&SUBSYS_01BF1014&REV_00 = "nfrd960"
PCI\VEN_1014&DEV_01BD&SUBSYS_02591014 = "nfrd960"
PCI\VEN_9005&DEV_0250&SUBSYS_028C1014 = "nfrd960"
PCI\VEN_9005&DEV_0250&SUBSYS_028E1014 = "nfrd960"
PCI\VEN_1014&DEV_01BD&SUBSYS_02081014&REV_00 = "nfrd960"
PCI\VEN_1014&DEV_01BD&SUBSYS_020E1014&REV_00 = "nfrd960"
PCI\VEN_9005&DEV_0250&SUBSYS_02791014 = "nfrd960"
PCI\VEN_13E6&DEV_3603&SUBSYS_00461014 = "cbidf2k"
PCI\VEN_13E6&DEV_3603&SUBSYS_004613E6 = "cbidf2k"
PCI\VEN_13E6&DEV_3603&SUBSYS_004913E6 = "cbidf2k"
PCI\VEN_13E6&DEV_3603&SUBSYS_00460900 = "cbidf2k"
PCI\VEN_13E6&DEV_3603 = "cbidf2k"
PCI\VEN_105A&DEV_4D68&CC_0180 = "ultra"
PCI\VEN_105A&DEV_4D30&CC_0180 = "ultra"
PCI\VEN_105A&DEV_0D30&CC_0180 = "ultra"
PCI\VEN_105A&DEV_4D38&CC_0180 = "ultra"
PCI\VEN_105A&DEV_4D33 = "ultra"
PCI\VEN_105A&DEV_4D69 = "ultra"
PCI\VEN_1103&DEV_0005 = "hpt3xx"
PCI\VEN_1103&DEV_0004&REV_03 = "hpt3xx" AD
PCI\VEN_1103&DEV_0004&REV_04 = "hpt3xx" AD
PCI\VEN_1103&DEV_0004&REV_05 = "hpt3xx"
PCI\VEN_1077&DEV_1080 = "ql1080"
PCI\VEN_1077&DEV_1280&SUBSYS_00061077 = "ql1280"
PCI\VEN_1077&DEV_1280&SUBSYS_01068086 = "ql1280"
PCI\VEN_1077&DEV_1216&SUBSYS_00071077 = "ql12160"
PCI\VEN_1077&DEV_1016&SUBSYS_00081077 = "ql12160"
PCI\VEN_1077&DEV_1216&SUBSYS_00078086 = "ql12160"
PCI\VEN_1077&DEV_1216&SUBSYS_01078086 = "ql12160"
PCI\VEN_1000&DEV_0010&SUBSYS_40400E11 = "cpqarry2" C3
PCI\VEN_1011&DEV_0046&SUBSYS_40500E11 = "cpqarry2" C3
PCI\VEN_1011&DEV_0046&SUBSYS_40510E11 = "cpqarry2" C3
PCI\VEN_1011&DEV_0046&SUBSYS_40580E11 = "cpqarry2" C3
PCI\VEN_1000&DEV_0010&SUBSYS_40480E11 = "cpqarry2" C3
PCI\VEN_1011&DEV_0046&SUBSYS_13649005 = "perc2"
PCI\VEN_1028&DEV_0001&SUBSYS_00011028 = "perc2"
PCI\VEN_1028&DEV_0002&SUBSYS_00021028 = "perc2"
PCI\VEN_1028&DEV_0002&SUBSYS_00D11028 = "perc2"
PCI\VEN_1028&DEV_0002&SUBSYS_00D91028 = "perc2"
PCI\VEN_1028&DEV_0003&SUBSYS_00031028 = "perc2"
PCI\VEN_1028&DEV_000A&SUBSYS_01061028 = "perc2"
PCI\VEN_1028&DEV_000A&SUBSYS_011B1028 = "perc2"
PCI\VEN_1028&DEV_000A&SUBSYS_01211028 = "perc2"
PCI\VEN_9005&DEV_00C5&SUBSYS_00C51028 = "perc2"
PCI\VEN_1011&DEV_0046&SUBSYS_10C2103C = "hpn"
PCI\VEN_1000&DEV_0621 = "symmpi" ok
PCI\VEN_1000&DEV_0622 = "symmpi" ok
PCI\VEN_1000&DEV_0624 = "symmpi" ok
PCI\VEN_1000&DEV_0030 = "symmpi" L10 fixed
PCI\VEN_1000&DEV_0626&SUBSYS_10201000 = "symmpi" ok
PCI\VEN_1000&DEV_0626&SUBSYS_10101000 = "symmpi" ok
PCI\VEN_1000&DEV_0628&SUBSYS_50301000 = "symmpi" ok   
PCI\VEN_8086&DEV_9621&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_9622&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_9641&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_96A1&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_3092&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_0600 = "iirsp"
PCI\VEN_1119&DEV_0300 = "iirsp"

[BusExtenders]

pcmcia   = pcmcia.sys
pciide   = pciide.sys
intelide = intelide.sys
viaide   = viaide.sys
cmdide   = cmdide.sys
toside   = toside.sys
aliide   = aliide.sys
amdide = amdide.sys
mountmgr = mountmgr.sys
ftdisk   = ftdisk.sys
partmgr  = partmgr.sys
volsnap  = volsnap.sys
fdc      = fdc.sys
dmload   = dmload.sys
dmio     = dmio.sys
sbp2port = sbp2port.sys

[MSHDC.INF 2K3 SP2]

PCI\VEN_10B9&DEV_5215.DeviceDesc="ULi PCI IDE Controller" AU fixed
PCI\VEN_10B9&DEV_5219.DeviceDesc="ULi M5219 PCI Bus Master IDE Controller" AU fixed
PCI\VEN_10B9&DEV_5229.DeviceDesc="ULi M5229 PCI Bus Master IDE Controller" AU fixed
PCI\VEN_1097&DEV_0038.DeviceDesc="Appian PCI IDE Controller" 
PCI\VEN_1095&DEV_0640.DeviceDesc="CMD PCI-0640 PCI to IDE Controller"
PCI\VEN_1095&DEV_0643.DeviceDesc="CMD PCI-0643 PCI to IDE Controller"
PCI\VEN_1095&DEV_0646.DeviceDesc="CMD PCI-0646 Bus Master PCI to IDE Controller"
PCI\VEN_1095&DEV_0646U2.DeviceDesc="CMD PCI-0646U2 Ultra DMA IDE Controller"
PCI\VEN_1095&DEV_0648.DeviceDesc="CMD PCI-0648 Ultra DMA IDE Controller"
PCI\VEN_1095&DEV_0649.DeviceDesc="CMD PCI-0649 Ultra DMA IDE Controller"
PCI\VEN_0E11&DEV_AE33.DeviceDesc="Compaq PCI IDE Controller"
PCI\VEN_1166&DEV_0211.DeviceDesc="OSB4 IDE Controller"
PCI\VEN_1166&DEV_0212&SUBSYS_02121166.DeviceDesc="CSB5 IDE Controller"
PCI\VEN_8086&DEV_1222.DeviceDesc="Intel(R) 82092AA PCI IDE Controller"
PCI\VEN_8086&DEV_1230.DeviceDesc="Intel(R) 82371FB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_7010.DeviceDesc="Intel(R) 82371SB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_7111.DeviceDesc="Intel(R) 82371AB/EB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_2411.DeviceDesc="Intel(R) 82801AA Bus Master IDE Controller"
PCI\VEN_8086&DEV_2421.DeviceDesc="Intel(R) 82801AB Bus Master IDE Controller"
PCI\VEN_8086&DEV_7199.DeviceDesc="Intel(R) 82440MX Bus Master IDE Controller"
PCI\VEN_8086&DEV_244A.DeviceDesc="Intel(R) 82801BAM Ultra ATA Storage Controller - 244A"
PCI\VEN_8086&DEV_244B.DeviceDesc="Intel(R) 82801BA Ultra ATA Storage Controller - 244B"
PCI\VEN_8086&DEV_248A.DeviceDesc="Intel(R) 82801CAM Ultra ATA Storage Controller-248A"
PCI\VEN_8086&DEV_248B.DeviceDesc="Intel(R) 82801CA Ultra ATA Storage Controller-248B"
PCI\VEN_8086&DEV_24C1.DeviceDesc="Intel(R) 82801DBM Ultra ATA Storage Controller - 24C1"
PCI\VEN_8086&DEV_24CA.DeviceDesc="Intel(R) 82801DBM Ultra ATA Storage Controller - 24CA"
PCI\VEN_8086&DEV_24CB.DeviceDesc="Intel(R) 82801DB Ultra ATA Storage Controller-24CB"
PCI\VEN_8086&DEV_24D1.DeviceDesc="Intel(R) 82801EB Ultra ATA Storage Controllers - 24D1"
PCI\VEN_8086&DEV_24DB.DeviceDesc="Intel(R) 82801EB Ultra ATA Storage Controllers - 24DB"
PCI\VEN_8086&DEV_25A2.DeviceDesc="Intel(R) 6300ESB Ultra ATA Storage Controller - 25A2"
PCI\VEN_8086&DEV_25A3.DeviceDesc="Intel(R) 6300ESB Ultra ATA Storage/SATA Controller - 25A3" 
PCI\VEN_8086&DEV_2651.DeviceDesc="Intel(R) 82801FB Ultra ATA Storage Controllers - 2651"
PCI\VEN_8086&DEV_2652.DeviceDesc="Intel(R) 82801FB Ultra ATA Storage Controllers - 2652"
PCI\VEN_8086&DEV_2653.DeviceDesc="Intel(R) 82801FBM Ultra ATA Storage Controllers - 2653"
PCI\VEN_8086&DEV_266F.DeviceDesc="Intel(R) 82801FB/FBM Ultra ATA Storage Controllers - 266F"
PCI\VEN_8086&DEV_7601.DeviceDesc="Intel(R) IA64 Bus Master IDE Controller"
PCI\VEN_1022&DEV_7409.DeviceDesc="AMD-756 PCI Bus Master IDE Controller" AM fixed
PCI\VEN_1022&DEV_7411.DeviceDesc="AMD-766 PCI Bus Master IDE Controller" AM fixed
PCI\VEN_1022&DEV_7441.DeviceDesc="AMD-768 PCI Bus Master IDE Controller" AM fixed
PCI\VEN_1022&DEV_7469.DeviceDesc="AMD-8111 PCI Bus Master IDE Controller" AM fixed
PCI\VEN_1042&DEV_1000.DeviceDesc="PC Tech PCI IDE Single or Dual Port Controller"
PCI\VEN_1039&DEV_0601.DeviceDesc="SiS PCI IDE Controller"
PCI\VEN_1039&DEV_5513.DeviceDesc="SiS PCI IDE Controller"
PCI\VEN_10AD&DEV_0001.DeviceDesc="Symphony PCI IDE Controller"
PCI\VEN_10AD&DEV_0150.DeviceDesc="Symphony PCI IDE Controller"
PCI\VEN_1106&DEV_0571.DeviceDesc="VIA Bus Master IDE Controller" V3 fixed
PCI\VEN_1055&DEV_9130.DeviceDesc="SMSC SLC90E66 PCI Bus Master IDE Controller"
PCI\VEN_1179&DEV_0105.DeviceDesc = "Toshiba PCI-0105 IDE Controller"
PCI\VEN_10DE&DEV_00E3.DeviceDesc="NVIDIA nForce3 250 Serial ATA Controller"
PCI\VEN_10DE&DEV_00E5.DeviceDesc="NVIDIA nForce3 250 Parallel ATA Controller"
PCI\VEN_10DE&DEV_00EE.DeviceDesc="NVIDIA nForce3 250 Serial ATA Controller"
The answer was 42?
Kind regards, Jaak.

Re: Can I make a custom MassStorage DriverPack?

WHEN must replace be used?
---------------------------------
Windows XP SP3 Contains

[TXTSETUP.SIF XP SP3]

PCI\VEN_8086&DEV_1230 = "intelide" ok
PCI\VEN_8086&DEV_7010 = "intelide" ok 
PCI\VEN_8086&DEV_7111 = "intelide" ok
PCI\VEN_8086&DEV_2411 = "intelide" ok
PCI\VEN_8086&DEV_2421 = "intelide" ok
PCI\VEN_8086&DEV_7199 = "intelide" ok
PCI\VEN_8086&DEV_244A = "intelide" ok
PCI\VEN_8086&DEV_244B = "intelide" ok
PCI\VEN_8086&DEV_248A = "intelide" ok
PCI\VEN_8086&DEV_7601 = "intelide" ok
PCI\VEN_1106&DEV_0571 = "viaide" V3 fixed
PCI\VEN_1179&DEV_0105 = "toside" ok
PCI\VEN_1095&DEV_0648 = "cmdide" ok
PCI\VEN_1095&DEV_0649 = "cmdide" L S ok
PCI\VEN_10B9&DEV_5229 = "aliide" AU ok
PCI\VEN_105A&DEV_4D33 = "pciide" P8
PCI\VEN_9005&DEV_00CF = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_008F = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_00C0 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0081 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_00C0&SUBSYS_F6209005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_00C0&SUBSYS_F6200E11 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080&SUBSYS_E2A09005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080&SUBSYS_E2A00E11 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080&SUBSYS_62A09005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0080&SUBSYS_E2209005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0081&SUBSYS_62A19005 = "adpu160m" AD5 ok
PCI\VEN_9005&DEV_0082&SUBSYS_02109005 = "adpu160m" AD5 ok
PCI\VEN_1044&DEV_A501&SUBSYS_C0471044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A501&SUBSYS_C03C1044 = "dpti2o" AD4 ok
PCI\VEN_1044&DEV_A501&SUBSYS_C05A1044 = "dpti2o" AD4 ok
PCI\VEN_9005&DEV_005F = "aic78u2" ok
PCI\VEN_9005&DEV_001F = "aic78u2" ok
PCI\VEN_9005&DEV_0050 = "aic78u2" ok
PCI\VEN_9005&DEV_0051 = "aic78u2" ok
PCI\VEN_9005&DEV_0010 = "aic78u2" ok
PCI\VEN_9005&DEV_0050&SUBSYS_F5009005 = "aic78u2" ok
PCI\VEN_9005&DEV_0051&SUBSYS_B5009005 = "aic78u2" ok
PCI\VEN_9005&DEV_0010&SUBSYS_A1009005 = "aic78u2" ok
PCI\VEN_9005&DEV_0010&SUBSYS_21809005 = "aic78u2" ok
PCI\VEN_9005&DEV_0010&SUBSYS_A1809005 = "aic78u2" ok
PCI\VEN_9005&DEV_0010&SUBSYS_E1009005 = "aic78u2" ok
PCI\VEN_9005&DEV_0011&SUBSYS_01819005 = "aic78u2" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78959004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78919004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78929004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78949004 = "aic78xx" ok
PCI\VEN_9004&DEV_8078&SUBSYS_78809004 = "aic78xx" ok
PCI\VEN_9004&DEV_8178&SUBSYS_78819004 = "aic78xx" ok
PCI\VEN_9004&DEV_8778&SUBSYS_78879004 = "aic78xx" ok
PCI\VEN_9004&DEV_3860&SUBSYS_38699004 = "aic78xx" ok
PCI\VEN_9004&DEV_8078 = "aic78xx" ok
PCI\VEN_9004&DEV_8178 = "aic78xx" ok
PCI\VEN_9004&DEV_8278 = "aic78xx" ok
PCI\VEN_9004&DEV_8478 = "aic78xx" ok
PCI\VEN_9004&DEV_8578 = "aic78xx" ok
PCI\VEN_9004&DEV_8678 = "aic78xx" ok
PCI\VEN_9004&DEV_3B78 = "aic78xx" ok
PCI\VEN_9004&DEV_EC78 = "aic78xx" ok
PCI\VEN_9004&DEV_7078 = "aic78xx" ok
PCI\VEN_9004&DEV_7178 = "aic78xx" ok
PCI\VEN_9004&DEV_7278 = "aic78xx" ok
PCI\VEN_9004&DEV_7478 = "aic78xx" ok
PCI\VEN_9004&DEV_7578 = "aic78xx" ok
PCI\VEN_9004&DEV_7678 = "aic78xx" ok
PCI\VEN_9004&DEV_7778 = "aic78xx" ok
PCI\VEN_9004&DEV_6075 = "aic78xx" ok
PCI\VEN_9004&DEV_6778 = "aic78xx" ok
PCI\VEN_9004&DEV_6678 = "aic78xx" ok
PCI\VEN_9004&DEV_6578 = "aic78xx" ok
PCI\VEN_9004&DEV_6478 = "aic78xx" ok
PCI\VEN_9004&DEV_6278 = "aic78xx" ok
PCI\VEN_9004&DEV_6178 = "aic78xx" ok
PCI\VEN_9004&DEV_6078 = "aic78xx" ok
PCI\VEN_9004&DEV_7860 = "aic78xx" ok
PCI\VEN_9004&DEV_5078 = "aic78xx" ok
PCI\VEN_9004&DEV_5075 = "aic78xx" ok
PCI\VEN_1022&DEV_2020 = "amsint" ok
PCI\VEN_0E11&DEV_AE10 = "cpqarray" ok
CPQARRAY_SCSI = "cpqarray" ok
PCI\VEN_1000&DEV_0001 = "symc810" C
PCI\VEN_1000&DEV_0002 = "symc8xx" ok
PCI\VEN_1000&DEV_0003 = "symc8xx" C
PCI\VEN_1000&DEV_0004 = "symc8xx" ok
PCI\VEN_1000&DEV_0005 = "symc8xx" ok
PCI\VEN_1000&DEV_0006 = "symc8xx" ok
PCI\VEN_1000&DEV_000C = "symc8xx" C
PCI\VEN_1000&DEV_000D = "symc8xx" ok
PCI\VEN_1000&DEV_000F = "symc8xx" C
PCI\VEN_1000&DEV_0012 = "sym_hi" C
PCI\VEN_1000&DEV_000A = "sym_hi" C
PCI\VEN_1000&DEV_000B = "sym_hi" C
PCI\VEN_1000&DEV_0012&SUBSYS_001b0e11 = "sym_hi" ok
PCI\VEN_1000&DEV_000b&SUBSYS_60040e11 = "sym_hi" ok
PCI\VEN_1000&DEV_0020 = "sym_u3" ok
PCI\VEN_1000&DEV_0021 = "sym_u3" ok
PCI\VEN_1000&DEV_0020&SUBSYS_10201DE1 = "sym_u3" ok
PCI\VEN_1000&DEV_0021&SUBSYS_10201DE1 = "sym_u3" ok
PCI\VEN_1000&DEV_0020&SUBSYS_10101DE1 = "sym_u3" ok
PCI\VEN_1000&DEV_0021&SUBSYS_10101DE1 = "sym_u3" ok
PCI\VEN_1077&DEV_1240 = "ql1240" ok
PCI\VEN_1077&DEV_1020 = "ql10wnt" ok
PCI\VEN_10CD&DEV_1100 = "asc" ok
PCI\VEN_10CD&DEV_1200 = "asc" ok
PCI\VEN_10CD&DEV_1300 = "asc" ok
PCI\VEN_10CD&DEV_2300 = "asc3550" ok
PCI\VEN_10CD&DEV_1300&SUBSYS_133010CD = "abp480n5.sys" ok
PCI\VEN_101E&DEV_9010 = "mraid35x" L2
PCI\VEN_101E&DEV_9060 = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_0438101E = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_0466101E = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_0467101E = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_0490101E = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_04671028 = "mraid35x" L4
PCI\VEN_8086&DEV_1960&SUBSYS_11111028 = "mraid35x" L4
PCI\VEN_8086&DEV_1960&SUBSYS_10C6103C = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_10C7103C = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_10CC103C = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_10CD103C = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_11111111 = "mraid35x" L4
PCI\VEN_8086&DEV_1960&SUBSYS_11121111 = "mraid35x" L4
PCI\VEN_8086&DEV_1960&SUBSYS_03A2113C = "mraid35x" ok
PCI\VEN_8086&DEV_1960&SUBSYS_0471101E = "mraid35x" L2
PCI\VEN_101E&DEV_1960&SUBSYS_0471101E = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_0493101E = "mraid35x" L2
PCI\VEN_101E&DEV_1960&SUBSYS_0493101E = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_0475101E = "mraid35x" L2
PCI\VEN_101E&DEV_1960&SUBSYS_0475101E = "mraid35x" L2
PCI\VEN_8086&DEV_1960&SUBSYS_04711028 = "mraid35x" ok
PCI\VEN_101E&DEV_1960&SUBSYS_04711028 = "mraid35x" L4
PCI\VEN_8086&DEV_1960&SUBSYS_04931028 = "mraid35x" ok
PCI\VEN_101E&DEV_1960&SUBSYS_04931028 = "mraid35x" L4
PCI\VEN_101E&DEV_1960&SUBSYS_60E7103C = "mraid35x" L2
PCI\VEN_101E&DEV_1960&SUBSYS_60E8103C = "mraid35x" L2
PCI\VEN_1101&DEV_9500 = "ini910u"
PCI\VEN_1101&DEV_9400 = "ini910u"
PCI\VEN_1101&DEV_9401 = "ini910u"
PCI\VEN_1101&DEV_134A = "ini910u"
PCI\VEN_1101&DEV_0002 = "ini910u"
PCI\CC_0C0010 = "ohci1394"
PCI\VEN_1069&DEV_0050&SUBSYS_00541069 = "dac2w2k"
PCI\VEN_1069&DEV_0050&SUBSYS_00521069 = "dac2w2k"
PCI\VEN_1069&DEV_0050&SUBSYS_00501069 = "dac2w2k"
PCI\VEN_1069&DEV_BA56&SUBSYS_00401069 = "dac2w2k"
PCI\VEN_1069&DEV_BA56&SUBSYS_00301069 = "dac2w2k"
PCI\VEN_1069&DEV_0001 = "dac960nt"
PCI\VEN_1069&DEV_0002 = "dac960nt"
PCI\VEN_1069&DEV_0010 = "dac960nt"
PCI\VEN_1011&DEV_1065&SUBSYS_00201069 = "dac960nt"
*ADP1502 = "sparrow"
*ADP1505 = "sparrow"
*ADP1510 = "sparrow"
*ADP1512 = "sparrow"
*ADP1515 = "sparrow"
*ADP1520 = "sparrow"
*ADP1522 = "sparrow"
*ADP3015 = "sparrow"
*ADP6360 = "sparrow"
*ADP6370 = "sparrow"
PCMCIA\Adaptec__Inc.-APA-1460_SCSI_Host_Adapter-BE89 = "sparrow"
PCMCIA\Adaptec__Inc.-APA-1460_SCSI_Host_Adapter-B67E = "sparrow"
PCMCIA\Adaptec__Inc.-APA-1460_SCSI_Host_Adapter-6F71 = "sparrow"
PCMCIA\PCMCIA-IDE_CARD-3220 = "cbidf2k"
PCI\VEN_13E6&DEV_3603&SUBSYS_00461014 = "cbidf2k"
PCMCIA\PCMCIA-PnPIDE-4522 = "cbidf2k"
PCMCIA\PCMCIA-PnPIDE-7B72 = "cbidf2k"
PCMCIA\PCMCIA-PnPIDE-7762 = "cbidf2k"
PCMCIA\PCMCIA-IDE_DOCK-EEEA = "cbidf2k"
PCI\VEN_13E6&DEV_3603&SUBSYS_004613E6 = "cbidf2k"
PCI\VEN_13E6&DEV_3603&SUBSYS_004913E6 = "cbidf2k"
PCI\VEN_13E6&DEV_3603&SUBSYS_00460900 = "cbidf2k"
PCI\VEN_13E6&DEV_3603 = "cbidf2k"
PCMCIA\KME-KXLC005-A99E = "atapi"
PCMCIA\_-NinjaATA--3768 = "atapi"
*ADP1540 = "aha154x"
*ADP1542 = "aha154x"
*ADP4215 = "aha154x"
PCI\VEN_105A&DEV_4D68&CC_0180 = "ultra"
PCI\VEN_105A&DEV_4D30&CC_0180 = "ultra"
PCI\VEN_105A&DEV_0D30&CC_0180 = "ultra"
PCI\VEN_105A&DEV_4D38&CC_0180 = "ultra"
PCI\VEN_105A&DEV_4D33 = "ultra"
PCI\VEN_1077&DEV_1080 = "ql1080"
PCI\VEN_1077&DEV_1280&SUBSYS_00061077 = "ql1280"
PCI\VEN_1077&DEV_1280&SUBSYS_01068086 = "ql1280"
PCI\VEN_1077&DEV_1216&SUBSYS_00071077 = "ql12160"
PCI\VEN_1077&DEV_1016&SUBSYS_00081077 = "ql12160"
PCI\VEN_1077&DEV_1216&SUBSYS_01078086 = "ql12160"
PCI\VEN_1011&DEV_0046&SUBSYS_13649005 = "perc2"
PCI\VEN_1028&DEV_0001&SUBSYS_00011028 = "perc2"
PCI\VEN_1028&DEV_0002&SUBSYS_00021028 = "perc2"
PCI\VEN_1028&DEV_0002&SUBSYS_00D11028 = "perc2"
PCI\VEN_1028&DEV_0002&SUBSYS_00D91028 = "perc2"
PCI\VEN_1028&DEV_0003&SUBSYS_00031028 = "perc2"
PCI\VEN_9005&DEV_00C5&SUBSYS_00C51028 = "perc2"
PCI\VEN_1011&DEV_0046&SUBSYS_10C2103C = "hpn" ok
PCI\VEN_8086&DEV_9621&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_9622&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_9641&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_96A1&SUBSYS_00018086 = "i2omp"
PCI\VEN_8086&DEV_3092&SUBSYS_00018086 = "i2omp"

[Bus Extenders]
pcmcia   = pcmcia.sys ok
pciide   = pciide.sys ok
intelide = intelide.sys ok
viaide   = viaide.sys ok
cmdide   = cmdide.sys ok
toside   = toside.sys ok
aliide   = aliide.sys ok 
mountmgr = mountmgr.sys
ftdisk   = ftdisk.sys
partmgr  = partmgr.sys
fdc      = fdc.sys
dmload   = dmload.sys
dmio     = dmio.sys
sbp2port = sbp2port.sys
lbrtfdc  = lbrtfdc.sys

[MSHDC.INF XPSP3]
PCI\VEN_10B9&DEV_5215.DeviceDesc="ALi PCI IDE Controller" AU
PCI\VEN_10B9&DEV_5219.DeviceDesc="ALi M5219 PCI Bus Master IDE Controller" AU
PCI\VEN_10B9&DEV_5229.DeviceDesc="ALi M5229 PCI Bus Master IDE Controller" AU
PCI\VEN_1097&DEV_0038.DeviceDesc="Appian PCI IDE Controller"
PCI\VEN_1095&DEV_0640.DeviceDesc="CMD PCI-0640 PCI to IDE Controller"
PCI\VEN_1095&DEV_0643.DeviceDesc="CMD PCI-0643 PCI to IDE Controller"
PCI\VEN_1095&DEV_0646.DeviceDesc="CMD PCI-0646 Bus Master PCI to IDE Controller"
PCI\VEN_1095&DEV_0646U2.DeviceDesc="CMD PCI-0646U2 Ultra DMA IDE Controller"
PCI\VEN_1095&DEV_0648.DeviceDesc="CMD PCI-0648 Ultra DMA IDE Controller"
PCI\VEN_1095&DEV_0649.DeviceDesc="CMD PCI-0649 Ultra DMA IDE Controller"
PCI\VEN_0E11&DEV_AE33.DeviceDesc="Compaq PCI IDE Controller"
PCI\VEN_8086&DEV_1222.DeviceDesc="Intel(R) 82092AA PCI IDE Controller"
PCI\VEN_8086&DEV_1230.DeviceDesc="Intel(R) 82371FB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_7010.DeviceDesc="Intel(R) 82371SB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_7111.DeviceDesc="Intel(R) 82371AB/EB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_2411.DeviceDesc="Intel(R) 82801AA Bus Master IDE Controller"
PCI\VEN_8086&DEV_2421.DeviceDesc="Intel(R) 82801AB Bus Master IDE Controller"
PCI\VEN_8086&DEV_7199.DeviceDesc="Intel(R) 82440MX Bus Master IDE Controller"
PCI\VEN_8086&DEV_244A.DeviceDesc="Intel(R) 82801BAM Ultra ATA Storage Controller - 244A"
PCI\VEN_8086&DEV_244B.DeviceDesc="Intel(R) 82801BA Ultra ATA Storage Controller - 244B"
PCI\VEN_8086&DEV_248A.DeviceDesc="Intel(R) 82801CAM Ultra ATA Storage Controller-248A"
PCI\VEN_8086&DEV_248B.DeviceDesc="Intel(R) 82801CA Ultra ATA Storage Controller-248B"
PCI\VEN_8086&DEV_24C1.DeviceDesc="Intel(R) 82801DBM Ultra ATA Storage Controller - 24C1"
PCI\VEN_8086&DEV_24CA.DeviceDesc="Intel(R) 82801DBM Ultra ATA Storage Controller - 24CA"
PCI\VEN_8086&DEV_24CB.DeviceDesc="Intel(R) 82801DB Ultra ATA Storage Controller - 24CB"
PCI\VEN_8086&DEV_24D1.DeviceDesc="Intel(R) 82801EB Ultra ATA Storage Controllers - 24D1"
PCI\VEN_8086&DEV_24DB.DeviceDesc="Intel(R) 82801EB Ultra ATA Storage Controllers - 24DB"
PCI\VEN_8086&DEV_25A2.DeviceDesc="Intel(R) 6300ESB Ultra ATA Storage Controller - 25A2"
PCI\VEN_8086&DEV_25A3.DeviceDesc="Intel(R) 6300ESB Ultra ATA Storage/SATA Controller - 25A3" 
PCI\VEN_8086&DEV_2651.DeviceDesc="Intel(R) 82801FB Ultra ATA Storage Controllers - 2651"
PCI\VEN_8086&DEV_2652.DeviceDesc="Intel(R) 82801FB Ultra ATA Storage Controllers - 2652"
PCI\VEN_8086&DEV_2653.DeviceDesc="Intel(R) 82801FBM Ultra ATA Storage Controllers - 2653"
PCI\VEN_8086&DEV_266F.DeviceDesc="Intel(R) 82801FB/FBM Ultra ATA Storage Controllers - 266F"
PCI\VEN_8086&DEV_7601.DeviceDesc="Intel(R) IA64 Bus Master IDE Controller"
PCI\VEN_1042&DEV_1000.DeviceDesc="PC Tech PCI IDE Single or Dual Port Controller"
PCI\VEN_1039&DEV_0601.DeviceDesc="SiS PCI IDE Controller"
PCI\VEN_1039&DEV_5513.DeviceDesc="SiS PCI IDE Controller" SIS3
PCI\VEN_10AD&DEV_0001.DeviceDesc="Symphony PCI IDE Controller"
PCI\VEN_10AD&DEV_0150.DeviceDesc="Symphony PCI IDE Controller"
PCI\VEN_105A&DEV_4D33.DeviceDesc="Promise Technology PCI IDE Controller"
PCI\VEN_105A&DEV_4D38.DeviceDesc="Promise Technology PCI IDE UDMA/66 Controller"
PCI\VEN_1106&DEV_0571.DeviceDesc="VIA Bus Master IDE Controller" V3
PCI\VEN_1055&DEV_9130.DeviceDesc="SMSC SLC90E66 PCI Bus Master IDE Controller"
PCI\VEN_1179&DEV_0105.DeviceDesc = "Toshiba PCI-0105 IDE Controller"
The answer was 42?
Kind regards, Jaak.

Re: Can I make a custom MassStorage DriverPack?

WHEN must replace be used?
---------------------------------
Windows 2000 SP4 contains

[TXTSETUP.SIF 2K SP4]

PCI\VEN_8086&DEV_1230 = "intelide" ok
PCI\VEN_8086&DEV_7010 = "intelide" ok
PCI\VEN_8086&DEV_7111 = "intelide" ok
PCI\VEN_8086&DEV_2411 = "intelide" ok
PCI\VEN_8086&DEV_2421 = "intelide" ok
PCI\VEN_8086&DEV_7199 = "intelide" ok
PCI\VEN_105A&DEV_4D33 = "pciide" P8 ok
PCI\VEN_9004&DEV_1160 = "aic116x" ok
PCI\VEN_9005&DEV_0010 = "aic78u2" ok
PCI\VEN_9005&DEV_001F = "aic78u2" ok
PCI\VEN_9005&DEV_0020 = "aic78u2" ok
PCI\VEN_9005&DEV_002F = "aic78u2" ok
PCI\VEN_9005&DEV_0030 = "aic78u2" ok
PCI\VEN_9005&DEV_003F = "aic78u2" ok
PCI\VEN_9005&DEV_0050 = "aic78u2" ok
PCI\VEN_9005&DEV_0051 = "aic78u2" ok
PCI\VEN_9005&DEV_005F = "aic78u2" ok
PCI\VEN_9004&DEV_7078 = "aic78xx" ok
PCI\VEN_9004&DEV_7178 = "aic78xx" ok
PCI\VEN_9004&DEV_7278 = "aic78xx" ok
PCI\VEN_9004&DEV_7478 = "aic78xx" ok
PCI\VEN_9004&DEV_7578 = "aic78xx" ok
PCI\VEN_9004&DEV_7678 = "aic78xx" ok
PCI\VEN_9004&DEV_8078 = "aic78xx" ok
PCI\VEN_9004&DEV_8178 = "aic78xx" ok
PCI\VEN_9004&DEV_8278 = "aic78xx" ok
PCI\VEN_9004&DEV_8478 = "aic78xx" ok
PCI\VEN_9004&DEV_8578 = "aic78xx" ok
PCI\VEN_9004&DEV_8678 = "aic78xx" ok
PCI\VEN_9004&DEV_5175 = "aic78xx" ok
PCI\VEN_9004&DEV_5275 = "aic78xx" ok
PCI\VEN_9004&DEV_5375 = "aic78xx" ok
PCI\VEN_9004&DEV_5475 = "aic78xx" ok
PCI\VEN_9004&DEV_5675 = "aic78xx" ok
PCI\VEN_9004&DEV_5775 = "aic78xx" ok
PCI\VEN_9004&DEV_5078 = "aic78xx" ok
PCI\VEN_9004&DEV_5178 = "aic78xx" ok
PCI\VEN_9004&DEV_5278 = "aic78xx" ok
PCI\VEN_9004&DEV_5378 = "aic78xx" ok
PCI\VEN_9004&DEV_5478 = "aic78xx" ok
PCI\VEN_9004&DEV_5578 = "aic78xx" ok
PCI\VEN_9004&DEV_5575 = "aic78xx" ok
PCI\VEN_9004&DEV_5678 = "aic78xx" ok
PCI\VEN_9004&DEV_5778 = "aic78xx" ok
PCI\VEN_9004&DEV_6078 = "aic78xx" ok
PCI\VEN_9004&DEV_6178 = "aic78xx" ok
PCI\VEN_9004&DEV_6278 = "aic78xx" ok
PCI\VEN_9004&DEV_6378 = "aic78xx" ok
PCI\VEN_9004&DEV_5075 = "aic78xx" ok
PCI\VEN_9004&DEV_6478 = "aic78xx" ok
PCI\VEN_9004&DEV_6578 = "aic78xx" ok
PCI\VEN_9004&DEV_6678 = "aic78xx" ok
PCI\VEN_9004&DEV_6778 = "aic78xx" ok
PCI\VEN_9004&DEV_7778 = "aic78xx" ok
PCI\VEN_9004&DEV_8778 = "aic78xx" ok
PCI\VEN_9004&DEV_8878 = "aic78xx" ok
PCI\VEN_9004&DEV_7891 = "aic78xx" ok
PCI\VEN_9004&DEV_7892 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78909004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78919004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78929004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78949004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78959004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78969004 = "aic78xx" ok
PCI\VEN_9004&DEV_7895&SUBSYS_78979004 = "aic78xx" ok
PCI\VEN_9004&DEV_7860 = "aic78xx" ok
PCI\VEN_9004&DEV_7896 = "aic78xx" ok
PCI\VEN_9004&DEV_7897 = "aic78xx" ok
PCI\VEN_9004&DEV_3B78 = "aic78xx" ok
PCI\VEN_9004&DEV_EC78 = "aic78xx" ok
PCI\VEN_9004&DEV_6075 = "aic78xx" ok
PCI\VEN_9004&DEV_3860 = "aic78xx" ok
PCI\VEN_1022&DEV_2020 = "amsint"
PCI\VEN_0E11&DEV_A0EC = "cpqfcalm"
PCI\VEN_0E11&DEV_AE10 = "cpqarray"
CPQARRAY_SCSI = "cpqarray" ok
CPQFCALM_SCSI = "cpqfcalm" ok
CPQFWS2E_SCSI = "cpqfws2e" ok
PCI\VEN_1000&DEV_0001 = "symc810"
PCI\VEN_1000&DEV_0002 = "symc8xx"
PCI\VEN_1000&DEV_0003 = "symc8xx"
PCI\VEN_1000&DEV_0004 = "symc8xx"
PCI\VEN_1000&DEV_0005 = "symc8xx"
PCI\VEN_1000&DEV_0006 = "symc8xx"
PCI\VEN_1000&DEV_000C = "symc8xx"
PCI\VEN_1000&DEV_000D = "symc8xx"
PCI\VEN_1000&DEV_000F = "symc8xx"
PCI\VEN_1000&DEV_000B = "sym_hi"
PCI\VEN_1000&DEV_008F = "fireport"
PCI\VEN_10DF&DEV_1AE5 = "lp6nds35"
PCI\VEN_10DF&DEV_f700 = "lp6nds35"
PCI\VEN_10DF&DEV_f800 = "lp6nds35"
PCI\VEN_1077&DEV_1240 = "ql1240"
PCI\VEN_1077&DEV_2100&SUBSYS_00011077 = "ql2100"
PCI\VEN_1077&DEV_1020 = "ql10wnt"
PCI\VEN_10CD&DEV_1100 = "asc"
PCI\VEN_10CD&DEV_1200 = "asc"
PCI\VEN_10CD&DEV_1300 = "asc"
PCI\VEN_10CD&DEV_2300 = "asc3550"
PCI\VEN_10CD&DEV_1300&SUBSYS_133010CD = "abp480n5.sys"
PCI\VEN_101E&DEV_9010 = "mraid35x"
PCI\VEN_101E&DEV_9060 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0438101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0466101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0467101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_0490101E = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_04671028 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_11111028 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_10C6103C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_10C7103C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_10CC103C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_10CD103C = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_11111111 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_11121111 = "mraid35x"
PCI\VEN_8086&DEV_1960&SUBSYS_03A2113C = "mraid35x"
PCI\VEN_1101&DEV_9500 = "ini910u"
PCI\VEN_1101&DEV_9400 = "ini910u"
PCI\VEN_1101&DEV_9401 = "ini910u"
PCI\VEN_1101&DEV_134A = "ini910u"
PCI\VEN_1101&DEV_0002 = "ini910u"
PCI\CC_0C0010 = "ohci1394"
BUSLOGIC_SCSI = "buslogic"
*BUS0042 = "buslogic"
MF\EISA_BUS4201_DEV0 = "buslogic"
PCI\VEN_104B&DEV_1040 = "buslogic"
FLASHPNT_SCSI = "flashpnt"
PCI\VEN_104B&DEV_8130 = "flashpnt"
PCI\VEN_1069&DEV_0001 = "dac960nt"
PCI\VEN_1069&DEV_0002 = "dac960nt"
PCI\VEN_1069&DEV_0010 = "dac960nt"
PCI\VEN_1011&DEV_1065&SUBSYS_00201069 = "dac960nt"
PCI\VEN_1014&DEV_002E= "ipsraidn"
PCI\VEN_105A&DEV_4D38 = "ultra66"
PCI\VEN_9005&DEV_00CF = "adpu160m"
PCI\VEN_9005&DEV_00C0 = "adpu160m"
PCI\VEN_9005&DEV_008F = "adpu160m"
PCI\VEN_9005&DEV_0080 = "adpu160m"
PCI\VEN_1077&DEV_1080 = "ql1080"
PCI\VEN_1000&DEV_0010 = "cpqarry2"
PCI\VEN_1011&DEV_0046&SUBSYS_40500E11 = "cpqarry2"
PCI\VEN_1011&DEV_0046&SUBSYS_40510E11 = "cpqarry2"
PCI\VEN_1011&DEV_0046&SUBSYS_40580E11 = "cpqarry2"

[BusExtenders.Load]
pcmcia   = pcmcia.sys
pciide   = pciide.sys
intelide = intelide.sys
mountmgr = mountmgr.sys
ftdisk   = ftdisk.sys
partmgr  = partmgr.sys
fdc      = fdc.sys
dmload   = dmload.sys
dmio     = dmio.sys
sbp2port = sbp2port.sys
lbrtfdc  = lbrtfdc.sys

[MSHDC.INF 2K SP4]
PCI\VEN_10B9&DEV_5215.DeviceDesc="ALi PCI IDE Controller"
PCI\VEN_10B9&DEV_5219.DeviceDesc="ALi M5219 PCI Bus Master IDE Controller"
PCI\VEN_10B9&DEV_5229.DeviceDesc="ALi M5229 PCI Bus Master IDE Controller"
PCI\VEN_1097&DEV_0038.DeviceDesc="Appian PCI IDE Controller"
PCI\VEN_1095&DEV_0640.DeviceDesc="CMD PCI-0640 PCI to IDE Controller"
PCI\VEN_1095&DEV_0643.DeviceDesc="CMD PCI-0643 PCI to IDE Controller"
PCI\VEN_1095&DEV_0646.DeviceDesc="CMD PCI-0646 Bus Master PCI to IDE Controller"
PCI\VEN_0E11&DEV_AE33.DeviceDesc="Compaq PCI IDE Controller"
PCI\VEN_8086&DEV_1222.DeviceDesc="Intel(r) 82092AA PCI IDE Controller"
PCI\VEN_8086&DEV_1230.DeviceDesc="Intel(r) 82371FB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_7010.DeviceDesc="Intel(r) 82371SB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_7111.DeviceDesc="Intel(r) 82371AB/EB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_2411.DeviceDesc="Intel(r) 82801AA Bus Master IDE Controller"
PCI\VEN_8086&DEV_2421.DeviceDesc="Intel(r) 82801AB Bus Master IDE Controller"
PCI\VEN_8086&DEV_2441.DeviceDesc="Intel(r) 82801BA Bus Master IDE Controller"
PCI\VEN_8086&DEV_244A.DeviceDesc="Intel(r) 82801BA Bus Master IDE Controller"
PCI\VEN_8086&DEV_244B.DeviceDesc="Intel(r) 82801BA Bus Master IDE Controller"
PCI\VEN_8086&DEV_248A.DeviceDesc="Intel(r) 82801CAM Ultra ATA Storage Controller-248A"
PCI\VEN_8086&DEV_248B.DeviceDesc="Intel(r) 82801CA Ultra ATA Storage Controller-248B"
PCI\VEN_8086&DEV_24C1.DeviceDesc="Intel(r) 82801DB Ultra ATA Storage Controller-24C1"
PCI\VEN_8086&DEV_24CA.DeviceDesc="Intel(r) 82801DB Ultra ATA Storage Controller-24CA"
PCI\VEN_8086&DEV_24CB.DeviceDesc="Intel(r) 82801DB Ultra ATA Storage Controller-24CB"
PCI\VEN_8086&DEV_24D1.DeviceDesc="Intel(r) 82801EB Serial Ultra ATA Storage Controller - 24D1"
PCI\VEN_8086&DEV_24DB.DeviceDesc="Intel(r) 82801EB Parallel Ultra ATA Storage Controller - 24DB"
PCI\VEN_8086&DEV_7199.DeviceDesc="Intel(r) 82440MX Bus Master IDE Controller"
PCI\VEN_1042&DEV_1000.DeviceDesc="PC Tech PCI IDE Single or Dual Port Controller"
PCI\VEN_1039&DEV_0601.DeviceDesc="SiS PCI IDE Controller"
PCI\VEN_1039&DEV_5513.DeviceDesc="SiS PCI IDE Controller"
PCI\VEN_10AD&DEV_0001.DeviceDesc="Symphony PCI IDE Controller"
PCI\VEN_10AD&DEV_0150.DeviceDesc="Symphony PCI IDE Controller"
PCI\VEN_105A&DEV_4D33.DeviceDesc="Promise Technology PCI IDE Controller"
PCI\VEN_105A&DEV_4D38.DeviceDesc="Promise Technology PCI IDE UDMA/66 Controller"
PCI\VEN_1106&DEV_0571.DeviceDesc="VIA Bus Master IDE Controller"
The answer was 42?
Kind regards, Jaak.

Re: Can I make a custom MassStorage DriverPack?

quick tip
When you (the user) make a revision and want to make sure the version is unique but higher...

Hmmm, let's first tell you what I want you to consider.
Suppose you downloaded 804.
We could update that to 8041, right?
YOUR version 8041 would not be same as ours but would have same name..
Well, when you call it 804a, it will be seen as newer than 8049.

Good to know, and it will tell your build apart from official DriverPacks Main releases. smile
(when testing team have to quickly change work done by another friend they started the a/b/c thing .. so testpacks do NOT always have  _nightly.)

Just the same, when it has a letter or a description trailing the version, it is NOT (yet) an official DriverPacks release.

The answer was 42?
Kind regards, Jaak.

Re: Can I make a custom MassStorage DriverPack?

I would like to add some links to interesting articles and topics.

first off; dissappearing drive letters, with USB storage and other USB devices.
http://www.uwe-sieber.de/usbtrouble_e.html

second; are card readers the only ingredient in lettersoup?
http://forum.driverpacks.net/viewtopic.php?pid=11012

TIP;
forum search changed to google search.
it automagically filled in driverpacks as key word in search field. LEAVE IT IN.

FORUM wide tip
1; Always use rightclick and open in new TAB or window when you want to follow a link..
2; hit the subscribe link to a topic you answer to.
(And to a topic you want to see replies to when you did not yet participate in that topic as starter or by replying yourself.)

The answer was 42?
Kind regards, Jaak.

Re: Can I make a custom MassStorage DriverPack?

Some 2003 drivers require a patch from MS

Get the patch here:
http://support.microsoft.com/kb/943295

See related issue here:
http://forum.driverpacks.net/viewtopic.php?id=3590