• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
maximus-decim

Maximus-Decim Native USB Drivers

804 posts in this topic

OK I figured it out. I needed Paragon NTFS for Windows 98 to see the NTSF volume.

Thanks for this site. After two weeks I'm finally getting somewhere with this 98FE system.

0

Share this post


Link to post
Share on other sites

I have two questions.

How can I completely uninstall NUSB (for example, to try older version)?

Does NUSB support any PCI USB 2.0 controller card or should I avoid some of them?

0

Share this post


Link to post
Share on other sites

A Proposal/Suggestion for the Expansion of NUSB

Hello, maximus-decim! :hello:

My compliments on a great package for 98SE. :thumbup

I have a suggestion for a small "expansion" of NUSB, and I'd appreciate your thoughts on it.

As some of you may know from other threads I have been working for a while now on building myself a "slipstreamed" installation of Windows 98SE. Over the past few days I have been working with getting NUSB integrated into my installation and I have made a couple of discoveries that I believe are relevant.

Other threads relevant to this discussion:

Some of you may also be familiar with RetroOS's thread about getting a USB Composite Device working in 98SE with NUSB (and in his case 98SE2ME.) And with Tihiy's thread that originated the USB2.0 stack for 9x.

Do not install the USB20DRV package from this thread, it is listed here for reference in this situation only!

After I had successfully integrated NUSB into my slipstream, I browsed through these threads for any relevant information about any further USB-related updates that I might integrate. After reading RetroOS's thread, I decided to take a look at USBCCGP.SYS. RetroOS stated that the Windows ME version of this file did not work for him. He searched for a 98SE and a Win2K equivalent of this file, and they do not use this file. Windows XP does, however. He went on to get various XP versions of this file to work on his system.

In his case, 98SE2ME had copied the Windows ME version of USB.INF to his system, renamed to USBME.INF. This Windows ME .INF file calls for USBCCGP.SYS, and the combination of the Windows ME .INF and the Windows XP USBCCGP.SYS allowed him to get his device working.

dencorso suggested in that thread that it might be possible to "merge" the 98SE and ME USB.INF's into a single file. In my case(for slipstreaming purposes), I needed to do this, so I did so. Now my custom USB.INF would call for and properly install USBCCGP.SYS.

The next step was to examine the various versions of USBCCGP.SYS available. Keeping in mind that:

1.) the ME version did NOT work for RetroOS

2.) rloew had also informed me that he had trouble with the ME version of this file

I tested the following versions on my 98SE system with the WDMCHECK utility:

Windows ME (4.90.3000.1)

XP RTM (5.1.2600.0)

XP SP3 (5.1.2600.5512)

XP KB945436 (5.1.2600.5585)

ALL versions of USBCCGP.SYS have missing functions on Windows 98SE. BUT - they are missing DIFFERENT functions.

The Windows ME version is missing the following functions:

IoFreeWorkItem

IoAllocateWorkItem

The Windows XP versions are missing the following functions:

USBD_ParseConfigurationDescriptorEx

USBD_CreateConfigurationRequestEx

Now, the missing functions of the Windows ME version MAY POSSIBLY be corrected by adding WDMSTUB.SYS that was previously a part of this package in an earlier version. However, the Windows ME version is documented to have problems.

Here's where it gets interesting. The missing functions of the Windows XP USBCCGP.SYS can be solved by using the Windows ME version of USBD.SYS instead of the 98SE version. In RetroOS's case, as he had installed 98SE2ME, he had the ME USB.INF and the required ME USBD.SYS, so it worked.

So here's the proposal. I feel that it would be a good idea to add the Windows ME USB 1.1 Driver Stack to NUSB along with the XP USBCCGP.SYS to expand its capabilities. It would involve adding the following files:

ME RTM:

OPENHCI.SYS 4.90.3000.1

UHCD.SYS 4.90.3000.1

USBD.SYS 4.90.3000.1

ME Q278289:

USBHUB.SYS 4.90.3002.1

XP KB945436:

