IRQ Problem When Loading USBUHCIL

The intent of this forum is to discuss my DOS TSR programs (available at http://bretjohnson.us), how they work and don't work, new/missing features, status of updates, and anything else related to them that may need to be discussed.

IRQ Problem When Loading USBUHCIL

Postby DTV Student » Sun Dec 04, 2011 6:33 am

Hi Folks,

Bret... Thank you so very much for all of the time and energy you have put into writing your USB drivers for DOS and their comprehensive documentation. I have only read bits and pieces of the USBINTRO.DOC file. I will read the entire document. I suspect it will take me a fair chunk of time to digest its contents. There is much to learn. If there is anything I can do to help, please let me know.


MY PROBLEM

I have two old Dell laptops: 1) an Inspiron 3200, and 2) a Latitude C840. The Inspiron 3200 was probably manufactured around 1996 – 1997 and has one USB port. Its operating system is Windows 98 First Edition with updated drivers including the “USB Mass Storage Device Driver” set and the “Unofficial Windows 98 FE Service Pack”. The 3200’s most important applications include Office 97, Visual C++ 5.0 and Access 2000. From time to time, I still fire up this old beast mostly when my wife totally consumes the Latitude C840 and I need to write a letter.

The Latitude C840 was probably manufactured around 2001 – 2002 and has two USB ports. Its operating system is Windows XP Pro and its principal applications are those include in the Office 2002 Pro suite. The C840 is a significantly more powerful machine than the Inspiron 3200.

I have several USB flash drives ranging in age from 2002 to 2011. They all work well under Windows 98 and Windows XP. Therefore, I can easily “Sneaker Net” files between the two machines. The Inspiron 3200 has no way to connect to our wireless home network.

I built a simple bootable PC DOS diskette containing all of the files from your USBDOS.ZIP file less the documentation files.

Experiment #1: I powered down the Latitude C840 and removed all external devices from the laptop. I booted the C840 with the simple PC DOS diskette. At the DOS prompt, I entered “USBUHCIL /DisableLegacy”. No error messages were reported. I entered “USBDRIVE” at the DOS prompt. No error messages were reported. This driver did note that the first drive letter to be assigned would be “C”. At first, I was a little confused, but then I remembered my hard disk was formatted as an NTFS volume and DOS generally knows nothing about the NT filing system. Okay, that made sense. I plugged in my oldest USB flash drive. I entered “DIR C:” and a listing of this flash drive’s files and directories soon appeared. I entered “EDIT C:\TEST.TXT”. The DOS editor started. I typed silly some text, saved the file and exited the editor. I entered “DIR C:”, and sure enough, my TEST.TXT file appeared in the listing. Next, I entered “TYPE C:\TEST.TXT” and the silly text I had saved in the file appeared on the screen. I entered “DEL C:\TEST.TXT”. I entered “DIR C:” and a listing of the flash drive’s files appeared without the TEST.TXT file. Great! Without powering down, I unplugged the USB flash drive, plugged in my next oldest drive. I repeated creating, listing and deleting another TEST.TXT file. No problems. I repeated this process for all of my remaining flash drives and experienced no problems. Wonderful!!! Thank you!!!

Experiment #2: I powered down the Inspiron 3200 and removed all external devices from the laptop. I booted the 3200 using the same simple PC DOS diskette I had prepared for Experiment #1. At the DOS prompt, I entered “USBUHCIL /DisableLegacy” and quickly receive the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson,
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 15

Initializing Universal Host Controller #0. This may take several seconds...

The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.


OUCH !!!
Do you have any ideas what I might do to over come this problem?


MORE BACKGROUND INFORMATION

I retired several years ago, but I still do some volunteer work related to my old profession. I have designed and implemented several small turnkey databases using Access 2002 for a couple of local non-profit organizations. To keep their end user volunteers from having to deal with the Access GUI, I have written a fair amount of supporting VBA code. Most of the development work is done at home on the C840. I use Symantec’s Ghost 2003 every month to backup the C840’s C drive to an external disk. I used the “Ghost Boot Wizard” to build several bootable DOS based recovery diskettes long before doing any serious development work on the C840. I tested recovery diskettes several times to build my confidence and understanding of how they worked. For the USB host controller, Ghost uses Iomega’s DOS drivers, “aspiuhci.sys” and “aspiohci.sys”. Support for an external drive is provided by Iomega’s “guest.exe” driver. I use one of the recovery diskettes several times a year to create an image backup of the Inspiron 3200 to my external disk drive. It all works very smoothly.

A few weeks ago, a good friend asked me to give him a hand rebuilding an IBM A20m laptop. His machine is about the same age as my Inspiron 3200 and has about the same limitations: a slow CPU, not much memory, and a small disk drive. The A20m also has a USB port. We installed his copies of Windows 98 First Edition and Office 97. We updated several drivers including a “USB Mass Storage Device Driver” set and installed the “Unofficial Windows 98 FE Service Pack”. After the A20m was up and running, my friend wanted to use Ghost to backup its hard drive, but unfortunately, he did not own an external disk drive like mine. He suggested trying one of the 4 gigabyte “DuraCell” flash drives he had recently purchased for a few bucks at a garage sale. Nice idea. I never thought about trying to use a flash drive with Ghost. Okay, let’s give it a try. Iomega’s ASPI USB-UHCI driver loaded and reported “ID0 = USB Disk 2.0”, “Installed Successfully.” Next, Iomega’s Guest driver loaded and reported “Finding a drive letter for your Iomega drive…”, “Your USB Disk 2.0 drive is drive letter D:”. Shortly afterwards DOS declared the following error, “Invalid device request parameters reading drive a”. “Abort, Retry, Fail?” First, I tried “r” and DOS locked up. I rebooted the A20m and quickly arrived at the same error message… “Abort, Retry, Fail?” This time I tried “a” and the A20m loaded the mouse driver and then Ghost. Ghost presented its blue background screen and then locked up the machine. I rebooted again and quickly returned to the same error message… “Abort, Retry, Fail?” I tried “f” and the A20m loaded the mouse driver and then Ghost. As before, Ghost presented its blue background screen and then locked up the machine. Nice try, but no cigar.

I borrowed my friend’s flash drive, went home and tried the same procedure on my Inspiron 3200. It choked and died too. I assumed the drivers simply did not know how to deal with a flash drive. I really had no idea. It was time to do a little research and to try running a few experiments. I found several different DOS drivers for USB host controllers and a few DOS drivers for USB disk drives. I tried several combinations of these drivers. By sheer dumb luck, I quickly stumbled onto a pair of drivers that worked with my old Inspiron 3200 and the 4 gigabyte “DuraCell” flash drive. These drivers are Iomega’s “aspiuhci.sys” and Motto Hairu’s “di1000dd.sys”.

A few days later, I found a 4 gigabyte “Verbatim” flash drive at OfficeMax for $7.99. I bought it and decided to repeat my previous experiments except that the “Verbatim” flash drive would be substituted for the “DuraCell” flash drive. Much to my surprise, all of the driver pairs I tried earlier worked. The driver pairs I checked were: 1) Iomega’s “aspiuhci.sys” and “guest.exe”, 2) Iomega’s “aspiuhci.sys” and Motto Hairu’s “di1000dd.sys”, and finally, 3) Panasonic’s “usbaspi.sys” and Motto Hairu’s “di1000dd.sys”. So, my earlier assumption that “the drivers simply did not know how to deal with a flash drive” was not correct. It was something about the “DuraCell” flash drive that caused the problem, not the drivers.

