VOGONS


First post, by Kahenraz

User metadata
Rank l33t
Rank
l33t

I am trying to resolve IRQ steering errors in Windows 98 that are causing problems. Windows reports "IRQ Steering Disabled" for the reason that "IRQ Table has some errors".

Is there a way to override IRQ Table errors from within Windows to assign IRQs as I want them? I'm unable to assign IRQs where I want them in Device Manager.

This particular motherboard has no onboard serial or parallel and according to Microsoft System Information, IRQs 3, 4, 5, and 9 are free and unused, which could be used for resolving the IRQ sharing issues I have. Is there a way to forcibly assign these IRQs to where I want them?

Reply 1 of 21, by Horun

User metadata
Rank l33t++
Rank
l33t++

What motherboard is it ? Could be a BIOS issue or setting (maybe a ACPI issue?). Did you read this: https://www.practicallynetworked.com/irq-steering/ ??

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 2 of 21, by the3dfxdude

User metadata
Rank Member
Rank
Member

I kind of wonder if it was a mistake to try to use ACPI or irq steering too soon in Windows 9x with many boards not compliant. I did a Win98 on a 440BX system a few weeks ago, and it had this issue. I decided in that case to rerun setup with the options to disable it completely. Then the system worked ok. I also tried Win95B and WinME I think. Win95B worked when drivers were installed, since it did not have drivers for a 440BX on the CD, and seemed to care less about ACPI. WinME had the same issue as 98, I believe.

I tried to remember what I did when I had these issues back in the day. I might have disabled the irq steering completely, and then in safe mode, blew away all drivers and let it redetect. I was having trouble only doing partially this time. Running setup with the command line switches seems cleaner.

Knowing what motherboard and what's on board would be good.

Reply 3 of 21, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie
the3dfxdude wrote on 2023-11-01, 23:42:

I kind of wonder if it was a mistake to try to use ACPI or irq steering too soon in Windows 9x with many boards not compliant. I did a Win98 on a 440BX system a few weeks ago, and it had this issue. I decided in that case to rerun setup with the options to disable it completely. Then the system worked ok. I also tried Win95B and WinME I think. Win95B worked when drivers were installed, since it did not have drivers for a 440BX on the CD, and seemed to care less about ACPI. WinME had the same issue as 98, I believe.

I tried to remember what I did when I had these issues back in the day. I might have disabled the irq steering completely, and then in safe mode, blew away all drivers and let it redetect. I was having trouble only doing partially this time. Running setup with the command line switches seems cleaner.

Knowing what motherboard and what's on board would be good.

I have never had that issue on a 440BX based board with the BIOS set to PnP OS. Built hundreds of 98 machines back in the day with BX boards.

Reply 4 of 21, by Horun

User metadata
Rank l33t++
Rank
l33t++

Yeah I only had an issue with one 440BX with a few older jumper set cards acting odd if OS was to PnP (am sure it was a bios issue), my Asus P2B-F with later bios does not have any issues if I am remembering correctly.....

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 5 of 21, by the3dfxdude

User metadata
Rank Member
Rank
Member
kingcake wrote on 2023-11-02, 01:21:
the3dfxdude wrote on 2023-11-01, 23:42:

I kind of wonder if it was a mistake to try to use ACPI or irq steering too soon in Windows 9x with many boards not compliant. I did a Win98 on a 440BX system a few weeks ago, and it had this issue. I decided in that case to rerun setup with the options to disable it completely. Then the system worked ok. I also tried Win95B and WinME I think. Win95B worked when drivers were installed, since it did not have drivers for a 440BX on the CD, and seemed to care less about ACPI. WinME had the same issue as 98, I believe.

I tried to remember what I did when I had these issues back in the day. I might have disabled the irq steering completely, and then in safe mode, blew away all drivers and let it redetect. I was having trouble only doing partially this time. Running setup with the command line switches seems cleaner.

Knowing what motherboard and what's on board would be good.

I have never had that issue on a 440BX based board with the BIOS set to PnP OS. Built hundreds of 98 machines back in the day with BX boards.

Good for you. It's a dual P2 Intel server board (early-ish?), with built in scsi, and it didn't matter the PnP OS setting. In fact, I think the setting choice was Win95/98 or Other. But it probably used NT4.0 when originally used. I got the NT4 discs with the computer, but the hard drives got pilfered. So I do think the ACPI tables are screwed, maybe because they only cared about handling the case when APIC is used.

