[Soekris] Strange problem with net4801

Clemens Zauner czauner at onlineloop.com
Tue Jan 18 14:07:42 UTC 2005

On Tue, 18 Jan 2005, Horst Laschinsky wrote:

> board. The board is connected to another PC via a twisted pair cross
> link cable. The NIC in the Soekris board as well as that in the PC
> are set to 100 Mbit, full duplex. Both systems run Linux.

Are you really *sure* about the 100Base-Full? Are they really both
running FDX? Did you change the cable? A word about the cable:
Do not use cables with shielding on both sides. either unshielded,
or shield connected to ground on only one end.

> When I try to transmit data from the Soekris to the PC over tftp (or
> any other simple file transfer protocol) I get transfer rates of
> about 1 MByte/s which is about a factor of ten too low compared to
> the speed of the connection. But what is even odder: if I do the

Well; you cant do 100 Base wire-speed communication with the soekirs
board. It usually maxes out at ~40MBit.

> bytes and lots of carrier errors (about 2/3 of the packets cause a
> a carrier error)!

Physical comm. failure. Check cables, check duplex-settings.

> 1) Why is the transfer rate so small at all? Maybe interrupt / DMA
>    conflicts?

The 4801 has a 233MHz CPU. you will experience some limitations here.

> 2) How can the application layer protocol have influence on the phy-
>    sical layer???

Usually not, But as you are running 1 stream you will see some effects.
e.g. Collisions are unlikely if you do only tftf (udp-bound protocol);
as the server sends out udp frames and the clients ACKs them (and
the server does not send any more until the ACK is received => the medium
is idle).

Whereas in TCP mode things are a little more complicated (There may be
ACKs within the transmission window). This is called "Early ACK".
I dunno if linux does that. The Idea behind that is overcoming the
TCP bottleneck when latencies are high (imagine a 100ms lat.; and
a window-size of 32K - this would yield to max, 320K/sec throughput
on TCP without early ACKing).

> 3) Why does 2) only apply to outbound connections?

One side is sending ACKs (small packets), the other data (large).

> The data to transmit is stored on a 2.5" hard disk, but the effect
> still remains, if I copy the data to a compact flash card and try to
> transfer it from this device to the PC.

Ah, a heard disk. There may be an electrical Problem / grounding issue.
check cable (unshielded!).

> Does anyone of you have an idea or, even better, a solution?

Check Cable, Check duplex. Check noise on ground.


More information about the Soekris-tech mailing list