"Can not initialize device may be related to an invalid IRQ"

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.

"Can not initialize device may be related to an invalid IRQ"

Postby koji2009 » Tue Nov 13, 2018 10:55 pm

This is an old laptop, probably somewhere between 1997 and early 1998 and it has a single USB connection. Whenever I try to use USBUHCI, the error I get is "Can not initialize device may be related to an invalid IRQ". I've tried manually setting every IRQ and it's the same result every time. Under DOS, this is what the USBHOSTS pulls up.
https://i.imgur.com/1DgTCeB.jpg

If I run the program through Windows where windows USB drivers work correctly it pulls up this.
https://i.imgur.com/qnROkSa.jpg

Being the 'clever' boy I am, I tried punching in those IRQ/IOAddr settings in DOS and still nothing.

The laptop is old enough that it existed long before the idea of "legacy free" PC and doesn't even contain any BIOS options that directly effect the USB, can't boot from USB, etc etc. I have successfully gotten a USB thumb drive to work with USBASPI, but I'd like to get this driver working so I can use a USB keyboard and mouse through a hub since the PS2 slot on the mobo is wonky at best.

Any help would be appreciated, thanks in advance.
koji2009
 
Posts: 3
Joined: Tue Nov 13, 2018 10:46 pm

Re: "Can not initialize device may be related to an invalid IRQ"

Postby Bret » Wed Nov 14, 2018 3:08 am

Try running:

USBHOSTS U0 > UHCI.TXT

and then post the UHCI.TXT file here. The pictures you took of the screen have the edges cut off so I can't see everything. Running USBHOSTS with the U0 option displays the details of the host, which may provide a little better clue as to what's going on.
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM

Re: "Can not initialize device may be related to an invalid IRQ"

Postby koji2009 » Wed Nov 14, 2018 4:58 am

Well... I'm getting all sorts of weird and inconsistent results.

Restarting to DOS from windows results in it freezing and not writing anything to the txt file. Trying it without it printing to txt results with this screen
https://i.imgur.com/VOnFHPv.jpg

It seems to be freezing at frame time.

Pressing F8 during boot and loading up DOS via safe mode gives me this.
https://i.imgur.com/WTliWAt.jpg
https://i.imgur.com/KO75kW6.jpg

I notice the impossible IRQ of 255 right away, but out of curiousity I tried to run USBUHCI here and got the same IRQ error.

Finally, under windows 98SE for comparison
https://i.imgur.com/iEGGNNC.jpg
https://i.imgur.com/hPAaY5Y.jpg

Thanks again for taking the time to look at all this!

(edit) Again, the program locked and didn't save any text restarting from Win98SE into DOS, but the other two...

From pressing F8 during boot and loading DOS through safe mode.
Code: Select all
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  1 2  8086h 7112h 1.0 255 FCC0h ±±±±±±±±±±  ±±± ±±±±±±±±±± ±±±±
                  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 . . . . . . . . . .  06FB_0000h 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 Y Y Y . . . . . . Y ±±± ±±±±   . .  . . . .   . ±  ± ± ± ± ± ±
         2 . . . . . . . . . . ±±± ±±±±



From inside windows 98SE
Code: Select all
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  1 2  8086h 7112h 1.0  10 1000h ±±±±±±±±±±  ±±± ±±±±±±±±±± ±±±±
                  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 . . Y . . . . . . . .  06FB_0000h 12000  2009

  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ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 . Y . Y . . . . . Y ±±± ±±±±   . .  Y Y Y Y   . ±  ± ± ± ± ± ±
         2 . . . . . . . . . . ±±± ±±±±

koji2009
 
Posts: 3
Joined: Tue Nov 13, 2018 10:46 pm

Re: "Can not initialize device may be related to an invalid IRQ"

Postby Bret » Wed Nov 14, 2018 9:48 am

Those are some weird results, especially the part about IRQ 255. Just as an FYI, you most likely won't be able to use the drives at all under Windows, even if the Windows version you're using doesn't understand USB. Windows will often try to take over all the hardware even if it doesn't know what to do with it. It sure seems like there should be some setting in your BIOS related to the on-board USB -- if there were that may resolve the problem all by itself.

Anyway, for the next step let's generate a debug output and see if we can get any further. Do this:

USBUHCIL PD > PD000.Txt
USBUHCIL PD:500 > PD500.Txt

These will try to install the host driver, but will output debugging information during each step of the process. This will let us narrow down and see which step is causing the issue. This still may not tell us everything we need to fully resolve the problem, but it may help some. The first one will simply let everything run at a normal speed while generating debugging info, and the second one will pause for 500 milliseconds between each major step of the initialization process. There have been times in the past where the delays have caused things to start working (there is a timing issue involved in one or more of the initialization steps) and I've needed to increase delays between some of the initialization steps as a result.
Bret
 
Posts: 478
Joined: Fri Oct 10, 2008 3:43 am
Location: Rio Rancho, NM

Re: "Can not initialize device may be related to an invalid IRQ"

Postby koji2009 » Thu Nov 15, 2018 2:23 pm

Code: Select all
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 Base I/O Address to USB Controller: 0400h
Assigned IRQ to USB Controller: 12

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

DEBUG: PCI Bus-Dev-Func: 0-1-2
DEBUG: PCI Search Index:         0
DEBUG: IRQ Number:              12
DEBUG: Base I/O Address:      0400h
DEBUG: Frame List Addr:  0000_A000h

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


And the second one

Code: Select all
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: 12

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

DEBUG: PCI Bus-Dev-Func: 0-1-2
DEBUG: PCI Search Index:         0
DEBUG: IRQ Number:              12
DEBUG: Base I/O Address:      0400h
DEBUG: Frame List Addr:  0000_A000h

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


Don't know if it means anything, but the second one took close to a minute to do and the first one was near instant.
koji2009
 
Posts: 3
Joined: Tue Nov 13, 2018 10:46 pm

Re: "Can not initialize device may be related to an invalid IRQ"

Postby Bret » Wed Nov 28, 2018 4:32 pm

The first one should have been almost instant (normal speed) and the second delays approximately 500 milliseconds between each of the steps (essentially each line of the debug output) so will take MUCH longer. As I stated earlier, sometimes the extra delay in the right place will cause things to work. In your case, it didn't help.

Anyway, the problem definitely is related to IRQ generation. Everything else seems to get setup and looks like it's working properly.

One more thing to try would be to use my IRQ program (included with the USB drivers) to change the state (enable or disable) IRQ 12 before installing USBUHCIL. If you just run "IRQ" it will tell you which IRQ's are currently enabled and disabled. If IRQ 12 is currently enabled, disable it with an "IRQ 12 D" and then try installing USBUHCIL again. If it's currently disabled, enable it with an "IRQ 12" and try installing USBUHCIL.

If that doesn't work, try changing the IRQ number one more time (using all of the different possibilities). Maybe you missed something the first time. I remember on one of my old computers that turned out to be the problem and I had a heck of a time figuring out what was going on. If I remember correctly it was a Sony laptop. After I figured out what the IRQ number was supposed to be, I looked up the specific chip set the computer used. It turned out the USB controller was part of a larger chip set that had lots of other things besides the USB controller on it, and the actual IRQ number for the USB controller wasn't stored where the USB specifications said it should be -- it was stored in a "common" area of the chip set. The BIOS was supposed to copy the correct IRQ number from the common area to the USB area but it didn't do it correctly.
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 2 guests

cron