Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

Windows 98SE (with 98SE2ME) and a recent USB composite device

- - - - -

  • Please log in to reply
4 replies to this topic

#1
RetroOS

RetroOS

    Senior Member

  • Member
  • PipPipPipPip
  • 531 posts
  • Joined 26-June 07
  • OS:Windows 7 x64
  • Country: Country Flag
How to get Windows 98SE (with 98SE2ME) to work with a recent USB composite device


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


Installation
So, 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!


Solution
After 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 by RetroOS, 11 April 2010 - 12:05 AM.

retrofreak n a person who is very enthusiastic about something from the past.
retrology n the study of association with and revival from the past.
life n a series of near misses.


How to remove advertisement from MSFN

#2
dencorso

dencorso

    Iuvat plus qui nihil obstat

  • Supervisor
  • 5,944 posts
  • Joined 07-April 07
  • OS:98SE
  • Country: Country Flag

Donator

Great find, RetroOS! :thumbup
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.

#3
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,567 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag
Maybe also working :unsure: 5.1.2600.1331:
http://support.micro...kb/838989/en-us

jaclaz

#4
Multibooter

Multibooter

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 896 posts
  • Joined 21-March 08
  • OS:98SE
  • Country: Country Flag

How to get Windows 98SE (with 98SE2ME) to work with a recent USB composite device

I 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 by Multibooter, 12 April 2010 - 02:17 AM.


#5
RetroOS

RetroOS

    Senior Member

  • Member
  • PipPipPipPip
  • 531 posts
  • Joined 26-June 07
  • OS:Windows 7 x64
  • Country: Country Flag

...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...bfaq_intro.mspx
http://www.microsoft...q_intermed.mspx

Edited by RetroOS, 13 April 2010 - 12:43 AM.

retrofreak n a person who is very enthusiastic about something from the past.
retrology n the study of association with and revival from the past.
life n a series of near misses.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users