Big said:
Hello all....
I have an older (2003) custom built computer with XP Home SP3 that's been
having problems with the six USB ports and Windows not finding drivers for
plugged in devices.
Under USB controllers in the Device Manager, with nothing plugged into the
ports, there are multiple listings for the USB controllers. Is this normal?
The list is as follows:
SiS 7001 PCI to USB Open Host Controller (this is on PCI bus 0, device 3,
function 0)
SiS 7001 PCI to USB Open Host Controller (this is on PCI bus 0, device 3,
function 1)
SiS 7001 PCI to USB Enhanced Host Controller (this is on PCI bus 0, device
3, function 3)
USB Root Hub (Location 0, 3 ports available)
USB Root Hub (Location 0, 3 ports available)
USB Root Hub (Location 0, 6 ports available)
I ask because I have another machine that shows only one PCI to USB
Universal Host Controller and one Root Hub for its two ports.
If this isn't a problem, then I'll have to post all the specifics.
Thanks in advance.
When I run into "wonky" behavior, I boot an alternate
OS, and compare the operation of the hardware. For example,
when my old 440BX motherboard exhibited freezing when I
had more than 512MB of memory installed, I booted Linux
and noticed exactly the same symptoms. That pointed to
a design flaw of some sort in the hardware. The hardware
was extremely stable (ran Prime95 for 16 hours no problem),
once the memory total was at or below 512MB. (So it turned
out to not be a Win98 issue, which was the OS in the box.)
It didn't matter what slots the memory was in, it just
didn't like too much memory. The freezing happened on
accesses to the AGP slot.
I have a Ubuntu and a Knoppix Linux Live CD here, and those
don't need to be installed to a hard drive to work. I prefer the
Knoppix slightly, because of the text messages output to the
screen during the initial boot. You can find Ubuntu at
ubuntu.com and Knoppix at knopper.net . The latest distro
of Knoppix takes a whole DVD, while if you go back a
release or two, there is a release that fits a CD. The
CD versions would be a 700MB download, only viable with
something other than dialup networking. Since I only have
one DVD drive, the DVD version is pretty well useless to me
as a daily test mechanism. (I have a workaround, but
it isn't worth writing about...)
Of course, actually testing the hardware in Linux, means
that a driver has to be available. If the function of
the peripheral is obscure or is complicated, there might
not be a driver for it, and perhaps no way to exercise the
functions and prove it works. So it's far from being
an ideal test environment. But it is free, and adds
to your ability to collect additional symptoms.
Linux tools of interest
dmesg (shows hardware detection saved to a file, at boot)
lspci (lists detected hardware such as PCI or PCI Express cards)
lsusb (lists stuff sitting on USB ports)
As a hardware designer, I have a slightly different perspective
on hardware and why it "wears out". The silicon part of it is
robust, and not usually given to wearout mechanisms. But the
motherboard does have power regulation circuitry, and sometimes
that fails or degrades, causing the hardware to become weak.
Popped MOSFETs, leaking or bulging capacitors, are typical
items seen failing on the board. There aren't too many
chipsets with known failure mechanisms - the ICH5 USB static
discharge problem is one, and the Nvidia's tendency to
lose PCI Express slots is another (again, could be static
related failures). There have been many other chipsets
that were faultless, in terms of outright dead ports
or functions.
There have been chip failures in the past, some due to
chemical contamination. I've read some IBM documents
describing their detective efforts, to figure some
of them out. But if the manufacturing wasn't botched,
there is no inherent reason for silicon to fail. For
example, I've had the same digital watch strapped to
my wrist, for longer than I can remember. It still
works. It's got to be more than 20 years old.
The things shown in Device Manager, are the logic
blocks that control more than one port. A lot of
chipsets have one USB 1.1 logic block per two
physical connectors. There may be one USB 2.0 logic
block to share over all the physical connectors.
So the entries in Device Manager don't correspond
to the physical port. The protocol during setup of
the USB device, results in either the USB 1.1 or
the USB 2.0 block being connected to the port.
A Windows application such as UVCView (older version(s)
had names like USBView), can be used to display
the config info coming from a USB device. That
doesn't guarantee its function, but gives some
evidence that a connection can be made. UVCView
used to be available for download from microsoft.com,
but is no longer hosted there. There are a couple
private web sites, that still offer a copy for
download (at least, a couple I was able to find).
One feature of UVCView, is it isn't as stupid
as USBView was, about handling a large number
of USB ports.
*******
ftp://ftp.efo.ru/pub/ftdichip/Utilities/UVCView.x86.exe
http://www.users.on.net/~fzabkar/USB_IDs/UVCView.x86.exe
File size is 167,232 bytes.
MD5sum is 93244d84d79314898e62d21cecc4ca5e
This is a picture of what the UVCView info looks like.
http://www.die.de/blog/content/binary/usbview.png
Some information on the parameters seen in UVCView.
http://www.beyondlogic.org/usbnutshell/usb5.htm
*******
HTH,
Paul