-1

I am not very interested in the hardware implications, rather in a possible corruption of the firmware (ie, there is a software solution).

[The following is just to illustrate that the computerhas unusual peripherals:A controller PCI card (for a microscope) was installed in a not too ancient computer (Intel Core Duo). This card required installing an additional Firewire card and uses a USB thumbdrive to deliver a license key for a custom-made software (made by the microscope manufacturer). The controller card, the microscope are second-hand, so help from the manufacturer is not a direct option. The computer had 4 back USB 2.0 ports and 2 front USB 2.0 ports.]

That card was installed more than two years ago, and has been working reasonably well. At first, more than one year ago, the front ports stopped working, there is power on them (devices' led light up), the device is simply not seen. I ignored that at the time.

A month ago, XP started complaining about unknown USB device, sometimes all USB ports went off, and restarting did not solve the problem - the solution was to shut down, unplug from the mains for several minutes and restart. In the end USB ports 3 and 4 behaved as the front ports: there is power but no device is seen.

I am suspecting that the controller PCI card has done something at BIOS level. The leds on the PCI card light up before the OS starts. Also the USB port behaviour using an Ubuntu LiveDVD, is exactly the same, only USB port 1 and 2 work, the others (front and back) have power but no device is detected.

The motherboard is an Asus with (American Megatrend's) ACPI BIOS v.0310.

I would like to change or even reinstall whatever the BIOS is using to control the USB ports in order to restore their functionality.

I am completely unfamiliar about modifying computers' firmware (my only experience has been, at user level, follow instructions to upgrade firmware or enable/installing RAID BIOS software).

Am I far off guessing that this might have been caused by the card corrupting the firmware and that that can be restored once again? Is it possible to target the USB port behaviour at "BIOS" level?

Any help/hint will be greatly appreciated.

user1938578
  • 393
  • 5
  • 20

1 Answers1

1

If you want to rule out a BIOS/Firmware corruption issue, you could download the latest BIOS from your motherboard vendor and install it per the manufacturer's instructions. That will completely re-flash the BIOS on the motherboard. Any "corruption" would be eliminated.

As an extra precaution, after re-flashing the BIOS, reset your settings to the defaults (use the CMOS clear jumper on the motherboard). Make sure you write down your BIOS settings before you do that!

However, you most likely have a hardware problem, not a BIOS/Firmware problem.

A few things to understand:

  1. In any modern PC, the BIOS has multiple layers of checksums. If the BIOS was corrupt somehow, it would fail those checksum tests, and your PC would not boot, probably with an error message about boot block recovery.

  2. There is not a standard mechanism for a PCI slot card to silently manipulate the BIOS, especially if this is an off-the-shelf Firewire card with no option ROM firmware.

  3. There is very little the BIOS can do that would have a "lasting" effect on the behavior of individual USB ports (except for a global disable/enable of the USB controller). The BIOS initializes the USB controller to provide pre-OS keyboard/mouse/boot device support. Once the Operating System loads, the BIOS does a hand-off to the OS (section 5.1 of the EHCI Spec). From that point, the OS "owns" the USB controller, and is responsible for detecting an enumerating any attached USB devices.

  4. There can be issues with the hand-off method used (some BIOSes have an option to change it), but that would not cause the behaviour you describe.

My guess would be the USB overcurrent protection circuitry on the motherboard is failing, and it is falsely tripping. When it trips, it cuts power to the attached USB device, and that can lead to undetected devices, devices disappearing, or random "unknown device" messages. Many USB current-limiting components are thermal-based, so unplugging it for a while may allow it to work again (until it warms back up and fails again). I have seen a number of similar failures on older Lenovo desktops.

Note that if the overcurrent is tripping you may see a pop-up message in Windows about this, but not always. It depends on motherboard and if the overcurrent trip signals are connected to the chipset. There may also be a BIOS option to control whether or not overcurrent conditions are reported to the OS.

The fact that you see the problem in multiple OSes further points to a hardware issue. The Linux dmesg command may give you some USB debug info.

If I were you, I would replace the motherboard, or install a PCI/PCIe slot USB controller to replace the onboard USB port. Note that an slot USB board will probably not be usable for pre-boot BIOS stuff. A USB keyboard attached to the slot USB controller would not be able to get into the BIOS setup for example (depends on how BIOS legacy USB is configured).

myron-semack
  • 6,259
  • 1
  • 26
  • 38