VOGONS


Help with a 440LX build

Topic actions

Reply 120 of 121, by hydraphone

User metadata
Rank Newbie
Rank
Newbie

The number of permutations that makes sense is just 4 (NVIDIA in #1, Audigy is #2 to #5), because even if things worked with NVIDIA in a slot different than #1, it is not useful because it only works in 640x480 16 color mode. Sure, I'll reset the BIOS and post /proc/interrupts with Audigy in #2-#5.

I assume with "remove Audigy2 drivers from Linux", you mean blacklist the *_emu10k1 modules, why is this useful?

Didn't do too extensive testing, but the USB worked OK without Audigy plugged in. If the NEC PCI-USB card works (which should arrive in a couple of days), I'd say lack of the on-board USB is a non-issue anyway.
PCI-SATA card, on the other hand,...well 20MB/s writes and 30MB/s reads aren't bad at all for an old W98SE machine, but could've been much (4x-5x) better with a PCI card.

Reply 121 of 121, by MattRocks

User metadata
Rank Member
Rank
Member
hydraphone wrote on Today, 15:03:

The number of permutations that makes sense is just 4 (NVIDIA in #1, Audigy is #2 to #5), because even if things worked with NVIDIA in a slot different than #1, it is not useful because it only works in 640x480 16 color mode. Sure, I'll reset the BIOS and post /proc/interrupts with Audigy in #2-#5.

Didn't do too extensive testing, but the USB worked OK without Audigy plugged in. If the NEC PCI-USB card works (which should arrive in a couple of days), I'd say the USB is a non-issue anyway.
PCI-SATA card, on the other hand,...well 20MB/s writes and 30MB/s reads aren't bad at all for an old W98SE machine, but could've been much (4x-5x) better with a PCI card.

Yes but no - because you are not only moving around the controllers that are attached to PCI slots.

The right slot for Audigy is going to be #2 or #3 or #4 to #5 (normally #3 is the most isolated) but there is another level of complexity.

The actual permutations is higher than 4 PCI slots because those PCI slots do not exist in isolation. The IRQs assigned to those PCI slots are not exclusively assigned to those PCI slots.

You have seen PCI slot #2 sometimes assigned IRQ 10, sometimes IRQ11, and maybe it will sometimes be assigned something else. There are multiple permutations with Audigy staying in PCI slot #2!

Why the IRQ assigned to PCI#2 not static? Because the BIOS has a table of IRQs and it assigns those IRQs to each component that ask for an IRQ (Serial ports, Parallel port, USB 1.1, Legacy USB, IDE ports, FDD ports, PCI slots/ports, etc.)

That dynamic allocation matters a lot because it means the controllers on the PCI bus are "competing" with lots of other controllers on lots of other busses. There is a pool of ~16 IRQs, but more than 16 controllers seeking an IRQ!

Unfortunately, we cannot see the hardcoded logic that the BIOS is using to allocate those IRQs - all we know is that when we switch something off in the BIOS, the IRQs assigned to PCI slots can change. That is why changing a BIOS setting and the PCI slot at the same can create the illusion of random permutations.

The total number of permutations available to you is greater than 4, and you have seen this with USB: IRQ11 assigned to Audigy and IRQ11 assigned USB is different to IRQ11 assigned to Audigy and IRQ3 assigned to USB.

And, two users with identical sets hardware might each discover they disagree on which PCI slot works best for an Audigy card - because those users had different BIOS settings, hence different IRQ assignments!

That is before we get to the OS adding more IRQ assignments for virtual devices - extra complexity that can make your debugging even harder, which is why I suggested debugging in Linux with minimal drivers.