Juniper e3k with ports limitied to 100Mbit and re NICs on MSI MoBo: problems with duplex negotiation (Hetzner host provider discard FreeBSD support due this bug)

Pyun YongHyeon pyunyh at gmail.com
Tue Jan 11 20:00:45 UTC 2011


On Tue, Jan 11, 2011 at 12:47:29PM +0300, Lev Serebryakov wrote:
> Hello, Freebsd-net.
> 
>   Very large and famous (due to very attractive prices) hosting
>  provider Hetzner.de discards FreeBSD support on dedicated servers,
>  because these servers can niot negotiate 100Mbit/DUPLEX when
>  switches' ports are limited to 100Mbit (1Gbit connection costs
>  additional money) only under FreeBSD. Linux works fine.
> 
>   Switches known to be Juniper e3k series.
> 
>   MoBos of servers are different assortment of MSI MoBos with Realtek
> (re driver) network-on-board.
> 
>   Symptjms are: NIC can not negotiate/set duplex when switch port is
>  limited to 100Mbit/Duplex. Duplex can not be set even manually via
>  "ifconfig":
> 
> 
>  media: Ethernet 100baseTX <full-duplex> (100baseTX <half-duplex>)
> 
>   Is it know problem? Maybe, -CURRENT driver has fix for it?
> 
>   Unfortunately, I can not provide more information, as I don't have
> server at Hetzner (I'm planning to order one, but due to these
> problems, I'm not sure now, as I need FreeBSD), and all this
> information is collected in communication with people who HAVE servers
> with FreeBSD installed.
> 
>  Again, I know, that Realtek NICs are crap, but "everybody says" that
> Linux doesn't have THIS problem with THESE boards and switches.
> 

I can see what's going on here. Link partner used forced media
configuration, probably 100baseTX/full-duplex, and re(4)'s
resolved link is 100baseTX/half-duplex.
rgephy(4) currently always use auto-negotiation to work-around link
establishment issues reported in past. I don't know how Linux
managed to address link establishment issues for
non-autonegotiation case though. Perhaps a lot of vendor supplied
DSP fixups addressed that issue but I'm not sure.
For your case, the only way to address the issue at this moment is
to use auto-negotiation but that would establish 1000baseT link
which would add cost for you. Alternatively request half-duplex
configuration to the provider to get a agreed link duplex.

See
http://lists.freebsd.org/pipermail/freebsd-amd64/2011-January/013589.html
for details on parallel detection.


More information about the freebsd-net mailing list