Login to Account Create an Account
Maximus-Decim Native USB Drivers
Posted 27 December 2013 - 08:05 PM
Try disabling real-mode USB support in the BIOS.
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
Future projects: Kexter - IP40+Ktree+Kexstubs
Posted 09 February 2014 - 04:17 PM
Posted 09 February 2014 - 05:04 PM
Posted 09 February 2014 - 09:25 PM
I'm happy jumper's idea solved it! And I'm happy you tried the experiment I proposed: because eventually coming up is different from never coming up, and knowing for sure which case one has helps a lot in finding solutions, but also because, when it comes up -- albeit after a long time --, many further experiments may be performed in order to find out what's happening... of course, this time that avenue won't have to be pursued any further, because you've already hit jackpot! Congratulations! And thanks for reporting back: the most frustrating experience for the helpers is to be left without notice of how it all ended. You rock!
Posted 10 February 2014 - 12:21 AM
Windows 98 does not match USB partitions found by DOS with those found by Windows. This leads to two Drive Letters referencing the same Partition. This can lead to corruption if both are written to. In addition the DOS based Drive Letter is not recognized as an USB drive so it cannot be safely removed. Since they both have the same signature, some internal data is shared causing crashes to occur if the Windows based Drive Letter is removed.
First, I'm sorry to be so slow responding to dencorso's suggestion to let win98 run overnight to see if it does eventually come up when I have a USB flash drive installed. It DOES do so -- it actually takes about 45 min. to an hour. Normal would be under a minute -- this is a 2.4 GHz machine, I believe. HOWEVER, if I look at Win Explorer, the flash drive is there twice: Once at D and once at E. Clicking to 'Safely Remove Hardware' only gets rid of one of these. If I bring up Win 98 without the flash drive inserted then D is the CD drive (as you'd expect) and E is the flash drive. 'Safely Remove Hardware' works as it should.Either way, when I look at Device Manager I have a 'USB Mass Storage' and under a new heading of 'Storage Device' I have 'Disk Drive.'Very strange ...
To avoid these problems you must insure that only one OS recognizes the partitions. To prevent this you can do one or more of the following:
1. Disable BIOS USB Mass Storage support.
2. Remove or disable the USB Drive during BIOS booting.
3. Remove or disable the USB Mass Storage Drivers in Windows 98.
4. Use Windows Only Partitions with my Patches.
Posted 10 February 2014 - 12:36 AM
I understand that, after disabling USB emulation in the BIOS, just one letter is assigned to each drive, albeit the order changes depending on whether the pendrive is inserted in one of the USB connectors or not. So, IMO, nothing further needs to be done, at the moment... am I mistaken?
Posted 10 February 2014 - 12:37 PM
I have now followed jumper's suggestion to disable USB emulation in the bios. That solves the problem: It now comes up in a perfectly normal amount of time even with a flash drive installed. If the flash drive is in place then it comes up with that drive at D and the CD at E -- the reverse of what happens if the flash drive is installed after booting. Again, many thanks!
Maybe useful, maybe not, something now lost in the midst of time, Letter Assigner:
Broken link on MSFN? You may try this. Looking for SEARCH on MSFN? Click here.
Posted 13 February 2014 - 06:11 AM
I did not know about Letter Assigner; I found and downloaded a copy by following the Wayback link. Don't need it now, but I long ago gave up trying to decide what software I would never ever need. That's why I have NUSB, actually, and from fairly early days -- 3.0 at least. That one is on my 98SE2ME laptop and I think I have 2.x saved somewhere.
On to the NEXT problem on this DELL 2400/Win 98SE machine. Since this machine was never supported by Dell for Win 98 this has been interesting and I may write it up as member project if no one else has done so.
(Now that 98SE is fully working the next step on that machine is getting a truly awful -- but interesting -- game card to play, 'just because.' This is a Riptide 90079-2 -- sound, joystick, MIDI, and modem in one PCI slot, apparently only OEM in a bunch of Win 98 HP machines. I have all the drivers but my first attempt was killed by an excess of IRQ conflicts and I have a lot to learn about solving those. One thing I learned from this thread was the use of Safe Mode to get complete reporting from Device Manager.)
I very much appreciate the educational material, especially rloew's tutorial which clarified much. I was aware that having two views of the same device could be fatal so I did nothing to cause a write to that device.
I am curious about exactly what was going on during the near-hour long process of Windows coming up (when the BIOS USB support was enabled). If I understand correctly, DOS takes the BIOS info but Windows still discovers the device on its own and with no coordination, you get two routes to the same one. But -- why did this take so long? For some reason this brings to mind:
"But they argued all night,
o'er which had the right
to do what with which,
and to whom."
As I see things I now have ONLY the Windows view, which on this machine is plenty quick.
Edited by waltah, 13 February 2014 - 06:15 PM.
Posted 14 February 2014 - 11:10 AM
I am curious about exactly what was going on during the near-hour long process of Windows coming up (when the BIOS USB support was enabled). If I understand correctly, DOS takes the BIOS info but Windows still discovers the device on its own and with no coordination, you get two routes to the same one. But -- why did this take so long?
I suspect it was reading the whole FAT table using slow USB 1.1 protocol. Or something like that. When my Windows 98 computer with USB 1.1 worked, it always froze when I accessed USB drive the first time after boot, and USB drive light blinked meaning that the read operation was performed. The time of the freezing depended on the size of the drive. 4 GB usb flash stick froze my computer for less than a minute, 16 Gb flash stick froze it for about 3.5 minutes, and 320 GB USB HDD - for about 10 minutes or more. I didn't overcome this problem. What is the size of your drive?
Posted 30 May 2014 - 03:36 AM
HELP!!! All was working great with the Win98SE2ME patches until I tried to connect an external SATA drive. (SATA -> USB 2.0)
First, I got "MSGSRV32 caused an error in SETUPX.DLL" which then occurred when connecting any device.
The last time that happened I re-installed Win98SE from scratch.
This time, I just restored the last working copy of the registry and the device driver for one of my generic USB flash drives.
Now all FLASH devices work (Generic Sticks, PNY Attache, BENQ JoyBee, etc.)
BUT... When I connect *any* external hard drive I get "RUNDLL32 has caused an error in COMMCTRL.DLL"
After that happens, I cannot access *any* file on *any* drive from Explorer; it just hangs until I reboot (OK from DOS prompt)
I have tried restoring the COMMCTRL.DLL from Win98SE but the same thing happens.
Please advise ASAP!
Here is the error message:
MSGSRV32 caused a general protection fault
in module COMMCTRL.DLL at 0001:00000239.
EAX=1c470090 CS=1c47 EIP=00000239 EFLGS=00000246
EBX=00000000 SS=1e87 ESP=00007136 EBP=80f27146
ECX=00000090 DS=1c07 ESI=00030058 FS=0000
EDX=00003b76 ES=3b76 EDI=00030000 GS=018f
Bytes at CS:EIP:
8e c1 8b 46 06 26 39 47 12 0f 87 03 00 e9 cf ff
00581c07 1a530000 3b760021 00000090 07e0715a 000c1c47 1c070000 00000058 000140f7 0886716a 00001c47 40f70064 00010058 9ebe717a 00003ab7 00580000
Also, the same thing happens when I delete *any* device from the device list and then 'Add new hardware'
After that, the system will not boot properly. (USB device hangs before drawing desktop, LPT1 gets to desktop, gives error message and hangs)
So, definitely a problem with 'Adding Hardware'...
FYI - I just deleted the contents of Windows/inf/other and got past the error.
On one of my machines I also had the above mentioned "RUNDLL32 has caused an error in commctrl.dll" error.
Renaming the folder "other" fixed it but I am wondering what is causing the error ?
If there is a bad inf-file in it is there an easy way to find the culprit or is it necessary to test every one of it ?
Are these files needed anyway ?
Posted 30 May 2014 - 09:44 AM
Are there so many inf files in the 'other' folder? My system only has four of them: a bluetooth device, a printer, a webcam and a monitor.
The infs only tell the system which driver file(s) to use (although some of them could be malformed and create troubles) but I'm afraid you'll have to work it out by trial and error.
Just move or rename all of them, remove the associated devices from Device Manager and then on each reboot add/rename back one file, reboot again, let the system redetect the device and see which one breaks the system. It may be the inf or it may be the actual vxd/sys driver causing the problem.
Posted 04 June 2014 - 10:03 AM
Hi Drugwash, thank you for your reply !! As this system was not broken - in fact it is rock solid - I will go after this issue when I have more time in the way you suggested.
This may not be the best thread to ask, but the last couple of days I tried to get a cloned-win98se running on a USB-stick and after a couple of trial-and-errors I indeed reached the desktop.
I was, of course, not surprised to see that all drives were in ms-dos-compatibility mode but am wondering if there is a patch around like RLoew's for SATA ??