I guess I can add, I ran linux and Win2003 on it at some point after I got it, and there was no issue I remember, but those OS are much later after all the ACPI fallout got settled.

Reply 6 of 21, by Horun

User metadata
Rank l33t++
Rank
l33t++

You probably already read this: from choices from Device Manager > IRQ Holder for PCI Steering
"The following settings determine which routing tables Windows uses when programming IRQ steering:
•Get IRQ table using ACPI BIOS:
When this check box is selected, the ACPI BIOS IRQ routing table is the first table Windows tries to use to program IRQ steering. If a PCI device is not working properly, click this check box to clear it. •Get IRQ table using MS Specification table:
When this check box is selected, the MS Specification routing table is the second table Windows tries to use to program IRQ steering.
•Get IRQ table from Protected Mode PCIBIOS 2.1 call:
When this check box is selected, the Protected Mode PCIBIOS 2.1 routing table is the third table Windows tries to use to program IRQ steering.
•Get IRQ table from Real Mode PCIBIOS 2.1 call:
When this check box is selected, the Real Mode PCIBIOS 2.1 routing table is the fourth table Windows tries to use to program IRQ steering.
NOTE: By default, the "Get IRQ table from Protected Mode PCIBIOS 2.1 call" check box is not selected. You should only click this check box to place a check mark if a PCI device is not working properly.
IRQ Holder For PCI Steering may appear under IRQ Routing Status even though PCI bus IRQ steering is disabled. This can occur if the IRQ settings are being read by your computer's BIOS. "

Maybe try a diff routing table (uncheck all boxes and try each one by itself) ?
added: another thought: NT4, Win2k, XP, Win2k3 do not use PCI steering. If the boards bios was designed only for a NT style OS then getting W9x to work may be very hard to do.

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 7 of 21, by darry

User metadata
Rank l33t++
Rank
l33t++
the3dfxdude wrote on 2023-11-02, 01:45:
kingcake wrote on 2023-11-02, 01:21:
the3dfxdude wrote on 2023-11-01, 23:42:

I kind of wonder if it was a mistake to try to use ACPI or irq steering too soon in Windows 9x with many boards not compliant. I did a Win98 on a 440BX system a few weeks ago, and it had this issue. I decided in that case to rerun setup with the options to disable it completely. Then the system worked ok. I also tried Win95B and WinME I think. Win95B worked when drivers were installed, since it did not have drivers for a 440BX on the CD, and seemed to care less about ACPI. WinME had the same issue as 98, I believe.

I tried to remember what I did when I had these issues back in the day. I might have disabled the irq steering completely, and then in safe mode, blew away all drivers and let it redetect. I was having trouble only doing partially this time. Running setup with the command line switches seems cleaner.

Knowing what motherboard and what's on board would be good.

I have never had that issue on a 440BX based board with the BIOS set to PnP OS. Built hundreds of 98 machines back in the day with BX boards.

Good for you. It's a dual P2 Intel server board (early-ish?), with built in scsi, and it didn't matter the PnP OS setting. In fact, I think the setting choice was Win95/98 or Other. But it probably used NT4.0 when originally used. I got the NT4 discs with the computer, but the hard drives got pilfered. So I do think the ACPI tables are screwed, maybe because they only cared about handling the case when APIC is used.

I guess I can add, I ran linux and Win2003 on it at some point after I got it, and there was no issue I remember, but those OS are much later after all the ACPI fallout got settled.

I think it is quite reasonable to assume that Intel never expected (and likely never tested much, if at all) Windows 9x on a dual processor board likely meant for the commercial and/or enterprise market segment . You might be better off just disabling ACPI if you really want to run Windows 9x on that board .

Reply 8 of 21, by the3dfxdude

User metadata
Rank Member
Rank
Member

So about that Win95/98 not being intended for a MP capable board. Yes, well this is partially true. But also you know, that you can run such board in UP mode, which this board originally came configured. It's not like that the board is limited to MP if you don't care about that. I have no idea for sure if the original owner used NT or not. Also, the manual and bios mentions that it supports configuration for 95 or 98, and the utilities and drivers say they run on 9x too, and suggests switches for disabling acpi and irq steering. Remember it worked fine with Win95 when I installed the drivers, and Win98 when I installed in kind of a Win95 like mode with ACPI disabled with the setup switch. So once you know what it requires, setup is not actually that hard. When you realize that some boards cannot run properly with ACPI, then you probably best disable it. I don't understand why they defaulted on during Win98 setup when it did not have to be necessary, and then coupled with Win98 device manager had issues going manual setting up devices post setup. So I feel ACPI was kind of premature in those days.

