Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Mar 2000 21:03:56 -0600
From:      David Kelly <dkelly@hiwaay.net>
To:        Dennis Jun <dennisjun@yahoo.com>
Cc:        questions@FreeBSD.ORG
Subject:   Re: Excessive LAN Collisions; Half/Full Duplex NIC 
Message-ID:  <200003040303.VAA72441@nospam.hiwaay.net>
In-Reply-To: Message from Dennis Jun <dennisjun@yahoo.com>  of "Thu, 02 Mar 2000 22:06:58 PST." <20000303060658.4542.qmail@web604.mail.yahoo.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Dennis Jun writes:
> Hello! I'm a bit of a newbie to FreeBSD so please bare with me if what
> I ask is a simple question.
> 
> I have a small LAN at my home consisting of a Windoze 98 and a FreeBSD
> 3.3-RELEASE. The problem is when I FTP a file from my FreeBSD box
> to my Windoze 98 box: I get an incredible amount of collisions. I can
> tell by doing a netstat -i and by just looking at my collision light on
> my hub.

So? Collisions are quick. There is no way for ethernet to know there is
not another packet starting at the same time on the wire, so it starts
one. If it doesn't correctly copy the bits its sending then it concludes
there is a collision and backs off. Believe if the collision occurs
within the first 64 (its this number I'm uncertain about) octets (bytes)
its a normal collision and nothing to worry about. Deeper in the packet
its called a "late collision" and is totally unacceptable, totally
avoidable, and will generate all kinds of warning messages. Late
collisions are usually due to too many hubs in a net, or wires are so
long that the speed of light pushes timing windows beyond the ethernet
spec.

Some ethernet cards never report early collisions. Partly because it 
doesn't really mean anything and there is nothing you can do about it 
other than purchase a switch to replace your hub.

It wasn't clear to me whether or not you had a hub or switch. Due to
their nature a hub can't support full duplex. A switch could support
full duplex but not all do. Direct 1 to 1 wiring is a sure way to do
full duplex.

> I've read the FreeBSD mailinglist archives and most people
> suggest that this is a hardware problem.

Then most people were wrong.

> However I don't think this is
> the case with me because my FreeBSD box was a NT4 box previously. When
> I would transfer files from my NT4 box to my Windoze 98 box, I had the
> same problem: lots of collisions. However, in NT I changed the NIC to
> half duplex from full and that cleared up the problem. However, I can't
> seem to set it to half duplex with ifconfig -media 10baseT/UTP. I think
> partly because they are only 10baseT cards, not 100baseT.

Maybe your card does not support full duplex in the first place and 
turning off full duplex in Windows fixed something broken in their 
driver?

How do you know if FreeBSD has your card running full or half duplex?

The syntax of ifconfig is not what you seem to think:

# ifconfig fxp0 
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.1.1.1 netmask 0xffffff00 broadcast 10.1.1.255
        ether 00:90:27:0d:e3:94 
        media: 10baseT/UTP status: no carrier
        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP

This is how one sets full-duplex:
# ifconfig fxp0 mediaopt full-duplex

For half-duplex set the media back to its normal state:
# ifconfig fxp0 media 10baseT/UDP

Autoselect is usually smart enough to do the right thing:
# ifconfig fxp0 media autoselect

You are apparently using NE2000 cards so substitute ed0 and ed1 for fxp0
above. I don't see anything in "man 4 ed" suggesting the NE2000 supports
full duplex at all altho "ifconfig ed0" should list what it can do.

> sunnie$ netstat -i
> Name  Mtu   Network       Address            Ipkts Ierrs    Opkts Oerrs  Coll
> ed1   1500  <Link>      00.80.c8.f3.0b.25    26031     0    19710     0     1
> ed1   1500  24.xxx.xxx.xx cr1xxxxx-a.etob    26031     0    19710     0     1
> ed2   1500  <Link>      00.c0.a8.50.9e.a7    75658     0    59308     0  1014
> ed2   1500  192.168       192.168.0.1        75658     0    59308     0  1014
> lo0   16384 <Link>                              46     0       46     0     0
> lo0   16384 127           localhost             46     0       46     0     0
> 
> Any help would be appreciated. Much thanks in advance.

Are you worried about the above collision statistics?  1.7% ??? 150%
collision rate would cause less than 8% degradation in thruput simply
because collisions occur very early in the packet and very little wire
time is lost. If the above is an accurate snapshot of your system then
you have absolutely no problems with collisions whatsoever. I'm used to
seeing healthy FreeBSD, Sun, and SGI systems on healthy hubbed ethernet
segments with between 50% and 80% collisions. An ftp session will
average 100% collisions when talking to another fast machine.

Archives are back online? Search for "SGI and collisions". Years ago I 
or someone else posted a URL found on sgi.com describing more than you 
ever wanted to know about ethernet collisions. I'd dig myself but I'm 
writting offline.



--
David Kelly N4HHE, dkelly@hiwaay.net
=====================================================================
The human mind ordinarily operates at only ten percent of its
capacity -- the rest is overhead for the operating system.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003040303.VAA72441>