Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Apr 2007 20:15:54 +0300
From:      Stefan Lambrev <stefan.lambrev@sun-fish.com>
To:        freebsd-net@FreeBSD.org
Subject:   em0 - bge0 failed to work at 1000baseTX
Message-ID:  <462E3B4A.5030307@sun-fish.com>

next in thread | raw e-mail | index | archive | help
Hello,

I'm trying to get two gigabit network cards to work together.

em0: <Intel(R) PRO/1000 Network Connection Version - 6.2.9> port 
0x1000-0x101f mem 0xf0500000-0xf051ffff,0xf0524000-0xf0524fff irq 19 at 
device 25.0 on pci0

em0@pci0:25:0:  class=0x020000 card=0x2800103c chip=0x104a8086 rev=0x02 
hdr=0x00
    vendor     = 'Intel Corporation'
    class      = network
    subclass   = ethernet

and broadcom on the other end:

bge0: <Broadcom BCM5750 C1, ASIC rev. 0x4201> mem 0xf4100000-0xf410ffff 
irq 16 at device 0.0 on pci8

bge0@pci8:0:0:  class=0x020000 card=0x30a3103c chip=0x16fd14e4 rev=0x21 
hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = 'BCM5753M NetXtreme Gigabit Ethernet PCI Express'
    class      = network
    subclass   = ethernet


When I connect both networks without switch e.g. directly they auto 
negotiate to:
media: Ethernet autoselect (100baseTX <full-duplex>)
but I want 1000baseTX :(

First thing that I tried was to force both network card with:
ifconfig bge0/em0 media 1000baseTX mediaopt full-duplex
but this lead to status: no carrier

Second step was to set bge link0 and em0 link1, but still "no carrier"  
(from bge manual)

On the machine with em card I have linux installed so I boot under linux 
and then everything works
with autoselect, and I'm able to transfer with speed +50MB/s.

When I forced both network cards to 1000baseTX I notice this:

em0 media: Ethernet 1000baseTX <full-duplex> (autoselect)
                                                                                
^^^^^^^^
bge0 media: Ethernet 1000baseTX <full-duplex> (none)
                                                                                
^^^^

Something else that is quite strange is that when I change em media from 
autoselec to 1000baseTX,
I see that for 2-3 seconds there is a connection between cards (e.g. 
status: active), but just for 2-3 seconds
and then it disconnects again. (ping between hosts works for 2 seconds)
At this time ifconfig shows:
em0
media: Ethernet 1000baseTX <full-duplex>
                                                                       
^^^^^^ no autoselect here ?
status: active

and bge0:
media: Ethernet autoselect (1000baseTX <full-duplex>) ( I left bge to 
autoselect at some point as I saw it does not change a thing..)
status: active

I compiled new kernel with
#define EM_MASTER_SLAVE      2 (and then 3)
in if_em.h (as I'm suspecting em driver ..)
but still no success.

Last thing that I notice while (re)booting freebsd server with em0 is that
during starting program and rc scripts the status of the network changed
from 100mbps -> 1000mbps -> no carrier -> 100mbps.

So any ideas how to get my network working at gigabit speeds? :)

P.S. both machines are running freebsd 6.2 stable - em0 is i386 and bge0 
is on amd64.
em0 was tested with 6.2-release too.

Thanks in advance.

-- 

Best Wishes,
Stefan Lambrev
ICQ# 24134177




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