USB2 Device attaches to USB1 Hub

  • Thread starter Thread starter Jim T.
  • Start date Start date
J

Jim T.

This is a restart of my earlier post, since so many people
misunderstood, and gave some strange comments.
My printer is definitely a USB2 device. The USBInfo program knows this
to be true.
My desktop has eight ports. They are all USB2 capable, but if a device
is seen as only USB1, then it is connected to a built-in USB1 hub. I
suppose that this is done by the enumerator. All these hubs show in
Device Manager.
Anyway, Windows XP SP2 is connecting the USB2 printer to the USB1 hub,
thereby making it operate more slowly. Other USB2 devices are
connected properly, e.g. a scanner and a thumb drive. My USB hard
drive died.
 
Jim said:
This is a restart of my earlier post, since so many people
misunderstood, and gave some strange comments.
My printer is definitely a USB2 device. The USBInfo program knows this
to be true.
My desktop has eight ports. They are all USB2 capable, but if a device
is seen as only USB1, then it is connected to a built-in USB1 hub. I
suppose that this is done by the enumerator. All these hubs show in
Device Manager.
Anyway, Windows XP SP2 is connecting the USB2 printer to the USB1 hub,
thereby making it operate more slowly. Other USB2 devices are
connected properly, e.g. a scanner and a thumb drive. My USB hard
drive died.

It is possible for what appears to be a USB2 setup (USB2 peripheral
and USB2 capable motherboard port), to run at USB 1.1. This can be
caused by signal integrity issues. If a bad cable is being used,
or you have a front panel computer port which messes up the USB
signal, that can cause operation at USB 1.1 rates.

Some Antec computer cases, shipped with USB cabling and PCB, that
only worked at USB 1.1 rates. That is one example of an affected
product. At one time, Antec would mail replacement USB assemblies
to people, to correct the problem.

As for debugging a setup, and unambiguously identifying the problem,
no, I don't know of any magic. You can reset your USB stack, use
all the enumeration tools you want, and if the Gods are angry,
you'll stay at USB 1.1.

Note that a few "USB 2.0 compatible" devices, don't actually have
USB2 hardware in them. Some scanner products, for example, contain
that description. The marketing people feel that just because the
connector looks the same, they can fool the customer with that statement.
Since admitting "USB 1.1" chips inside the device, would be marketing
suicide, they instead make up that descriptive term instead. But
you'll never ever see more than 1MB/sec or so, from their product.

The printer might actually be an honest to goodness USB 1.1 device.

Paul
 
Jim T. said:
This is a restart of my earlier post, since so many people
misunderstood, and gave some strange comments.
My printer is definitely a USB2 device. The USBInfo program knows this
to be true.
My desktop has eight ports. They are all USB2 capable, but if a device
is seen as only USB1, then it is connected to a built-in USB1 hub. I
suppose that this is done by the enumerator. All these hubs show in
Device Manager.
Anyway, Windows XP SP2 is connecting the USB2 printer to the USB1 hub,
thereby making it operate more slowly. Other USB2 devices are
connected properly, e.g. a scanner and a thumb drive. My USB hard
drive died.

Original answer stands:

Windows doesn't downgrade the USB hub because a USB1 device is plugged in.
If it did that, then everything plugged into your USB hub would start
operating at USB 1 speeds. If your device is shown as 'connected to a USB1
hub', then you indeed have a USB1 hub! If the device is shown as a USB 1
*device* plugged into a *USB2 hub*, then you have a USB 2 hub and either USB
1 cabling or USB 1 device.

Try a different cable, try the same cable and device on another computer -
by process of ellimination, identify the problem part, which is the PC,
cable or printer.
 
GT said:
Original answer stands:

Windows doesn't downgrade the USB hub because a USB1 device is plugged in.
If it did that, then everything plugged into your USB hub would start
operating at USB 1 speeds. If your device is shown as 'connected to a USB1
hub', then you indeed have a USB1 hub! If the device is shown as a USB 1
*device* plugged into a *USB2 hub*, then you have a USB 2 hub and either
USB 1 cabling or USB 1 device.

Try a different cable, try the same cable and device on another computer -
by process of ellimination, identify the problem part, which is the PC,
cable or printer.

