em0 - bge0 failed to work at 1000baseTX
Stefan Lambrev
stefan.lambrev at sun-fish.com
Tue Apr 24 17:15:57 UTC 2007
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 at 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 at 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
More information about the freebsd-net
mailing list