VOGONS


First post, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

Hi!

I've been using mostly my trustworthy 3COM 3C509B-TPO cards, of which i have many. There are drivers for every operating system you can think off and generally are no hassle to install.
Yet i have many other network cards, and it makes me think, whether those 3com cards are the most optimal?

I've read from somewhere, that thos EtherLink III chips those cards use, can offload some tasks from the cpu, lessening the cpu utilization, compared to standard NE2000 compatible cards. But it's just a sentence or two i have read from... somewhere.

I've tried to google a bit but haven't really found any comparison information. Are you any aware of differences between network cards? Has someone done any benchmarking that i'm not aware of?

Thank you!

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 1 of 46, by Caluser2000

User metadata
Rank l33t
Rank
l33t

I have used D-Link DE220s on Linux, OS/2, Dos, win/wfw3.x, NT and win9x Unsure it there's anything special about them but they work fine. Having a bnc connector made it easy to network on the cheap without using any hubs or switches.

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 2 of 46, by Scali

User metadata
Rank l33t
Rank
l33t

I haven't done extensive benchmarking or research, but I can confirm there is a difference in performance.
In my 486DX2-80 running Windows 95b, I tried both a 3COM (can't remember the exact model) and an SMC. Where the 3COM could only reach about 200-250 KB/s on that system, the SMC could do 400+ KB/s. So that was quite a considerable difference in performance.
The 3COM looked more modern, a jumperless design, and was a wellknown brand, where the SMC was somewhat obscure, older, and required jumpers for configuration. But for whatever reason, the SMC performed considerably better.
On a Pentium you probably wouldn't be able to notice a difference though.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 3 of 46, by dionb

User metadata
Rank l33t++
Rank
l33t++

One thing on my 'to-do' list is to do some extensive benchmarking of ISA NICs, both in terms of throughput and CPU usage. My day job involves quite a bit of tweaking network parameters to maximise performance; applying that to ancient stuff could be fun.

There's a lot of contradictory 'common knowledge' out there. I suspect a lot of that is due to confusion between DOS and Windows performance, and due to the assumption that offloading CPU always improves throughput too (it does not, at least not automatically)

But it might be a while before I get around to this...

Reply 4 of 46, by Scali

User metadata
Rank l33t
Rank
l33t
dionb wrote:

and due to the assumption that offloading CPU always improves throughput too (it does not, at least not automatically)

Yes, that is an excellent point in general.
I can name some examples where 'offloading' seemed like a good idea at some point, but was surpassed by CPU performance eventually.
One example is DMA transfers: on the original PC/XT machines, the DMA controller was great for transferring HDD data directly between memory and the HDD controller.
The Intel 8237 DMA controller was never upgraded however, and was only suited to operate at about 4-5 MHz max. So when the AT was introduced at 6 MHz, they had to halve the clockspeed on the DMA controller to 3 MHz, to run it in-spec. Even on the later 8 MHz AT, it only ran at 4 MHz, not the full 4.77 MHz as on a PC/XT.
Since HDDs had actually become faster at the same time, it became a better option to just use the CPU for transfers, and skip the DMA controller.

Another interesting case is with graphics acceleration. If you have early video cards with linedrawing and such, it may be interesting to use that with a slow CPU of that era. But at some point, CPUs have become so much faster that it actually takes more time to set up the video card to draw a line, wait for it to complete, set up the next line etc, than to just draw the whole stuff with the CPU.

So with ISA network cards it may well be that some cards have some kind of 'acceleration' that works faster than doing it on the CPU of that time (perhaps a 286 or 386), but by the time you strap a super-fast Pentium III onto it, the CPU can do it faster than the primitive acceleration circuit, so you won't be able to measure any gains, even if they were there at the time.
So it's very important to understand what the different cards do exactly, and what kind of systems they would have been aimed at.

In my case, the SMC apparently did something that was more efficient on a 486 than the 3COM was. But I would not expect that to translate to a high-end CPU.
Perhaps it's as simple as just the size of the onboard buffer. I mean, even the simplest of network cards would require some kind of buffering to send or receive data, and generate an interrupt once an operation is complete, so that the CPU can service it.
It could be as simple as the SMC having a larger onboard buffer than the 3COM, and thereby requiring less CPU interrupts per second to transfer the same amount of data.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 5 of 46, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

AFAIR (I may be wrong), NE2000 and the like cards did not use DMA. Any card capable of DMA is a big improvement.

Some other cards (I had a DEC DE205) can use a "RAM" window on the ROM area (between 640k and the first meg), so the OS can use it as a buffer and perform faster. The downside is that you'll have less memory to play with LH.

Your 3c509 has DMA (that may be the offloading thing you're talking about) so it will surely be faster than NE2000, but maybe not as fast as other cards.

On modern cards, TOE (TCP Offload Engine) do some tasks related to TCP/IP on the card but the OS must be prepared to rely some TCP operations to the card (Linux don't do it for security reasons, DOS surely won't do it) and you must use the right drivers. Note that when I talk about "modern cards" I mean PCI or better cards (and busmastering may be a requirement) and that TOE stuff is mostly server oriented... the gain on desktop computers will not be as big as anyone can think.

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!

Reply 6 of 46, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie

I’d have to search for the thread but last time this was discussed here I thought that the conclusion was that no cpu offloading was occurring in Win9x. Your results might vary if your using 2K, XP, or Linux.

Check out DOSBox Distro:

https://sites.google.com/site/dosboxdistro/ [*]

a lightweight Linux distro (tinycore) which boots off a usb flash drive and goes straight to DOSBox.

Make your dos retrogaming experience portable!

Reply 7 of 46, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie
dionb wrote:

One thing on my 'to-do' list is to do some extensive benchmarking of ISA NICs, both in terms of throughput and CPU usage. My day job involves quite a bit of tweaking network parameters to maximise performance; applying that to ancient stuff could be fun.

That would be amazing! I'm mostly interested in the topic for the reason of, what would be good ISA NICs for 286-486 machines. Pentiums are powerful enough that other things start to give interest to you anyways.

@Scali, what i've found about my 3C509B cards (including very clean 3C509B-TPO cards from 1996+) is, that they all are working in half-duplex mode by default (and sometimes have set optimization "for windows", instead of "for dos"... whatever that means). I've set it to full-duplex and it seems faster. (Haven't done any benchmarks, so it's only a gut feeling)

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 8 of 46, by mrau

User metadata
Rank Oldbie
Rank
Oldbie

i suppose it depends on use case whether max throughput is better than medium or low with extra low lag;

but since we are on the topic - to offload the nic can - calculate checksums in and outgoing on both frame and packet level; use big frames, moderate interrupts, use dma - what else?

i think most tools do not show load caused by drivers and device communication reliably < - possibly an issue for this here?

Reply 9 of 46, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member
GigAHerZ wrote:
Hi! […]
Show full quote

Hi!

I've been using mostly my trustworthy 3COM 3C509B-TPO cards, of which i have many. There are drivers for every operating system you can think off and generally are no hassle to install.
Yet i have many other network cards, and it makes me think, whether those 3com cards are the most optimal?

I've read from somewhere, that thos EtherLink III chips those cards use, can offload some tasks from the cpu, lessening the cpu utilization, compared to standard NE2000 compatible cards. But it's just a sentence or two i have read from... somewhere.

I've tried to google a bit but haven't really found any comparison information. Are you any aware of differences between network cards? Has someone done any benchmarking that i'm not aware of?

Thank you!

Really? I have an Etherlink III too off the same chipset (I think, have to check) and I still can't get it to assign an IP or get it to NOT crash my computer on WFW 3.11. I think it's a resource management problem because the jumpers only allow 2 possible IRQs/Ports and then there's some software util you have to use for the "soft" resource option. How were you able to get yours stable and working?

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer

Reply 10 of 46, by retardware

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:
I haven't done extensive benchmarking or research, but I can confirm there is a difference in performance. In my 486DX2-80 runni […]
Show full quote

I haven't done extensive benchmarking or research, but I can confirm there is a difference in performance.
In my 486DX2-80 running Windows 95b, I tried both a 3COM (can't remember the exact model) and an SMC. Where the 3COM could only reach about 200-250 KB/s on that system, the SMC could do 400+ KB/s. So that was quite a considerable difference in performance.
The 3COM looked more modern, a jumperless design, and was a wellknown brand, where the SMC was somewhat obscure, older, and required jumpers for configuration. But for whatever reason, the SMC performed considerably better.
On a Pentium you probably wouldn't be able to notice a difference though.

That is correct - even an old SMC card has better performance.
Back in 1992 the company I worked in did test all available network cards and decided for SMC to equip its 100 PCs, which were connected to Sun servers.

Reply 11 of 46, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

@Gahhhrrrlic, I have never had any problems with those cards. Some of my cards have had IRQ 3 set to be used and then i just had to change it to IRQ 10 through the configuration utility. Other than that, i have had no problems with those cards...

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 12 of 46, by Caluser2000

User metadata
Rank l33t
Rank
l33t

I guess in the hobbyist environment it doesn't matter that much at the end of the day. Just getting that old system ircing in Dos or ftping is worth it. It'd be nice to know who uses what on their old systems. I generally use D-Link DE220s and Genius/KYE GE2000s as they are pretty plentiful down here and set mine up to IRQ 10 and add. 340 iirc. Do have a smattering of of others IBM, Etherlink, including one SMC and a some no names. Some are jumpered.

20190625_092109[1].jpg
Filename
20190625_092109[1].jpg
File size
1.37 MiB
Views
1040 views
File license
Fair use/fair dealing exception

Seems I've collected a few modems over the years as well. If nothing else they are good for stripping components off.

Last edited by Caluser2000 on 2019-06-25, 08:34. Edited 2 times in total.

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 13 of 46, by dionb

User metadata
Rank l33t++
Rank
l33t++
Gahhhrrrlic wrote:

[...]

Really? I have an Etherlink III too off the same chipset (I think, have to check) and I still can't get it to assign an IP or get it to NOT crash my computer on WFW 3.11. I think it's a resource management problem because the jumpers only allow 2 possible IRQs/Ports and then there's some software util you have to use for the "soft" resource option. How were you able to get yours stable and working?

Sounds like you have it set to PnP and your motherboard is (as usual) making a mess of ISA PnP. I always set the card manually using 3C50XCFG.EXE, usually to 0x300 and IRQ 10 or 11.

Then again, jumpers? Maybe it's a different card. I'm talking about the ubiquitous 3C509B and C in all their variations (TPO, TP, Combo etc).

Reply 14 of 46, by Intel486dx33

User metadata
Rank l33t
Rank
l33t

Many variables to consider.

CPU
Ram
BUS type ( 8-bit, 16-bit, 32-bit ).
Network media type ( Ethernet or coax ).
Operating system.
Network Topology
Performance of your routers and switches.
ISP download speeds.
Protocols ( Apple talk, IPX/SPX, IBM token ring, TCP/IP ).
Etc...

The reason Novell was so popular back in the early 1990’s is because
They where an affordable one stop network solution in a box.
They where the computer desktop network leaders and had tested and thought of everything.
Novell went with IPX/SPX protocol by default because it was faster and lighter on the network.
You could run Novell server on a 486 computer.
TCP/IP did not become main stream for the masses until Win95.

If you can get networking ups and working on an old DOS computer you should be happy with that.
As long as you can achieve 10-base-T.
On a 486 computer I think 100-base-T is the bests you can achieve.

Attachments

Last edited by Intel486dx33 on 2019-06-25, 17:14. Edited 5 times in total.

Reply 15 of 46, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Intel486dx33 wrote:

TCP/IP did not become main stream fo the masses until Win95.

If you can get networking ups and working on an old DOS computer you should be happy with that.
As long as you can achieve 10-base-T

I share that point of view. TCP/IP was pretty much irrelevant until the mid-late 90s or so.
Online services such as CompuServe or Datex-P relied on X.25 protocol.

For home use or little offices, cheap serial/parallel connections were also common since mid-late 80s.
- While slow, they were still better than sneaker net and supported printer sharing (which was the most important).
That being said, I believe very few people likely will admit that these days. Either because they forgot or because they are ashamed. 😉

For gaming. IPX made it into the early days of Win95, even.
Many games written for DOS and Win 3.1 did support IPX, null-modem or modem connections.
Windows for Workgrousp still used NetBIOS/Lan Manager/SMB, but also was open to other networks (could be added).
https://blog.fosketts.net/2012/03/22/lan-mana … b-cifs-history/

Of course, looking backwards, the Unix/BSD/Linux fanatics were (and are) dependent on their holy TCP/IP stuff so they may disagree. 😉
They simply had nothing better to use, afaik. Their IPX support was very crude and user-friendly things like AppleTalk
were either against their religion (chooser, self-configuring network etc) or not available free of charge due to licensing issues.

"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

//My video channel//

Reply 16 of 46, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie
Intel486dx33 wrote:

Many variables to consider.
...
If you can get networking ups and working on an old DOS computer you should be happy with that.

No and no.

I am interested in same situation, same machine and now i have 10 different NICs. Which one should i choose?

And no, i'm not happy if something works somehow. I want everything to work perfectly and the best optimized way.

On software side, i can setup dos and windows 3.x to use samba shares and tcp/ip while sleeping myself. It's no question in this topic...
So unless you say that all NICs are absolutely identical (and only variables are outside of the NICs), this answer was off topic.

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 17 of 46, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie

why do you care so much about performance on an 8mhz ISA bus? Most cards back then were 10mbps, my PCI 3C905C cant even saturate 100mbps doing ftp.

most of the 3com isa cards had SRAM for helping with packet tx/rx. I dont know of any NE2000 that had that.
I think it was not until the 905B or C that that the chip did packet checksumming/offloading. I dont think the 509B offloaded anything.

To take advantage of the 509b full duplex, both ends of the connection need to be full duplex (really only a problem back then, or if your using a hub instead of switch). If full duplex has an issues, the 509B has packet collisions and causes massive slowdowns on its line.

my 3C509B is on a gigabit switch to linux servers for ftp, it worked best in half-duplex mode for me, in full duplex it would often crash mTCP's ftp.

if your host machine is slow, the 509 can drop packets a lot because its ram buffer is small. 509b doubled its sram size.

also, it does PIO transfer. (all ne2k also were PIO). some cards did shared memory and could be faster that PIO.

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 18 of 46, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

@BloodyCactus, it's a quirk of mine to get stuff running the best way possible. (My footer also hints, how i try to get every bit out of conv. memory, while still loading all the stuff i want.)

And if i have a choice between multiple cards, then why not to be knowledgable about their differences? (Both raw throughoutput and also cpu utilization characteristics)

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 19 of 46, by Intel486dx33

User metadata
Rank l33t
Rank
l33t

Today, I use Cisco/Linksys for all my network needs.
3com never had very good switches.

HP networking hardware was very good to back in 1990’s
HP has a good some good NIC’s too that are easy to setup but they are PCI but work great with WinNT351/Win3x

3com 3c509 NIC’s where popular back in 1990’s because they had good support in
Linux/Novell/Microsoft/FreeBSD operating systems.