Oops sorry it's the latest 8.05 pack

and I ended up removing it and it worked fine.

You could also use the Utility i wrote called FindHWIDS in this same sub-forum to write the HWIDS it finds within C:\D\M
This will only add one instance of each HWIDS that way there are no issues with duplication.

Hey guys,

exlstor kept popping up with an error stating the it couldn't find something in "C:\Program "

The driver is located at C:\D\M\E

Just thought you should know. If you add these HWIDS to the INF in the sysprep.inf and then run -bmsd for sysprep.exe you'll see what I mean.

What because of no code no one speaks to me?? sad

wink

v1.8 is out - Fixed some dyslexia for CSV and CVS... Added Display\, PCIIDE\, IDE\, ISAPNP\

v1.7 is out... check the first post!

Sounds good!

The next version will have USBSTOR\ and HID\

Once we make sure it'll pull correct data we can then worry about GUI and selecting which type of HWID you want to parse, what folder location(s) you want, etc.

That IS crazy talk wink

I'll try searching the forums to see whats what.

I see what your saying though, for example here's one HWID with four different INF's that it could relate to. And they all look like different companies but the same chipset.

PCI\VEN_11C1&DEV_AB20    C:\D\W\AG\WLAGSALL.INF    107    9/22/2003     7.82.0.550
PCI\VEN_11C1&DEV_AB20    C:\D\W\Lmc1\WLAGSALL.INF    112    7/10/2003     7.82.0.492
PCI\VEN_11C1&DEV_AB20    C:\D\W\o\WLLUC48B.INF    32    7/15/2002     7.64.1.316
PCI\VEN_11C1&DEV_AB20    C:\D\W\o3\WLAGSALL.INF    107    2/27/2003     7.82.0.354

There was a little error in the 1.6 script for where I put the header portion of the csv script. Its all fixed though.

What exactly should I be looking for in the Broadcom drivers?? Are Broadcom folders B1, B2, B3 and B4?

Yeah I knew that the array would be a whole lot faster. I just wasn't sure on how to make it work until yesterday.

v1.6 is updated - migrated to array's instead, much faster! Scanning found 40,126 HWIDS from all DriverPacks (1,329 INF files) only took 144 seconds! However, according to Windows file search I'm missing 10 inf files. Scratch that, Windows file search is incorrect it IS actually 1,329 somehow Windows file search is finding an extra 10 somewhere. I confirmed this with Agent Ransack which gave me 1,330 that had one folder. v1.5 took 755 seconds to complete, yikes!

Echo_Platoon wrote:

Should we have it also check for ACPI\ and ACHI\ as well?  I know I have seen some HWIDs that start with those.

I can add those if you want... Perhaps I'll make the GUI so you can select the different types too. I just want to make sure we get the logic down before I add onto it. Make sure it parses the correct data.

OverFlow wrote:

make sure your code checks the beginning of the lines for a semicolon too...

that means the line is to be ignored... wink

It does that already by default. It'll also ignores the rest of a string when something is like PCI\VEN... ; Something here the Something here will not be added. I also added a check to make sure it won't add the ExcludeFromSelect HWIDS... the ones that should be ignored too!



------------
Ok, so I just added the other ACPI\ and AHCI\ it's updated in above code...

Next release should be faster with FileReadToArray instead of FileOpen and FileReadLine, we'll see though.

Thanks Overflow!

I'm also going to be checking my logic of how I select the HWIDS to make sure that I'm getting good data. Also, right now the program basically opens each file individually and then reads each line to find the HWIDS. If I can figure it out I'm going to have an array read the file and find the HWIDS. It should be much faster, I hope anyways.

Also, I wouldn't mind helping out the dev team through testing packs and whatnot either.

Ok so I added the ability to output to CSV. I also fixed some checks and added the versioning for CSV only. The file goes to the current dir and is called hwids.csv.

See first post for updated code.

Although I need someone in the team to test it to make sure it's getting the right results. When it parses to sysprep.inf it'll over write whatever hwid it scans last. So it's best to use CSV output for finding dupes.

OverFlow wrote:

your still missing 
b.  Process INFs for HDAUDIO\FUNC
c.  Process INFs for USB\

echoplatoon reminded me...

You need HDAUDIO\FUNC and USB\ to get MassStorage working for sysprep??

I think I understand why you want those... you also want to use this to scan chipset or audio too. Well, here's the latest version that will do it. It still outputs to the sysprep.inf. Perhaps you would also want the ability to output to an ini file? I'm also adding command line ability to choose the folder scan as well as the ini/inf location.
...