USBCCGP.SYS 5.1.2600.5585

And a "merged" USB.INF file combining the contents of 98SE's USB.INF and ME's USB.INF.

I have attached a copy of the one I made in case anyone wants to examine it.

If you plan to test this you must remove ALL USB devices from the Device Manager FIRST!

NOTE that to add it to a package it will need the "LayoutFile=" line removed and sections added for [sourceDisksNames] and [sourceDisksFiles] like USB2.INF in NUSB has.

I believe that this addition would provide the best USB 1.1 and 2.0 support available for 98SE.

I have tested installing these files in a VM, and everything goes smoothly, and WDMCHECK on that install reports no missing functions with any of those files. But I do not have a large selection of USB devices to test it more thoroughly.

I welcome any comments or questions, I'll try to answer them as best I can.

USBINF.ZIP

Edited by LoneCrusader
0

Share this post


Link to post
Share on other sites

After I had successfully integrated NUSB into my slipstream

How did you do this?

I do think USB2.0 stack for 9x + NUSB should be combine as 1 updated usb pack for Win9X systems.

0

Share this post


Link to post
Share on other sites

How did you do this?

I have a special set of Slipstreaming Tools I purchased from RLoew. It allows me to Change/Add/Remove files in the CABs.

0

Share this post


Link to post
Share on other sites
A Proposal/Suggestion for the Expansion of NUSB

Hi, Maximus-Decim!

This post is just to say I support LoneCrusader's proposal. I do think that, with the current widespreading of USB Mouse/Keyboard combos, USBCCGP.SYS is a needed addition to NUSB, and the USB Printer support is equally welcome.

0

Share this post


Link to post
Share on other sites

Not yet. This needs further testing.

Today I made a second attempt at installing the USB 2.0 stack together with all other system files recommended in post #628. Upon reboot(s), the USB Root Hub entries for the on-board USB 1.1 failed to load the drivers (NTKERN.VXD could not load the drivers for this device). Tried reinstalling drivers, removing and rebooting, etc. to no avail.

Upon uninstalling USB 2.0 stack and restoring system files from backup, the machine locked up. Tried a couple reboots - same result. Safe mode did work but wouldn't fix anything, so after a few failed boots I had to restore the registry from the most recent valid backup, at which point the machine got back to a working state.

This 98SE installation is 5 years old and lived through countless alpha tests, crashes and other mishappenings but only once or twice was I forced to actually restore the registry to get it back afloat, so I'd say there might be something fishy with this package, since it breaks the 1.1 controller and then corrupts the registry upon uninstallation. Or am I Mr. BadLuck?

Edited by Drugwash
0

Share this post


Link to post
Share on other sites

You mean this: USB20DRV.EXE? Well, it's complicated... But it sure has problems.

But it does contain some really interesting executables, some of which I'm using right now. I think the problem still lies in the .inf.

Your machine has USB 2.0 and works OK with NUSB 3.3, is that right? If so, we can work it by hand at installing that update, without using the inf, and you'll see it does work. One more question however, is your machine's southbridge a Via chip? Or are you using a USB add-on card based on a Via chip?

0

Share this post


Link to post
Share on other sites

Not yet. This needs further testing.

Today I made a second attempt at installing the USB 2.0 stack together with all other system files recommended in post #628. Upon reboot(s), the USB Root Hub entries for the on-board USB 1.1 failed to load the drivers (NTKERN.VXD could not load the drivers for this device). Tried reinstalling drivers, removing and rebooting, etc. to no avail.

Upon uninstalling USB 2.0 stack and restoring system files from backup, the machine locked up. Tried a couple reboots - same result. Safe mode did work but wouldn't fix anything, so after a few failed boots I had to restore the registry from the most recent valid backup, at which point the machine got back to a working state.

This 98SE installation is 5 years old and lived through countless alpha tests, crashes and other mishappenings but only once or twice was I forced to actually restore the registry to get it back afloat, so I'd say there might be something fishy with this package, since it breaks the 1.1 controller and then corrupts the registry upon uninstallation. Or am I Mr. BadLuck?

