em(4) duplex problems with 82541EI on RELENG_8, -CURRENT on PowerEdge 1850

Brian A. Seklecki bseklecki at collaborativefusion.com
Tue Jun 1 17:08:17 UTC 2010


All:

  Has anyone upgraded their PowerEdge 1850s to 8.0-PL or 
  RELENG_8 -stable?  We're seeing problems where 7.2-PL and
  6.3-PL were not affected on the same hardware.

  The problem is that forcing the duplex 100/full on both 
  sides no longer functions.

  Configuration:
 
   - A variety of Cisco L2/L3 switches over the last decade:
   -- 2848G-L3
   -- 2950
   -- 2960s
   -- 3550-12Ts
   -- 3550XLs
   -- Duplex forced 100/full on Cisco side
   - FreeBSD/amd64 RELENG_8 or 9-CURRENT with duplex
     forced '100baseTX mediaopt full-duplex',
   - This configuration has worked since FreeBSD 5.4
  
  When connected to PowerEdge 1850r1/r2, with the onboard Intel 
  82541EI, the parenthesis show an actual media speed/duplex of:

  media: Ethernet 100baseTX <full-duplex>  (100baseTX <half-duplex>)

  The same configuration using a Dell-sold Intel dual port
  82546EB, in the same system, on the same switch, works fine.


-----------------
ifconfig(8):
-----------------
em3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX, \r
                 MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:13:72:4f:70:81
inet 192.168.97.20 netmask 0xffffff80 broadcast 192.168.97.127
media: Ethernet 100baseTX <full-duplex> (100baseTX <half-duplex>)
status: active
-----------------
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,\
                 MULTICAST> metric 0 mtu 1500>
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:04:23:c8:fe:ac
media: Ethernet 100baseTX <full-duplex>
status: active
-----------------
-----------------
pciconf(8):
-----------------
em3 at pci0:7:8:0:	class=0x020000 card=0x016d1028 chip=0x10768086 
                rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Gigabit Ethernet Controller (82541EI)'
    class      = network
    subclass   = ethernet
em0 at pci0:3:11:0:	class=0x020000 card=0x10128086 chip=0x10108086 rev=0x01
hdr=0x00
   vendor     = 'Intel Corporation'
   device  = 'Dual Port Gigabit Ethernet Controller (Copper) (82546EB)'
   class      = network
   subclass   = ethernet

-----------------

rc.conf(5) for shits & giggles:

ifconfig_em0="inet X netmask Y media 100baseTX mediaopt full-duplex"
ifconfig_em3="inet Z netmask F media 100baseTX mediaopt full-duplex"

--------

Example IOS switch config:
 interface FastEthernet0/39
  description I hate Dell
  switchport access vlan 100
  switchport mode access
  speed 100
  duplex full
  spanning-tree portfast
 end
--------

I've been clearing interface counters on the switch side, but I'll send
'netstat -i', 'show interface counters', and 'sudo sysctl -w
dev.em.3.stats=1' ASAP to illustrate connectivity errors soon.

Are we being punished for patronizing Dell?

Is it possible that ifconfig(8) output has simply changed?  Are the
values in the parenthesis on the right the Ethernet auto-sense desired
values where as outside the parenthesis the current active values?

In 6.3/7.2, once you forced a speed/duplex, the values in parenthesis
went away entirely. 

The only way I've been able to make that happen is to #define in
src/sys/dev/e1000/if_em.h:

  #define DO_AUTO_NEG 0
  /*
   * This parameter control whether or not the driver will wait for
   * autonegotiation to complete.
   * 1 - Wait for autonegotiation to complete
   * 0 - Don't wait for autonegotiation to complete
  */

Also seems odd that some ICs are affected but not others.

Its also possible that my problems are pf(4) + setfib(8) related and I
that this is a separate issue.

-- 
Brian A. Seklecki <bseklecki at collaborativefusion.com>
Collaborative Fusion, Inc.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-hardware/attachments/20100601/07f0bf22/attachment.pgp


More information about the freebsd-hardware mailing list