Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Nov 2016 13:40:53 -0600
From:      Michael Knap <michael.j.knap@gmail.com>
To:        freebsd-net@freebsd.org
Subject:   Intel 82567V-2 using em driver, no carrier or constant link-state changes with 1000BaseT
Message-ID:  <CAHSynqbosqKaEtL=k7MHcmjCsoXMmbkjBq=QTE256BwcmuD95A@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Preface: I've been a long-time linux user, and I am enjoying the BSD
experience. For the following scenario, I have reproduced these results
with 3 or more cables which are known to be good.

Using FreeBSD 10.3 Stable :
FreeBSD 10.3-STABLE #0 r295946+07c41cd(9.10-STABLE): Wed Nov  9 00:19:25
UTC 2016     root@gauntlet
:/freenas-9.10-releng/_BE/objs/freenas-9.10-releng/_BE/os/sys/FreeNAS.amd64

Also, this isn't a NIC, per se, as it is onboard, but I will call it a NIC
or card or whatever.

Using em driver, though I don't know how to determine a driver version (if
there is such a thing).

Basically, the card will not push gigabit, though it will work with
100BaseTX. However, there seems to be more than just that as the chip-set
is advertised as a gigabit Ethernet controller.

When connected to a 100BaseTX switch, everything is good. Leaving it in
autodetect mode, and connecting to a 1000baseTX switch (with good CAT6
cable), the card's link state oscillates from link up and link down:

Nov 27 13:07:38 freenas kernel: em0: link state changed to DOWN
Nov 27 13:07:38 freenas kernel: em0: link state changed to DOWN
Nov 27 13:07:41 freenas kernel: em0: link state changed to UP
Nov 27 13:07:41 freenas kernel: em0: link state changed to UP
Nov 27 13:07:41 freenas kernel: em0: link state changed to DOWN
Nov 27 13:07:41 freenas kernel: em0: link state changed to DOWN
Nov 27 13:07:55 freenas kernel: em0: link state changed to UP
Nov 27 13:07:55 freenas kernel: em0: link state changed to UP
Nov 27 13:07:56 freenas kernel: em0: link state changed to DOWN
Nov 27 13:07:56 freenas kernel: em0: link state changed to DOWN
Nov 27 13:07:58 freenas kernel: em0: link state changed to UP
Nov 27 13:07:58 freenas kernel: em0: link state changed to UP
Nov 27 13:07:59 freenas kernel: em0: link state changed to DOWN
Nov 27 13:07:59 freenas kernel: em0: link state changed to DOWN
Nov 27 13:08:01 freenas kernel: em0: link state changed to UP
Nov 27 13:08:01 freenas kernel: em0: link state changed to UP
Nov 27 13:08:02 freenas kernel: em0: link state changed to DOWN
Nov 27 13:08:02 freenas kernel: em0: link state changed to DOWN

If I issue  ifconfig em0 media 100baseTX mediaopt full-duplex, then I have
no carrier.
Also, ifconfig em0 media 1000baseT gives no carrier.
However, if I ifconfig em0 media 10baseT, then I can get an active link.

Interestingly, man em(4) does not claim to support this chipset, though it
seems that this chipset was once supported in either e1000 or igb for older
freeBSD versions?

Now, at least from the driver's POV, I should be able to handle gigabit, as

ifconfig -m em0
em0: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
capabilities=5399b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO>
ether 00:25:11:59:d4:be
inet 10.42.0.111 netmask 0xffffff00 broadcast 10.42.0.255
nd6 options=9<PERFORMNUD,IFDISABLED>
media: Ethernet 10baseT/UTP (10baseT/UTP <half-duplex>)
status: active
supported media:
media autoselect
media 1000baseT
media 1000baseT mediaopt full-duplex
media 100baseTX mediaopt full-duplex
media 100baseTX
media 10baseT/UTP mediaopt full-duplex
media 10baseT/UTP

However when connected to gigabit switch, any explicit declaration of media
fails except for 10baseT, even the autoselect declaration fails with no
carrier.

But remember, 100baseTX works out of the box on a 100Mbit switch.

So, those more experienced, can you shed some light on what is happening?
I'm especially interested in the man em(4) result even though the chipset
has been supported in the past, and intel does provide drivers for this
chipset, though I'm not sure if I could compile them or not. BTW, my
switches are only consumer grade, unmanaged. Is that where I'm stuck?

Thanks for such an awesome license, operating system, and community.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSynqbosqKaEtL=k7MHcmjCsoXMmbkjBq=QTE256BwcmuD95A>