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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003040303.VAA72441>