Your comments, thoughts and/or suggestions will be deeply appreciated.

Again, thank you so very much,
DTV Student
DTV Student
 
Posts: 7
Joined: Sun Nov 27, 2011 10:52 pm

Re: IRQ Problem When Loading USBUHCIL

Postby Bret » Sun Dec 04, 2011 1:57 pm

DTV Student wrote:Experiment #2: I powered down the Inspiron 3200 and removed all external devices from the laptop. I booted the 3200 using the same simple PC DOS diskette I had prepared for Experiment #1. At the DOS prompt, I entered “USBUHCIL /DisableLegacy” and quickly receive the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson,
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 15

Initializing Universal Host Controller #0. This may take several seconds...

The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.


OUCH !!!
Do you have any ideas what I might do to over come this problem?


The fact that USBUHCIL is even trying to assign an IRQ number at all means that the USB host controller is not being set up (or at least not being set up properly) by the BIOS. If you run USBHOSTS (before you try to run USBUHCIL) you'll probably see the IRQ number being listed as either 0 or 255.

The first thing I would do is try to get into the BIOS setup (usually by pressing some keystroke like F3 or F10 or Del or Esc when the computer is first starting up -- it depends on the computer), and look at the USB setup. Make sure everything related to USB is enabled. Since this is a name-brand computer (Dell), there may not be very many options to pick from ("generic" computers usually give you much more control over the BIOS than name-brand computers do).

If that doesn't solve the problem, I would try starting USBUHCIL with each possible IRQ number (using the /IRQ:# option, with the # between 3 and 14 -- you already know 15 doesn't work).

You could also see what IRQ number Windows is using for the controller by looking at the Device Manager, though that won't necessarily be conclusive. Windows may use a hardware-specific driver for the controller, rather than a "generic" standards-based one like USBUHCIL, so may be able to manipulate things that USBUHCIL doesn't know how to do.

DTV Student wrote:A few days later, I found a 4 gigabyte “Verbatim” flash drive at OfficeMax for $7.99. I bought it and decided to repeat my previous experiments except that the “Verbatim” flash drive would be substituted for the “DuraCell” flash drive. Much to my surprise, all of the driver pairs I tried earlier worked. The driver pairs I checked were: 1) Iomega’s “aspiuhci.sys” and “guest.exe”, 2) Iomega’s “aspiuhci.sys” and Motto Hairu’s “di1000dd.sys”, and finally, 3) Panasonic’s “usbaspi.sys” and Motto Hairu’s “di1000dd.sys”. So, my earlier assumption that “the drivers simply did not know how to deal with a flash drive” was not correct. It was something about the “DuraCell” flash drive that caused the problem, not the drivers.


About all I can tell you, unfortunately, is that a LOT of USB hardware out there is not fully compliant with the specifications (in fact, based on my limited experience, I would say very little of it is truly FULLY compliant). Nor is all USB software or firmware free of bugs. E.g. I have in my possession two Kingston DataTraveler 4GB flash drives. One I purchased myself, and it works just fine with my drivers. The other was sent to be by a user who goes by the name of Laaca (from Czechoslovakia), and it doesn't work at all with my drivers. I think Laaca's is a little bit older than mine, but I can't tell for sure. They look almost exactly the same on the outside, but one works and one doesn't. Go figure. I hope to get the next version of USBDRIVE to work correctly with the one Laaca sent me, which will hopefully make it work with some others it doesn't work with now.

Bret
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM

Re: IRQ Problem When Loading USBUHCIL

Postby DTV Student » Tue Dec 06, 2011 2:46 am

Hi Folks,

I have had a chance to follow up on Bret’s suggestions concerning the aborted installation of USBUHCIL on my old Inspiron 3200 laptop. Here’s what I found:

Bret noted: “The fact that USBUHCIL is even trying to assign an IRQ number at all means that the USB host controller is not being set up (or at least not being set up properly) by the BIOS. If you run USBHOSTS (before you try to run USBUHCIL) you'll probably see the IRQ number being listed as either 0 or 255.”

I booted the 3200 using the PC DOS mentioned earlier and ran USBHOSTS. Here is the output:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 255 FCC0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ


Yes indeed, the IRQ number is 255. Hardware IRQs are supposed to range between 0 and 15 for old systems like the Inspiron 3200.

Bret suggested: “The first thing I would do is try to get into the BIOS setup (usually by pressing some keystroke like F3 or F10 or Del or Esc when the computer is first starting up -- it depends on the computer), and look at the USB setup. Make sure everything related to USB is enabled. Since this is a name-brand computer (Dell), there may not be very many options to pick from ("generic" computers usually give you much more control over the BIOS than name-brand computers do).”

I cycled the 3200’s power and pressed the F2 key during the post process in order to activate the “PhoenixBIOS Setup Utility”. This BIOS setup has six major screens: “Main”, “System Devices”, “Security”, “Power”, “Boot”, and “Exit”. “System Devices” is the only screen that has anything to do with controllers, ports and/or devices. The options available in the Inspiron 3200’s BIOS setup are extremely limited compared to the Latitude C840’s BIOS setup. Here are all of the options and setting on the 3200’s “System Devices” page:

PS/2 Mouse [Enabled]
IDE Controller [Both]
FDD Controller [Enabled]
CD-ROM Drive Speed [High Performance]

Plug & Play O/S: [Yes]

Serial Port [PnPOS]
Infrared Port [Disabled]
Parallel Port [PnPOS]
Mode: [ECP]

Audio: [PnPOS]


That’s all there is. I saw nothing directly related to the USB port. I thought, if I disabled the serial port, parallel port and audio device, a few of the hardware interrupts (IRQ Numbers) might be freed up and just maybe one these might be re-assigned to the USB port. I disable these three items and saved the settings. I cycled the power and checked the changes I made to the BIOS setting. Here is the “System Devices” setup screen:

PS/2 Mouse [Enabled]
IDE Controller [Both]
FDD Controller [Enabled]
CD-ROM Drive Speed [High Performance]

Plug & Play O/S: [Yes]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]


I booted the 3200 using the PC DOS mentioned earlier and ran USBHOSTS. Here is the output:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 255 FCC0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ


No change, the IRQ number is still 255. I guessed USBUHCIL would not install properly with this IRQ number. I verified my suspicion by running USBUHCIL and received the same messages as before:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson,
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 15

Initializing Universal Host Controller #0. This may take several seconds...

The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.

I went back to the BIOS “System Devices” setup screen, changed “Plug & Play O/S” to [No], saved the BIOS setup, re-booted the 3200 and ran USBHOSTS. Here’s the output:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 10 FCE0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ


Now... there are two differences. The IRQ number was reported to be 10 and the Base I/O address was reported to be FCE0h. This looked promising. So, I ran “USBUHCIL /DisableLegacy /IRQ 10 /IOAddr FCE0h” and the following messages appeared:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson,
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 10

Initializing Universal Host Controller #0. This may take several seconds...


A few seconds went by. I am a patient man. I got up, went downstairs to the kitchen made myself a cup of coffee and returned within 10 minutes. I could still hear the diskette drive turning. There was no additional output from USBUHCIL. The computer did not respond to any keystrokes. Eventually, I had to cycle the 3200’s power to take back control. I did not reset any of the BIOS changes I had made earlier. Here are the current BIOS “System Devices” setup screen parameters:

PS/2 Mouse [Enabled]
IDE Controller [Both]
FDD Controller [Enabled]
CD-ROM Drive Speed [High Performance]

Plug & Play O/S: [No]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]