Oh I forgot to say, - you said "Windows XP SP2 is connecting the USB2
printer to the USB1 hub", but your statement doesn't make sense - only you,
physically plug the device into the hub, so if it is connected to *the USB 1
hub*, then unplug it from your USB1 hub and plug it into your USB2 hub.
 
Original answer stands:

Windows doesn't downgrade the USB hub because a USB1 device is plugged in.
If it did that, then everything plugged into your USB hub would start
operating at USB 1 speeds.

Old USB2 external hubs sometimes lack the ability to support
multiple (USB1 vs 2) speed peripherals and forced all into
USB1 mode. AFAIK, none of these have been sold for a few
years.

On a USB2 hub port-pair, plugging a USB1 device into one
does force the 2nd port of the pair into USB mode, but not
the other USB2 ports.

If your device is shown as 'connected to a USB1
hub', then you indeed have a USB1 hub! If the device is shown as a USB 1
*device* plugged into a *USB2 hub*, then you have a USB 2 hub and either USB
1 cabling or USB 1 device.

.... or the OS defaulted to a legacy USB1 mode because it
wants a USB2 driver.

Try a different cable, try the same cable and device on another computer -
by process of ellimination, identify the problem part, which is the PC,
cable or printer.

Cables won't generally cause a USB2 hub or device to report
USB1, although a dodgy cable can certainly foul up USB2 (or
1, for that matter) transmissions, even cause a device to
fail to be recognized at all. I'm reminded of some clear
cables with little blue LEDs integrated into each end which
light up with data transmissions. They prevented a (think
it was USB1) printer from even being recognized, and after
further investigation (swapping in another cable worked), I
was curious enough to chop open the connectors and desolder
the LED PCB and the cable henceforth worked properly. Not
that I'd reuse it like that, cables are $2 but it makes you
wonder if they'd bothered to test the degradation in use
after tacking that circuit onto the bus.
 
Oh I forgot to say, - you said "Windows XP SP2 is connecting the USB2
printer to the USB1 hub", but your statement doesn't make sense - only you,
physically plug the device into the hub, so if it is connected to *the USB 1
hub*, then unplug it from your USB1 hub and plug it into your USB2 hub.
Here's a long-winded discussion- sorry aboutr that
There are some well informed and intentioned people on this thread,
but the facts are these despite their explanations -
Device Manager shows:
4 USB1 hubs with 2 ports each.
1 Enhanced (USB2) hub with eight ports
The computer has eight USB jacks. That's all!
The program USBInfo shows exactly the same thing - The Canon Scanner
and the Thumbdrive show as USB2 devices attached to USB2 ports. The
camera shows as a USB1 device attached to a USB1 port. The keyboard
and mouse are attached to USB1 ports. Occasionally after returning
from standby it confuses the thumb drive and says it should be
connected to a USB2 port! Always OK after restart.
BUT, in USBInfo the HP 5650 printer is shown as a USB2 device attached
to a USB1 port. It shows as attached to a USB2 port in Device Manager.
Maybe USBInfo is wrong! I've asked them but they haven't responded
yet.The printer works just fine, but I think it should be faster.
There's obviously logic in the hubs or in the enumerator that decides.
Now what do you suggest?
I have replaced all the drivers I can find. Ihave switched cables and
jacks. The printer dies not move in USBInfo. Of course HP says it
isn't their fault. If the info is true then I guess it's a Windows
problem.
 
Jim said:
Here's a long-winded discussion- sorry aboutr that
There are some well informed and intentioned people on this thread,
but the facts are these despite their explanations -
Device Manager shows:
4 USB1 hubs with 2 ports each.
1 Enhanced (USB2) hub with eight ports
The computer has eight USB jacks. That's all!
The program USBInfo shows exactly the same thing - The Canon Scanner
and the Thumbdrive show as USB2 devices attached to USB2 ports. The
camera shows as a USB1 device attached to a USB1 port. The keyboard
and mouse are attached to USB1 ports. Occasionally after returning
from standby it confuses the thumb drive and says it should be
connected to a USB2 port! Always OK after restart.
BUT, in USBInfo the HP 5650 printer is shown as a USB2 device attached
to a USB1 port. It shows as attached to a USB2 port in Device Manager.
Maybe USBInfo is wrong! I've asked them but they haven't responded
yet.The printer works just fine, but I think it should be faster.
There's obviously logic in the hubs or in the enumerator that decides.
Now what do you suggest?
I have replaced all the drivers I can find. Ihave switched cables and
jacks. The printer dies not move in USBInfo. Of course HP says it
isn't their fault. If the info is true then I guess it's a Windows
problem.

