From owner-freebsd-questions Fri Mar 3 19:21:30 2000 Delivered-To: freebsd-questions@freebsd.org Received: from mail.HiWAAY.net (fly.HiWAAY.net [208.147.154.56]) by hub.freebsd.org (Postfix) with ESMTP id CCC6B37B70F for ; Fri, 3 Mar 2000 19:21:20 -0800 (PST) (envelope-from dkelly@nospam.hiwaay.net) Received: from nospam.hiwaay.net (tnt8-208-170-119-7.dialup.HiWAAY.net [208.170.119.7]) by mail.HiWAAY.net (8.9.3/8.9.0) with ESMTP id VAA08871; Fri, 3 Mar 2000 21:21:14 -0600 (CST) Received: from localhost (localhost [127.0.0.1]) by nospam.hiwaay.net (8.9.3/8.9.3) with ESMTP id VAA72441; Fri, 3 Mar 2000 21:03:56 -0600 (CST) (envelope-from dkelly@nospam.hiwaay.net) Message-Id: <200003040303.VAA72441@nospam.hiwaay.net> X-Mailer: exmh version 2.1.1 10/15/1999 To: Dennis Jun Cc: questions@FreeBSD.ORG From: David Kelly Subject: Re: Excessive LAN Collisions; Half/Full Duplex NIC In-reply-to: Message from Dennis Jun of "Thu, 02 Mar 2000 22:06:58 PST." <20000303060658.4542.qmail@web604.mail.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 03 Mar 2000 21:03:56 -0600 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 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 100baseTX 10baseT/UTP 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 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 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 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