see updated code in first post...

So I updated the program to also find those other things *, SCSI and the weird nVidia GenNvRaidDisk. It should return good HWIDS for all MassStorage devices.
...

see code in first post...

Echo_Platoon wrote:

kickarse - If you would like, I could help you create a GUI/window for your application, so that it could take an input from the user for the location to scan for HWIDs.  That way, you could compile the final program into an EXE so it could be run by anyone and no one would have to worry about compiling it.  I have been using AutoIt a lot lately for programs I've made for my job and have learned how to make GUIs/windows for AutoIt programs.  I could design it so that the user enters the path into the field and when the user clicks on the button it will run your program, going through the location the user entered.  Please let me know if you would like me to do this.

--Echo_Platoon

Thanks Echo for the invitation but I can do that easily myself. I do appreciate it though!

I'm going to be working on getting the extra hwids extracted.

So what else should I scan for? Just "SCSI\"?

I've noticed the other Nvidia devices are weird too

;NVIDIA nForce RAID
SCSI\NVIDIA__Raid_Disk________ = "C:\SYSPREP\DRIVERS\M\N\5\nvrd325.inf"
SCSI\__NVIDIA_______Raid_Disk = "C:\SYSPREP\DRIVERS\M\N\5\nvrd325.inf"
SCSI\NVIDIA__Raid_Disk_20_____ = "C:\SYSPREP\DRIVERS\M\N\5\nvrd325.inf"
SCSI\__NVIDIA____Raid_Disk_20 = "C:\SYSPREP\DRIVERS\M\N\5\nvrd325.inf"
*NVRAID20 = "C:\SYSPREP\DRIVERS\M\N\5\nvrd325.inf"
GenNvRaidDisk = "C:\SYSPREP\DRIVERS\M\N\TM\nvraidtm.inf"
*_NVRAIDBUS = "C:\SYSPREP\DRIVERS\M\N\TM\nvraidtm.inf"
*NVRAIDBUS = "C:\SYSPREP\DRIVERS\M\N\TM\nvraidtm.inf"

I'll see what I can cook up!

=== Introduction ===
FindHWIDS will export a list of hardware id's (HWIDS) from an INF file or files to a CSV or Sysprep.inf file. CSV output will give you all hardware id's including duplicates, plus driver date, version, etc. The Sysprep.inf output will not produce ANY duplicates. Testing is still recommended (Sysprep may crash when it comes to issues with the actual driver). And it will only parse SCSIAdapter and HDC (no need to specify in classes filter).

FindHWIDS will recursively (or iteratively) scan, or search, a folder, looking at all folders within that one folder, for any INF files. It will then scan each INF file for HWIDS, those that aren't commented or not usuable in any way. FindHWIDS can also scan multiple different folders and/or files by dragging and dropping these into the Location input box.

FindHWIDS will also allow you to only export the hardware found in the current system. Useful for PE environments to export to sysprep.inf for an offline integration of MassStorage drivers. I haven't tested this function fully yet with PE. So please test!

There's also the ability to export all current hardware in the system to a log file, with information about the currently installed hardware. Useful for testing and troubleshooting purposes (similar to devcon export).

=== Latest Version Download via Dropbox - FindHWIDS v3.2s ===
http://dl.dropbox.com/u/464978/FindHwids.v3.2s.exe
http://dl.dropbox.com/u/464978/FindHwids.v3.2s_x64.exe NEW!

