Jump to content

True or False? USB2 + Win 98 + Intel 915 = Impossible


Recommended Posts

Posted

I've got Win98 running on a Dell 4700 (915G chipset, ICH6).  ICH23456 chipest install, SATA legacy BIOS support for '98, a PCI video card are all fine.  With NUSB 3.6 there's USB function and a claim of both USB 1 & 2 in the Device Manager.  

What there isn't is USB 2 speed.  Copy of 150 Mb file from USB 2 thumb drive to SSD takes about 50 seconds and is the same whether plugged into a USB 2 or USB 1 port.  On the same machine under XP it takes <10 seconds.  

As an experiement I installed the VIA USB2 PCI card (6212 chip), it worked fine, and took exactly the same time -- close to a minute.  I tried copying from a thumb drive in the Dell USB 2 port to one in the VIA port (eliminating the time for emulation and writing to the SSD) and got roughly double the time.  It appears the delay is in the USB end of the operation.  

Basically my setup talks a USB 2 game but it walks USB 1.  Or crawls, morelike.   

I have tried several USB2 on Win98 packages -- no assurance I did it right, of course, because in no case after NUSB3.6 did the instructions reach down to my level of inexperience.   But most seemed to install okay and some changed what showed in Device Manager.  What they didn't change is the speed of USB 2.  

I think I've read most threads here (plus others on VOGONS, etc.) that seemed relevant.  I didn't find one that said "I installed XYZZY package and got USB 2 to work at full speed under Win 98 on an ICH6 (or later) machine."  I've had long conversations with AI who has repeatedly assured me that by following his directions success was just around the corner ... but that corner never got turned. 

Since Win XP does USB 2 at full speed on this machine it cannot be impossible for a suitably mod'ed Win 98 -- why am I not getting there?  The answer is likely to be some flavor of I'm doing it wrong ... details would be much appreciated!


Posted

The bottleneck seems to be the thumb drive itself. 150/50*8=24 Mbps is about right for most budget USB2 flash drives (and doubles USB1.1). Try a USB3 drive to get better performance.

 

Posted (edited)

I seem to remember having an issue with USB geometry being detected wrong. It has something to do with the actual geometry of the USB drive, the geometry being reported by the machine, and the geometry understood by the device formatting software. This was indeed a i915 machine. However, I wouldn't think this could cause an issue, with your VIA card (could be a duplicated issue).

Do you know how to look into this? AI does have a few suggestion, right off the bat.

If you have legacy USB support (bios) try turning it on/off. It might not change your transfer speed, but "during investigations" it might shake things up; potentially exposing an issue. It did with me.

Just checking, are you using Fat32? Or are you trying to use the NTFS, for Win98? The problem could exist in both. I just thought to eliminate a variable, if it exists.

Edited by awkduck
Posted

Awk I'm pretty sure I don't know how to look into this because I've been staring for a week and what I understand most is the depth of what I don't know.   AI seemed very helpful at first but there's so much overhead correcting errors (my machine is a Dell Dimension 4700, not a '470' or '460' as AI decided this evening, packages for improved USB that are plainly marked 'Windows 10' are inapplicable, there is no 'hcd-something' parameter in the registry ...) that I'm mainly hoping it'll give me tweaks to my thinking rather than real answers.  This experience has helped a lot with any concerns I might have had about AI taking over most white collar jobs in a year or two.

