Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
LoneCrusader

Post-9x Hardware Experiment - "SDHost controllers"

Recommended Posts

Lots of background information to this experiment; mostly irrelevant (other than the fact that I solved a long-standing problem with this laptop that I had mentioned here and I had been unable to solve previously; maybe more on this later in an appropriate topic).

To make a long story short In the process of trying to set up Windows 98SE on a laptop I ran into some missing driver issues which in turn resulted in me experimenting to see if I can get a Windows 2000 driver stack for a "SDHost controller" device to load under Windows 98SE.

The Windows 2000 compatible files can be obtained from these sources (3 versions available; probably others somewhere).
https://www.driverguide.com/driver/detail.php?driverid=1697704
https://www.driverguide.com/driver/detail.php?driverid=1720873
https://support.lenovo.com/pa/en/downloads/ds003184
 

After unpacking these files and examining them for missing exports I found that the initial driver SDBUS.SYS is missing 5 WDM functions that are covered in the last WDMSTUB.SYS (from NUSB3.0e IIRC). The SFFDISK.SYS driver is missing another function, "IoSetHardErrorOrVerifyDevice" which is not covered; but that won't matter unless the first driver can be successfully loaded.

I modified the INF files to be Windows 9x compatible (including adding the correct corresponding lines for "NTMPDriver" and loading WDMSTUB.SYS with the SDBUS.SYS driver; note WDMSTUB and it's INF mentions are unnecessary if one has rloew's WDMEX package installed). (Also Note .SYS files also require changes that are part of rloew's WDMEX package; he may elaborate on this if he so chooses.) Attempted to install the driver.

The Add Device wizard crashes out on the "coinstaller" DLL file SDHCINST.DLL, and I get the following error.
"Setup cannot load the installer (sdhcinst.dll) for the SDHost hardware being installed. Contact your hardware vendor for assistance."

sdbuserror.bmp

I removed all references to the DLL file in the INF and the same error still happens, so the Add Device wizard has no other knowledge of the DLL file and thus the .SYS file must be calling it directly. (However this is a new "Class" of devices and it may be going to this file for [ClassInstall] properties; does Windows 98SE support a [ClassInstall32] section as used in the 2K INF?)

Has anyone ever seen an error like this? The 'net seems to know nothing about it (obviously excluding the specific DLL name and "SDHost" text from any search as these aren't going to produce 9x-relevant results).

I examined the DLL file under 98SE with Dependency Walker and no problems were reported. What could be causing Windows 98SE not to be able to load this DLL?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×