Bret also suggested: “If that doesn't solve the problem, I would try starting USBUHCIL with each possible IRQ number (using the /IRQ:# option, with the # between 3 and 14 -- you already know 15 doesn't work).

You could also see what IRQ number Windows is using for the controller by looking at the Device Manager, though that won't necessarily be conclusive. Windows may use a hardware-specific driver for the controller, rather than a "generic" standards-based one like USBUHCIL, so may be able to manipulate things that USBUHCIL doesn't know how to do.”


I decided to take a look at what resources Windows 98 was assigning to the USB Host Controller. I found this information by right clicking the “My Computer” icon, selecting “Properties” from the drop down menu. This displayed the “System Properties” dialog screen. I selected the “Device Manager” tab, clicked the “View devices by type” radio button, scrolled down list of devices, expanded the “Universal serial bus controller”, selected “Intel 82371AB/EB PCI to USB Universal Host Controller”, and clicked the “Properties” button. This displayed the “Intel 82371AB/EB PCI to USB Universal Host Controller Properties” dialog screen. I clicked the “Resources” tab. The “Interrupt Request” was set to “10” and the “Input/Output Range” was set to “FCEO – FCFF”. I backed out of these screens without changing anything and shut down Windows 98. So, Windows agreed with what USBHOSTS reported when the BIOS “System Devices” parameter “Plug & Play O/S” was set to “No”.

I powered up the 3200 and double checked the current BIOS “System Devices” parameters. Nothing had changed from the listing 3 or 4 paragraphs above. Then I ran USBUHCIL with the following switches one at a time:

“USBUHCIL /DisableLegacy /IRQ 3”
“USBUHCIL /DisableLegacy /IRQ 4”
“USBUHCIL /DisableLegacy /IRQ 5”
“USBUHCIL /DisableLegacy /IRQ 6”
“USBUHCIL /DisableLegacy /IRQ 7”
“USBUHCIL /DisableLegacy /IRQ 8”
“USBUHCIL /DisableLegacy /IRQ 9”
Yes that’s right, I skipped IRQ 10
“USBUHCIL /DisableLegacy /IRQ 11”
“USBUHCIL /DisableLegacy /IRQ 12”
“USBUHCIL /DisableLegacy /IRQ 13”
“USBUHCIL /DisableLegacy /IRQ 14”
“USBUHCIL /DisableLegacy /IRQ 15”

For each of the above command lines, I quickly received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson,
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: (Fill in with the corresponding IRQ #)

Initializing Universal Host Controller #0. This may take several seconds...

The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.


I tried “USBUHCIL /DisableLegacy /IRQ 10” and the laptop locked up as before. I cycled the power, changed the BIOS “System Devices” parameter “Plug & Play O/S” to “Yes” and ran USBUHCIL with the following switches one at a time:

“USBUHCIL /DisableLegacy /IRQ 3”
“USBUHCIL /DisableLegacy /IRQ 4”
“USBUHCIL /DisableLegacy /IRQ 5”
“USBUHCIL /DisableLegacy /IRQ 6”
“USBUHCIL /DisableLegacy /IRQ 7”
“USBUHCIL /DisableLegacy /IRQ 8”
“USBUHCIL /DisableLegacy /IRQ 9”
“USBUHCIL /DisableLegacy /IRQ 10”
“USBUHCIL /DisableLegacy /IRQ 11”
“USBUHCIL /DisableLegacy /IRQ 12”
“USBUHCIL /DisableLegacy /IRQ 13”
“USBUHCIL /DisableLegacy /IRQ 14”
“USBUHCIL /DisableLegacy /IRQ 15”

For each of the above command lines, I quickly received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson,
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: (Fill in with the corresponding IRQ #)

Initializing Universal Host Controller #0. This may take several seconds...

The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.


Okay... I think I have exhausted most of the obvious things I can do to get the USBUHCIL driver to load properly on my old Inspiron 3200 laptop. But... if anybody out there has any suggestions, I would be happy to try them.

So far, I have tried Bret Johnson’s USBUHCIL, USBHUB and USBDRIVE drivers on my Latitude C840 and they work beautifully. Thanks again Bret!

Your comments, thoughts and/or suggestions are always appreciated.

Thank you,
DTV Student
DTV Student
 
Posts: 7
Joined: Sun Nov 27, 2011 10:52 pm

Re: IRQ Problem When Loading USBUHCIL

Postby Bret » Tue Dec 06, 2011 4:51 am

Well, at least we're moving forward. We appear to have a valid IRQ number now, though I have no idea why PnP wouldn't have set up an appropriate IRQ up for you.

The next step to try is to try installing USBUHCIL with the /PD (Program Debug) Option. This will list each major step of the initialization process as it is being handled, which will tell us at which step the stall is occurring. You can also try the installation with /PD:#, where # is a number between 0 and 2000, and is the number of milliseconds USBUHCIL will delay between each major initialization step. Setting the # to a number greater than 0 will slow down the initialization process, and could actually fix the problem (if it's timing related).

In any case, let me know at which step the initialization fails by using the /PD option. With that, I can make some modifications and send you one or more "test versions" of USBUHCIL to try and see if we can get past the problem.

Bret
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM

Re: IRQ Problem When Loading USBUHCIL

Postby DTV Student » Mon Dec 12, 2011 6:54 am

Hi Folks,

The Christmas season always seems to be the busiest time of the year for me. I do want to follow up on Bret’s last suggestion in a timely manor. I am not sure of the approach I took, but nevertheless, the “Program Debug” listings from a few test combinations I tried appear below.

One of the most promising things I stumbled across in the last session with my old Inspiron 3200 laptop, occurred when I changed the BIOS “Plug & Play O/S” value from [Yes] to [No]. USBHOSTS reports an IRQ = 255 when “Plug & Play O/S” is set to [Yes], and when set to [No], USBHOSTS reports an IRQ = 10.

Unfortunately when I ran “USBUHCIL /DisableLegacy /IRQ 10”, I received the following message:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson,
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 10

Initializing Universal Host Controller #0. This may take several seconds...

And then, the old laptop locked up and became totally unresponsive.

Bret suggested: The next step to try is to try installing USBUHCIL with the /PD (Program Debug) Option. This will list each major step of the initialization process as it is being handled, which will tell us at which step the stall is occurring. You can also try the installation with /PD:#, where # is a number between 0 and 2000, and is the number of milliseconds USBUHCIL will delay between each major initialization step. Setting the # to a number greater than 0 will slow down the initialization process, and could actually fix the problem (if it's timing related).

---------------------------------------------------------------------------------
Test Combination 1 – BIOS “System Devices” screen parameters are set to:

PS/2 Mouse [Enabled]
IDE Controller [Primary]
FDD Controller [Enabled]
CD-ROM Drive Speed [Variable]

Plug & Play O/S: [Yes]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]

The IRQ program reports:

IRQ 1.00, (C) 2008, Bret E. Johnson.

IRQ INT COMMON USE ENABLED
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
00 08h *System Timer* Yes
01 09h *Keyboard* Yes
02 0Ah *IRQ Controller #2* Yes
03 0Bh COM2/COM4
04 0Ch COM1/COM3
05 0Dh LPT2/Sound Card
06 0Eh Floppy Disk Yes
07 0Fh LPT1
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
08 70h *CMOS Clock*
09 71h n/a
10 72h n/a
11 73h n/a
12 74h PS/2 Mouse Yes
13 75h *Math Coprocessor* Yes
14 76h Hard Disk Yes
15 77h IDE Controller #2

The USBHOSTS program reports:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 255 FCC0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ

“USBUHCIL /DisableLegacy /PD:1000” reports:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 15

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 15
DEBUG: Base I/O Address: FCC0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt
DEBUG: Resetting Host
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Setting Starting Frame Number
DEBUG: Enabling IRQ Flags
DEBUG: Disabling SMI Flags
DEBUG: Disabling SMI# Generation
DEBUG: Enabling IRQ Generation
DEBUG: Starting Host
DEBUG: Verifying Host is Running
DEBUG: Initializing Root Hub
DEBUG: Verifying IRQ Generation

DEBUG: Enabling IRQ Generation
DEBUG: Resetting Host
DEBUG: Enabling IRQ Generation
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Restoring Root Hub Port 1 Status
DEBUG: Restoring Root Hub Port 2 Status
DEBUG: Setting Starting Frame Number
DEBUG: Enabling SMI Flags
DEBUG: Restoring IRQ Number
DEBUG: Enabling IRQ Flags
DEBUG: Restoring PCI Configuration
The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.


---------------------------------------------------------------------------------
Test Combination 2 – BIOS “System Devices” screen parameters are set to:

PS/2 Mouse [Enabled]
IDE Controller [Primary]
FDD Controller [Enabled]
CD-ROM Drive Speed [Variable]

Plug & Play O/S: [No]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]

