Bug 111250 - tg3 driver fails to autonegotiate correctly
tg3 driver fails to autonegotiate correctly
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel (Show other bugs)
3.0
All Linux
high Severity medium
: ---
: ---
Assigned To: David Miller
Brian Brock
:
Depends On:
Blocks: 119235
  Show dependency treegraph
 
Reported: 2003-12-01 08:45 EST by Peter van Hooft
Modified: 2007-11-30 17:06 EST (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-04-21 21:03:07 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
output /var/log/messages (8.89 KB, text/plain)
2004-01-15 04:37 EST, Niels Happel
no flags Details
Dell's tg3 source rpm (245.49 KB, application/octet-stream)
2004-06-16 11:05 EDT, Brian Clark
no flags Details

  None (edit)
Description Peter van Hooft 2003-12-01 08:45:20 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030714

Description of problem:
Hardware: IBM e325, dual Opteron@2.0GHz.
When (re)booted, the ethernetinterface most of the time
comes up with 10 Mbps, half duplex. I can't get the driver to
renegotiate with ethtool.
When I replace the tg3 driver with the bcm5700 driver
downloaded from www.broadcom.com the interface is
correctly set to 1000 Mbps, full duplex, everytime.

tg3 driver:

tg3.c:v2.2 (August 24, 2003)
divert: allocating divert_blk for eth0
eth0: Tigon3 [partno(BCM95704A6) rev 2003 PHY(5701)]
(PCIX:100MHz:64-bit) 10/100/1000BaseT Ethernet 00:0d:60:14:18:1e
divert: allocating divert_blk for eth1
eth1: Tigon3 [partno(BCM95704A6) rev 2003 PHY(5704)]
(PCIX:100MHz:64-bit) 10/100/1000BaseT Ethernet 00:0d:60:14:18:1f
divert: freeing divert_blk for eth0
divert: freeing divert_blk for eth1
ip_tables: (C) 2000-2002 Netfilter core team
tg3.c:v2.2 (August 24, 2003)
divert: allocating divert_blk for eth0
eth0: Tigon3 [partno(BCM95704A6) rev 2003 PHY(5701)]
(PCIX:100MHz:64-bit) 10/100/1000BaseT Ethernet 00:0d:60:14:18:1e
divert: allocating divert_blk for eth1
eth1: Tigon3 [partno(BCM95704A6) rev 2003 PHY(5704)]
(PCIX:100MHz:64-bit) 10/100/1000BaseT Ethernet 00:0d:60:14:18:1f
ip_tables: (C) 2000-2002 Netfilter core team
tg3: eth0: Link is up at 10 Mbps, half duplex.
tg3: eth0: Flow control is off for TX and off for RX.

bcm5700 driver:

tg3.c:v2.2 (August 24, 2003)
divert: allocating divert_blk for eth0
eth0: Tigon3 [partno(BCM95704A6) rev 2003 PHY(5701)]
(PCIX:100MHz:64-bit) 10/100/1000BaseT Ethernet 00:0d:60:14:18:1e
divert: allocating divert_blk for eth1
eth1: Tigon3 [partno(BCM95704A6) rev 2003 PHY(5704)]
(PCIX:100MHz:64-bit) 10/100/1000BaseT Ethernet 00:0d:60:14:18:1f
divert: freeing divert_blk for eth0
divert: freeing divert_blk for eth1
ip_tables: (C) 2000-2002 Netfilter core team
Broadcom Gigabit Ethernet Driver bcm5700 with Broadcom NIC Extension
(NICE) ver. 7.0.0 (08/14/03)
divert: allocating divert_blk for eth0
eth0: Broadcom BCM5704 1000Base-T found at mem fe010000, IRQ 24, node
addr 000d6014181e
eth0: Broadcom BCM5701 Integrated Copper transceiver found
eth0: Scatter-gather ON, 64-bit DMA ON, Tx Checksum ON, Rx Checksum
ON, 802.1Q VLAN ON, NAPI ON
divert: allocating divert_blk for eth1
eth1: Broadcom BCM5704 1000Base-T found at mem fe030000, IRQ 25, node
addr 000d6014181f
eth1: Broadcom BCM5704 Integrated Copper transceiver found
eth1: Scatter-gather ON, 64-bit DMA ON, Tx Checksum ON, Rx Checksum
ON, 802.1Q VLAN ON, NAPI ON
ip_tables: (C) 2000-2002 Netfilter core team
bcm5700: eth0 NIC Link is UP, 1000 Mbps full duplex




Version-Release number of selected component (if applicable):
kernel-smp-2.4.21-4.0.1.EL

How reproducible:
Always

Steps to Reproduce:
1.Reboot
2.Look with dmesg for driver output


Actual Results:  eth0 interface is set to 10Mbps/half duplex

Expected Results:  eht0 interface should be set to 1000Mbps/full duplex

Additional info:
Comment 1 Niels Happel 2004-01-14 11:55:55 EST
The same to me with similar hardware.
Comment 2 Niels Happel 2004-01-15 04:37:12 EST
Created attachment 97008 [details]
output /var/log/messages

this is my output not getting the link again after enabling the port at the
switch. maybe its interesting for you jeff.
Comment 3 Shawn Stephens 2004-01-19 08:46:21 EST
Jeff/Nield, what kind of switch are you using?  I seem to be having
the same problem on a Cisco 2948G-GE-TX (actually runs the Catalyst
4000 code).  I have seen elswhere that folks are having problems with
autoneg on the Cisco Catalyst 4000 based switches.  Basically, it
takes upwards of 20+ seconds for it to autoneg.  This is also VERY bad
for kickstarts (yes, the kickstart kernel uses tg3 also, and it's a
pain to get the bcm5700 driver built in there!)
Comment 7 Don Howard 2004-02-19 18:49:23 EST
*** Bug 98499 has been marked as a duplicate of this bug. ***
Comment 19 Ernie Petrides 2004-04-07 22:37:29 EDT
The tg3 driver has just been upgraded to v3.1 in tonight's
respin of RHEL3 U2 (kernel version 2.4.21-13.EL) to address
these problems.
Comment 20 John Flanagan 2004-04-21 21:03:07 EDT
An errata has been issued which should help the problem described in this bug report. 
This report is therefore being closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files, please follow the link below. You may reopen 
this bug report if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2004-105.html
Comment 21 Richard Lloyd 2004-05-23 11:15:11 EDT
Just a note that Fedora Core 2 final with version 3.3 of the tg3
driver ("ethtool -i" confirmed the version) *still* fails to
auto-negotiate with certain switches as the original poster reported.
Ironically, on a machine with two BCM5704 gigabit cards hooked to two
different switches, one card wrongly auto-negs half-duplex and the
other auto-negs correctly full-duplex. All other brands of card (e.g.
e1000) hooked up to the same switches/ports auto-neg full-duplex
correctly. Luckily, I can force autoneg off/full duplex via ethtool on
the card that wrongly auto-neg'ed, but it's still annoying. I think
this clearly points to a problem with the tg3 driver. I'd try the
bcm5700 driver from Broadcom if I could actually get it to build and
work in FC2 (there's a "genapic" undefined symbol and the module won't
load :-( ). All of this is on Dell PowerEdge servers that do indeed
often ship with Broadcom giga cards, so it's a bit of a disaster
really. I'm simply going to have to swap out the network cards and
stick with e1000 - tg3 is unusable in its current state with certain
switches :-( 
Comment 22 Richard Lloyd 2004-05-26 17:47:14 EDT
Just a note that my FC2 final problem with auto-neg was with an Edimax
switch. The 2nd card attached to a 3com switch auto-neg's OK.
Comment 23 Brian Clark 2004-06-16 11:02:19 EDT
I have the same problem with a Dell PowerEdge 2650. I can't get it to
autonegotiate, nor can I get it go into full-duplex mode at all. This
is with this kernel 2.4.21-15.EL. Dell has a src.rpm on their support
site that they recommend using, but it seems to be the 2.2 driver.
Comment 24 Brian Clark 2004-06-16 11:05:19 EDT
Created attachment 101189 [details]
Dell's tg3 source rpm

Here is the source rpm from Dell's site. I wonder if they are doing anything
special, or if it is just the v2.2 of the driver. I noticed that they released
this src.rpm about six months ago, right after RHEL 3.0 came out. So the fixes
this contains might be superceded by the stuff in the 3.1 driver that comes
with the latest RHEL kernel.

Note You need to log in before you can comment on or make changes to this bug.