Reply 9 of 21, by ElectroSoldier

User metadata
Rank Oldbie
Rank
Oldbie
Kahenraz wrote on 2023-11-01, 07:12:

I am trying to resolve IRQ steering errors in Windows 98 that are causing problems. Windows reports "IRQ Steering Disabled" for the reason that "IRQ Table has some errors".

Is there a way to override IRQ Table errors from within Windows to assign IRQs as I want them? I'm unable to assign IRQs where I want them in Device Manager.

This particular motherboard has no onboard serial or parallel and according to Microsoft System Information, IRQs 3, 4, 5, and 9 are free and unused, which could be used for resolving the IRQ sharing issues I have. Is there a way to forcibly assign these IRQs to where I want them?

What PCI/ISA cards do you have and what motherboard are you using?

Reply 10 of 21, by Kahenraz

User metadata
Rank l33t
Rank
l33t

It's a Dell SFF PC with a very anemic Phoenix Award BIOS. Despite having lots of free IRQs, Windows insists on not using them. ACPI and IRQ steering is broken (only APM works), and I can't get video, sound, Ethernet, and USB all onto unique IRQs, to prevent lockups.

I need USB, because there are no PS/2 or serial ports. There is onboard Ethernet which is always assigned IRQ 5, but there are no Windows 98 drivers for it. Using an expansion card for Ethernet collides with other devices. Nothing uses IRQ 5, for example, even when disabling the onboard Ethernet in the BIOS.

Reply 11 of 21, by DoZator

User metadata
Rank Member
Rank
Member

Indeed, Windows 98 provides some features for troubleshooting IRQ issues. In my practice, such problems were not initially observed on the old AGP hardware, up to Conroe865PE\775i65GR3, but after the next upgrade to a system already equipped with PCI-e, I first encountered oddities related to IRQ operation and this was exactly repeated, regardless of the chipset manufacturer and BIOS version. So, in total, I tried 4 different motherboards, but the problem with IRQ was the same everywhere.

As for your specific case, obviously you are trying to do this from a normal WINDOWS session. Try changing the IRQ for the problem device in safe mode. And perform a reboot. It is worth noting that switching to manual management also implies manual configuration of other resources (Memory Range, Input/Output Range), and they also need to be configured correctly if you change the IRQ. As a rule, the correct values can be spied on in Windows XP and transferred from there (If everything works correctly there), with the exception of the IRQ itself, which under Windows 98 is selected individually for the problem device and usually does not coincide with what XP assigns, because there, as a rule, the PIC is not used at all and IRQs are assigned in a different way.

In my case, the problem was repeated with an Intel network card on different PCI-E hardware. It did not want to work with the default IRQ 5. Only primitive ODI and NDIS drivers worked. A full-fledged 32-bit driver refused to be confused. I didn't know about managing IRQ in safe mode yet, but I managed to localize the problem with another method of troubleshooting IRQ. Namely, reserving the IRQ that causes problems:

ReserveIRQ_9x.1698910007.png

In this case, the system hides the IRQs specified in this field (in this case, 5) and the problem devices are redistributed to other free IRQs, even if they were not previously used. So my network Intel "moved" to IRQ6 and started working fully, as before, on an older AGP hardware. Reserving resources turned out to be a very useful tool for fixing hardware problems in Windows 9x.

What is noteworthy, manual installation at the DOS stage using tools such as Read Universal-for some reason does not lead to anything. If I change the IRQ under DOS, it will still change in Windows (unless reserved, as shown above, or manually set in safe mode, of course).

Reply 13 of 21, by ElectroSoldier

User metadata
Rank Oldbie
Rank
Oldbie
Kahenraz wrote on 2023-11-02, 04:41:

It's a Dell SFF PC with a very anemic Phoenix Award BIOS. Despite having lots of free IRQs, Windows insists on not using them. ACPI and IRQ steering is broken (only APM works), and I can't get video, sound, Ethernet, and USB all onto unique IRQs, to prevent lockups.

I need USB, because there are no PS/2 or serial ports. There is onboard Ethernet which is always assigned IRQ 5, but there are no Windows 98 drivers for it. Using an expansion card for Ethernet collides with other devices. Nothing uses IRQ 5, for example, even when disabling the onboard Ethernet in the BIOS.

So something like a GX 270 SSF then?

Reply 14 of 21, by Zerthimon

User metadata
Rank Member
Rank
Member

