Jump to content

USB 2.0 Stack for Win98/ME


Tihiy

Recommended Posts

Those files were taken from pre-sp4 microsoft usb 2.0 drivers:

http://support.microsoft.com/kb/319973

Attention: usbport.sys higher than 5.0.2195.5652 is know to be faily, so please avoid now downloading MDGx pack.

There are also reports of BSODs when installing flash drives first time. They seem to be fixed in future NUSB.

Also non-letal BSODs are possible when disabling/removing controller or hub. Please test those cases.

This version works with no problems usbport.sys 5.0.2195.6681

no lockups or bsod.

Edited by PROBLEMCHYLD
Link to comment
Share on other sites

  • 4 weeks later...

@ MDGx i have installed from WinXP SP1 hotfix KB838989

USBEHCI.SYS 5.1.2600.1515

USBPORT.SYS 5.1.2600.1532

and they seem to work very well I have not witness any problems

maybe you and others should test more (Double Check) just to make sure i'm not wrong.

Edited by PROBLEMCHYLD
Link to comment
Share on other sites

  • 9 months later...

Your wish is my command... :sneaky:

* Unofficial USB 2.0 WDM Drivers USBEHCI.SYS 5.1.2600.5512, USBHUB20.SYS 5.0.2195.6891 + USBPORT.SYS 5.1.2600.5512 for Windows 98 SE/ME:

http://www.msfn.org/board/index.php?showtopic=91336

USB20DRV [230 KB, English]:

http://www.mdgx.com/files/USB20DRV.EXE

Experimental: may or may not work!

Windows 98 SE users: MUST install Native USB Drivers (NUSB) BEFOREHAND:

http://www.mdgx.com/web.htm#NUS

How to restore original drivers (if any):

Start -> Control Panel -> Add/Remove Programs -> "Unofficial USB 2.0: Restore original drivers" -> Add/Remove button.

HTH

Link to comment
Share on other sites

Can I just replace those 3 *.SYS driver files in my W98 by this newer? (I could use CZ version). This are original WinXP files or modified some way?

Tihy wrote about Windows 2000 SP4 *.SYS files but nUSB 3.3 already use it, what's the point? I think that INF file needs extension for intel ICH9 and ICH10.

EDIT1:

I just installed USB20DRV.EXE over nUSB 3.3 but my EHCI stopped work:

NTKERN.VXD failed to load driver code 2

I checked that SYS files was replaced OK.

I tried redetect EHCI and point USB20DRV.INF but still the same.

I found that USBPORT.SYS has missing import of some kernel funcs

usbport.png

EDIT2:

I tried USBPORT.SYS 5.00.2195.6941 and 5.00.2195.6926 from KBs suggested by Petr but then I got "Windows protection error" at boot in text mode and I had to revert older version 5.00.2195.5652

Edited by xrayer
Link to comment
Share on other sites

I confirm xRayeR's results:

In my experience, the last USBPORT.SYS to work OK in Win 98SE is v. 5.0.2195.5652, while for USBSTOR.SYS (in case one installs it with WDMSTUB.SYS v. 5.0.0.6 from NUSB30E) it's v. 5.0.2195.6773 (from KB823086). And for USBEHCI.SYS, the latest version that works is v. 5.0.2195.6882 (the latest available for W2k, check it here). Now, in what regards USBHUB20.SYS, it's more complicated: almost all chipsets work ok with v. 5.0.2195.6891, but VIA's don't. For VIA's chipsets, one needs VIA's own USBHUB20.SYS v. 4.90.3000.11 (findable inside VIA_USB2_V270p1-L-M), in order to avoid BSOD's on removing (hot-deplugging) USB 2.0 HUBs from the machine. Note that it must be substituted by hand, in true DOS, because NUSB3.3 contains v. 5.0.2195.6891, so it's really a downgrade.

With all due respect, I really marvel at how PROBLEMCHYLD's machine can get to run those XP versions at all.

Also non-letal BSODs are possible when disabling/removing controller or hub.

This issue mentioned by Tihiy is precisely the one due to USBHUB20.SYS v. 5.0.2195.6891 and VIA chipsets. While one can recover from the BSOD, the only sensible thing to do at that point is to restart or shutdown the machine.

@MDGx: If you could create a downgrader just for USBHUB20.SYS, for VIA machines, that would be most welcome and handy. Since NUSB 3.3 installs OK even on those machines, it would just be a matter of running the downgrader after installing NUSB, but before using any USB 2.0 HUB.

Link to comment
Share on other sites

@ MDGx i have installed from WinXP SP1 hotfix KB838989

USBEHCI.SYS 5.1.2600.1515

USBPORT.SYS 5.1.2600.1532

and they seem to work very well I have not witness any problems

maybe you and others should test more (Double Check) just to make sure i'm not wrong.

Sorry I'm quoting myself but when i replace the files above manually i didn't have any error messages, but then

we are all using different motherboards/chipset, btw mines is intel p4. Further testing is appreciated. My USB flash drive is a 1GB Sony MICROVAULT.

Thanks to all you guys.

Edited by PROBLEMCHYLD
Link to comment
Share on other sites

