ITTSB.EU Blog Forum

Multimeter | Clamp meter | Insulation Resistance Tester | Panel Meter | Oscilloscopes | Test leads & Accessories | Software Updates => Software section => Topic started by: Kiriakos GR on September 02, 2013, 10:03:23 PM

Title: Error: HI-SPEED USB device plugged into non-HI-SPEED USB Hub
Post by: Kiriakos GR on September 02, 2013, 10:03:23 PM
By connecting my new oscilloscope on the HI-SPEED USB Hub of my computer motherboard I got this warning message.
Error: HI-SPEED USB device plugged into non-HI-SPEED USB Hub
This warning (pop up) message called as windows automated USB errors report.

My first question was WHY I am getting this?
And why Windows suggesting to connect my scope in to a specific USB controller of my system?


With this topic I will try to explain what really happened in my case.
The motherboard is an ASUS P4QC with 12 physical USB 2.0 ports.
The chipset using the Intel(R) ICH10 Family USB Enhanced Host Controller (USB 2.0) , which actually is two engines in one as it hosts also the Intel(R) ICH10 Family USB Universal Host Controller,
which is there to handle the USB 1.0 connections.

This INTEL USB subsystem is capable to reroute any plugged USB device (of every physical USB port) in the appropriate controller USB-1 or USB-2.0 automatically.
Therefore in my motherboard there is no USB 1.0 dedicated ports.

Why then I am getting this error message?

The answer is hiding in to a USB technological trickery which is about using USB 2.0 hardware which forces down the communication speed at USB 1.0 (12 Mbps ) by maintaining the USB 2.0 (480 Mbps ) communication bandwidth so to be available for other devices in the same HUB.

And so we have one Oscilloscope which likes to:
1)   connect as USB 2.0 device to windows.
2)   demands  a lower communication speed by retaining it USB 2.0 status. 
3)   Windows operating system detects that as anomaly, but Windows XP are not really prepared to handle automatically such a situation.
4)   Windows notify the user with a WRONG error message about the cause of the problem.
5)   Microsoft did not predict to program the operating system to respond neutrally OR   ignore these specific hardware requests.
6)   Such RS-232 USB solutions are commonly used in industrial equipment such as CNC machinery and robotics.


YES your PC is healthy.
YES you USB cable its good enough (high speed).
YES Microsoft worth to be accused about the frustration caused in many millions of users because of that.
And YES there is a solution offered by Microsoft of HOW TO Disable the USB error report and find your inner peace.


Thanks to Uwe Sieber from Magdeburg in Germany and his fantastic software USB Device Tree Viewer,
I did managed to understand what was really causing this behavior.
And even retrieved interesting information’s for computer nerds like me about my Oscilloscope.   

LINKS 
 
Microsoft How to turn off the "Hi-speed USB device plugged into non-hi-speed USB hub" warning message
http://support.microsoft.com/kb/835967 (http://support.microsoft.com/kb/835967)

Uwe Sieber ( Germany ) USB Device Tree Viewer,
http://www.uwe-sieber.de/english.html (http://www.uwe-sieber.de/english.html)

Wiki USB communications device class
http://en.wikipedia.org/wiki/USB_communications_device_class (http://en.wikipedia.org/wiki/USB_communications_device_class)

HP Consumer Support Difference Between USB 2.0 Full Speed and USB 2.0 High Speed Devices
http://h10025.www1.hp.com/ewfrf/wc/document?docname=c00022531&lc=en&cc=th& (http://h10025.www1.hp.com/ewfrf/wc/document?docname=c00022531&lc=en&cc=th&)




REPORT:
USB Device Tree Viewer analysis of GDS-2102A  USB vendor id and product ids
=========================== USB Port2 ===========================