The IRQ program reports:

IRQ 1.00, (C) 2008, Bret E. Johnson.

IRQ INT COMMON USE ENABLED
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
00 08h *System Timer* Yes
01 09h *Keyboard* Yes
02 0Ah *IRQ Controller #2* Yes
03 0Bh COM2/COM4
04 0Ch COM1/COM3
05 0Dh LPT2/Sound Card
06 0Eh Floppy Disk Yes
07 0Fh LPT1
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
08 70h *CMOS Clock*
09 71h n/a
10 72h n/a
11 73h n/a
12 74h PS/2 Mouse Yes
13 75h *Math Coprocessor* Yes
14 76h Hard Disk Yes
15 77h IDE Controller #2

The USBHOSTS program reports:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 10 FCE0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ

“USBUHCIL /DisableLegacy /PD:1000” reports:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 10
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt

The laptop locked up and became totally unresponsive.


---------------------------------------------------------------------------------
Test Combination 3 – BIOS “System Devices” screen parameters are set to:

PS/2 Mouse [Enabled]
IDE Controller [Primary]
FDD Controller [Enabled]
CD-ROM Drive Speed [Variable]

Plug & Play O/S: [Yes]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]

The IRQ program reports:

IRQ 1.00, (C) 2008, Bret E. Johnson.

IRQ INT COMMON USE ENABLED
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
00 08h *System Timer* Yes
01 09h *Keyboard* Yes
02 0Ah *IRQ Controller #2* Yes
03 0Bh COM2/COM4
04 0Ch COM1/COM3
05 0Dh LPT2/Sound Card
06 0Eh Floppy Disk Yes
07 0Fh LPT1
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
08 70h *CMOS Clock*
09 71h n/a
10 72h n/a
11 73h n/a
12 74h PS/2 Mouse Yes
13 75h *Math Coprocessor* Yes
14 76h Hard Disk Yes
15 77h IDE Controller #2

The USBHOSTS program reports:

USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 255 FCC0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ

“USBUHCIL /DisableLegacy /IRQ 9 /PD:1000” reports:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 9

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 9
DEBUG: Base I/O Address: FCC0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt
DEBUG: Resetting Host
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Setting Starting Frame Number
DEBUG: Enabling IRQ Flags
DEBUG: Disabling SMI Flags
DEBUG: Disabling SMI# Generation
DEBUG: Enabling IRQ Generation
DEBUG: Starting Host
DEBUG: Verifying Host is Running
DEBUG: Initializing Root Hub
DEBUG: Verifying IRQ Generation

DEBUG: Enabling IRQ Generation
DEBUG: Resetting Host
DEBUG: Enabling IRQ Generation
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Restoring Root Hub Port 1 Status
DEBUG: Restoring Root Hub Port 2 Status
DEBUG: Setting Starting Frame Number
DEBUG: Enabling SMI Flags
DEBUG: Restoring IRQ Number
DEBUG: Enabling IRQ Flags
DEBUG: Restoring PCI Configuration
The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.


---------------------------------------------------------------------------------
Test Combination 4 – BIOS “System Devices” screen parameters are set to:

PS/2 Mouse [Enabled]
IDE Controller [Primary]
FDD Controller [Enabled]
CD-ROM Drive Speed [Variable]

Plug & Play O/S: [No]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]

The IRQ program reports:

IRQ 1.00, (C) 2008, Bret E. Johnson.

IRQ INT COMMON USE ENABLED
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
00 08h *System Timer* Yes
01 09h *Keyboard* Yes
02 0Ah *IRQ Controller #2* Yes
03 0Bh COM2/COM4
04 0Ch COM1/COM3
05 0Dh LPT2/Sound Card
06 0Eh Floppy Disk Yes
07 0Fh LPT1
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
08 70h *CMOS Clock*
09 71h n/a
10 72h n/a
11 73h n/a
12 74h PS/2 Mouse Yes
13 75h *Math Coprocessor* Yes
14 76h Hard Disk Yes
15 77h IDE Controller #2

The USBHOSTS program reports:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 10 FCE0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ


“USBUHCIL /DisableLegacy /IRQ 9 /PD:1000” reports:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 9

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 9
DEBUG: Base I/O Address: FCC0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt
DEBUG: Resetting Host
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Setting Starting Frame Number
DEBUG: Enabling IRQ Flags
DEBUG: Disabling SMI Flags
DEBUG: Disabling SMI# Generation
DEBUG: Enabling IRQ Generation
DEBUG: Starting Host
DEBUG: Verifying Host is Running
DEBUG: Initializing Root Hub
DEBUG: Verifying IRQ Generation

DEBUG: Enabling IRQ Generation
DEBUG: Resetting Host
DEBUG: Enabling IRQ Generation
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Restoring Root Hub Port 1 Status
DEBUG: Restoring Root Hub Port 2 Status
DEBUG: Setting Starting Frame Number
DEBUG: Enabling SMI Flags
DEBUG: Restoring IRQ Number
DEBUG: Enabling IRQ Flags
DEBUG: Restoring PCI Configuration
The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.


---------------------------------------------------------------------------------
Test Combination 5 – BIOS “System Devices” screen parameters are set to:

PS/2 Mouse [Enabled]
IDE Controller [Primary]
FDD Controller [Enabled]
CD-ROM Drive Speed [Variable]

Plug & Play O/S: [Yes]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]

The IRQ program reports:

IRQ 1.00, (C) 2008, Bret E. Johnson.

IRQ INT COMMON USE ENABLED
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
00 08h *System Timer* Yes
01 09h *Keyboard* Yes
02 0Ah *IRQ Controller #2* Yes
03 0Bh COM2/COM4
04 0Ch COM1/COM3
05 0Dh LPT2/Sound Card
06 0Eh Floppy Disk Yes
07 0Fh LPT1
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
08 70h *CMOS Clock*
09 71h n/a
10 72h n/a
11 73h n/a
12 74h PS/2 Mouse Yes
13 75h *Math Coprocessor* Yes
14 76h Hard Disk Yes
15 77h IDE Controller #2

The USBHOSTS program reports:

USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 255 FCC0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ

“USBUHCIL /DisableLegacy /IRQ 10 /PD:1000” reports:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 10

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 10
DEBUG: Base I/O Address: FCC0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt
DEBUG: Resetting Host
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Setting Starting Frame Number
DEBUG: Enabling IRQ Flags
DEBUG: Disabling SMI Flags
DEBUG: Disabling SMI# Generation
DEBUG: Enabling IRQ Generation
DEBUG: Starting Host
DEBUG: Verifying Host is Running
DEBUG: Initializing Root Hub
DEBUG: Verifying IRQ Generation

DEBUG: Enabling IRQ Generation
DEBUG: Resetting Host
DEBUG: Enabling IRQ Generation
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Restoring Root Hub Port 1 Status
DEBUG: Restoring Root Hub Port 2 Status
DEBUG: Setting Starting Frame Number
DEBUG: Enabling SMI Flags
DEBUG: Restoring IRQ Number
DEBUG: Enabling IRQ Flags
DEBUG: Restoring PCI Configuration
The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.


---------------------------------------------------------------------------------
Test Combination 6 – BIOS “System Devices” screen parameters are set to:

PS/2 Mouse [Enabled]
IDE Controller [Primary]
FDD Controller [Enabled]
CD-ROM Drive Speed [Variable]

Plug & Play O/S: [No]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]

The IRQ program reports:

IRQ 1.00, (C) 2008, Bret E. Johnson.

IRQ INT COMMON USE ENABLED
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
00 08h *System Timer* Yes
01 09h *Keyboard* Yes
02 0Ah *IRQ Controller #2* Yes
03 0Bh COM2/COM4
04 0Ch COM1/COM3
05 0Dh LPT2/Sound Card
06 0Eh Floppy Disk Yes
07 0Fh LPT1
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
08 70h *CMOS Clock*
09 71h n/a
10 72h n/a
11 73h n/a
12 74h PS/2 Mouse Yes
13 75h *Math Coprocessor* Yes
14 76h Hard Disk Yes
15 77h IDE Controller #2

The USBHOSTS program reports:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 10 FCE0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ

“USBUHCIL /DisableLegacy /IRQ 10 /PD:1000” reports:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 10

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 10
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt

The laptop locked up and became totally unresponsive.

Your comments, thoughts and/or suggestions are always appreciated.

Thank you,
DTV Student
DTV Student
 
Posts: 7
Joined: Sun Nov 27, 2011 10:52 pm

Re: IRQ Problem When Loading USBUHCIL

Postby Bret » Tue Dec 13, 2011 11:06 am

In a private e-mail, I've just sent you a test version of USBUHCIL to try. Please let me know if it makes any difference or not.
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM

Re: IRQ Problem When Loading USBUHCIL

Postby DTV Student » Wed Dec 14, 2011 1:37 am

Hi Folks,

Bret sent me a slightly modified version of USBUHCIL.COM and USBUHCIL.OLV. He said that they contain some timing changes. He hopes these changes might get around the problem I am having with my old Dell Inspiron 3200 laptop. Bret suggested that I keep the BIOS Plug & Play O/S parameter set to “No”. Below are results of several tests I ran with these versions of USBUHCIL.COM and USBUHCIL.OLV:

--------------------------------------------------------------------------------------
Test 1 – Output from: USBUHCIL /DisableLegacy

USBUHCIL 0.01*, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Initializing Universal Host Controller #0. This may take several seconds...

The laptop locked up and became totally unresponsive. The floppy drive continued spinning. I powered down to recover.


--------------------------------------------------------------------------------------
Test 2 – Output from: USBUHCIL /DisableLegacy /PD

USBUHCIL 0.01*, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 10
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt

The laptop locked up and became totally unresponsive. The floppy drive continued spinning. I powered down to recover.


--------------------------------------------------------------------------------------
Test 3 – Output from: USBUHCIL /DisableLegacy /PD:1000

USBUHCIL 0.01*, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 10
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt

The laptop locked up and became totally unresponsive. But, the floppy drive did stop spinning. I powered down to recover.


--------------------------------------------------------------------------------------
Test 4 – Output from: USBUHCIL /DisableLegacy /IRQ 9 /PD:1000

USBUHCIL 0.01*, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 9

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 9
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt
DEBUG: Resetting Host
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Setting Starting Frame Number
DEBUG: Enabling IRQ Flags
DEBUG: Disabling SMI Flags
DEBUG: Disabling SMI# Generation
DEBUG: Enabling IRQ Generation
DEBUG: Starting Host
DEBUG: Verifying Host is Running
DEBUG: Initializing Root Hub
DEBUG: Verifying IRQ Generation

DEBUG: Enabling IRQ Generation
DEBUG: Resetting Host
DEBUG: Enabling IRQ Generation
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Restoring Root Hub Port 1 Status
DEBUG: Restoring Root Hub Port 2 Status
DEBUG: Setting Starting Frame Number
DEBUG: Enabling SMI Flags
DEBUG: Restoring IRQ Number
DEBUG: Enabling IRQ Flags
DEBUG: Restoring PCI Configuration
The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.

Control was returned to DOS.


--------------------------------------------------------------------------------------
Test 5 – Output from: USBUHCIL /DisableLegacy /IRQ 11 /PD:1000

USBUHCIL 0.01*, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 11

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 11
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0001_2000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt
DEBUG: Resetting Host
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Setting Starting Frame Number
DEBUG: Enabling IRQ Flags
DEBUG: Disabling SMI Flags
DEBUG: Disabling SMI# Generation
DEBUG: Enabling IRQ Generation
DEBUG: Starting Host
DEBUG: Verifying Host is Running
DEBUG: Initializing Root Hub
DEBUG: Verifying IRQ Generation

DEBUG: Enabling IRQ Generation
DEBUG: Resetting Host
DEBUG: Enabling IRQ Generation
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Restoring Root Hub Port 1 Status
DEBUG: Restoring Root Hub Port 2 Status
DEBUG: Setting Starting Frame Number
DEBUG: Enabling SMI Flags
DEBUG: Restoring IRQ Number
DEBUG: Enabling IRQ Flags
DEBUG: Restoring PCI Configuration
The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.

Control was returned to DOS.


--------------------------------------------------------------------------------------
In all of the above tests, the following screens/outputs remained constant.

My BIOS “System Devices” screen parameters were set to:

PS/2 Mouse [Enabled]
IDE Controller [Primary]
FDD Controller [Enabled]
CD-ROM Drive Speed [Variable]

Plug & Play O/S: [No]

Serial Port [Disabled]
Infrared Port [Disabled]
Parallel Port [Disabled]
Audio: [Disabled]

The IRQ program reported:

IRQ 1.00, (C) 2008, Bret E. Johnson.

IRQ INT COMMON USE ENABLED
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
00 08h *System Timer* Yes
01 09h *Keyboard* Yes
02 0Ah *IRQ Controller #2* Yes
03 0Bh COM2/COM4
04 0Ch COM1/COM3
05 0Dh LPT2/Sound Card
06 0Eh Floppy Disk Yes
07 0Fh LPT1
ÄÄÄ ÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ
08 70h *CMOS Clock*
09 71h n/a
10 72h n/a
11 73h n/a
12 74h PS/2 Mouse Yes
13 75h *Math Coprocessor* Yes
14 76h Hard Disk Yes
15 77h IDE Controller #2

The USBHOSTS program reported:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 10 FCE0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ


--------------------------------------------------------------------------------------

I tested Bret’s modified USBUHCIL.EXE and USBUHCIL.OLV and version 0.18 of USBDRIVE.COM on my Dell Latitude C840. They worked beautifully.