=== Future Plans ===
-- Export only Version information, possibility of choosing what exactly to export.
-- Add export INF locations into the registry (like Vernalex's tool)
-- Ability to parse export OemPNPDriverPath, possibly also MassStorage section
-- Ability to parse and export DevicePath registry entry for drivers
-- Add Exclude, along with the Include, filters to both Class and HWIDs
-- Change so that folders and inf files are separated and easy to add/remove the locations
-- Set parameters using an INI file and Auto start modes
-- Work on install functionality (again? I don't know)
-- Driver version,pnpid,date precedence for exporting to registry and sysprep types
-- Export Raw Data (?, not sure of the need)
-- Find if a list of PNP Ids supplied via txt, ini, current hardware is in the list of drivers and report on what is and isn't found.
-- Write a deep scan function when pnpid is "malformed" (to my standards at least) where the line continues to the next with a backslash
-- Adjust hardware report to export to CSV (similar to current INF export) and get current driver path

=== Change Log ===
v3.2s @ 2012-10-16 -
-- Now a 64b version available! (quicker too!)
-- Speed up CRC32 hashing
v3.2r @ 2012-10-15 -
-- Changed Checksum to CRC32 and made it an internal script instead of a third party DLL, also make export about 8% smaller
-- Please be aware the the longer the location and name of the CSV file the longer it may take for the export to complete
-- Adjusted some information for message boxes
-- You can search for PNP Id's at the start of the HWID like PCI\VEN or a string within the HWID like SUBSYS_123456C
-- UPX Compression changed to lowest to help with virus scanners
-- Changed initial CSV name to FindHWIDS-DATE-TIME.csv, which should help with historical testing and continuous testing
-- Created a ClassGUID translator to help speed up (and correct) Classes (because it won't have to reread the INF)
v3.2p @ 2011-02-28 -
-- Fixed issue with Reading sections bombing when key/value is directly followed by a section
v3.2o @ 2011-02-24 -
-- Fixed issue with Array growing to enormous proporations during reading INF File
v3.2n @ 2011-02-24 -
-- Updated scanning for selecting Windows 7/Vista/2008/2008R2 OS's
-- Changed scan progress indication to a scanned to total scan items
-- Fixed issue with Automatically Choosing OS and Arch
-- Removed support for Pre-NT Only INF Files
... ... ... ... check "About" for a more historical change-log (still can't believe I've been developing this for 4 years now)

I was trying to calm his horses so Madboy could just get things working properly first before adding crap in. Not condoning leeching.

I think adding links to the download areas would be wonderful! Or only allow your program to download directly from the internet.

Did you mean wraith or wrath?? All I was talking about was giving people the link to that page...

hmm... interesting.

I think I could figure something from http://driverpacks.net/DriverPacks.xml

I thought there was a way to download the drivers automatically but I can't find it. Anyone?

323

(36 replies, posted in DriverPack Mass Storage)

Everything seems to work well with 7.11 driverpack! I used Skillz script for generating HWIDS.

I use this in conjunction with Vernalex's Sysprep Driver Scanner

Run Vernalex Scanner on directories you want (I usually only do Chipset, CPU, MassStorage and LAN; because Sound and Graphics usually screw everything up)

Sysprep.inf
--------------
; NOTHING IN OEM PNP DRIVERS SECTION

[Sysprep]
    BuildMassStorage=Yes

[SysprepMassStorage]

Sysprep.01.bat
------------------

sysprep.exe -bmsd

----------------------------------------> Builds the current driver list


HWIDS.bat
-------------

REM Created by Skillz on Driverpacks.net Forums
rem %1 is path to MassDriverPacks Folder
IF "%1"=="" GOTO EOF
IF NOT EXIST %1 GOTO EOF

SETLOCAL ENABLEDELAYEDEXPANSION
SET STDOUT=%cd%\HWIDS.TXT
TYPE>%STDOUT% 2>NUL

::traverse drivers path
CALL :TRAVERSAL %1

GOTO EOF

:TRAVERSAL
PUSHD %1
for /f %%f in ('Dir /b *.inf') do (
 for /f "eol=- tokens=2 delims=," %%i in ('find /i "pci\ven" %%f') do (
  for /f "tokens=*" %%j in ("%%i") do (
    for /f "tokens=1* delims=_" %%k in ("%%j") do (
      if /i "%%k" EQU "PCI\VEN" (
        for /f "usebackq tokens=1* delims=; " %%a in ('%%j') do (
          echo %%a=%cd%\%%f>>%STDOUT%
        )
      )
    )
  )
)
)

FOR /F %%I IN ('DIR /AD /OGN /B') DO (
CALL :TRAVERSAL %CD%\%%I
)
POPD
GOTO EOF

:EOF

HWIDS.bat
-------------

HWIDS.cmd D\M

------------------------------> Put both HWIDS.bat and HWIDS.cmd at the root of C:

The file created will be called HWIDS.txt at root C:, copy the whole list into the Sysprep file under the section [SysprepMassStorage] after the Syspreped switch -BMSD imported drivers.

REMEMBER ALWAYS CREATE TWO IMAGES, one for BASE and one for SYSPREP.

324

(36 replies, posted in DriverPack Mass Storage)

Everything seems to work well with 7.11 driverpack! I used Skillz script for generating HWIDS.

I use this in conjunction with Vernalex's Sysprep Driver Scanner

Run Vernalex Scanner on directories you want (I usually only do Chipset, CPU, MassStorage and LAN; because Sound and Graphics usually screw everything up)

Sysprep.inf
--------------
; NOTHING IN OEM PNP DRIVERS SECTION

[Sysprep]
    BuildMassStorage=Yes

[SysprepMassStorage]

Sysprep.01.bat
------------------

sysprep.exe -bmsd

----------------------------------------> Builds the current driver list


HWIDS.bat
-------------

REM Created by Skillz on Driverpacks.net Forums
rem %1 is path to MassDriverPacks Folder
IF "%1"=="" GOTO EOF
IF NOT EXIST %1 GOTO EOF

SETLOCAL ENABLEDELAYEDEXPANSION
SET STDOUT=%cd%\HWIDS.TXT
TYPE>%STDOUT% 2>NUL

::traverse drivers path
CALL :TRAVERSAL %1

GOTO EOF

:TRAVERSAL
PUSHD %1
for /f %%f in ('Dir /b *.inf') do (
 for /f "eol=- tokens=2 delims=," %%i in ('find /i "pci\ven" %%f') do (
  for /f "tokens=*" %%j in ("%%i") do (
    for /f "tokens=1* delims=_" %%k in ("%%j") do (
      if /i "%%k" EQU "PCI\VEN" (
        for /f "usebackq tokens=1* delims=; " %%a in ('%%j') do (
          echo %%a=%cd%\%%f>>%STDOUT%
        )
      )
    )
  )
)
)

FOR /F %%I IN ('DIR /AD /OGN /B') DO (
CALL :TRAVERSAL %CD%\%%I
)
POPD
GOTO EOF

:EOF

HWIDS.bat
-------------

HWIDS.cmd D\M

------------------------------> Put both HWIDS.bat and HWIDS.cmd at the root of C:

The file created will be called HWIDS.txt at root C:, copy the whole list into the Sysprep file under the section [SysprepMassStorage] after the Syspreped switch -BMSD imported drivers.

REMEMBER ALWAYS CREATE TWO IMAGES, one for BASE and one for SYSPREP.

Love the script Skillz!

Everything seems to work well with 7.11 drivers too!

I use this in conjunction with Vernalex's Sysprep Driver Scanner

Run Vernalex Scanner on directories you want (I usually only do Chipset, CPU, MassStorage and LAN; because Sound and Graphics usually screw everything up)

Sysprep.inf
--------------
; NOTHING IN OEM PNP DRIVERS SECTION

[Sysprep]
    BuildMassStorage=Yes

[SysprepMassStorage]

Sysprep.01.bat
------------------

sysprep.exe -bmsd

----------------------------------------> Builds the current driver list


HWIDS.bat
-------------

REM Created by Skillz on Driverpacks.net Forums
rem %1 is path to MassDriverPacks Folder
IF "%1"=="" GOTO EOF
IF NOT EXIST %1 GOTO EOF

SETLOCAL ENABLEDELAYEDEXPANSION
SET STDOUT=%cd%\HWIDS.TXT
TYPE>%STDOUT% 2>NUL

::traverse drivers path
CALL :TRAVERSAL %1

GOTO EOF

:TRAVERSAL
PUSHD %1
for /f %%f in ('Dir /b *.inf') do (
 for /f "eol=- tokens=2 delims=," %%i in ('find /i "pci\ven" %%f') do (
  for /f "tokens=*" %%j in ("%%i") do (
    for /f "tokens=1* delims=_" %%k in ("%%j") do (
      if /i "%%k" EQU "PCI\VEN" (
        for /f "usebackq tokens=1* delims=; " %%a in ('%%j') do (
          echo %%a=%cd%\%%f>>%STDOUT%
        )
      )
    )
  )
)
)

FOR /F %%I IN ('DIR /AD /OGN /B') DO (
CALL :TRAVERSAL %CD%\%%I
)
POPD
GOTO EOF

:EOF

HWIDS.bat
-------------

HWIDS.cmd D\M

------------------------------> Put both HWIDS.bat and HWIDS.cmd at the root of C:

The file created will be called HWIDS.txt at root C:, copy the whole list into the Sysprep file under the section [SysprepMassStorage] after the Syspreped switch -BMSD imported drivers.

REMEMBER ALWAYS CREATE TWO IMAGES, one for BASE and one for SYSPREP.