From: rivers@ponds.uucp (Thomas David Rivers)
Subject: NE2000 test results (previous driver performs better).
Summary: Here's a better driver (repost).
Keywords:  ether, speed, 386bsd NE2000
Date: Sun, 27 Dec 1992 18:16:34 GMT


 Well, since Curt Mayer (curt@hoptoad.uucp) had re-written the
 NE2000 driver for us, I decided to take some time and give it
 a good shaking out.

 My test machines (ponds and lakes) are:

     ponds			lakes
   386DX, 33mhz		      386DX, 33mhz
   NE2000 clone               NE2000 clone
   8-meg memory               12-meg memory
   Hercules		      ET4000 clone (running XFree86 1.1)
   IDE 240Meg.		      SCSI -663 meg
   Wangtek (EN2099) 	      Wangtek (5150ES)
   40-meg swap on wd0	      40-meg swap on sd0

 They are directly connected by 6 feet on ethernet cable,  With a
 50-ohm terminator on lakes, and a 50-ohm grounded terminator on ponds.
 There is nothing else on this "network".

  So, here are some timings from the driver posted to comp.unix.bsd by
 Ralf Friedl (PA Peter) <friedl@informatik.uni-kl.de>, on Jul 15th.
 These are arrived by  moving a copy of the 386bsd kernel from 
 lakes to ponds (444736 bytes) using binary ftp (no hash).

   Time to Transfer (seconds)  Kbytes/Sec
     4.3                        1e+02
     3.3                        1.3e+02
     3.4            		1.3e+02
     2.8			1.6e+02
     4.2			1e+02

 These appear to be rather good time, approaching what you would
 expect the bandwidth to be on such a network (few collisions...)

 Ok, so I installed the driver posted by Curt.  My original intent
 was to install it on both machines, then only one. However, when 
 that kernel came up on "lakes" the network didn't function (lots of
 overun-type errors from the driver: ne0 ... error: isr 15; 
 ne0 ... error: isr 14, etc...) 

 Thus, I was only able to get Curt's driver to run on "ponds".  The 
 following times reflect that situation (ponds is running Curt Mayer's
 driver, lakes is running the driver posted in July.)  There was *no*
 other change in the test, hardware, etc...  Since the times appeared
 so much worse, I ran more tests than before.

   Time to Transfer (seconds)  Kbytes/Sec
     10				42 
     10				42
     11				39
     10				42
     15				29
     6.3			69
     9.4			46

 These numbers don't approach those of the other driver.  Also, just to
 get a feel for NFS mounts, rlogin, etc... I tried out several NFS
 configurations, rlogin'ing and so forth - generally it seemed to be
 much slower.

 OK, so I thought I may have seriously goofed things up, since these
 numbers were so much lower than the other driver.  So, I rebooted
 ponds with the (saved) kernel containing the Friedl drivers, and
 ran some tests.  Again, the only change I made was to reboot the
 machine - no other modifications.  The test results returned to a set
 similar to above, indicating that it was indeed the NE2000 driver
 which explained the slowdown.
 

 I have sent this driver to several people (who had requested an
 improved driver from this news group.)  But, I would like other
 people to do the same comparison (or a comparison in different
 circumstances) to validate my results.  As such, I am *reposting*
 this same driver again....  (also, there were several people
 who requested this code, to whom I could not send mail (it bounced))

        - Dave Rivers -
        (rivers@ponds.uucp)

----------------- cut here ----------------------------