Jump to content

USB 2 On Win98SE


Wijono

Recommended Posts

As mentioned at the beginning of the thread, after adding a “USB 2 PCI Card”, my Device Manager is showing 2 separate “Universal Serial Bus controllers” lines, one for USB 2.0 and the other for USB 1.1.

I am sort of perfectionist and do not like that situation, I would like to see that there should only be one “Universal Serial Bus controllers” in the Device Manager. After some tweaks in the driver INF file, I managed to achieve that, now my Device Manager is showing the following tree for the USB:

Device Manager:

- Universal Serial Bus controllers

- General purpose USB Hub

- Intel® 8280144 USB Universal Host Controller

- NEC PCI to USB Enhanced Host Controller

- NEC USB Open Host Controller

- NEC USB Open Host Controller

- USB 2.0 Root Hub Device

- USB Root Hub

- USB Root Hub

- USB Root Hub

For the reason also mentioned earlier, i.e., I would like to see the current drawn by the USB device, I use also USB View, the tree in USB View looks as follows:

USB View:

- Intel® 82801AA USB Universal Host Controller

- RootHub

- [Port1] DeviceConnected: General purpose USO Hub

- [Port1] NoDeviceConnected

- [Port2] NoDeviceConnected

- [Port3J NoDeviceConnected

- [Port4J NoDeviceConnected

- [Port2J NoDeviceConnected

- NEC USB Open Host Controller

- RootHub

- [Port1] DeviceConnected: ICatch (VI) PC Camera

- [Port2] NoDeviceConnected

- [Port3] NoDeviceConnected

- NEC USB Open Host Controller

- RootHub

- [Port1] DeviceConnected: DSL500U ADSL USO Modem (Native ATM Mode)

- [Port2] NoDeviceConnected

-HCD9

- RootHub

- [Port1] NoDeviceConnected

- [Port2] NoDeviceConnected

- [Port3] NoDeviceConnected

- [Port4] NoDeviceConnected

- [Port5] NoDeviceConnected

As you can see, the “NEC PCI to USB Enhanced Host Controller” is displayed as “HCD9” in USB View. I hope some of you may have the expertise in USB View, and can tell me why is “NEC PCI to USB Enhanced Host Controller” displayed as “HCD9”. Perhaps also how to rectify that problem.

Thanks a lot.

Link to comment
Share on other sites


Good news!! after trying very hard to find a way to bring the "Power" tab into my "USB 2.0 Root Hub Device" in the Device Manager, finally I managed to achieve it.

I added the following into the "Root Hub Install Section" of the driver INF file:

[Power.AddReg]

HKR,,EnumPropPages,,"sysclass.dll,USBHubPropPage"

certainly also added an entry "Power.AddReg" under the [ROOTHUB2].

As a result it creates in the Registry following additional line "EnumPropPages"="sysclass.dll,USBHubPropPage" under the [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\USB\0008] key, where 0008 is "ROOTHUB2".

That alone does not bring the "Power" tab into the "USB 2.0 Root Hub Device", I still need to do one thing manually, i.e., add String Value "SymbolicName" in the Registry key [HKEY_LOCAL_MACHINE\Enum\{B8139C20-CF94-11D5-AEF7-0002B30625C5}\ROOT_HUB20\PCI&VEN_1033&DEV_00E0&SUBSYS_020514C2&REV_04&42F000] and set the value to "\DosDevices\00000000000000a7#{f18a0e88-c30c-11d0-8815-00a0c906bed8}", where "00000000000000a7" is the "Serial" of the Root Hub 2.

Having done that, voila... believe it or not... the "Power" tab is now found in the "USB 2.0 Root Hub Device"!! And it shows correctly the current drawn by the device.

I am still not fully satisfied, cause I still need to add the String Value "SymbolicName" manually. It would be great if it could be also included in the INF file. Can anyone help to do that???

Link to comment
Share on other sites

-HCD9

- RootHub

- [Port1] NoDeviceConnected

- [Port2] NoDeviceConnected

- [Port3] NoDeviceConnected

- [Port4] NoDeviceConnected

- [Port5] NoDeviceConnected

As you see, you have no devices connected to this hub, until you do the power tab will not be there and manually forcing it to read another device would defeat the purpose of having that hub, no ?

Link to comment
Share on other sites

Hi Kartel,

When we add a “USB 2 PCI Card”, like e.g., mine is based on NEC chipset, then it will add not only USB 2 RootHub, but also USB 1.1 RootHub.

In case of mine it adds for USB 1.1:

- NEC USB Open Host Controller

- RootHub

- [Port1] DeviceConnected: ICatch (VI) PC Camera

- [Port2] NoDeviceConnected

- [Port3] NoDeviceConnected

- NEC USB Open Host Controller

- RootHub

- [Port1] DeviceConnected: DSL500U ADSL USO Modem (Native ATM Mode)

- [Port2] NoDeviceConnected

And for the USB 2.0:

- HCD9

- RootHub

- [Port1] NoDeviceConnected

- [Port2] NoDeviceConnected

- [Port3] NoDeviceConnected

- [Port4] NoDeviceConnected

- [Port5] NoDeviceConnected

The chipset is so smart, when we plug in a USB 1.1 device, then it will be routed to the USB 1.1 RootHub, the examples are my ICatch (VI) PC Camera and DSL500U ADSL USO Modem. If we would plug in a USB 2.0 device into the same USB port, then it will be routed to the RootHub under the “HCD9” above.

By the time when I took the snapshot with USB View above, I did not plug in any USB 2.0 device. But the “Power” tab has nothing to do with whether or not a device is plugged in.

When I plug-in a USB 2.0 Thumbdrive, I can see it under the “HCD9” in USB View and read the current from it. And with the patch I did above, now I can also see the current in the “Power” tab of "USB 2.0 Root Hub Device" in the Device Manager, I did not have the “Power” tab before the patch. When I unplug the Thumbdrive, then the “Power” tab will still be there, but certainly empty.

Link to comment
Share on other sites

  • 3 weeks later...

I still have the SMALL hope that some expert can help me, hence I bring this thread back to surface.

As I have said earlier, I am quite happy to be able to bring the Power tab to my “USB 2.0 Root Hub Device” in the Device Manager, so that I can see what current (mA) is drawn by the USB 2.0 device connected.

The “NEC PCI to USB Enhanced Host Controller” is also correctly mentioned as such in the Device Manager. The Windows System Information, also a small utility called “USB HC List” (HCList.exe), both correctly mentioned the USB 2 controller as “NEC PCI to USB Enhanced Host Controller”.

I really feel annoyed, that USBView mentioned it as “HCD9” as I mentioned above. Even worst with the most recent utility from Microsoft “UVCView.x86.exe”, cause it does not enumerate my USB 2 controller at all!!

Please help, what can I possibly do, so that USBView will mention the USB 2 controller as “NEC PCI to USB Enhanced Host Controller”, not “HCD9”?

Link to comment
Share on other sites

  • 3 weeks later...

After trying hard so long finally I found myself the solution to my problem.

The OrangeWare driver that comes with the USB 2.0 PCI Card is Version 2.2.2., it uses GUID format to enumerate the root hub, i.e., it puts following entry in the Registry:

HKLM\Enum\{B8139C20-CF94-11D5-AEF7-0002B30625C5}\ROOT_HUB20

That was the reason why USBView does not properly enumerate it, and display “NEC PCI to USB Enhanced Host Controller" as HCD9.

I managed to get an older driver, i.e., Version 2.0.6, which uses following format of enumeration:

HKLM\Enum\USB2\ROOT_HUB20

That done, the USBView, whatever version, now can correctly enumerate the USB 2.0 root hub together with the “NEC PCI to USB Enhanced Host Controller". As far as I know, OrangeWare has switched to the GUID format enumeration as from Version 2.1.0.

Link to comment
Share on other sites

-hi, I know this isn't exactly the perfect match thread for my question, but I've exhausted all other places I could find, to no avail...

--does anybody have any idea how to get SiS usb 2.0 (chip 7002, built-in to SiS650 chipset mobo) to work in win98se?

-I've tried EVERYTHING, everywhere: forums, sis drivers, matsonic (mobo), orangeware, maximus-decim, usbman, u name it... no luck... the closest I've got, is Device Manager showing the proper entries for usb 2.0, but actual speeds still locked at 1.1...

-again, sry to be a bit off-topic here, just DESPERATE, so worth a shot...

>;]

Link to comment
Share on other sites

-hi, I know this isn't exactly the perfect match thread for my question, but I've exhausted all other places I could find, to no avail...

--does anybody have any idea how to get SiS usb 2.0 (chip 7002, built-in to SiS650 chipset mobo) to work in win98se?

-I've tried EVERYTHING, everywhere: forums, sis drivers, matsonic (mobo), orangeware, maximus-decim, usbman, u name it... no luck... the closest I've got, is Device Manager showing the proper entries for usb 2.0, but actual speeds still locked at 1.1...

-again, sry to be a bit off-topic here, just DESPERATE, so worth a shot...

>;]

Apparently just some motherboards are supported, with the following Subystem IDs:

147B 1800 ABIT Computer Corp.

147B 1801 ABIT Computer Corp.

1558 0400 CLEVO/KAPOK Computer

1558 0401 CLEVO/KAPOK Computer

1558 2263 CLEVO/KAPOK Computer

1458 5004 Giga-byte Technology

1462 5332 Micro-Star International Co., Ltd.

1462 5470 Micro-Star International Co., Ltd.

1462 5642 Micro-Star International Co., Ltd.

1462 7001 Micro-Star International Co., Ltd.

1462 7010 Micro-Star International Co., Ltd.

144D B01C Samsung Electronics Co Ltd

The subsystem ID is one time programmabe by BIOS during the boot process, it is possible to change it by modifying the BIOS but I never tried this.

Petr

Link to comment
Share on other sites

I've looked into the Award 6.00PG BIOS how it was done in 1999, here are fragments of the code:

;Note : This chipset support Sub-system ID & vendor ID programming
; The BIOS will copy "Vendor ID" & "System ID" to these two fields.
; If customer need specific subsystem ID, please add following switch:
; SUBSYSTEM_VENDOR_ID EQU 0xxxxH;for subsystem vendor ID
; SUBSYSTEM_ID EQU 0yyyyH;for subsystem ID
;

;Program Subsystem Vendor ID & subsystem ID
xor bh, bh ;bus 0
mov ax, SUBSYSTEM_VENDOR_ID;sub-vendor ID for manufacture
mov cx,(TSC_ID SHL 8)+2CH
F000_call ASet_CfgSpace_Word ;program subsystem vendor ID

mov ax, SUBSYSTEM_ID ;sub-system ID for manufacture
mov cx,(TSC_ID SHL 8)+2EH
F000_call ASet_CfgSpace_Word ;program subsystem vendor ID

This is just an example.

Petr

Edited by Petr
Link to comment
Share on other sites

  • 6 months later...
Meanwhile, I found an intermediate solution, i.e., by the use of USB View (usbview.exe) from Microsoft, Version 5.1.2600.0 upward, with the "Config Descriptors" turned on, we can find the "MaxPower" in the "Configuration Descriptor" that show how many mA is drawn by the device.

you can find newer versions of the USB Viewer app [usbview.exe] bundled inside the Windows Server 2003 SP1 DDK and Windows Vista DDK. these versions resolve the problems listed in MS article 838100-

http://support.microsoft.com/kb/838100/en-us

also, can you try out usbview.exe version 5.00.2195.1620 here and see if it works on your Win98se computer.

Link to comment
Share on other sites

you can find newer versions of the USB Viewer app [usbview.exe] bundled inside the Windows Server 2003 SP1 DDK and Windows Vista DDK. these versions resolve the problems listed in MS article 838100-

http://support.microsoft.com/kb/838100/en-us

also, can you try out usbview.exe version 5.00.2195.1620 here and see if it works on your Win98se computer.

Version 5.00.2195.1620 works on Windows 98, it is the same file as http://www.ftdichip.com/Resources/Utilities/usbview.zip already discussed here.

I have tried to compile the version from Windows Server 2003 SP1 DDK and not only that it works on Windows 98 SE, but it also displays VIA EHCI (USB2.0) controller correctly! Nice. Both XPSP2 and WS2003SP1 versions (5.2.3790.1830, 5.1.2600.2180) work OK on W98, surprisingly building for Windows 2000 platform resulted in the following error message:

1>BUILDMSG: Warning : The sample "c:\winddk\3790~1.183\src\wdm\usb\usbview" is not valid for the current OS target.

Thanks for this information erpdude.

Petr

Edit: Now I have tried also Windows Vista WDK (build 5744) and usbview.exe does not run in Windows 98 OS regardless on the build environment used.

Edited by Petr
Link to comment
Share on other sites

thanks Petr. I'll try the newer build on my Win98se/ME machines later this week.

I've also found a "modded" edition of Usbview.exe here. if you run this version it's version 5.1.2600.1106 but if you click on the About command to display the About dialog box, you will see it has been modified by someone. This specific version of Usbview has the Auto Refresh and Config Descriptors enabled by default.

description on this specific version of usbview mentioned here:

http://www.k0lee.com/dc3000/usbts.htm

Link to comment
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.
×
×
  • Create New...