Try Figure 25 on page 223 of this document.

http://download.intel.com/design/chipsets/datashts/25251601.pdf

What it shows, is four "USB 1.1 logic blocks" or UHCI.
At the bottom of the figure, is one "USB 2.0 logic block" or EHCI.

Those are the total of five things you see in Device Manager.

Now, look at the wiring. Up to 8 USB ports can be provided somewhere
on a typical computer case. The 8 ports are dynamically connected to the
five logic blocks, via the port routing logic.

What you see in Device Manager, is the existence of the logic blocks,
not the Port Routing Logic state.

If the Microsoft driver is not verbose, and won't tell us what it is
doing, or why, then how can there possibly be answers to every USB
problem ? Only the lone developer at Microsoft, knows the answer.

Paul
 
This is a restart of my earlier post, since so many people
misunderstood, and gave some strange comments.
My printer is definitely a USB2 device. The USBInfo program knows this
to be true.

Where was your initial info that it's a USB2 printer?
Looking on HP's webpage and datasheet, it does not mention
USB2, only "USB".

http://h10010.www1.hp.com/wwpc/us/en/sm/WF06a/18972-18972-236251-14438-236261-304441.html

http://h10010.www1.hp.com/wwpc/pscmisc/vac/us/product_pdfs/304441.pdf


My desktop has eight ports. They are all USB2 capable, but if a device
is seen as only USB1, then it is connected to a built-in USB1 hub. I
suppose that this is done by the enumerator. All these hubs show in
Device Manager.
Anyway, Windows XP SP2 is connecting the USB2 printer to the USB1 hub,
thereby making it operate more slowly.

I doubt it makes a significant difference. Your printer has
a normal black text mode of 7.7 pages per minute. That's a
pretty low rate for even USB1 to manage. My USB1 laser
printers had no problem cranking out over 20 pages per
minute. Granted they had a far larger memory buffer, but I
think most of the slowness is that it's just a typical
smaller inkjet.

At what moment during the print jobs does it seem it should
be going faster? Does it have a long pause after each page?
Does it print a few lines and then a long pause? If you set
it in a lower quality mode does it significantly speed up?

If all else fails, take the printer and driver CD to some
other computer with USB2, and time the (exact) same print
jobs/settings you are now finding slow.
 
Where was your initial info that it's a USB2 printer?
Looking on HP's webpage and datasheet, it does not mention
USB2, only "USB".

http://h10010.www1.hp.com/wwpc/us/en/sm/WF06a/18972-18972-236251-14438-236261-304441.html

http://h10010.www1.hp.com/wwpc/pscmisc/vac/us/product_pdfs/304441.pdf

Touche, and good point. HP assures me that it "supports 2.0" but that
could mean anything!. Have not heard from USBInfo as to how they
identify it as USB2, and do not agree with Device Manager. I'm
dropping this thread for the time being. If I actually uncover an
earthshaking miracle, I'll report it here.
 
Paul said:
Try Figure 25 on page 223 of this document.

http://download.intel.com/design/chipsets/datashts/25251601.pdf

What it shows, is four "USB 1.1 logic blocks" or UHCI.
At the bottom of the figure, is one "USB 2.0 logic block" or EHCI.

Those are the total of five things you see in Device Manager.

Now, look at the wiring. Up to 8 USB ports can be provided somewhere
on a typical computer case. The 8 ports are dynamically connected to the
five logic blocks, via the port routing logic.

What you see in Device Manager, is the existence of the logic blocks,
not the Port Routing Logic state.

If the Microsoft driver is not verbose, and won't tell us what it is
doing, or why, then how can there possibly be answers to every USB
problem ? Only the lone developer at Microsoft, knows the answer.

