Date: Fri, 18 Jun 2010 12:46:02 -0500 From: Brandon Gooch <jamesbrandongooch@gmail.com> To: Jeremy Chadwick <freebsd@jdc.parodius.com> Cc: freebsd-stable <freebsd-stable@freebsd.org>, "Brian A. Seklecki" <bseklecki@collaborativefusion.com>, Jack Vogel <jfvogel@gmail.com> Subject: Re: em(4) duplex problems with 82541EI on RELENG_8, -CURRENT on PowerEdge 1850 Message-ID: <AANLkTilAiGMfh7Jo0aJk4aEYXnPOvJvz93Xl3fpsxGQR@mail.gmail.com> In-Reply-To: <20100601193733.GA44816@icarus.home.lan> References: <1275419919.30057.50.camel@soundwave.ws.pitbpa0.priv.collaborativefusion.com> <20100601193733.GA44816@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jun 1, 2010 at 2:37 PM, Jeremy Chadwick <freebsd@jdc.parodius.com> wrote: > On Tue, Jun 01, 2010 at 03:18:39PM -0400, Brian A. Seklecki wrote: >> =3D Re-posted from freebsd-hardware@, since this is more of a bug >> =A0report than a hardware comparability inquiry / buying strategy >> =A0discussion. =3D=3D >> >> All: >> >> =A0 Has anyone upgraded their PowerEdge 1850s to 8.0-PL or >> =A0 RELENG_8 -stable? =A0We're seeing problems where 7.2-PL and >> =A0 6.3-PL were not affected on the same hardware. >> >> =A0 The problem is that forcing the duplex 100/full on both >> =A0 sides no longer functions. >> >> =A0 Configuration: >> >> =A0 =A0- A variety of Cisco L2/L3 switches over the last decade: >> =A0 =A0-- 2848G-L3 >> =A0 =A0-- 2950 >> =A0 =A0-- 2960s >> =A0 =A0-- 3550-12Ts >> =A0 =A0-- 3550XLs >> =A0 =A0-- Duplex forced 100/full on Cisco side >> =A0 =A0- FreeBSD/amd64 RELENG_8 or 9-CURRENT with duplex >> =A0 =A0 =A0forced '100baseTX mediaopt full-duplex', >> =A0 =A0- This configuration has worked since FreeBSD 5.4 >> >> =A0 When connected to PowerEdge 1850r1/r2, with the onboard Intel >> =A0 82541EI, the parenthesis show an actual media speed/duplex of: >> >> =A0 media: Ethernet 100baseTX <full-duplex> =A0(100baseTX <half-duplex>) >> >> =A0 The same configuration using a Dell-sold Intel dual port >> =A0 82546EB, in the same system, on the same switch, works fine. >> >> >> ----------------- >> ifconfig(8): >> ----------------- >> em3: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX, \r >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0MULTICAST> metric 0 mtu 1500 >> options=3D9b<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=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,\ >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0MULTICAST> metric 0 mtu 1500> >> options=3D9b<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@pci0:7:8:0: =A0 =A0 =A0 class=3D0x020000 card=3D0x016d1028 chip=3D0x= 10768086 >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 rev=3D0x05 hdr=3D0x00 >> =A0 =A0 vendor =A0 =A0 =3D 'Intel Corporation' >> =A0 =A0 device =A0 =A0 =3D 'Gigabit Ethernet Controller (82541EI)' >> =A0 =A0 class =A0 =A0 =A0=3D network >> =A0 =A0 subclass =A0 =3D ethernet >> em0@pci0:3:11:0: =A0 =A0 =A0class=3D0x020000 card=3D0x10128086 chip=3D0x= 10108086 rev=3D0x01 >> hdr=3D0x00 >> =A0 =A0vendor =A0 =A0 =3D 'Intel Corporation' >> =A0 =A0device =A0=3D 'Dual Port Gigabit Ethernet Controller (Copper) (82= 546EB)' >> =A0 =A0class =A0 =A0 =A0=3D network >> =A0 =A0subclass =A0 =3D ethernet >> >> ----------------- >> >> rc.conf(5) for shits & giggles: >> >> ifconfig_em0=3D"inet X netmask Y media 100baseTX mediaopt full-duplex" >> ifconfig_em3=3D"inet Z netmask F media 100baseTX mediaopt full-duplex" >> >> -------- >> >> Example IOS switch config: >> =A0interface FastEthernet0/39 >> =A0 description I hate Dell >> =A0 switchport access vlan 100 >> =A0 switchport mode access >> =A0 speed 100 >> =A0 duplex full >> =A0 spanning-tree portfast >> =A0end >> -------- >> >> 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=3D1' ASAP to illustrate connectivity errors soon. >> >> Are we being punished for patronizing Dell? >> >> Is it possible that ifconfig(8) output has simply changed? =A0Are 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: >> >> =A0 #define DO_AUTO_NEG 0 >> =A0 /* >> =A0 =A0* This parameter control whether or not the driver will wait for >> =A0 =A0* autonegotiation to complete. >> =A0 =A0* 1 - Wait for autonegotiation to complete >> =A0 =A0* 0 - Don't wait for autonegotiation to complete >> =A0 */ >> >> 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. >> >> Two new notes since the original post: >> >> =A0- I have confirmed this problem on two revisions of the Dell >> =A0 =A08th gen hardware in two different datacenters >> =A0- The problem persists on -CURRENT from 05/2010 >> =A0- RELENG_7 does not seem to be impacted >> =A0- More stats below. >> >> >> Thanks, >> =A0 =A0 ~BAS >> >> --------------- >> >> >> >> em1: link state changed to DOWN >> em1: link state changed to UP >> em1: link state changed to DOWN >> em1: link state changed to UP >> em1: link state changed to DOWN >> em1: link state changed to UP >> em1: link state changed to DOWN >> em1: link state changed to UP >> em1: link state changed to DOWN >> em1: link state changed to UP >> em1: link state changed to DOWN >> >> em0: Excessive collisions =3D 0 >> em0: Sequence errors =3D 0 >> em0: Defer count =3D 0 >> em0: Missed Packets =3D 0 >> em0: Receive No Buffers =3D 0 >> em0: Receive Length Errors =3D 0 >> em0: Receive errors =3D 0 >> em0: Crc errors =3D 0 >> em0: Alignment errors =3D 0 >> em0: Collision/Carrier extension errors =3D 0 >> em0: RX overruns =3D 0 >> em0: watchdog timeouts =3D 0 >> em0: RX MSIX IRQ =3D 0 TX MSIX IRQ =3D 0 LINK MSIX IRQ =3D 0 >> em0: XON Rcvd =3D 0 >> em0: XON Xmtd =3D 0 >> em0: XOFF Rcvd =3D 0 >> em0: XOFF Xmtd =3D 0 >> em0: Good Packets Rcvd =3D 1319916 >> em0: Good Packets Xmtd =3D 1070646 >> em0: TSO Contexts Xmtd =3D 0 >> em0: TSO Contexts Failed =3D 0 >> em1: Excessive collisions =3D 0 >> em1: Sequence errors =3D 0 >> em1: Defer count =3D 0 >> em1: Missed Packets =3D 0 >> em1: Receive No Buffers =3D 0 >> em1: Receive Length Errors =3D 0 >> em1: Receive errors =3D 0 >> em1: Crc errors =3D 0 >> em1: Alignment errors =3D 0 >> em1: Collision/Carrier extension errors =3D 0 >> em1: RX overruns =3D 0 >> em1: watchdog timeouts =3D 0 >> em1: RX MSIX IRQ =3D 0 TX MSIX IRQ =3D 0 LINK MSIX IRQ =3D 0 >> em1: XON Rcvd =3D 0 >> em1: XON Xmtd =3D 0 >> em1: XOFF Rcvd =3D 0 >> em1: XOFF Xmtd =3D 0 >> em1: Good Packets Rcvd =3D 251348 >> em1: Good Packets Xmtd =3D 204160 >> em1: TSO Contexts Xmtd =3D 0 >> em1: TSO Contexts Failed =3D 0 >> >> -------------------- >> >> >> as0# sh int fa0/43 >> FastEthernet0/43 is up, line protocol is up (connected) >> Hardware is Fast Ethernet, address is 0015.c683.51ab (bia >> 0015.c683.51ab) >> Description: X-Server EM1 >> MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, >> reliability 255/255, txload 1/255, rxload 1/255 >> Encapsulation ARPA, loopback not set >> Keepalive set (10 sec) >> Full-duplex, 100Mb/s, media type is 100BaseTX >> input flow-control is unsupported output flow-control is unsupported >> ARP type: ARPA, ARP Timeout 04:00:00 >> Last input never, output 00:00:08, output hang never >> Last clearing of "show interface" counters 6d03h >> Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 >> Queueing strategy: fifo >> Output queue: 0/40 (size/max) >> 5 minute input rate 0 bits/sec, 0 packets/sec >> 5 minute output rate 1000 bits/sec, 3 packets/sec >> 291422 packets input, 131521274 bytes, 0 no buffer >> Received 798 broadcasts (0 multicast) >> 0 runts, 0 giants, 0 throttles >> 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored >> 0 watchdog, 99 multicast, 0 pause input >> 0 input packets with dribble condition detected >> 651929 packets output, 73550092 bytes, 0 underruns >> 0 output errors, 0 collisions, 4 interface resets >> 0 babbles, 0 late collision, 0 deferred >> 0 lost carrier, 0 no carrier, 0 PAUSE output >> 0 output buffer failures, 0 output buffers swapped out > > Brian, could you please provide the following output? > > - uname -a =A0(you can X-out the machine name if need be) > - dmesg | egrep 'em0|em3' =A0(provides em driver version number) > - pciconf -lvc =A0(this will differ from what you provided above) > > Next, some of the stats you provided are for em1 when most of your post > focuses around em0 and em3. =A0Is there some correlation or was it a > mistake? > > Adding Jack Vogel of Intel to the CC list, as he's been working on em(4) > as of late. Brian, I have no idea if this will help or not, but... Jack just committed bits to the Intel drivers (em(4) ixgbe(4)), will you have a chance to test a new build? I'm trying to find an unused system ATM to test on myself, but it may take me a day or to. BTW, it appears Jack may be trying to get the fixes (and features) into 8.1-RELEASE, let's hope that it happens :) -Brandon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTilAiGMfh7Jo0aJk4aEYXnPOvJvz93Xl3fpsxGQR>