I have an MMC build on super socket 7 which is now fully working apart from one problem.
I cannot get the packet driver to work reliably. Sometimes it works, sometimes it doesn't. I expect it's something to do with PCI PnP but I'm not really sure what it is. I've tried changing BIOS settings and moving the card around but it is still unreliable.
I thought since PCI NICs are generally very cheap it might be worth trying a different kind. Mine is a Realtek 8139.
Does anyone have a suggestion of a chipset that they've found to work reliably?
A 3Com 3C905 variant, possibly. I heard that some earlier revisions have odd issue with very long (but still in spec) cable runs. Not sure how much truth there is to that.
Something based on on the DEC 21040 or similar or an Intel chipset based NIC might be worth a try.
If so, cards/chips from DOS era are generally a good idea. I've had success with Intel, DEC and 3Com PCI chips. They also help offload stuff off the CPU (less interrupt traffic) vs 'dumb' Realtek NICs.
Virtual PC uses an DEC 21140 (DEC 21040) Ethernet-Adapter.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
I suggest an Intel Pro 100 over any 3Com cards. 3Com cards can be troublesome and performance of some versions sucks. I would definitely avoid the original 3c905.
Never had any trouble with 3Com PCI cards, for DOS just make sure that use an older version of the packet driver (if the NIC supports it of course) because the latest one is buggy.
The more recent 3Com 3C905 packet packet drivers are broken. If your card is a 905b or older, try an older packet driver. I investigated whether the recent drivers is an easy fix and gave up being horrified by the quality of that code.
I had troubles with the 3c905 on my Abit BF6. It will freeze up the system with sustained transfers in Win98. Seems like some PCI unhappiness. That's not uncommon for 440BX but I swap in the Pro 100 or Pro 1000 and all is peachy.
The original 3c905 has a PIO compatibility mode in cases of DMA issues. Considering there are a numerous revisions of the various 3c905/b/c chips who knows what kind of errata one might find.
DEC NICs are good and, if you believe their marketing, they were the fastest available in 1995. Fast EtherWORKS (DE500) is the 10/100 card and EtherWORKS Turbo PCI (DE450) is the 10mbps one. Most operating systems support them out of the box but drivers are here.
Lots of other companies, besides Digital, used the DC21040 and DC21140 ethernet controllers too including SMC, NetGear, Accton, D-Link, Linksys, Kingston, Adaptec and probably others. Some cards used clone chips which may not work with the drivers from DEC. Generic drivers from Digital Semiconductor are here though I don't see a packet driver in there.
AMD PCnet is another worthwhile one. No idea what performance is like but its what a lot of virtualization products emulate and the drivers seem to work well. Drivers are here.
Another alternative if the RTL8139 packet driver isn't working is to try using an ODI driver and the ODIPKT shim. NetWare was everywhere in the 90s so the ODI driver should have been well tested though this approach will use a little more conventional memory. Should be able to go something like:
1LH LSL.COM 2LH RTSODI.COM 3LH ODIPKT.COM 1 96
where the first parameter to ODIPKT.COM (1) is the position of the Ethernet_II frame in net.cfg (starting from 0):
1Link Support 2 Buffers 6 1600 3 4Link Driver rtsodi 5 NICNo 1 6 Frame Ethernet_802.2 7 Frame Ethernet_II 8 Frame Ethernet_SNAP 9 Frame Ethernet_802.3 10 MEDIUM AUTO