Jumper the bottleneck is associated with the thumb drive but when I plug the same drive into another 4700 that runs Win XP it is USB 2-fast:   Instead of 45-60 sconds to copy a 150 Mb file from the flash drive to disk it's a bit under 10 seconds.  So my conclusion is that regardless of any mods I've made (and I've tried several packages) Win 98 just doesn't know how to do USB-2.  But logically if XP can do it then with proper tweaking, Win 98 should likewise.   

Second to a fix for this I'd appreciate suggestions for sources for the kind of internals knowledge it takes to figure things like this out.  I haven't found a book labeled 'Windows 98 Internals' but there's bound to be something out there.  I used to do that sort of thing, back when we wrote code on cave walls using charred sticks ... Well almost that long ago ...

 

Posted

Probably best to check the basics.

Make sure you haven't booted, the Win98 machine, with the USB drive in it.

If you haven't already, I'd format the drive with the Win98 machine. If you know how, use a tool to wipe the MBR and partition table. Probably easier to wipe it, from another machine. After it is wiped, plug it into the Win98 machine. It should still show up under "My Computer". Right click and select format, making sure it is the correct drive.

You won't be able to quick format, and don't need to transfer system files or run scandisk. If the drive was 16gb, it should probably take a few minutes (2-5). If it takes longer, this is a sign you may have an incompatible drive "for full-speed" using the Win98 USB2 driver (the drive may work fine, in other machines). If it formats, in an reasonable amount of time, try to copy a 30-50mb file over to it. I should only take 5 to 10 seconds.

If it is attempting to format the drive, as the wrong size, this is the first indication of a geometry issue.

If the format is taking too long, you can try to reboot into CMOS and set the USB legacy setting to the opposite of whatever it currently is. Attempt the format again. If format is still slow, and it is formatting the correct size, then this points again towards an incompatible drive type, for Win98 full-speed.

If at this point everything is good, see if your other machines/operating systems can read the newly formatted drive.

You could try disabling your integrated USB (Control Panel). If after a reboot the VIA card is still slow, then it is probably that drive. Try another, if you have one

Btw, have you installed any unofficial service packs, or anything? Out of curiosity, how large is the USB drive?

FYI, I've had some drives just not work well, with certain configurations. Have had the most issue with PNY drives (especially PNY USB3, but UBS2/1.1 supported).

Posted (edited)
11 hours ago, waltah said:

What there isn't is USB 2 speed. 

1. Insulate copy software from picture for the first. Run some disk test like AIDA64 disk benchmark with >64K block size.

2. Check is processor free when copy is in progress by some tool like old Process Explorer.

Edited by SweetLow
Posted

The thumb drives are PNY but I don't see signs of a problem there -- they work at full speed (150 Mb copy in ~10 seconds) on another 4700 running Win XP.  However I will try another brand sometime soon.

Everything is FAT-32.  

Booting the Win 98 machine with the thumb drive in leads to such a slow boot -- hours -- that I usually turn off and remove the drive.  I wish I understood this but probably something about having no ACPI?   

It seems possible that when a machine with an ACPI bios is run with it turned off it is incapable of USB 2 speeds.   'Marketing' maybe?  Unless someone knows about this I'll just keep gathering info ...it may be something simpler.

There is no legacy USB support switch in the 4700 BIOS -- an option found on ICH5 machines like the 4600.   Just USB support on or off -- as in 'no USB at all.'  

Process Explorer is an interesting idea and I have tried to run it.  Unfortunately I've been using a SSD on that machine and pretty much everything freezes solid during copy -- PE just stops.   So considering I also don't exactly know how I got an install good enough to actually do USB, I set out to reinstall from scratch on a normal HDD.  I understand a lot more now than I did the first time and when I get that working I'll write it down. 

Actually, the easy part is already written.  All that's left is the part about getting the Inf and driver files right.  None of the various packages actually worked for me on this machine, though a couple seemed to install okay.  Which is where some deeper knowledge of how that all works would be a help.  It's not clear that it was written down for the public in early days -- there are lots of 'For Dummies,' 'Secrets,' and 'Tricks' books but nothing that sounds like internals prior to the NT systems. 

I seem to have gotten the first install to actually run USB correctly (though only at 1.1 speed) by specifically naming the devices in the INF file right down to the Version.  This was an AI suggestion but when I went looking at the Win XP files I found none of that.  So XP gets the right result some other way. See what I mean about 'need more theory'?   

The benchmark with Aida64 (which was Everest in Win 98 days) will also be done on that build.  

Also (perhaps) down the line I'll try an install with ACPI ON.  If that can be made to work even well enough to try a copy it'll clear up that issue.

 

Posted (edited)
14 hours ago, waltah said:

Everything is FAT-32

Yes, but there is a difference between "what" formats that, and how it does it.

For example, I've used some Paragon software (to format FAT32) and it's default "FAT32" configuration mounted and worked fine under Linux; but was dog slow, under Win98.

So, "FAT32" isn't just "FAT32".

The reason for formatting with Win98, is to remove variables from the list of problems you could be having.

Wiping the device allows for you to start fresh; everything will be decided by the target machine and win98 (the machine the speed is important on). This allows you to also see if your machine/Win98 configuration is detecting the drive geometry correctly (there are other ways, but this is a simple base test [is the size detected correcty]).

Win98 will format the drive differently than Linux (also differently that using FDISK before hand, or WinXP+) would. For mounting a drive from Linux (formatted on Win98, the way I described) you would need to mount using the following command "mount -tvfat /dev/sdb /mnt" instead of "mount -tvfat /dev/sdb1 /mnt". The "sdb" in Linux refers to the device, and "1" (in sdb1) refers to the partition number on "sdb" (the "b" could  different, depending on how many drives you have). I was suggesting this kind of formatting, as a analysis of the situation. A typical partitioning scheme could be tried afterwards (more forward compatible) providing there where no errors found, in this very basic layout. You may get a different layout (than what I am aiming for, with this basic test) as a result; but that would inform us more.

It could also eliminate that issues of "potential" backwards compatibility, that might arise from formatting the device on a newer operating system. This "does" happen.

I would "test" using a different USB drive (non PNY) to verify that you are having this same issue "altogether"; preferably by formatting on the Win98 target machine. This "could" help eliminate that they "PNY" drive itself isn't just "full-speed" incompatible with this device/os/machine configuration. This also "does" happen.

I do not mean to suggest these basic tests, as an insult to your ability. These suggestions are to help detect the cause of your issue, by "working" the basics. But they also don't promise success. What it does do, is provide more information to the community, about your issue. There are users here, that have worked with drive geometry issues more than I have. This basic partition layout gives a reference point, from which to work with. Rather than questioning the geometry/format (even if FAT32) your other machine(s) (or the factory format) may have used.

14 hours ago, waltah said:

Booting the Win 98 machine with the thumb drive in leads to such a slow boot

Yes, your machine is detecting the drive. This can take up to a minute or two, and not be a problem (other than the wait). But the long wait is suggesting a "potential" issue. I have one machine (i945GME) that waits three minutes to save BIOS settings, when a pendrive is inserted; but that is the only way to get the machine to boot from it. I've had similar issues with some i915 devices (even long detection waits with internal drives). If your drive is large (128/256gb) the long time you mention sounds right. This might be a way to test what USB drives could work better "for Win98" on this machine. If it boots fine (no wait) with the drive in, perhaps the drive will perform well in Win98.

I've also had USB audio need to be inserted after boot, or else it wouldn't work right (Win98). But after I used Grub2 bootloader, I was able to initialized devices before booting Win98, and the situation reversed; I was unable to use the USB audio, unless I booted with it plugged in. These problems (USB audio) didn't happen with WinXP+ or Linux. Another reasons that, working correctly on one OS isn't a marker that it should work "on the same system" using Win98.

I have 6 PNY usb drives. Each are 8gb and USB3 enabled. I can use the same portable Linux with them, on different machines, and get widely different read and write speeds. They do tend to work better when USB3 hosts are available, but not always. For me, they work awful with older Linux (2010-2016) and Win9x/WinXP; when used over USB2.

I've had better luck with Sandisk, but their recent higher speed drives are harder to boot from (fine if you don't need that). Their newer, but slightly slower, drives are starting to perform more like the PNY drives I have (slightly better speeds, when not performing full-speed).