I didn't, myself, test Win XP SP1 files for USB, up to now. Those from XP SP2 and SP3 don't work OK, according to my tests.

So, here is a preliminary analysis:

windowsxp-kb838989-X86-ENU.exe

USBEHCI.SYS 5.1.2600.1515 PE Timestamp: 04/11/2004 3:21:54 AM CRC32: C45C00F6 Size: 025216

WDMCHECK: Module has no missing import links.

USBPORT.SYS 5.1.2600.1532 PE Timestamp: 05/14/2004 7:40:19 PM CRC32: CFC74047 Size: 139136

WDMCHECK: Module uses the following missing functions: IoCsqRemoveNextIrp; IoCsqInitialize; IoCsqInsetIrp.

Compare with:

USBEHCI.SYS 5.0.2195.6882 PE Timestamp: 12/12/2003 5:37:43 PM CRC32: 85F85C09 Size: 019792

WDMCHECK: Module has no missing import links.

USBPORT.SYS 5.0.2195.5652 PE Timestamp: 04/23/2002 5:46:44 PM CRC32: F7760957 Size: 135920

WDMCHECK: Module has no missing import links.

Having missing functions, USBPORT.SYS v. 5.1.2600.1532 is a no-no. USBEHCI.SYS v. 5.1.2600.1515 may be viable, however, and warrants more testing. I generally tend to stick with Win 2k files as they should be the least distant from the 9x files, at least in theory. But I'll give this one a try, soon.

Link to comment
Share on other sites

Ok guys... here is the updated downgrade [or the downgraded update]: :wacko:

* Unofficial USB 2.0 WDM Drivers USBEHCI.SYS 5.0.2195.6882, USBHUB20.SYS 4.90.3000.11, USBPORT.SYS 5.0.2195.5652, USBSTOR.SYS 5.0.2195.6773 + WDMSTUB.SYS 5.0.0.6 for Windows 98 SE/ME:

http://www.msfn.org/board/index.php?showtopic=91336

USB20DRV [242 KB, English]:

http://www.mdgx.com/files/USB20DRV.EXE

Experimental: may or may not work!

Windows 98 SE users: MUST install Native USB Drivers (NUSB) BEFOREHAND:

http://www.mdgx.com/web.htm#NUS

How to restore original drivers (if any):

Start -> Settings -> Control Panel -> Add/Remove Programs -> "Unofficial USB 2.0: Restore original drivers" -> Add/Remove button.

From the text file that pops up whenever 1 installs these drivers:

REQUIRED:

Windows 98 SE users: MUST install Native USB Drivers (NUSB) BEFOREHAND:

http://www.mdgx.com/web.htm#NUS

FYI:

This update forces the installation of these files versions, even if you had newer ones, for compatibility purposes:

http://www.msfn.org/board/index.php?showto...91336&st=20

How to restore your original files: see "RESTORE / UNINSTALL" further below.

RESTORE / UNINSTALL

How to restore original drivers (if any):

Start button -> Settings -> Control Panel -> Add/Remove Programs -> select "Unofficial USB 2.0: Restore original drivers" -> click Add/Remove button.

Or run this command from a DOS box/session/window:

RUNDLL32 ADVPACK.DLL,LaunchINFSection %windir%\INF\USB20DRV.INF,DefaultUninstall

This restores original files (if any) from %windir%\SYSTEM32\DRIVERS renamed backups:

USBEHCI.SY1

USBPORT.SY1

USBHUB20.SY1

USBSTOR.SY1

WDMSTUB.SY1

back to their original names:

USBEHCI.SYS

USBPORT.SYS

USBHUB20.SYS

USBSTOR.SYS

WDMSTUB.SYS

HTH

Link to comment
Share on other sites

Great, MDGx! Thanks a lot! :thumbup

But, since you've added the most up-to-date working USBSTOR.SYS from Win 2k, it's necessary to ensure WDMSTUB.SYS gets loaded too. The easiest way to do it is to use the appropriate line I left commented out in the latest version of USBSTOR.INF, findable in usbstor110c.7z, after inverting the semicolon as per this post, to ensure WDMSTUB gets loaded. * Note: It may be necessary to remove from device manager and redetect any previously detected USB devices, to get them to use the new usbstor.inf (insted of what already was in the registry).*

Thanks again. You rock! :thumbup

Link to comment
Share on other sites

But, since you've added the most up-to-date working USBSTOR.SYS from Win 2k, it's necessary to ensure WDMSTUB.SYS gets loaded too. The easiest way to do it is to use the appropriate line I left commented out in the latest version of USBSTOR.INF, findable in usbstor110c.7z, after inverting the semicolon as per this post, to ensure WDMSTUB gets loaded. * Note: It may be necessary to remove from device manager and redetect any previously detected USB devices, to get them to use the new usbstor.inf (insted of what already was in the registry).*
I've thought of that, but the way it is in your INF and the other way [i'll get to that a lil later = pls see #2. futher below] it is in the INF available inside maximus-decim's older NUSB 3.0 English executable, doesn't make sense to me.