Connection Status        : Device is connected
Port Chain               : 4-2
PortAttributes           : 0x00000000

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Friendly Name            : DSO (COM3)
Device Description       : DSO
Device ID                : USB\VID_2184&PID_0013\(serial no)
Kernel Name              : \Device\USBSER000
Driver KeyName           : {4D36E978-E325-11CE-BFC1-08002BE10318}\0000
Driver                   : C:\WINDOWS\system32\DRIVERS\usbser.sys (Version: 5.1.2600.5512  Date: 2008-04-14)
Legacy BusType           : PNPBus
Class                    : Ports
Service                  : usbser
Enumerator               : USB
Location Info            : GDS-2102A
Manufacturer Info        : DSO
Capabilities             : Removable, UniqueID, SurpriseRemovalOK
Address                  : 2
Problem Code             : 0
Power State              : D0 (supported: D0, D3, wake from D0, wake from D3)
COM-Port                 : COM3 (\Device\USBSER000)

        ---------------- Connection Information ---------------
Connection Index         : 0x02
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x02
Device Address           : 0x01
Is Hub                   : 0x00 (no)
Number Of Open Pipes     : 0x03 (3)
Device Bus Speed         : 0x01 (Full-Speed)
Pipe0ScheduleOffset      : 0x00 (0)
Pipe1ScheduleOffset      : 0x00 (0)
Pipe2ScheduleOffset      : 0x00 (0)

        ------------- Device Qualifier Descriptor -------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Qualifier Descriptor)
bcdUSB                   : 0x200 (USB Version 2.00)
bDeviceClass             : 0x02 (Communications and CDC Control)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x2184
idProduct                : 0x0013
bcdDevice                : 0x226
iManufacturer            : 0x01
 Language 0x0409         : "GW"
iProduct                 : 0x02
 Language 0x0409         : "GDS-2102A"
iSerialNumber            : 0x03
 Language 0x0409         : "(serial no)"
bNumConfigurations       : 0x01

        -------------- Configuration Descriptor ---------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x0043 (67 bytes)
bNumInterfaces           : 0x02
bConfigurationValue      : 0x02
iConfiguration           : 0x05
 Language 0x0409         : "Gadget Serial CDC ACM"
bmAttributes             : 0xC0 (Bus Powered, Self Powered)
MaxPower                 : 0x01 (2 mA)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00
bAlternateSetting        : 0x00
bNumEndpoints            : 0x01
bInterfaceClass          : 0x02 (Communications and CDC Control)
bInterfaceSubClass       : 0x02
bInterfaceProtocol       : 0x01
iInterface               : 0x06
 Language 0x0409         : "Gadget Serial Control"

        -------------- CDC Interface Descriptor ---------------
bFunctionLength          : 0x05 (5 bytes)
bDescriptorType          : 0x24 (Interface)
bDescriptorSubType       : 0x00 (Header Functional Descriptor)
bcdCDC                   : 0x110 (CDC Version 1.10)

        -------------- CDC Interface Descriptor ---------------
bFunctionLength          : 0x05 (5 bytes)
bDescriptorType          : 0x24 (Interface)
bDescriptorSubType       : 0x01 (Call Management Functional Descriptor)
bmCapabilities           : 0x03
bDataInterface           : 0x01

        -------------- CDC Interface Descriptor ---------------
bFunctionLength          : 0x04 (4 bytes)
bDescriptorType          : 0x24 (Interface)
bDescriptorSubType       : 0x02 (Abstract Control Management Functional Descriptor)
bmCapabilities           : 0x06

        -------------- CDC Interface Descriptor ---------------
bFunctionLength          : 0x05 (5 bytes)
bDescriptorType          : 0x24 (Interface)
bDescriptorSubType       : 0x06 (Union Functional Descriptor)
bControlInterface        : 0x00
bSubordinateInterface[0] : 0x01

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN  EndpointID=3)
bmAttributes             : 0x03 (TransferType=Interrupt)
wMaxPacketSize           : 0x08 (8 bytes)
bInterval                : 0x20 (32 ms)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x01
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02
bInterfaceClass          : 0x0A (CDC-Data)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x07
 Language 0x0409         : "Gadget Serial Data"

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN  EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x40 (64 bytes)
bInterval                : 0x00 (ignored)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x02 (Direction=OUT  EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x40 (64 bytes)
bInterval                : 0x00 (ignored)

Title: Re: Error: HI-SPEED USB device plugged into non-HI-SPEED USB Hub
Post by: Kiriakos GR on December 05, 2022, 11:52:39 AM
Update:
Identical solution works even at Win7 Pro.