Welcome, Guest. Please login or register.

Author Topic: NIC chipsets  (Read 3802 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Razor

  • Newbie
  • *
  • Join Date: Jan 2004
  • Posts: 1
    • Show only replies by Razor
Re: NIC chipsets
« Reply #14 from previous page: January 02, 2004, 10:07:07 PM »
Regarding the RL8139:

Here are some comments from the FreeBSD driver:

Quote

 * 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.


and further down:

Quote

/*
* Here's a totally undocumented fact for you. When the
* RealTek chip is in the process of copying a packet into
* RAM for you, the length will be 0xfff0. If you spot a
* packet header with this value, you need to stop. The
* datasheet makes absolutely no mention of this and
* RealTek should be shot for this.
*/


You can check the driver here.
 

Offline N7VQM

  • Sr. Member
  • ****
  • Join Date: Dec 2002
  • Posts: 272
    • Show only replies by N7VQM
Re: NIC chipsets
« Reply #15 on: January 03, 2004, 04:19:57 AM »
Quote

Razor wrote:
Regarding the RL8139:

Quote

/* The
* datasheet makes absolutely no mention of this and
* RealTek should be shot for this.
*/


Comments like these can make code reading a joy.   :-)
\\"...an error of 1 is much less significant in counting the population of the Earth than in counting the occupants of a phone booth.\\" - Michael T. Heath, Scientific Computing...
 

Offline Stedy

  • Sr. Member
  • ****
  • Join Date: Jul 2002
  • Posts: 259
    • Show only replies by Stedy
    • http://www.ianstedman.co.uk
Re: NIC chipsets
« Reply #16 on: January 03, 2004, 12:58:30 PM »
Quote

dammy wrote:
by Stedy on 2004/1/1 18:53:56

Quote
If you want help/advice on ethernet drivers and IP stacks, contact me privately. I've ported Linux ethernet drivers, written them from scratch and wrote my own IP stack.


Well there is a small bounty for tcp/ip at TeamAROS.

Dammy


I would like to help but unfortunately I just do not have the time at the moment.

Take a look at this project Lightweight IP something I found after I wrote my stack ,which is owned by my company :(