Pease note, that the speeds you mentioned achieving earlier are over the USB1.1 threshold. Meaning, that you are connecting beyond USB1.1 (this was pointed out earlier). This suggests that your driver is likely installed correctly, and working.

With all of that said, I am no genius; and there are several ways to skin a cat.

Please keep us updated. Whatever you find may be informative, and help others. Hang in there!

Edit: I'm add this bit for "anyone" that ends up in this thread, potentially trying to solve issues like this.

1. Your drive can be detected with the "CORRECT" size, and the geometry detected still being "WRONG".

2. Formatting a drive, with incorrectly detected geometry, "CAN" take significantly longer than it should.

3. Reading and writing to a drive, with incorrectly detected geometry, "CAN" take significantly longer than it should.

4. A machine that detects the correct drive geometry, under Winxp+/Linux, may not always detect the correct drive geometry under Win9x.

5. A drive, with incorrectly detected geometry, can still function. The fact that it isn't immediately failing to function, does not mean the geometry was detected correctly.

6. Correct geometry detection does not guarantee a drive's full-speed operation. There may be another incompatibility.

7. A drive not achieving it's full transfer speed, does not insist that your drivers are not working correctly; even if another OS, on the same machine, can achieve the drive's full transfer speed.

8. Different USB drive's "internal" geometry translation/emulation are not all created equal.