Have you tried deleting this registry branch HKEY_LOCAL_MACHINE\Enum in safe mode and doing a restart? This will force windows to redetect all devices .

Last edited by Zerthimon on 2023-11-02, 19:48. Edited 1 time in total.

Reply 15 of 21, by Kahenraz

User metadata
Rank l33t
Rank
l33t
ElectroSoldier wrote on 2023-11-02, 14:00:
Kahenraz wrote on 2023-11-02, 04:41:

It's a Dell SFF PC with a very anemic Phoenix Award BIOS. Despite having lots of free IRQs, Windows insists on not using them. ACPI and IRQ steering is broken (only APM works), and I can't get video, sound, Ethernet, and USB all onto unique IRQs, to prevent lockups.

I need USB, because there are no PS/2 or serial ports. There is onboard Ethernet which is always assigned IRQ 5, but there are no Windows 98 drivers for it. Using an expansion card for Ethernet collides with other devices. Nothing uses IRQ 5, for example, even when disabling the onboard Ethernet in the BIOS.

So something like a GX 270 SSF then?

Yes, it's an Inspiron 531S.

Reply 16 of 21, by Kahenraz

User metadata
Rank l33t
Rank
l33t
Kahenraz wrote on 2023-11-02, 19:47:
ElectroSoldier wrote on 2023-11-02, 14:00:
Kahenraz wrote on 2023-11-02, 04:41:

It's a Dell SFF PC with a very anemic Phoenix Award BIOS. Despite having lots of free IRQs, Windows insists on not using them. ACPI and IRQ steering is broken (only APM works), and I can't get video, sound, Ethernet, and USB all onto unique IRQs, to prevent lockups.

I need USB, because there are no PS/2 or serial ports. There is onboard Ethernet which is always assigned IRQ 5, but there are no Windows 98 drivers for it. Using an expansion card for Ethernet collides with other devices. Nothing uses IRQ 5, for example, even when disabling the onboard Ethernet in the BIOS.

So something like a GX 270 SSF then?

Yes, it's an Inspiron 531S.

Zerthimon wrote on 2023-11-02, 18:20:

Have you tried deleting this registry branch HKEY_LOCAL_MACHINE\Enum in safe mode and doing a restart? This will force windows to redirect all devices .
[/quote

I have not. I'll try that.

Reply 17 of 21, by Ryccardo

User metadata
Rank Member
Rank
Member
the3dfxdude wrote on 2023-11-02, 03:14:

[…] Win98 when I installed in kind of a Win95 like mode with ACPI disabled with the setup switch. […]∆ I don't understand why they defaulted on during Win98 setup when it did not have to be necessary, and then coupled with Win98 device manager had issues going manual setting up devices post setup. So I feel ACPI was kind of premature in those days.

Interestingly enough, on every computer I've used it on - meaning assorted P2 and P3 boards, 98SE installs in non-ACPI mode by default (and still gets fine standby support via APM) 😁

Of course, even over a decade later, broken implementations (sometimes suspiciously in bad faith) still happen... and I still haven't understood its point (yet another devicetree-ish scheme?)

Reply 18 of 21, by ElectroSoldier

User metadata
Rank Oldbie
Rank
Oldbie

I doubt you will ever get this system working with Windows 98 in the way you want it to because of the interrupts, the BIOS does not allow user assignment before the OS takes over and by the time it gets to Windows 98 its already to late.
Thats why the system comes with XP or Vista.

Dell is quite good at doing this kind of thing. They provide a working system, but it only really works within the confines of how they supplied it.

Its really not a good choice of machine for Windows 98. The hardware needs more modern software.

Last edited by ElectroSoldier on 2023-11-02, 20:22. Edited 2 times in total.

Reply 19 of 21, by Kahenraz

User metadata
Rank l33t
Rank
l33t

This system uses an nForce 430 chipset. It was clearly never tested for this particular use case. ACPI is unbootable and I can't get enough devices to work comfortably with APM when the IRQ Table is broken.

What's most frustrating is that there are plenty of free IRQs, but they are not being used.

ElectroSoldier wrote on 2023-11-02, 20:18:

I doubt you will ever get this system working with Windows 98 in the way you want it to because of the interrupts, the BIOS does not allow user assignment before the OS takes over and by the time it gets to Windows 98 its already to late.
Thats why the system comes with XP or Vista.

Dell is quite good at doing this kind of thing. They provide a working system, but it only really works within the confines of how they supplied it.

This wouldn't be a problem if IRQ steering was working. Shared IRQs aren't supposed to be a problem with PCI.