[ previous ] [ next ] [ threads ]
 From:  Jeff Buehler <jeff at buehlertech dot com>
 To:  Aaron with Morad <aaronc at morad dot ab dot ca>
 Cc:  m0n0wall at lists dot m0n0 dot ch
 Subject:  Re: [m0n0wall] m0n0wall 1.2 stop responding.
 Date:  Tue, 21 Feb 2006 08:26:02 -0800
I am repeating myself here (and in the same month!), so I apologize, but 
it was a different thread, so in case this helps clarify the Realtek 
discussion, this is an excerpt from /sys/pci/if_rl.c (the c file for the 
Realtek driver by the author of the driver for FreeBSD).  He actually 
states that : "This is probably the worst PCI ethernet controller ever 
made, with the possible exception of the FEAST chip made by SMC", so 
defend the chip if you like but I think that says it all, and from a 
person who knows a lot more than I do about good vs. bad network chips:

 * The RealTek 8139 PCI NIC redefines the meaning of 'low end.' This is
 * probably the worst PCI ethernet controller ever made, with the possible
 * exception of the FEAST chip made by SMC. The 8139 supports bus-master
 * DMA, but it has a terrible interface that nullifies any performance
 * gains that bus-master DMA usually offers.
 * For transmission, the chip offers a series of four TX descriptor
 * registers. Each transmit frame must be in a contiguous buffer, aligned
 * on a longword (32-bit) boundary. This means we almost always have to
 * do mbuf copies in order to transmit a frame, except in the unlikely
 * case where a) the packet fits into a single mbuf, and b) the packet
 * is 32-bit aligned within the mbuf's data area. The presence of only
 * four descriptor registers means that we can never have more than four
 * packets queued for transmission at any one time.
 * Reception is not much better. The driver has to allocate a single large
 * buffer area (up to 64K in size) into which the chip will DMA received
 * frames. Because we don't know where within this region received packets
 * will begin or end, we have no choice but to copy data from the buffer
 * area into mbufs in order to pass the packets up to the higher protocol
 * levels.
 * It's impossible given this rotten design to really achieve decent
 * performance at 100Mbps, unless you happen to have a 400Mhz PII or
 * some equally overmuscled CPU to drive it.
 * On the bright side, the 8139 does have a built-in PHY, although
 * rather than using an MDIO serial interface like most other NICs, the
 * PHY registers are directly accessible through the 8139's register
 * space. The 8139 supports autonegotiation, as well as a 64-bit multicast
 * filter.
 * The 8129 chip is an older version of the 8139 that uses an external PHY
 * chip. The 8129 has a serial MDIO interface for accessing the MII where
 * the 8139 lets you directly access the on-board PHY registers. We need
 * to select which interface to use depending on the chip type.


Aaron with Morad wrote:
>> I have dozens of m0n0walls and full-blown servers with RealTek cards
>> and, while I *always* recommend Intel NICs, the RTL8139s that come with
>> the motherboards sometimes have actually done pretty well when hooked up
>> to internet connections, wifi APs, etc.
>> Lee Sharp wrote:
>>> From: "Aaron with Morad" <aaronc at morad dot ab dot ca>
>>>> "the Realtek cards sucks!"
>>>> Haha... I agree.
>>> While we are testifying about hardware... :-)  I have at least 25
>>> Realtek cards in production on m0n0wall with no problems.  They are
>>> slow, but not as slow as the internet connection.  However, I am
>>> running them all in well ventilated cases, and with good power
>>> supplies.  Heat and bad power supplies cause more problems than
>>> realtek nics.
> With all of this I must confess, I do have three other m0n0walls running 
> Realtek NICs just fine - these other m0n0walls serve other routing purposes 
> in our network.  It just seems to be the two units for the ISP side of our 
> business that have given me trouble (one operational and the other a 
> warm-standby).  These would be the heaviest used out of the bunch.  I 
> suppose I should have changed out the memory and CF card in the process of 
> elimination but with all of the talk (before this thread) regarding the 
> performance of the Realtek NICs I thought it would be easier to complain 
> (haha, sorry) and change out the box for an Intel config.  The units I 
> pulled out will still be used, perhaps with new RAM and CF cards this time, 
> and maybe somewhere less critical to start with...
> Aaron 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: m0n0wall dash unsubscribe at lists dot m0n0 dot ch
> For additional commands, e-mail: m0n0wall dash help at lists dot m0n0 dot ch