There is about a five year difference in the ages of the Inspiron 3200 laptop and the Latitude C840 laptop. I bet Intel made several major improvements in the chipsets Dell used to fabricate these two machines. Since USB technology was in its infancy when the Inspiron 3200 was designed, could it be that Dell’s implementation of the Inspiron 3200’s hardware, motherboard layout and/or firmware does not follow current USB standards and best practices?

Your comments, thoughts and/or suggestions are always appreciated.

Thank you,
DTV Student
DTV Student
 
Posts: 7
Joined: Sun Nov 27, 2011 10:52 pm

Re: IRQ Problem When Loading USBUHCIL

Postby Bret » Wed Dec 14, 2011 3:59 am

Bret wrote:could it be that Dell’s implementation of the Inspiron 3200’s hardware, motherboard layout and/or firmware does not follow current USB standards and best practices?


Indeed it is, though sometimes the newer computers are just as bad as the older ones.

A couple of other things to try. First of all, with PnP disabled (the BIOS settings where when you run USBUHCIL you get to the "DEBUG: Verifying IRQ Generation" step and it doesn't lock up) do a:

Code: Select all
  USBHOSTS U0


This will provide a highly detailed status of the host controller hardware. Maybe I'll see something in there that looks out of place (I kind of doubt it, but who knows??).

Also, I'm guessing that you may not have any memory managers installed (HIMEM/EMM386 or equivalents), since USBUHCIL is installing itself into low memory. Try installing an XMM (like HIMEM) and an EMM (like EMM386) and see if it makes any difference. It shouldn't, but again, who knows??

Also, try with no other TSR's or Device Drivers (with the possible exceptions of HEMEM & EMM386) and see if that makes any difference. There could be some sort of conflict/incompatibility there, also.
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM

Re: IRQ Problem When Loading USBUHCIL

Postby DTV Student » Thu Dec 15, 2011 4:41 am

Hi Folks,

I am amazed at how flawlessly Bret Johnson’s USB DOS drivers work on my Dell Latitude C840 laptop. Sadly, Bret and I have not been successful in getting USBUHCIL to load on my older Dell Inspiron 3200 laptop. We have certainly given it the old college try.

Bret encouraged me to try a few more things before giving up on my old Inspiron 3200:

I think his first suggestion is to make sure the BIOS setting for “Plug & Play O/S” was set to “No” and then, run “USBUHCIL /DisableLegacy /PD:2000”. When the driver gets to or completes the “DEBUG: Verifying IRQ Generation” step, try running “USBHOSTS /U0” to generate a highly detailed status of the host controller.

Okay, but unfortunately, “USBUHCIL /DisableLegacy /PD:2000” never get to the “DEBUG: Verifying IRQ Generation” step. USBUHCIL finds and tries to use IRQ = 10 automatically. When IRQ = 10, the Inspiron 3200 freezes immediately after the “DEBUG: Redirecting Host IRQ Interrupt” step.

Next, I rebooted and ran “USBUHCIL /DisableLegacy /IRQ 9 /PD:2000”. When it got to the “DEBUG: Verifying IRQ Generation” step, I tried typing “USBHOSTS /U0”. Nothing appeared on the screen as I typed since there was no DOS prompt, i.e. “A:\>”. USBUHCIL did continue running and eventually reported the now very familiar “The USB Host Controller failed to Initialize properly. Aborting Installation. This could be related to an invalid IRQ#.” The operating system did buffer my keystrokes and executed “USBHOSTS /U0” after USBUHCIL returned control back to DOS. I tried running “USBHOSTS /U0 >> TEST.TXT” before and after running “USBUHCIL /DisableLegacy /IRQ 9 /PD:2000”. The outputs are identical. I doubt this is what you were looking for, but here is one of the listing:

USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 10 FCE0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍÍÍÍÍGENERALÍÍÍÍÍÍÍÍ
C P D P S H F E R
H o k e r y G C G G e
R a n t b c s R R R S s FRAME LIST
u l f 6 u E E s s s u D BASE FRAME FRAME
n t g 4 g r r t t m s t ADDRESS TIME NUMBR
ÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍ
. Y . . . . . . . . . . FDFF_E000h 12000 0

ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍROOT HUBÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍINTERRUPTSÍ ÍLEGACY SUPPORTÍ
TOTAL ~ ~ E R R L L L TOTL U O R S T A A
POWER P C C E n S e e o i i POWR S n e h O P S 2 2
ON o o o n a u s s S n n ON U B C s P C I M 6 6 6 6 0 0
PORTS r n n b b s D e p D D DVC PORT S E m u k R R I 4 4 0 0 P E
(mA) t n n l l p t t d - + ADR (mA) B r p m t C Q # W R W R T d
ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍ
±±±±± 1 . . . . . . . . . . ±±± ±±±± . . . . . . . ± ± ± ± ± ± ±
2 . . . . . . . . . . ±±± ±±±±

I have not tried loading USBUHCIL into high memory yet because I was trying to keep things as simple as possible. My test diskette is bare bones DOS. I have remarked out everything in the CONFIG.SYS and AUTOEXEC.BAT files. When testing USBUHCIL, I try loading USBUHCIL immediately after booting the laptop. At that point, there should be no other TRS programs or drivers (which I have any control over) loaded.

Your comments, thoughts and suggestions are always appreciated.

Thank you,
DTV Student
DTV Student
 
Posts: 7
Joined: Sun Nov 27, 2011 10:52 pm

Re: IRQ Problem When Loading USBUHCIL

Postby Bret » Fri Dec 16, 2011 5:18 am

Indeed, we gave it the old college try. I really have no idea what the problem might be. I might be able to figure it out if I had the hardware right here in front of me, though even then I couldn't guarantee anything.

The other thing that might make a difference is to load an XMM and an EMM. The EMM will put the CPU into protected mode, so everything will run faster, and it may make some difference.
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM

Re: IRQ Problem When Loading USBUHCIL

Postby DTV Student » Wed Dec 21, 2011 7:02 am

Hi Folks,

I must confess... Windows has definitely spoiled me. I rarely have to deal with DOS these days. Utilities, such as “Ghost” and “Partition Magic”, are about my only reason for visiting DOS. It has been 20 years or so since I last tinkered with memory management software. I had almost forgotten how much “fun” it was trying to maximize conventional memory by repeatedly editing CONFIG.SYS and AUTOEXEC.BAT, tweaking the memory management drivers, re-arranging the load order of drivers and TSR programs, re-booting, and re-running “MEM /U” for the thousandth time to check for improvements. I still remember the trouble I had getting my arms around the DOS memory models. I always got expanded and extended memory backwards. HMA UMA, EMS, XMS, UMB, A20 and other such memory related abbreviations still hurt my head. LOL !

I shuttered when Bret noted and suggested: “Also, I'm guessing that you may not have any memory managers installed (HIMEM/EMM386 or equivalents), since USBUHCIL is installing itself into low memory. Try installing an XMM (like HIMEM) and an EMM (like EMM386) and see if it makes any difference. It shouldn't, but again, who knows?? ... Also, try with no other TSR's or Device Drivers (with the possible exceptions of HEMEM & EMM386) and see if that makes any difference. There could be some sort of conflict/incompatibility there, also. ... The other thing that might make a difference is to load an XMM and an EMM. The EMM will put the CPU into protected mode, so everything will run faster, and it may make some difference.”

Okay... here I go again... one last shot in the dark. I looked through my junk collection for the necessary memory management drivers and some examples. I marveled that I could still read these ancient 3 1/2 inch diskettes. Many are more than 20 years old. I found all sorts of goodies on these old floppies, but none had DOS or any device drivers loaded high.

I decided to check out the FreeDOS website. I downloaded the BALDER10.IMG distribution file. In short order, I had a bootable FreeDOS diskette with many recognizable utilities and drivers. My hat’s off to the development team. Very nice work!

Using the Balder10 distribution, I quickly cranked out a minimal system diskette containing only: KERNEL.SYS, COMMAND.COM, HIMEM.EXE, EMM386, MORE.EXE, MEM.EXE, EDIT.EXE, and EDIT.HLP. This left lots of room for Bret Johnson’s USB drivers and support utilities. I copied Bret’s files to a USB directory.

Before building AUTOEXEC.BAT and CONFIG.SYS files, I cold booted my Inspiron 3200 laptop with this minimal system diskette. It worked. I had forgotten how bare bones DOS requests entry of date and time without an AUTOEXEC.BAT file. I built the following simple AUTOEXEC.BAT file:

@echo off
path=a:\;a:\usb;
echo.
echo ----- Ready !!! ------
echo.

I did another cold boot and checked the BIOS settings along the way. The BIOS setting for “Plug & Play O/S” was still set to “No”.

After booting, I ran “USBHOSTS /U0 > USBHOSTS.TXT” and got a slightly different report than a much earlier test, see the “Frame List Base Address” value below:
USBHOSTS 0.06, (C) 2007-2009, Bret E. Johnson.

PCI BUS
ÍÍÍÍÍÍÍÍÍÍ BASE USB DRIVER
I B D F BASE PHYSICAL ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
HOST d u v n USB IRQ I/O MEMORY HST BW
TYPE x s c c VENDR PROD VER NUM ADDR ADDRESS IDX STATUS USED
ÍÍÍÍ Í ÍÍÍ ÍÍ Í ÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍ
UHCI 0 0 7 2 8086h 7112h 1.0 10 FCE0h ±±±±±±±±±± ±±± ±±±±±±±±±± ±±±±
Intel Corp

ÍÍÍÍÍÍÍÍGENERALÍÍÍÍÍÍÍÍ
C P D P S H F E R
H o k e r y G C G G e
R a n t b c s R R R S s FRAME LIST
u l f 6 u E E s s s u D BASE FRAME FRAME
n t g 4 g r r t t m s t ADDRESS TIME NUMBR
ÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍ
. Y . . . . . . . . . . FFFF_F000h 12000 0

ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍROOT HUBÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍINTERRUPTSÍ ÍLEGACY SUPPORTÍ
TOTAL ~ ~ E R R L L L TOTL U O R S T A A
POWER P C C E n S e e o i i POWR S n e h O P S 2 2
ON o o o n a u s s S n n ON U B C s P C I M 6 6 6 6 0 0
PORTS r n n b b s D e p D D DVC PORT S E m u k R R I 4 4 0 0 P E
(mA) t n n l l p t t d - + ADR (mA) B r p m t C Q # W R W R T d
ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍ
±±±±± 1 . . . . . . . . . . ±±± ±±±± . . . . . . . ± ± ± ± ± ± ±
2 . . . . . . . . . . ±±± ±±±±

---------------------------------------------------------------------

Okay, I thought... this is a different operating system than before, maybe I should repeat just a few of the earlier tests. Without creating a CONFIG.SYS file, I cold booted, ran “USBUHCIL” version 0.14 and received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Initializing Universal Host Controller #0. This may take several seconds...

The laptop locked up and became totally unresponsive. The floppy drive continued spinning. I powered down to recover.
---------------------------------------------------------------------

I cold booted, ran “USBUHCIL /PD:1000” and received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 10
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0002_4000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt

The laptop locked up and became totally unresponsive. The floppy drive did stop spinning. I powered down to recover.
---------------------------------------------------------------------

I cold booted, ran “USBUHCIL /IRQ 9” and received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 9

Initializing Universal Host Controller #0. This may take several seconds...

The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.

Control was returned to DOS.
---------------------------------------------------------------------

I cold booted, ran “USBUHCIL /IRQ 9 /PD:1000” and received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 9

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 9
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0002_4000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt
DEBUG: Resetting Host
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Setting Starting Frame Number
DEBUG: Enabling IRQ Flags
DEBUG: Disabling SMI Flags
DEBUG: Disabling SMI# Generation
DEBUG: Enabling IRQ Generation
DEBUG: Starting Host
DEBUG: Verifying Host is Running
DEBUG: Initializing Root Hub
DEBUG: Verifying IRQ Generation

DEBUG: Enabling IRQ Generation
DEBUG: Resetting Host
DEBUG: Enabling IRQ Generation
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Restoring Root Hub Port 1 Status
DEBUG: Restoring Root Hub Port 2 Status
DEBUG: Setting Starting Frame Number
DEBUG: Enabling SMI Flags
DEBUG: Restoring IRQ Number
DEBUG: Enabling IRQ Flags
DEBUG: Restoring PCI Configuration
The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.

Control was returned to DOS.
---------------------------------------------------------------------

I replaced the current version 0.14 of USBUHCIL.COM and USBUHCIL.OVL with the version 0.01* files that Bret sent by e-mail. I repeated the above tests and received the same messages except for the version number on the first line. It looks like switching to the FreeDOS operating system makes no difference. I restored version 0.14 of the USBUHCIL.COM and USBUHCIL.OVL files. Next, I re-ran these tests again, but with the FreeDOS memory manager installed.
---------------------------------------------------------------------

I built the following simple CONFIG.SYS file:

dos=high
dos=umb
dosdata=umb
divice=himem.exe
divice=emm386.exe

I cold booted and ran “MEM” with the following results:

Memory Type Total Used Free
---------------- -------- -------- --------
Conventional 638K 19K 619K
Upper 80K 3K 77K
Reserved 306K 306K 0K
Extended (XMS) 146,432K 597K 145,835K
---------------- -------- -------- --------
Total memory 147,456K 925K 146,531K

Total under 1 MB 718K 22K 696K

Total Expanded (EMS) 32M (33,554,432 bytes)
Free Expanded (EMS) 32M (33,456,128 bytes)

Largest executable program size 619K (633,728 bytes)
Largest free upper memory block 50K ( 51,296 bytes)
FreeDOS is resident in the high memory area.

Everything looked great.
---------------------------------------------------------------------

I cold booted, ran “USBUHCIL” version 0.14 and received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Initializing Universal Host Controller #0. This may take several seconds...


Illegal Instruction occurred
CS=6162 IP=2073 SS=CCBF SP=0002 DS=0000 ES=CCBF
EAX=00100012 EBX=0000003A ECX=00000002 EDX=000001C0
ESI=0000ADB0 EDI=000000C0 EBP=0000000C
Opcodes @CS:IP FB 72 08 9E 00 FE CA 75
Aborting program

Control was returned to DOS.
---------------------------------------------------------------------

I cold booted, ran “USBUHCIL /PD:1000” and received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 10
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0015_8000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt


Illegal Instruction occurred
CS=6162 IP=2073 SS=CCBF SP=0002 DS=0000 ES=CCBF
EAX=00100012 EBX=0000003A ECX=00000002 EDX=000001C0
ESI=0000ADB0 EDI=000000C0 EBP=0000000C
Opcodes @CS:IP FB 72 08 9E 00 FE CA 75
Aborting program

Control was returned to DOS.
---------------------------------------------------------------------

I cold booted, ran “USBUHCIL /IRQ 9” and received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 9

Initializing Universal Host Controller #0. This may take several seconds...

The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.

Control was returned to DOS.
---------------------------------------------------------------------

I cold booted, ran “USBUHCIL /IRQ 9 /PD:1000” and received the following messages:

USBUHCIL 0.14, (C) 2007-2010, Bret E. Johnson.
DOS Driver for a Universal HCI compatible USB Host Controller.
LITE version (maximum 16 Devices, no Isochronous Transactions).

Assigned IRQ to USB Controller: 9

Initializing Universal Host Controller #0. This may take several seconds...

DEBUG: PCI Bus-Dev-Func: 0-7-2
DEBUG: PCI Search Index: 0
DEBUG: IRQ Number: 9
DEBUG: Base I/O Address: FCE0h
DEBUG: Frame List Addr: 0015_8000h

DEBUG: Stopping Host
DEBUG: Enabling I/O Access & Bus Mastering
DEBUG: Disabling SMI Flags
DEBUG: Enabling Resume/Connect Detection
DEBUG: Redirecting Host IRQ Interrupt
DEBUG: Resetting Host
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Setting Starting Frame Number
DEBUG: Enabling IRQ Flags
DEBUG: Disabling SMI Flags
DEBUG: Disabling SMI# Generation
DEBUG: Enabling IRQ Generation
DEBUG: Starting Host
DEBUG: Verifying Host is Running
DEBUG: Initializing Root Hub
DEBUG: Verifying IRQ Generation

DEBUG: Enabling IRQ Generation
DEBUG: Resetting Host
DEBUG: Enabling IRQ Generation
DEBUG: Setting Frame List Address
DEBUG: Setting Frame Timing
DEBUG: Restoring Root Hub Port 1 Status
DEBUG: Restoring Root Hub Port 2 Status
DEBUG: Setting Starting Frame Number
DEBUG: Enabling SMI Flags
DEBUG: Restoring IRQ Number
DEBUG: Enabling IRQ Flags
DEBUG: Restoring PCI Configuration
The USB Host Controller failed to Initialize properly.
Aborting Installation.
This could be related to an invalid IRQ#.

Control was returned to DOS.
---------------------------------------------------------------------

I replaced the current version 0.14 of USBUHCIL.COM and USBUHCIL.OVL with the version 0.01* files that Bret sent by e-mail. I repeated the above tests with the FreeDOS memory managers and received the same messages except for the version number on the first line. So, based only on the output messages, there appears to be no difference between version 0.01* that Bret sent by e-mail and the current version 0.14 of USBUHCIL.COM and USBUHCIL.OVL.
---------------------------------------------------------------------

With FreeDOS memory managers installed and USBUHCIL automatically picking up interrupt request 10, USBUHCIL did abort with the following mini-dump:

Illegal Instruction occurred
CS=6162 IP=2073 SS=CCBF SP=0002 DS=0000 ES=CCBF
EAX=00100012 EBX=0000003A ECX=00000002 EDX=000001C0
ESI=0000ADB0 EDI=000000C0 EBP=0000000C
Opcodes @CS:IP FB 72 08 9E 00 FE CA 75
Aborting program

---------------------------------------------------------------------

Your comments, thoughts and suggestions are always appreciated.

Thank You and Merry Christmas,
DTV Student
DTV Student
 
Posts: 7
Joined: Sun Nov 27, 2011 10:52 pm

Re: IRQ Problem When Loading USBUHCIL

Postby Bret » Fri Dec 30, 2011 3:09 am

I'm afraid I'm out of ideas here. Like I said earlier, if I had the actual hardware right here in front of me, I might be able to do some in-depth troubleshooting. It's possible that the next versions of drivers might work a little better on your system, though we'll just have to wait and see.
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM

Re: IRQ Problem When Loading USBUHCIL

Postby DTV Student » Fri Dec 30, 2011 9:23 am

Hi Folks,

Bret... Thank you so very much for everything. I will be happy to test your next version on my two old laptops. I think some of my neighbor might even let me do a little testing on their old machines.

Again, Thank You So Very Much,
DTV Student
DTV Student
 
Posts: 7
Joined: Sun Nov 27, 2011 10:52 pm

Re: IRQ Problem When Loading USBUHCIL

Postby Flayinglion » Wed May 29, 2013 10:41 pm

Okay, let’s give it a try. Iomega’s ASPI USB-UHCI driver loaded and reported “ID0 = USB Disk 2.0”, “Installed Successfully.” Next, Iomega’s Guest driver loaded and reported “Finding a drive letter for your Iomega drive…”, “Your USB Disk 2.0 drive is drive letter D:”. Shortly afterwards DOS declared the following error, “Invalid device request parameters reading drive a”. “Abort, Retry, Fail?” First, I tried “r” and DOS locked up. I rebooted the A20m and quickly arrived at the same error message… “Abort, Retry, Fail?” This time I tried “a” and the A20m loaded the mouse driver and then Ghost. Ghost presented its blue background screen and then locked up the machine. I rebooted again and quickly returned to the same error message… “Abort, Retry, Fail?” I tried “f” and the A20m loaded the mouse driver and then Ghost. As before, Ghost presented its blue background screen and then locked up the machine. Nice try, but no cigar.


That’s all there is. I saw nothing directly related to the USB port. I thought, if I disabled the serial port, parallel port and audio device, a few of the hardware interrupts (IRQ Numbers) might be freed up and just maybe one these might be re-assigned to the USB port. I disable these three items and saved the settings. I cycled the power and checked the changes I made to the BIOS setting. Here is the “System Devices” setup screen:



A few weeks ago, a good friend asked me to give him a hand rebuilding an IBM A20m laptop. His machine is about the same age as my Inspiron 3200 and has about the same limitations: a slow CPU, not much memory, and a small disk drive. The A20m also has a USB port. We installed his copies of Windows 98 First Edition and Office 97. We updated several drivers including a “USB Mass Storage Device Driver” set and installed the “Unofficial Windows 98 FE Service Pack”. After the A20m was up and running, my friend wanted to use Ghost to backup its hard drive, but unfortunately, he did not own an external disk drive like mine. He suggested trying one of the 4 gigabyte “DuraCell” flash drives he had recently purchased for a few bucks at a garage sale. Nice idea. I never thought about trying to use a flash drive with Ghost.

The laptop locked up and became totally unresponsive. The floppy drive continued spinning. I powered down to recover.

I have not tried loading USBUHCIL into high memory yet because I was trying to keep things as simple as possible. My test diskette is bare bones DOS. I have remarked out everything in the CONFIG.SYS and AUTOEXEC.BAT files. When testing USBUHCIL, I try loading USBUHCIL immediately after booting the laptop. At that point, there should be no other TRS programs or drivers (which I have any control over) loaded.

I cold booted my Inspiron 3200 laptop with this minimal system diskette. It worked. I had forgotten how bare bones DOS requests entry of date and time without an AUTOEXEC...???
Flayinglion
 
Posts: 1
Joined: Wed May 29, 2013 10:31 pm

Re: IRQ Problem When Loading USBUHCIL

Postby Bret » Thu May 30, 2013 8:52 am

I'm confused about what you're trying to say here. USBUHCIL works on both computers (the Dell and the IBM) when nothing else is loaded, and Iomega's drivers don't?

Also, I'm not sure, but I think it's CONFIG.SYS (not AUTOEXEC.BAT) that DOS needs so that it won't ask you to enter the date and time when booting. I also think the CONFIG.SYS doesn't actually need anything in it (it can be a file with 0 length) -- it just needs to exist. Unfortunately, I'm not in a position to test this right now. It may also depend on the specific DOS manufacturer/version.
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM


Return to Programs

Who is online

Users browsing this forum: No registered users and 4 guests

cron