Bug 10322
Summary: | e1000 is not auto-negotiating to 1GB full duplex speed even there is 1GB speed availble | ||
---|---|---|---|
Product: | Drivers | Reporter: | Steven Liu (lqs_xting) |
Component: | Network | Assignee: | Jesse Brandeburg (jbrandeb) |
Status: | CLOSED INSUFFICIENT_DATA | ||
Severity: | normal | CC: | alan, jbrandeb, lqs_xting |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.23 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Steven Liu
2008-03-25 07:29:56 UTC
Reply-To: akpm@linux-foundation.org (switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface). On Tue, 25 Mar 2008 07:29:56 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=10322 > > Summary: e1000 is not auto-negotiating to 1GB full duplex speed > even there is 1GB speed availble > Product: Drivers > Version: 2.5 > KernelVersion: 2.6.23 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Network > AssignedTo: jgarzik@pobox.com > ReportedBy: lqs_xting@sohu.com > CC: lqs_xting@sohu.com > > > Latest working kernel version: 2.6.23.9 > Earliest failing kernel version: 2.6.21 err, according to this, we had the bug in 2.6.21 and then fixed it in 2.6.23.9, so this is a report of an already fixed bug ;) Can you please clarify the version numbers here? > Distribution: > Hardware Environment: e1000 with 82571 chip > Software Environment: CentOS 4.5 > Problem Description: > We have a machine with the e1000(82571) driver which could not detect the > correct link mode with a switch supports 1000 Mbps/s. I just find that the > ethtool can't support 10 Mbps/s Half and 1000 Mbps/s Full mode. Therefore, > the > e1000 code should be fixed by add all modes at the 216 lines in > e1000_ethtool.c. It is as follow: > > hw->autoneg_advertised |= ecmd->advertising | > ADVERTISED_TP | > ADVERTISED_Autoneg; > > > Steps to reproduce: > 1. Add a entry ' ETHTOOL_OPTS="autoneg on" ' in the > /etc/sysconfig/network-scripts/ifcfg-eth0; > 2. Run '/etc/init.d/network restart'; > 3. Run 'ethtool eth0', it displays the speed is 100 Mbps/s. But the real link > mode should be 1000 Mbps/s Andrew Morton wrote:
>> Hardware Environment: e1000 with 82571 chip
>> Software Environment: CentOS 4.5
>> Problem Description:
>> We have a machine with the e1000(82571) driver which could not detect the
>> correct link mode with a switch supports 1000 Mbps/s. I just find that the
>> ethtool can't support 10 Mbps/s Half and 1000 Mbps/s Full mode. Therefore,
>> the
>> e1000 code should be fixed by add all modes at the 216 lines in
>> e1000_ethtool.c. It is as follow:
>>
>> hw->autoneg_advertised |= ecmd->advertising |
>> ADVERTISED_TP |
>> ADVERTISED_Autoneg;
>>
>>
>> Steps to reproduce:
>> 1. Add a entry ' ETHTOOL_OPTS="autoneg on" ' in the
>> /etc/sysconfig/network-scripts/ifcfg-eth0;
>> 2. Run '/etc/init.d/network restart';
>> 3. Run 'ethtool eth0', it displays the speed is 100 Mbps/s. But the real
>> link
>> mode should be 1000 Mbps/s
a bit moot because 82571 support is moving to e1000e and thus I will (probably)
not fix this bug. all 82571 support will be removed from e1000 from 2.6.26 onwards.
Please re-test against e1000e from 2.6.25-rc5 - if the bug is still in that driver
then we need to look at it again. Either that or reproduce against an 8254x adapter?
Auke
Today, I re-test e1000 and e1000e with 2.6.25-rc5. The problem is still existed. My hardware is "Ethernet controller: Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (rev 03)". If I disable the autoneg option for the e1000e driver, the e1000e hardware can negotiate with my 1000 baseT/Full switch. Test result is as follow: -bash-3.00# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Full 100baseT/Half 100baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbag Wake-on: g Current message level: 0x00000001 (1) Link detected: yes I don't think it is related to which type of Ethernet. The ethtool always gets rid of two advertised link modes when setting 'autoneg on'. Because it works fine if I fix it as above code. Actually, we need to integrate the e1000e driver in our product. I had fixed it in our distribution. The correct result is as follow: Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbag Wake-on: g Current message level: 0x00000001 (1) Link detected: yes >>err, according to this, we had the bug in 2.6.21 and then fixed it in
>>2.6.23.9, so this is a report of an already fixed bug ;)
>>
>>Can you please clarify the version numbers here?
Sorry, I test on 2.6.21 firstly. There is no the Latest working kernel version up till now. I don't know how to commit a patch for this bug though I had fixed it.
I think this bug no longer exists can you retest with e1000e and 2.6.27-rc8? No response, closing |