Using two back-to-back e1000 Ethernet adapters, neither NIC negotiates to up. The max link speed is 100baseTX but setting auto-negotiate refuses to establish link. This may be an MDI-X problem.
% doas ifconfig em0 media 1000baseT mediaopt full-duplex
% ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
inet6 fe80::527b:9dff:fea3:d9d0%em0 prefixlen 64 scopeid 0x1
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
media: Ethernet 1000baseT <full-duplex> (autoselect)
status: no carrier
What is a cable are you using to test?
Number of twisted pairs, category and lenght?
Make sure the cable is not too short, at least 1.5 meters, better 2 meters. It is common mistake to use too short cable for gigabit link, it won't work reliably.
(In reply to Eugene Grosbein from comment #1)
We discussed this at BSDCan.
I know this does *not* happen with Intel 82574 chips as I test with this all the time.
I'm assuming this will be the case on newer chipsets.
(In reply to Sean Bruno from comment #2)
Last time I seen this type of problem it was more to do with the MII chip used and less to do with the controller chip.
So could everyone please report which MII they have, or does the Intel 82574 have an embedded MII?
We're going to need the specific device that's being used, either by name or PCI ID.
(In reply to Eric Joyner from comment #4)
em0@pci0:0:31:6: class=0x020000 card=0x223317aa chip=0x156f8086 rev=0x21 hdr=0x00
vendor = 'Intel Corporation'
device = 'Ethernet Connection I219-LM'
class = network
em0: <Intel(R) PRO/1000 Network Connection> mem 0xe1200000-0xe121ffff at device 31.6 on pci0
em0: attach_pre capping queues at 1
em0: using 1024 tx descriptors and 1024 rx descriptors
em0: msix_init qsets capped at 1
em0: PCIY_MSIX capability not found; or rid 0 == 0.
em0: Using an MSI interrupt
em0: allocated for 1 tx_queues
em0: allocated for 1 rx_queues
em0: Ethernet address: 50:7b:9d:a3:d9:d0
em0: netmap queues/slots: TX 1/1024, RX 1/1024
(In reply to Sean Chittenden from comment #5)
If this is in a back-to-back configuration, don't we need to know the PCI IDs of both sides?