Edited by awkduck
Posted

"I do not mean to suggest these basic tests, as an insult to your ability ..."   <--------- NOT an issue.   The answer -- if it's eventually found -- will turn out to be BASIC.   Eliminating those basics that we can, one by one, is the only possible way to do it.  

I've talked my wife out of a new SanDisk USB 3.2 drive ... I didn't ask if it came from Temu.   Regardless, this will be another tweak of the variables.  

I got the real HDD version going today -- Win 98, ICH23456, NUSB3.6, plus five .SYS and a USB2.INF from a later package (early Win XP file versions I think) and add some strings and short UHIC and EHIC sections to that INF.  At the NUSB3.6 point (where ICH5 machines would be happy campers) USB is molassas in the freezer slow ... it works, but only at a fraction of a Mb/sec.  Mounts are practical only by booting to DOS prompt, insert, and then EXIT.  

I've made one attempt to take M-D's NUSB3.6 apart and integrate the changes that make USB work tolerably but self-extracting exe files are another thing I've never done before so no joy yet.  

As on the SSD version the additional changes make USB behave absolutely correctly (mounts a drive in seconds, for example) as long as you don't boot or shut down with a drive installed and as long as you're okay with USB 1-range copy speeds -- 150 Mb in about 50 seconds.  (Instead of about 5x that fast for same drive, exact same hardware under Win XP.)  

I've got a 4600 and a 3000 running Win98;  I don't think I've ever checked the USB speeds.  Of course I don't know if those machines were supposed to have USB 2.  

I tried Process Explorer on the HDD version: It behaved very little better.  In 50 seconds of copying it might show you numbers three times?   My impression (on very little data) is that the CPU's not smashed:  USB just seizes the machine and does it's own thing at its own speed.  The CPU spikes when Process Explorer gets a chance which is pretty rare.  

Another interesting result:  The copy time is hardly any different between SSD and HDD.  

I will try benchmarking with Everest.  

With the aid of AI I've found some books that may help undestand some of this stuff.  

Thanks for the help!

Posted
On 2/21/2026 at 10:55 PM, waltah said:

...my machine is a Dell Dimension 4700...

This may be the issue, in and of itself.

It's been 15 years ago or more, but I once tried setting up one of these (or a very similar model) for someone with a multi-boot configuration using 98SE, XP, and Linux.
Despite the fact that "official" 98 drivers (meaning by the individual HW device manufacturers, not Dell) existed for all of the hardware in the machine, it simply would not work correctly when running Windows 98. I got random crashes, errors, and instability that did not exist on similar non-Dell hardware.

After many hours wasted trying to figure things out, I eventually chalked it up to the fact that it was a "prefab" Dell machine, and there must be subtle unknown differences in the hardware, or the configuration, or something to that effect. Whether this was intentional on Dell's part, or whether they simply never tested the hardware for 9x, I have no idea.

