Date: Sun, 16 Jan 2011 23:02:10 -0800 From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: Martin Wilke <miwi@FreeBSD.org> Cc: freebsd-current@FreeBSD.org, freebsd-stable@FreeBSD.org Subject: Re: FreeBSD 8.1 re0 shows half duplex Message-ID: <20110117070210.GA76136@icarus.home.lan> In-Reply-To: <AANLkTi=B0mtn6JswLcxxHPOu19=D=r9onew21xC9mpd-@mail.gmail.com> References: <AANLkTi=B0mtn6JswLcxxHPOu19=D=r9onew21xC9mpd-@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 17, 2011 at 05:08:33AM +0000, Martin Wilke wrote: > Howdy Guys, > > I have a strange problem, I'm on FreeBSD 8.1 and ifconfig re0 shows > half-duplex (see output) and the download speed > is damn slow, maximum 20 kbps. I'm not sure how to debug this so it would be > nice if someone can > help me to fix it. > > When i change it manually via command line, the media line appeared to have > 2 entries -- full-duplex and half-duplex > > re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC> > ether 6c:62:6d:90:6e:63 > inet XXXXXX netmask 0xffffffc0 broadcast XXXXXX > media: Ethernet 100baseTX <full-duplex> (100baseTX <half-duplex>) > status: active The above indicates that you've run "ifconfig re0 media 100baseTX mediaopt full-duplex" or have set similar media/mediaopt parameter sin rc.conf, but 802.3u or 802.3ab auto-negotiation between your switch and your NIC/PHY has resulted half-duplex. Is the switch you're connected to a managed switch? If so, have you forced the port speed/duplex on the switch to 100/full? If not, then the above can happen (this is normal/per specification), and the result will be abysmal performance. Please do so and the problem should go away. If not, the exact brand and model of switch will need to be disclosed, as well as whether or not the physical port is gigE capable. See Wikipedia's article on this matter: http://en.wikipedia.org/wiki/Autonegotiation#Interoperability_problems If the switch is a non-managed switch (e.g. a generic "home user desktop" switch, such as a product from D-Link, Netgear, Linksys, etc.), then do not specify the speed/duplex via ifconfig. You should always use autoselect (the default) in this scenario. When using autoselect, you should see something like "media: Ethernet autoselect ({speed} <{duplex}>)", where {speed} and {duplex} are what have been negotiated via 802.3u/802.3ab. If using autoselect results in "100baseTX <half-duplex>" then something is indeed incompatible between the NIC/PHY and the switch. It could be a driver bug, but it could also very well be a bug in the switch. In these scenarios I tend to buy a different brand of switch. HTH! -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110117070210.GA76136>