First post, by AllTinker
- Rank
- Newbie
Hey all!
So I recently began putting together a 486 machine for gaming and programming fun, but I'm having issues with its PCI bus.
The motherboard is apparently obscure, but it matches this one. Certainly all jumpers are identical, although this board identifies itself as PU-S7, not PU-S3.
I have a PCI S3 Trio64V video card in there which works beautifully, but anything which requires interrupts is a different story.
The no-brainer is to ditch PCI for other cards and just stick with ISA. If I can't solve this, I'll do just that. I don't have any ISA network cards lying around or I likely wouldn't have even bothered getting to this point.
Anyway, for this post I'll focus on my (thus far unsuccessful) efforts to get the packet driver working with the following RTL8139D card:
Note that I have also tried an Intel and D-Link card with the same end result (obviously with their own appropriate packet drivers).
I've tested these cards in another machine (a Compaq Pentium 2) and they work perfectly.
First of all, without doing anything extra, this is what happens when I start the packet driver...
As you can see, the IRQ is 255/0xFF; obviously an invalid value.
The primary BIOS options I have for the PCI bus are as follows:
However, none of the left-hand options seem to have any effect whatsoever!
I have also tried placing the cards in every combination of PCI slot and underclocking the PCI bus, with no changes.
Here's how the network card appears in Intel PCI View:
I grabbed the PCI 2.1 spec and had a bit of a read, and noticed that there's a call you can make called (funnily enough) "Set PCI Hardware Interrupt".
So I wrote a little program that does just that, followed by unmasking the interrupt via the PICs:
Yay, IRQ assigned! Now the Realtek diagnostic runs:
Except... Nope, the Realtek remote diagnostic does NOT work (as initiator or responder), and my luck with mTCP hasn't improved either:
Probing the packet driver reveals that I've received no packets, which says to me that the IRQ still isn't firing, even though it's (by all accounts) been assigned.
Outgoing DHCP and ping packets are received by the other machine on the network, and replies are sent, but never received.
I've done quite a few idiot-checks, plugging the same network cable into a laptop, things of that nature.
I also tried getting a PCI USB card working, which had the same IRQ (or lack thereof) issues.
Lastly I've tried reinitialising the 8259 PICs from a different DOS program I put together, both into edge and level modes, since the BIOS settings seem to do absolutely nothing. Obviously no joy there either, but I'm just fumbling around with pretty rudimentary knowledge of this stuff.
Has anyone else had this issue (or better yet solved it)? I've looked around but found almost nothing...
Maybe there's something completely obvious I've overlooked, but right now I'm a bit stumped! Any PCI/AwardBIOS experts out there with any ideas?
I don't have a compatible EEPROM reader/burner to dump/rewrite the BIOS at the minute, although I'm looking at getting one for general use.
...Of course I'm also looking at just getting an ISA network card and being done with it, but I'd much rather have this figured out one way or another!