Basically, avoid "prefab" hardware (Dell, HP, Gateway, etc) as much as possible unless you're planning on running the system as it came from the factory. A standard Intel, Gigabyte, MSI, etc. motherboard with a 9xx chipset will probably give you no problems.

 

That being said; you should need only a vanilla 98SE setup and NUSB 3.3 or later (3.6 uses WinME USB 1.1 Stack; not "necessary") in order to get USB2 speed.
You do not need other packages beyond this unless NUSB does not work. (And if it doesn't work, then most likely there is a deeper problem.)

BIOS Compatibility Mode was mentioned at one point; I would install rloew's SATA patch and eliminate this just to be certain it is not somehow causing a bottleneck on filesystem related operations. Not likely, but try anything that makes sense at this point.

Posted

[Dell] " may be the issue, in and of itself!"

I run a speed test with a USB 2 thumb drive on one Dell 4700 with Win XP -- the OS that was shipped on these machines -- and get 15 Mb/s.  I take the same thumb drive to another Dell 4700 with Win SE with an Intel chipset driver for that machine, NUSB 3.6 plus several .USB .SYS files (from early XP I think) and some tweaks to a USB INF and get smooth function but only 3 Mb/s.  If I do the same test -- same drive, same machine -- but with nothing beyond NUSB 3.6 I get something around 0.1 Mb/s.  It's hard to blame those differences on Dell.

Dell never shipped the 4700 with Win 98 in any flavor.  Other makers offer many bits and pieces, particularly Intel for their chipset (used in other machines and by other makers for products that did support '98) but Dell made no claim to support it.  It's enough that they provided compatibility modes that let some earlier software (including '98) run at a less-than-modern-system level of performance and without a specific claim.  

As to 'random crashes,' I've had none of that and I wonder if your '98 on a 4700 experiments included chasing down and installing the proper ICH6 chipset driver?   For the next previous generation -- ICH5 and machines like the 4600, 3000, and 2400 that never shipped with Win 98 you can get the chipset driver from Dell because they made other machines with that chipset that did ship with Win 98.  But for ICH6 and after you have to look elsewhere.  And if you don't install a proper chipset driver you will get crashes.

I'm not sure what you mean by 'prefab';  I'm not sure there's any recent manufacturer that builds a whole computer in-house.  We all have our preferences of course; mine's Dell because they still make available all the drivers for these vintage machines and because the machines are easy to work on with most of the equivalent parts being interchangeable.  

My wife and I thank Dell for supporting their old machines by buying her occasional new computers directly from Dell.  I think in fact that's the only new household equipment we've bought in the last 25 years.  

I tried the RLoew SATA patch, got a couple of BSODs and put it aside for later.  I'll try it again if it appears that SATA emulation of PATA in the BIOS could be an issue.  

Today's tasks include another speed test with Everest (aka Aida64) and a look at 'devices by connection' on the '98 machine to be sure I'm testing on a proper USB2 port -- there may be some variability as to just which of those six rear ports are what speed.  The manual says all six are USB 2 but now and then XP lectures me "This device can perform faster ..." so it thinks I've got a 2 drive in a 1 connector.  

There's still a bunch to understand:  The VIA card with the manufacturer's driver (from the CD that came in the same box) also seemed to go at 1.1 speed -- maybe the PCI bus is throttled to that speed if ACPI is disabled?    ????

Posted
38 minutes ago, waltah said:

Dell 4700

https://www.manualslib.com/manual/227504/Dell-Dimension-4700-Series.html#manual

Check the thumb drive transfer speed on one of the FRONT (two) ports and compare to the transfer speed on one of the REAR (six) ports.

Manual (linked above) cites all eight as USB 2.0.
But the same can be said for my Dell desktop BUT my wireless USB adaptor connects to my router at over TEN TIMES FASTER just based on which USB 2.0 port that I plug it into.

Posted (edited)
22 hours ago, NotHereToPlayGames said:

Check the thumb drive transfer speed on one of the FRONT (two) ports and compare to the transfer speed on one of the REAR (six) ports.

I checked the same USB 2 PNY drive in all eight ports.  While there was some variation -- say +/- 15% -- it was random.  Several trials in the same port varied just as much.   Average is around 40 seconds to copy 150 Mb.  

The brand new 32Gb SanDisk USB 3.2  is definitely faster -- about 32 seconds for 150 Mb.   It's enough faster that the COPY informational block with the progress bar sometimes doesn't show up until the last second or so.   You click COPY and nothing happens.  Until all of a sudden, there's your file.  

I tested it both 'as stolen borrowed from my wife' and after formatting via DOS prompt:  No difference. 

The  'Devices by Connection' picture is good:  Everything that ought to be aware of USB 2, IS.  And all the USB 2 / USB 3 devices show up as being connected to the EHCI controller.   The USB 3 drive just says 'USB' but it's in there with the USB 2 ones and getting as good handling as they are.  

If I can scrape up another HDD I'll probably see about installing Win 98 with ACPI ON -- that is, without the '/p i' switch.  Even if it's not a practical setup (because of conflicts or ???) I might be able to get USB going and test speed.  EDIT:  Also I'll probably fire up a Win 98 4600 and/or 3000 and see about USB 2 speeds there -- those ICH5 systems take less fiddling to run Win 98.  

I've asked AI for an example of someone running Win 98 on a 4700 with full-speed USB 2.  No joy there yet.  Anyone here have that experience?  

Edited by waltah
Add ...
Posted
11 hours ago, waltah said:

...they provided compatibility modes that let some earlier software (including '98) run at a less-than-modern-system level of performance and without a specific claim.

Huh? What special "mode" is this that you're referring to?

11 hours ago, waltah said:

As to 'random crashes,' I've had none of that and I wonder if your '98 on a 4700 experiments included chasing down and installing the proper ICH6 chipset driver?   For the next previous generation -- ICH5 and machines like the 4600, 3000, and 2400 that never shipped with Win 98 you can get the chipset driver from Dell because they made other machines with that chipset that did ship with Win 98.  But for ICH6 and after you have to look elsewhere.  And if you don't install a proper chipset driver you will get crashes.

Rubbish. There is no such thing as a chipset "driver." There are no .VXD, .SYS, .PDR, etc. files in the Intel "chipset" drivers. They are only simple text .INF files that assign proper names to devices. They serve no other purpose. The system will run just the same without them.
But for the record - yes. I had the correct chipset "driver." I always use these, and have even created my own compiled versions for slipstreaming and added "support" for later chipsets.

11 hours ago, waltah said:

I'm not sure what you mean by 'prefab'

Prefabricated. As in a complete ready-built computer system sold by a single company. Dell, HP, Gateway, Compaq, eMachines, etc.
It is preferable to get various individual components directly from their manufacturers and assemble the computer yourself. This eliminates many "unknowns" and weirdness such as I described above.

11 hours ago, waltah said:

...It's hard to blame those differences on Dell.

...We all have our preferences of course; mine's Dell because...

My wife and I thank Dell...

Obviously a Dell fan. I can only tell you what I have experienced. What you choose to do with that information is up to you.

Have fun beating your head against the wall searching for a solution.

Posted (edited)

Thanks for clarifying all that, Lone.   As I say, I'm no expert.  

One observation:  Operating systems and drivers for complete computers sold to a mass market are mainly paid for out of hardware sales.  The incentives are to make current sales successful but mostly not to support activities (such as continuing to use obsolte items) that would compte with future hardware sales.   The maker of a motherboard sold to an end user has different incentives because his customers are nearly all people like us and supporting non-current systems may be a competitive advantage.  

Which means an aftermarket board with a certain chipset is likely to have better support for earlier systems.

===================

I will try to attach the file showing the 'devices by connection' on the 98SE 4700.  Any thoughts appreciated ... 

Okay, so I have no idea how to add a picture to this post.  I attached it but that meant you'd have to download it to see ... not something anyone wants.  ???

 

Edited by waltah

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...