RetroOS Posted April 11, 2010 Posted April 11, 2010 (edited) How to get Windows 98SE (with 98SE2ME) to work with a recent USB composite deviceBackgroundI wanted to switch between two PCs, one Windows 98SE, and the other Windows 7.There are basic KVM switches that switch PS/2 keyboard/mouse and VGA.However, I wanted to switch audio (and not just stereo!), printer, scanner, and so on.I also wanted DVI switching.So, I found a switch box, or KVMP, that switches peripherals as well.In all, it does USB 2.0 devices (built-in hub) including it's own ports for HID keyboard and HID mouse, 6 audio lines (7.1 channels, line in, microphone), and DVI.Great! Just what I wanted.InstallationSo, I hooked up the Windows 7 PC, and it detected the USB composite device and child devices, and worked correctly.However, when I fired up Windows 98SE, it was a different story.I have 98SE2ME and NUSB 3.3 installed.Windows 98SE detected the USB composite device and prompted for a driver.So, I plugged in a PS/2 keyboard, and proceeded.There were two options:- usb.inf - the standard Windows 98SE drivers- usbme.inf - the standard Windows Me drivers from 98SE2ME.I started with the 98SE drivers... BSOD!Restarted... BSOD!SolutionAfter some messing around and many restarts, I determined that Windows 98SE was dead...So, I rolled back the registry to the last known good registry save.Windows 98SE started okay, and redetected the USB composite device.This time I selected USBME.INF to use the Windows Me drivers.That worked and I arrived at the desktop.However, the HID devices were not detected.I checked the Device Manager and discovered that the USB composite device had failed with a ntkern.vxd code 2 failure.The driver it was using was usbccgp.sys (4.90.3000 - original Windows Me).So, after a number of wasted restarts, I thought I would try the Windows 98SE version...However, Windows 98SE does not have this file.Well, I reasoned, maybe Windows 2000? No such driver (it uses usbhub.sys).Okay then, what about Windows XP KB822603 (5.1.2600.1243) version of usbccgp.sys?It worked!The other USB devices were all detected okay, and the shared keyboard and mouse were now working.So, I further reasoned, maybe the Windows XP SP3 (KB936929) version of the file (5.1.2600.5512) would work too?Sure enough, it works perfectly, and has been running with no USB problems for some weeks now.So, this is how I got a recent USB composite device and child devices working in Windows 98SE.Please note however, that you will need at least 98SE2ME, and probably also NUSB 3.3.Maybe it would be possible to include the usb.inf file from Windows Me and the usbccgp.sys file from Windows XP SP3 in NUSB? Edited April 11, 2010 by RetroOS
dencorso Posted April 11, 2010 Posted April 11, 2010 Great find, RetroOS! I've just compared USB.INF and USBME.INF (BeyondCompare is perfect to do this), and I think they might be consolidated into a single .INF, but lots of testing will be needed, of course. But it sure seems possible, from this quick inspection.
jaclaz Posted April 11, 2010 Posted April 11, 2010 Maybe also working 5.1.2600.1331:http://support.microsoft.com/kb/838989/en-usjaclaz
Multibooter Posted April 11, 2010 Posted April 11, 2010 (edited) How to get Windows 98SE (with 98SE2ME) to work with a recent USB composite deviceI assume that a "recent" USB Composite Device is a device for which there is no manufacturer-provided Win98 driver. BTW, could you explain very briefly what a Composite Device is, I am not quite sure. I thought it was kind of an internal USB hub, built into the box, under the hood.Please note however, that you will need at least 98SE2ME, and probably also NUSB 3.3. Maybe it would be possible to include the usb.inf file from Windows Me and the usbccgp.sys file from Windows XP SP3 in NUSB?I am using an HP2605dn Color LaserJet printer, which has a USB connector and an Ethernet connector. On both my laptop and desktop I have installed first the OrangeWare driver, then NUSB 3.3, without uninstalling the OrangeWare driver, so both drivers co-exist. When I installed the HP2605dn printer under Win98SE, it first detected a USB Composite Device and the location of the USB 2.0 driver was \INF\OEM0.INF [=the OrangeWare driver, ousb2.INF]. \INF\USB.INF was used only when I installed the printer at the USB 1.1 connector of my old laptop.The HP2605dn is the only Composite Device I use (except for a special foreign language USB keyboard). It works fine, but it was a big can of worms to install under Win98SE. The HP2605dn has manufacturer-provided drivers for Win98SE, your KVM switch probably doesn't. Congratulations that you got it to work under 98SE2ME anyway.I use NUSB as a driver for USB mass storage devices, not as a driver for a USB hub. Expanding the functionality of nusb to more USB devices would be a great next step. Edited April 12, 2010 by Multibooter
RetroOS Posted April 13, 2010 Author Posted April 13, 2010 (edited) ...BTW, could you explain very briefly what a Composite Device is, I am not quite sure. I thought it was kind of an internal USB hub, built into the box, under the hood....A simple explanation to your question, is that a USB Composite Device is a single USB device with more than one function.For example, the KVM I have is a single USB device (the root device is the Composite Device) that has three child devices being a USB 2.0 Hub, a USB HID Keyboard, and a USB HID Mouse.Some PC-Card/ExpressCard mobile data cards have an internal USB hub connected to a USB composite device with a USB CD (virtual) for installing the software, a USB cellular wireless device, and a Mass Storage Device (flash storage card).Another example is a printer with a flash card socket where the printer and mass storage device are part of the composite device.The operating system will always detect and load the driver for the composite device first before it can detect the other child devices.There are exceptions to this explaination.Some USB devices function as compound devices where each function is seen from the operating system as a separate device.An example might be a webcam with a built-in microphone.Here is some good technical USB information for those interested:http://www.microsoft.com/whdc/connect/usb/usbfaq_intro.mspxhttp://www.microsoft.com/whdc/connect/usb/usbfaq_intermed.mspx Edited April 13, 2010 by RetroOS
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now