Did you try to install USB20DRV directly on top of NUSB 3.3?

USB20DRV has some bugs (sorry MDGx :} )

USB20DRV downgrades USBHUB20.SYS, which should only be done on boards with VIA Chipsets. This should be a stand-alone installer for that one file.

The way USB20DRV handles WDMSTUB.SYS doesn't work either, it should only be loaded by USBSTOR.INF as described in that thread by dencorso, not loaded with the USB2.INF & drivers.

Also, did you remove ALL USB devices from the Device Manager before attempting this? This is a requirement, as we are changing both the INF and the driver.

I probably should have made a note of stating that, but as removing all USB devices is required for installing NUSB, and this was meant to be added to NUSB, I didn't think about it...

Edited by LoneCrusader
0

Share this post


Link to post
Share on other sites

Sorry for the delay - just woke up minutes ago.

@dencorso: Yes, that's the package.I had downloaded it on July 22nd. Let's clear up the hardware:

- motherboard Soyo SY-6VBA 133

- chipset VIA VT82C693A (Apollo Pro 133)

- on-board USB 1.1 UHCI controller VIA VT82C596B

- PCI adapter with USB 2.0 EHCI controller VIA VT6202

Both USB controllers have been working correctly with NUSB33 (and previous versions, back at the time).

@LoneCrusader: Yes, I did install the USB 2.0 Stack package on top of NUSB33, primarily because I was in a hurry and secondly - and most important, IMO - because such upgrade should be compeltely transparent to the user, that is it should require absolutely no prior uninstall/tweaking of other system services or whatnot, since not all potential users are knowledgeable.

