Help - Search - Members - Calendar
Full Version: Modem Driver Finder
UBCD4Win Forums > Main Forum: UBCD4Windows - Support > Hardware Plugin Builder Tool
pcuser
I'm trying to make a utility to find the driver files required for your modem. It works on the two systems that I've tried it on but I'm curious to see how it works on other systems.

You can download it from the link below (it's only 64k)
http://www.ezpcfix.net/beta/Modem.exe

Here's a summary of what it does...

1. It looks for the modem in the registry under: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\000?

2. When it finds it, it reads the "InfPath" value to determine the name of the inf file then looks for that file in WIN_PATH\inf

3. When it finds the file, it reads all the files from the "[SourceDisksFiles]" section of that inf file and strips everything except for the actual file name from each entry.

4. It then tries to find the file in these locations:

The root of the hard drive
WIN_PATH
WIN_PATH\inf
WIN_PATH\inf\other
WIN_PATH\inf\catalog
WIN_PATH\system
WIN_PATH\system32
WIN_PATH\system32\drivers
WIN_PATH\system32\drivers\etc

(does anyony know the directory id for "inf\catalog" and "inf\other" ? )

Then it loads the path/filename in the listbox.

What I'm trying to do is create a utility to automatically generate a modem driver plugin.

Any pointers from the driver/plugin guru's?

Tom
DigiWiz
smile.gif

Can you make it so it gives some sort of output? I can see the files it finds, but can't really get a list of those files to show you the difference in what it finds, and the actual files i use in my dialup plugin... like maybe output to a text file?

DW

smile.gif
pcuser
ok, now it also writes the path/filename to MyDrivers.txt (it's already uploaded to the link in my first post).

Thanks Digi smile.gif

Tom
rdsok
@pcuser

I pulled the proper info for my modem....
pcuser
Thank you rdsok wink.gif

Tom
DigiWiz
wink.gif

Damn that was fast!

But here's where it gets a little complicated...

The modem plugin is essentially TWO seperate plugins - the first I've labeled "Dialup" which handles all the basic net services stuff, which would be pretty much the same for everyone, and the second plugin I named Conexant, which contains the actual drivers. When my OEM modem fried a couple of years ago, I bought a generic modem from Buy.com for $14 (free shipping no tax) - in fact I bought two, with one as a backup.

After some research, I noted it had a Conexant chipset (for the uninitiated, Conexant does NOT make modems, they only make chipsets for modems). As such, included in XP is a set of generic Conexant modem drivers, which is what I use. So the output from your utility, and what I actually use are divergent. The output from modem.exe is:

CODE
C:\WINDOWS\system32\drivers\HSF_CNXT.sys
C:\WINDOWS\system32\drivers\HSF_DPV.sys
C:\WINDOWS\system32\drivers\HSFHWBS2.sys
C:\WINDOWS\system32\uci32100.dll
C:\WINDOWS\system32\drivers\mdmxsdk.sys
C:\WINDOWS\system32\mdmxsdk.dll
C:\WINDOWS\system32\drivers\HSFProf.cty


My actual Conexant plugin is:
CODE
; PE Builder v3 plug-in INF file
; http://911cd.net/forums
; Conexant 56K Modem (generic) inf file for PE builder by DigiWiz

[Version]
Signature= "$Windows NT$"

[PEBuilder]
Name="Modem driver: Conexant 56K Modem-Generic XP drivers"
Enable=1

[WinntDirectories]
a=inf

[SourceDisksFolders]
inf=a

[SourceDisksFiles]
HSF_INST.dll=2
HSF_AMOS.sys=4
HSF_BSC2.sys=4
HSF_FALL.sys=4
HSF_FAXX.sys=4
HSF_FSKS.sys=4
HSF_K56K.sys=4
HSF_MSFT.sys=4
HSF_SAMP.sys=4
HSF_SOAR.sys=4
HSF_TONE.sys=4
HSF_V124.sys=4


Don't know if this helps or muddies the waters...

DW

smile.gif

PS: modem.exe also complains about not finding HXFSetup.exe. I should probably just send you my entire plugin so you can examine it in detail to see what necessary...
rdsok
I think this is a cool concept... expanding on this to include all of the current system drivers would allow any number of possible system specific boot CD's to be made... say a restore CD or repair CD. Building and booting the CD would also be considerably quicker considering you wouldn't need to concern yourself with hundreds of drivers.
pcuser
I just uploaded a new version that creates the actual plugin.

After you run the tool (and click find), it'll create the plugin in a folder called "MyModem" in the same directory. Copy this folder to your plugin folder and build UBCD4WIN.

Let me know if it works with your modem.

NOTE *** This is a VERY rough draft and I don't even know if this method will work or not but if it does then the concept can be expanded to include support for many more devices (like rdsok mentioned) so please let me know how it goes...

Tom
rdsok
All I can provide until Tues. evening CST time is a preliminary report... I'm out of CD's at home and only have a few at work...

Looking over the files it placed in the folder... it look good.

But I can't test it in QEMU or VMware Player so it will have to wait till later for the live test. Its actually getting late enough here that I was dingy enough to start it up before I thought about that even. blush.gif
SteelTrepid
I'll be checking this out soon. I have several modems to test with.
I just need to find a hard drive that will work in my test system. I have about 10 old drives sitting around and most of them are junk. I'll get a temporary XP install on one of them and start swapping modems.
I'll probably use a combination of tools also to see where and what is being done when the drivers are installed. I'll use RegShot, FileMon, InstallRite, and maybe RegMon to see if anything else is installed in different locations.


I should have results in the late afternoon, can't wait to see how well it works!!
EdInNH
I think this is a tremendous idea! I have an Intel® 537EP V9x DF PCI modem (whatever that is - all I know is that it is a 56K modem) on my Dell 8400. I have never seen any supporting drivers with which to dial out so I tried MODEM.EXE. It all seemed to work looking at the PE builder log file so I created the boot CD and tried it. I didn't have success, but I suspect I am doing something wrong procedurely in the UCBD4Win environment. I started the Dial-up services, created a new phone book connection with my normal modem dial-up number and then clicked on the dial button. I got error 797 in connecting - modem not found or busy.

I booted again and this time answered yes as to whether I wanted to start the network. After a short while, everything hung. I booted again and then found a menu to start network and dialup services - that seemed to look for a number of devices but eventually hung again.

If anyone sees anything procedurely that I should be doing or can point me to some reading, I would appreciate it.
SteelTrepid
Do you have the "modem" or "dialup" plugin in your build?? I think with 2.55 I removed it and the modem drivers I had created in the past.

I told everyone that I would get it back up as a seperate download but still haven't. As a matter of fact I've lost those files and I need an older version of the project to get them from.
rdsok
Well... SteelTrepid's comments may also cover the error I had during the build at work... but I didn't have it at home but I'm going to verify that again.

During the build's first part, it produced an error, not thinking I clicked the Close button and it went on to finish the build and even created an ISO which I"ve burned and it boots. It also recognises the modem but gives the error 692 which is a hardware error. It does appear that the files are where they should be etc... but I'll be damned if I can't find there log file that contains the error I saw. I may have to build again at work to recreate it... if you know where else a log may have been placed ( there are 2 logs... autobuild.log and pebuilder.log in the "root" of the project dir. ) I'll certainly rather look again for it.
SteelTrepid
My results so far aren't that great either. It took me forever to install XP on my test system, power supply problem. Now I can't seem to find any modems!!! Well some, the 56K I'm having problems finding drivers for it. Then I found an old 33.6 and 14.4!! Seems I thought I had more but don't! I'm going to have to power my system down soon to pull that modem out, I know I have a driver disc for that one.

BTW- the dialup plugin is still in 2.55 and all beta's. I should have checked before posting.
rdsok
I also found out what happened to the log file I was looking for.. it was overwritten (pebuilder.log)... maybe I shouldn't have used the Start Autobuild(click-me).cmd command to build with.... This time I took the time to save a copy before letting it continue.

Here is the relevant area for the modem that gave an error....

Processing INF file "D:\UB3_Modem\plugin\Malware\spybot\spybot.inf"
Section "WinntDirectories"
Section "SourceDisksFolders"
Processing INF file "D:\UB3_Modem\plugin\Malware\WinSockFix\winsockxpfix.inf"
Section "WinntDirectories"
Section "SourceDisksFiles"
Processing INF file "D:\UB3_Modem\plugin\MyModem\MyModem.inf"
Section "WinntDirectories"
Section "SourceDisksFolders"
Error: Cannot find "inf"
Section "SourceDisksFiles"
Processing INF file "D:\UB3_Modem\plugin\Network\bartpe\bartpe.inf"
Section "SourceDisksFiles"
Processing INF file "D:\UB3_Modem\plugin\Network\filezilla\filezilla.inf"
EdInNH
In answer to SteelTrepid's question if there was a "modem" or "dialup" plugin: There was a "dialup" plugin (as you have since observed) but there was no "modem" plugin. There was a "modemdrivers" plugin however, that I removed. It contained info for two individual modems - the PcTelhsp2868 modem folder contained a file named "modem.sys"; since the "mymodem" plugin generated by MODEM.EXE also had a file named "modem.sys", I was concerned that there might be a conflict down the line on the boot CD. I thought removing the "modemdrivers" plugin might avoid such a conflict.
stidyup
If I remember I'll try my ADSL modem at home as it's got a conexant chipset but the generic drivers with XP won't work with it. So the results may be interesting.
stidyup
Tried it at home, just getting the following error:

Run-time error '6'

Overflow
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2007 Invision Power Services, Inc.