#1. Let me explain... [the way it is in your modded INF]:

[uSBSTOR.AddReg]

;HKR,,NTMPDriver,,"wdmstub.sys,USBSTOR.SYS"

HKR,,NTMPDriver,,USBSTOR.SYS

In my INF [uSB20DRV.INF from USB20DRV.EXE] there are 2 NTMP driver strings for 2 different sections of USB installs, depending on the type of USB device (in this case EHCI + HUB) needed to be installed (only relevant strings quoted here):
[EHCI]

AddReg=EHCI.AddReg

[EHCI.AddReg]

HKR,,NTMPDriver,,USBEHCI.SYS

[ROOTHUB2]

AddReg=Usb2Hub.AddReg

[usb2Hub.Dev]

CopyFiles=C_HUB

AddReg=Usb2Hub.AddReg

[usb2Hub.AddReg]

HKR,,NTMPDriver,,USBHUB20.SYS

If I replace both with just this string:

HKR,,NTMPDriver,,"WDMSTUB.SYS,USBSTOR.SYS"

it defeats the purpose of installing separate drivers for different devices/types.

So this is what I did, to (hopefully) make every USB device type "happy":

[EHCI]

AddReg=EHCI.AddReg

[EHCI.AddReg]

;HKR,,NTMPDriver,,USBEHCI.SYS

HKR,,NTMPDriver,,"WDMSTUB.SYS,USBSTOR.SYS,USBEHCI.SYS"

[ROOTHUB2]

AddReg=Usb2Hub.AddReg

[usb2Hub.Dev]

CopyFiles=C_HUB

AddReg=Usb2Hub.AddReg

[usb2Hub.AddReg]

;HKR,,NTMPDriver,,USBHUB20.SYS

HKR,,NTMPDriver,,"WDMSTUB.SYS,USBSTOR.SYS,USBHUB20.SYS"

Please let me know if this makes sense to you (and others) who know more than I do about how USB drivers work, and if further modifications are necessary. Thnx.

#2. Another string I noticed exists [remarked/commented out] in maximus-decim's older NUSB 3.0 English INF [_NUSB.INF], is this:

;wdmstub

;HKLM,System\CurrentControlSet\Services\Class\System\0000,NTMPDriver,,"update.sys,wdmstub.sys"

which did not make sense to me either.

Let me explain...

The 0000 instance used in m-d's INF may or may not be allocated to the respective USB device, because no 2 systems are the same, and because everybody has different types [vendor ID] and different quantities of USB devices installed.

Therefore the 0000 instance may exist in the registry as 0001, 0002, 0003, etc... up to 0050 [most of the hardware devices can have up to 50 instances if memory serves (51 actually if one considers the 0000 instance) listed under specific sections in the registry].

For example, this is my 98SE registry relevant section:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\MEDIA\0003]

"NTMPDriver"="HIDUSB.SYS"

"DriverDesc"="Logitech WingMan Extreme Digital 3D (USB)"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Mouse\0000]

"NTMPDriver"="HIDUSB.SYS"

"DriverDesc"="Microsoft USB IntelliMouse Explorer (IntelliPoint)"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Mouse\0005]

"NTMPDriver"="MOUHID.VXD"

"DriverDesc"="HID-compliant mouse"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\HID\0000]

"NTMPDriver"="HIDUSB.SYS"

"DriverDesc"="USB Human Interface Device"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\USB\0000]

"NTMPDriver"="UHCD.SYS"

"DriverDesc"="Intel 82371AB/EB PCI to USB Universal Host Controller"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\USB\0004]

"NTMPDriver"="USBHUB.SYS"

"DriverDesc"="USB Root Hub"

Hopefully the "fix" I made to USB20DRV.INF [pls see #1. above] should take care of this issue too. :blink:

Pls test the modded USB20DRV at your convenience:

http://www.mdgx.com/files/USB20DRV.EXE

Best wishes, Happy Holidays + Hpy Nw Yr!

HTH

Link to comment
Share on other sites

  • 3 months later...

Done...

* Unofficial USB 2.0 WDM Drivers USBCCGP.SYS 5.1.2600.5512, USBEHCI.SYS

5.0.2195.6882, USBHUB20.SYS 4.90.3000.11, USBPORT.SYS 5.0.2195.5652,

USBSTOR.SYS 5.0.2195.6773 + WDMSTUB.SYS 5.0.0.6 for Windows 98 SE/ME:

http://www.msfn.org/board/index.php?showtopic=91336

USB20DRV [257 KB, English]:

http://www.mdgx.com/files/USB20DRV.EXE

Experimental: may or may not work!

How to restore original drivers (if any):

Start -> Settings -> Control Panel -> Add/Remove Programs ->

"Unofficial USB 2.0: Restore original drivers" -> Add/Remove button.

I'll post it on my site in the next few minutes...

http://www.mdgx.com/web.htm#9SU

HTH

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

What is the benefit of this upgrade? :unsure:

I have already NUSB 3.3 installed (and a USB 2.0 hardware card).

Can it give me compatibility with more USB2 devices?

How do I see if it is working?

Thx by advance :) .

Link to comment
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...