Problems with LinkSys 10/100 cards

Brian Denheyer
Thu Feb 4 00:12:57 1999

>>>>> "Steve" == Steve Huang <> writes:

    Steve>     Many people claimed this problem, as using a PNIC adapter, the
    Steve> system
    Steve> always shows the messag "eth0: The transmitter stopped! CSR5 is 2678016,
    Steve> CSR6 816e2002."
    Steve> when system boot up or media changed. This is coursed by pnic_timer
    Steve> routine.
    Steve> when media changed, pnic_timer STOP transmitter first and then update
    Steve> CSR6,

I think the confusion is that people think it is an error when, if you
look through the source, it is really a warning.  If there are
situations in which this is useful, like if you are connected to a
real network, it's probably worth leaving in.  But since my "network"
is only two computers it just confuses me, and others, and leads them
to believe that there is a problem.

    Steve> STOP transmit Interrupt occured and show the message. We can remove the
    Steve> Stop Tx code in the pnic_timer routine to reduce the message show.

    Steve> 2058a2059
    Steve>               outl(tp->csr6 | 0x0002, ioaddr + CSR6);     /* Restart Tx
    Steve> */
    Steve>               outl(tp->csr6 | 0x2002, ioaddr + CSR6);   (orginal)
    Steve> ---
    Steve>               outl(tp->csr6 | 0x2002, ioaddr + CSR6);   (new)

    Steve>     Many people complained that the performance of PNIC adapter has 30%
    Steve> loss then DC21140. I install the latest tulip.c(v0.90f) and found the
    Steve> Linux tulip
    Steve> driver set default Tx threshold to STORE AND FORWARD for PNIC adapter,
    Steve> but set default Tx threshold to 128 bytes for DC21140 adapter. So the
    Steve> performance of PNIC has 30% loss then DC21140.

    Steve>     We can change default Tx threshold to 128 bytes for PNIC adapter in
    Steve> the tulip.c . The following is the line number of tulip.c(v0.90f) needed
    Steve> to
    Steve> be modified. Take it for referance.

Well the BEST transfer rates I have seen are on the order of
1.5Mbytes/s, about 12Mbit/s.  The throughput should be on the order of
70Mbit/s so there is still a problem.  I have tried to use the options
setting to force a 100Mb/s mode and I still don't see results much
better than 1Mbyte/s. In addition, when first starting the network the
card will take several seconds to begin transmissions, I've seen it
take as long as 5 seconds.  Once it does everything is fine.

I am running an unpatched 2.0.36 kernel with the 0.90f driver.  I
noticed that a 0.90k driver has been released.  I will try the new
driver and your patches and see if this improves performance.  In the
meantime I have downloaded some DC2xxxx data sheets so that I can make
sense out of the register values.

It is entirely possible that the performance issue is related to
kernel version.  If this is true, please let me know what kernel seems
to give the best performance and I will upgrade.

    Steve> Best regards,

    Steve> Steve Huang, Software Engineer
    Steve> LITE-ON Communictions Corp.

Thanks very much for responding.  I will post my test results.  The
driver is not too complicated and I am quickly finding my way around