What an interesting read, and a delightful site. I remember in the late 90’s we had an absolute mountain of inexpensive NE2000 clones (mostly ISA) and happily used them with Windows and OS/2 but quickly gave up trying to get them to work reliably with Linux. I didn’t know why at the time, but this really explains a lot. I think there was some reasonably ubiquitous 3Com PCI card we settled on for the Linux machines.
probably the 3com 3c509, which was the Adaptec AHA-1542 of network cards.
I think that was it! Good memory.
Yup. I was just starting to use Linux professionally at the time, and remember being delighted to discover a box of old 3Com PCI cards at work, because of their great Linux support at the time. I think it was the Etherlink III?
Like you I came into possession of a box of old 3com cards in the late 90s and I think I used them for many years until I switched to 100MBit
And the amount of RTL8029 that died after a few weeks was staggering, whereas the RTL8139s worked perfectly fine. (Or maybe I am mixing it up and the 8139s were bad and the 8029s had worked fine, but surely one of those 2).
This is something the article doesn’t mention (or if I got it wrong, then 8139 isn’t an NE2000) and maybe our local bunch of LAN party goers had extraordinarily bad luck or the batch of Realtek cards sold here were all flaky, but they were cheap and we always had a few spares because they died all the fricking time. If you had 20 people for a weekend of LAN party you could bet that one person had to switch to a new card before the event was over, so I 100% do not believe in software issues here.
I thought Linux having poor network drivers was well-known back then.
And it wasn’t just the ethernets; I do remember when 802.11b became a thing, and netbsd was the only way to run these new cards reliably.
Excellent read. This happened with the early open source OS’s, where someone assumed the work was done right when it wasn’t. It took/takes a lot to actually get it right, doesn’t take anything to just assume it’s right.
With your biggest Seymour Skinner voice, “Are my drivers incorrect? No, it is the hardware manufacturers who are wrong.”
Having written drivers back then, I can safely say it was both.
cue crystal clear flashbacks to when I figured out how to fast reset an rtl8139c
I wonder if the root-root problem there was that the authors of the Linux driver were not aware of any documentation or didn’t have access to it. I remember that a lot of these drivers were written by hobbyists who just wanted to get something working.
Quite surprised by this piece of common lore which seems to have passed me by entirely at the time. I used cheap ne2000 clones preferentially and almost exclusively for building my small linux networks through the mid nineties and I can’t really think of any problems. Most of my cursed networking from that era was struggling with linux NFS implementations.
Ditto to the former (but I didn’t build out Linux networks). When switching to PC from Amiga and building out my first box, I followed sage advice and went with an NE2000 because “everything supports it” and the alternatives realistically available in my price budget didn’t have Linux support, or had worse support than the NE2000. I never noticed any problems with it; the two other students I shared a house with that year were also compsci students and we had a household network for our machines.
Linux NFS was so bad that discovering it actually worked under FreeBSD was a delight. (I mean, later at ISP postmaster scale, I got too familiar with quirks of FreeBSD/SunOS/NetApp and all the wonderful NFS bugs which could still come up, but nobody was seriously proposing we try to add Linux into the mix: we later added Linux to the mail setup for malware scanning with a commercial product, but since the scanner was closed source we kept it away from the filer network anyway).
Ha ha, I had exactly the same FreeBSD epiphany. Wait, NFS works on this one? Mind…blown.