As such, I have not removed any of the USB devices that appear in Device Manager, especially because I have other USB related problems (one USB stick doesn't get assigned a drive letter and the brand new bluetooth USB adapter got VID & PID zeroed out) that I probably will elaborate on some other occasion and I was afraid that particular stick wouldn't be recognized anymore (which happened previously).

The files I added manually right after installing USB20DRV were:

- openhci.sys 4.90.3000.1

- uhcd.sys 4.90.3000.1

- usbccgp.sys 5.1.2600.5512 (from XP-SP3)

- usbd.sys 4.90.3000.1

- usbhub.sys 4.90.3002.1

- usbser.sys 5.1.2600.5512 (from XP-SP3)

I believe the issue with Composite devices is deeper than it may seem, since the class doesn't appear to be registered on a normal 98SE system and probably other changes and system files may be required as well. But for the time being I'm not gonna dig into this, as I got other important work to do (dencorso knows).

0

Share this post


Link to post
Share on other sites

@LoneCrusader: Yes, I did install the USB 2.0 Stack package on top of NUSB33, primarily because I was in a hurry and secondly - and most important, IMO - because such upgrade should be compeltely transparent to the user, that is it should require absolutely no prior uninstall/tweaking of other system services or whatnot, since not all potential users are knowledgeable.

As such, I have not removed any of the USB devices that appear in Device Manager, especially because I have other USB related problems (one USB stick doesn't get assigned a drive letter and the brand new bluetooth USB adapter got VID & PID zeroed out) that I probably will elaborate on some other occasion and I was afraid that particular stick wouldn't be recognized anymore (which happened previously).

...

I believe the issue with Composite devices is deeper than it may seem, since the class doesn't appear to be registered on a normal 98SE system and probably other changes and system files may be required as well. But for the time being I'm not gonna dig into this, as I got other important work to do (dencorso knows).

I agree with you that the updates should be transparent, I didn't intend for anyone to grab the USB20DRV package and use it in this situation. I listed the thread as relevant because it had some further information not in the "Composite Device" thread. This was meant to be strictly an addition to NUSB.

As I stated above, 98SE and Win2K do not have an equivalent of USBCCGP.SYS. They use USBHUB.SYS or USBHUB20.SYS for composite devices. What I have done is based strictly on RetroOS's discovery (and the fact that he was using ME files enabled him to do it.)

It works perfectly here on a VM, but I don't have a bunch of USB devices to test it with. I was (and still am) a 95-lover for many years and as such had an extreme dislike for USB devices. Even now I only have flash drives. :lol:

Edit:

Added warnings to the previous post.

Edited by LoneCrusader
0

Share this post


Link to post
Share on other sites

Is it possible to add this hotfix to the list?

WindowsXP-KB934428-v3-x86-ENU.exe

0

Share this post


Link to post
Share on other sites
- usbser.sys 5.1.2600.5512 (from XP-SP3)

Well, Drugwash, IMO what blorked your system was the .inf inside USB20DRV. Of course the files it contains are OK for your system, provided USBSTOR.INF is edited to load WDMSTUB.SYS with USBSTOR.SYS. Now, adding the untested (AFAIK) USBSER.SYS from XP SP3 didn't help any, either. Fact is, I tested it with WDMCHECK.EXE, and it turns out to have the same 3 unsatisfied dependencies that the USBSTOR.SYS (v. 5.0.2195.6773) from USB20DRV has. On the bright side it means it should work, provided it's also loaded with WDMSTUB.SYS, and this means finding the .inf that sets its registry entry and editing it too. The downside is it may be more than one .inf... USBSER.SYS is for the USB virtual serial port, which is mostly used to support USB modems, AFAIK. Here's a screenshot of WDMCHECK's output:

post-134642-0-62558200-1312678196_thumb.

0

Share this post


Link to post
Share on other sites

The best thing to do, would be combine all the inf files + system files (the best stable files everyone agrees on)

from NUSB.EXE + USB20DRV.EXE and using the latest USBSTOR.INF in post #602 in this topic

then maybe we can go from there.

_NUSB.INF

_USB2UN.INF

1394.INF

NODRIVER.INF

NTMAP.INF

USB2.INF

USBNTMAP.INF

USBSTOR.INF

USB20DRV.INF

Edited by PROBLEMCHYLD
0

Share this post


Link to post
Share on other sites

Maximus Decim Native USB ver.3.5

------------------------------------------------------------------------

*Native (without installation of additional drivers for each type) support USB flash drives, digital photo

and videocameras and other similar devices.

*Universal Stack USB 2.0 (without installation of additional drivers for each chipsets) with uninstall.

1.Remove ALL drivers USB flash drives.

2.Remove ALL drivers USB 2.0 controllers.

3.Remove ALL USB 1.1 and 2.0 controllers and devices.

4.Remove ALL unknown devices.

5.Install NUSB 3.5 and reboot.

6.After detection new USB 1.1 and 2.0 controllers (if it will occur) too it is necessary to reboot.

Remember! You install it at own risk!

-----------------------------------------------------------------------------------------------------------------------

English: http://www.zshare.net/download/934510417a4f04d9/

Russian: http://www.zshare.net/download/934510631daab5ad/

What's new?

*OPENHCI.SYS 4.90.3000.1

*UHCD.SYS 4.90.3000.1

*USBD.SYS 4.90.3000.1

*USBHUB.SYS 4.90.3002.1

*USBCCGP.SYS 5.1.2600.5585

*USB.INF 01.01 ( LoneCrusader)

*USBSTOR.INF 01.10dt (dencorso, add new devices)

*USB2.INF 01.01 (MD, add new devices)

0

Share this post


Link to post
Share on other sites

Thanks for taking a look at my findings. :thumbup

There is a small bug however, the USB.INF I posted didn't have sections for [sourceDisksNames] and [sourceDisksFiles] and still has the

"LayoutFile=Layout.inf, Layout1.inf, Layout2.inf"

line inside it. So, on installation it tries to get the files it needs from the CABs instead of from NUSB. If your CAB files are anywhere besides the standard OPTIONS\CABS folder it will stop and ask for the location of HOTPLUG.DLL (not in the original CABs, so you have to manually redirect it to where NUSB has extracted its files), and then it will try to replace the ME files with 98 ones (it prompts you to keep the newer one though). It has no trouble finding USBCCGP.SYS, which is not in the CABs either though :blink:

I believe the LayoutFile= line needs to be removed, and the [sourceDisksNames] and [sourceDisksFiles] sections added, using the same method as USB2.INF. I didn't make those changes myself because I am not familiar with creating "HotFix" type packages. :unsure:

EDIT:

I tried making the changes I listed on a test installation, and the behavior didn't change. I hope someone with a bit more knowledge on this will take a look at it.

I believe this is only an issue if Windows 98SE was installed from somewhere other than \OPTIONS\CABS. Anyone who encounters this will need to redirect the Driver wizard to %WinDir%\OPTIONS\CABS where NUSB extracts all of the new files. After that, everything is fine.

Edited by LoneCrusader
0

Share this post


Link to post
Share on other sites

Interesting result from installing Maximus-Decim Native USB Drivers.

My SanDisk Digital Audio Player model SDMX1 appeared to be dead. I had copied some files from it to my 98SE box but after that it no longer worked. Despite reconnecting and rebooting the 98SE box a few times the mp3 player was dead as a doornail. I connected it to my W2K box but the player didn't power up there either even though it had always worked before. I installed a fresh battery but there were no signs of life. I had been using the player that way for five years but now it was a goner.

Then I uninstalled the dedicated Sandisk drivers from the 98SE box and finally got around to installing Maximus-Decim Native USB Drivers version 3.3. I connected the SanDisk player and all of a sudden it was jolted out of its coma. It worked again. Whatever the new drivers did they breathed new life into the carcass of my mp3 player, a fresh stream of data entering it's circuitry.

Thanks.

0

Share this post


Link to post
Share on other sites

Looks like I forgot to post back: after taking all required steps "by the book" and reinstalling the new 3.5 package, everything is fine and works correctly. Thank you maximus-decim for another fine release! :thumbup

0

Share this post


Link to post
Share on other sites

I'll be giving this a go as soon as I get back home :D

Sorry for late reply but :

Apart from difficulties during installing devices, it works like a charm ^^

I had to juggle between OPTIONS\CABS and SYSTEM dirs to get files fed to the driver installer

Edited by TmEE
0

Share this post


Link to post
Share on other sites
- usbser.sys 5.1.2600.5512 (from XP-SP3)

Well, Drugwash, IMO what blorked your system was the .inf inside USB20DRV. Of course the files it contains are OK for your system, provided USBSTOR.INF is edited to load WDMSTUB.SYS with USBSTOR.SYS. Now, adding the untested (AFAIK) USBSER.SYS from XP SP3 didn't help any, either. Fact is, I tested it with WDMCHECK.EXE, and it turns out to have the same 3 unsatisfied dependencies that the USBSTOR.SYS (v. 5.0.2195.6773) from USB20DRV has. On the bright side it means it should work, provided it's also loaded with WDMSTUB.SYS, and this means finding the .inf that sets its registry entry and editing it too. The downside is it may be more than one .inf... USBSER.SYS is for the USB virtual serial port, which is mostly used to support USB modems, AFAIK. Here's a screenshot of WDMCHECK's output:

What about USBSER.SYS SP1 or SP2?

0

Share this post


Link to post
Share on other sites

NUSB 3.6 Polish language version is available at: https://www.sendspace.com/file/l3r6bw .

Since the original English version also differs in that:

- File Explorer.exe is version 4.72.3612.1710 (instead 4.72.3612.1700), derived from the "Unofficial Windows 98 SE 256 Colors Icons Explorer EXPLORER.EXE 4.72.3612.1710 Fix": http://www.mdgx.com/files/EXPL98PL.EXE ;

- Files Hotplug.dll and Systray.exe are in version 4.10.2225 (instead of 04.10.2224), derived from the "Unofficial Windows 98 SE 256 Colors Tray Icon + + Warning HOTPLUG.DLL Systray.exe 10/04/2225 Fix" : http://www.mdgx.com/files/SYSPLGPL.EXE ;

- Files User.exe and User32.dll are in version 4.10.2233 (instead of 10.04.2231), derived from the "Unofficial Windows 98 SE Animated Cursor (.ANI) + Icon Handling USER32.DLL + USER.EXE 4.10.2233 Security Vulnerability Fix" : http://www.mdgx.com/files/Q891711P.EXE .

Because of these differences NUSB 3.6 Polish language version has a sign: "3.6a".

Edited by egrabrych
update link
0

Share this post


Link to post
Share on other sites

No additional drivers are needed. Determine VID and PID (using USBVIEW or ChipGenius) and add them to USBSTOR.INF. But, with all due respect, that pendrive is the first one I hear NUSB did not detect... are you sure it's working? I have 12 pendrives and 3 external HDDs, plus four SDHC cards, two USB floppies and a SATA/IDE --> USB adapter, and NUSB detects them all correctly.

0

Share this post


Link to post
Share on other sites

No additional drivers are needed. Determine VID and PID (using USBVIEW or ChipGenius) and add them to USBSTOR.INF. But, with all due respect, that pendrive is the first one I hear NUSB did not detect... are you sure it's working? I have 12 pendrives and 3 external HDDs, plus four SDHC cards, two USB floppies and a SATA/IDE --> USB adapter, and NUSB detects them all correctly.

I'm 110% positive that it did NOT detect on my Win98.

Device Name: +[E:]+USB Mass Storage Device(PNY USB 2.0 FD USB Device)

PnP Device ID: VID = 154B PID = 0059

Serial Number: AABA158400001499

Revision: 8192

Device Type: Standard USB device - USB2.0 High-Speed

Chip Vendor: (No match record)

Chip Part-Number: (No match record)

Product Vendor: PNY

Product Model: USB 2.0 FD

Tools on Web: (N/A)

Device Descriptor:

bcdUSB: 0x0200

bDeviceClass: 0x00

bDeviceSubClass: 0x00

bDeviceProtocol: 0x00

bMaxPacketSize0: 0x40 (64)

idVendor: 0x154B

idProduct: 0x0059

bcdDevice: 0x8192

iManufacturer: 0x01

0x0409: "PNY Technologies"

iProduct: 0x02

0x0409: "USB 2.0 FD"

iSerialNumber: 0x03

0x0409: "AABA158400001499"

bNumConfigurations: 0x01

ConnectionStatus: DeviceConnected

Current Config Value: 0x01

Device Bus Speed: High

Device Address: 0x01

Open Pipes: 2

Endpoint Descriptor:

bEndpointAddress: 0x81 IN

Transfer Type: Bulk

wMaxPacketSize: 0x0200 (512)

bInterval: 0xFF

Endpoint Descriptor:

bEndpointAddress: 0x02 OUT

Transfer Type: Bulk

wMaxPacketSize: 0x0200 (512)

bInterval: 0xFF

Configuration Descriptor:

wTotalLength: 0x0020

bNumInterfaces: 0x01

bConfigurationValue: 0x01

iConfiguration: 0x00

bmAttributes: 0x80 (Bus Powered )

MaxPower: 0x64 (200 Ma)

Interface Descriptor:

bInterfaceNumber: 0x00

bAlternateSetting: 0x00

bNumEndpoints: 0x02

bInterfaceClass: 0x08

bInterfaceSubClass: 0x06

bInterfaceProtocol: 0x50

iInterface: 0x00

Endpoint Descriptor:

bEndpointAddress: 0x81 IN

Transfer Type: Bulk

wMaxPacketSize: 0x0200 (512)

bInterval: 0xFF

Endpoint Descriptor:

bEndpointAddress: 0x02 OUT

Transfer Type: Bulk

wMaxPacketSize: 0x0200 (512)

bInterval: 0xFF

Edited by PROBLEMCHYLD
0

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

  • Recently Browsing   0 members

    No registered users viewing this page.