Paul

OK, I did some more digging.

First, get a copy of UVCView.x86.exe from Microsoft. This is one of several
programs that displays config info from plugged in USB devices. Don't
let the title bother you, it even works with my USB mouse and ZIP250.

"UVCView – Diagnostic Tool for USB Video Class Hardware"
http://www.microsoft.com/whdc/device/stream/vidcap/UVCViewdwn.mspx

Start it up. With your printer plugged in, you should see an entry
for the printer. The "hub" it is on, will in fact tell you what
the current interconnect speed is. (I.e. If it is on the hub with
room for the most entries, that would be the USB2 logic block.)

Once you've clicked on the printer entry on the left, the right pane
will show "Device Information".

The following entry, shows the current interconnect speed of the
device. This is not necessarily the max, just what it is using
currently. This is from my Iomega ZIP250 drive (a USB 1.1 device,
but it is all I've got available to test with). As far as I know,
this field is not stored in the USB device (at least, when I
booted into Linux, and used "lsusb", there is no equivalent
to this field).

Current Config Value: 0x01 -> Device Bus Speed: Full (i.e. USB 1.1)

Further down in the Device Information list, there is a second
field of interest. It is bcdUSB. This is stored inside the peripheral,
and declares the maximum speed of operation. Valid values are
0100, 0110, and 0200, for USB 1.0, USB 1.1, and USB 2.0 standards.

bcdUSB: 0x0110

http://www.beyondlogic.org/usbnutshell/usb5.htm

"The bcdUSB field reports the highest version of USB the device supports"

While this won't remedy your problem, the UVCView program will give
you an opportunity to see whether the printer's bcdUSB is indicating
USB 2.0 or not. If the bcdUSB is reading out as USB 1.1, then
there is no chance of it going faster than that.

Paul
 
OK, I did some more digging.

First, get a copy of UVCView.x86.exe from Microsoft. This is one of several
programs that displays config info from plugged in USB devices. Don't
let the title bother you, it even works with my USB mouse and ZIP250.

"UVCView – Diagnostic Tool for USB Video Class Hardware"
http://www.microsoft.com/whdc/device/stream/vidcap/UVCViewdwn.mspx

Start it up. With your printer plugged in, you should see an entry
for the printer. The "hub" it is on, will in fact tell you what
the current interconnect speed is. (I.e. If it is on the hub with
room for the most entries, that would be the USB2 logic block.)

Once you've clicked on the printer entry on the left, the right pane
will show "Device Information".

The following entry, shows the current interconnect speed of the
device. This is not necessarily the max, just what it is using
currently. This is from my Iomega ZIP250 drive (a USB 1.1 device,
but it is all I've got available to test with). As far as I know,
this field is not stored in the USB device (at least, when I
booted into Linux, and used "lsusb", there is no equivalent
to this field).

Current Config Value: 0x01 -> Device Bus Speed: Full (i.e. USB 1.1)

Further down in the Device Information list, there is a second
field of interest. It is bcdUSB. This is stored inside the peripheral,
and declares the maximum speed of operation. Valid values are
0100, 0110, and 0200, for USB 1.0, USB 1.1, and USB 2.0 standards.

bcdUSB: 0x0110

http://www.beyondlogic.org/usbnutshell/usb5.htm

"The bcdUSB field reports the highest version of USB the device supports"

While this won't remedy your problem, the UVCView program will give
you an opportunity to see whether the printer's bcdUSB is indicating
USB 2.0 or not. If the bcdUSB is reading out as USB 1.1, then
there is no chance of it going faster than that.

Paul

Neat, and thanks. It shows "USB Printing Support" on a root hub, and
config speed as "Full", i.e. USB1. Device is deskjet 5600.
Also shows bcdUSB as 0x0200 - i.e. USB2!!
Supports my contention. My next move is to explore that driver, maybe
that's the problem. That program says things about the interface that
I don't understand, like "this may be an invalid interface protocol."
Maybe this version is a holdover from pre-USB2 support. Device manager
finds no better driver, BTW.
Again, Thanks - thats a neat program - the graphics in USBInfo are
prettier tho.
 
Back
Top