All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dominic Curran <dominic.curran@citrix.com>
To: Alexander Duyck <alexander.duyck@gmail.com>,
	"e1000-devel@lists.sourceforge.net"
	<e1000-devel@lists.sourceforge.net>
Cc: Netdev <netdev@vger.kernel.org>
Subject: Re: igb: question regarding auto-negotiation
Date: Thu, 4 Aug 2016 16:01:39 -0700	[thread overview]
Message-ID: <57A3C953.6050403@citrix.com> (raw)
In-Reply-To: <CAKgT0UfAawN49bc5kWjnynHhA4rBddQOJ320SdaK57yDCNFb_A@mail.gmail.com>



On 07/29/2016 09:35 PM, Alexander Duyck wrote:
> On Fri, Jul 29, 2016 at 4:37 PM, Dominic Curran
> <dominic.curran@citrix.com> wrote:
>> Hi
>>
>> This question refers to igb codebase.
>> I have a question regarding the setting of hw->mac.autoneg.
>>
>> Is it correct to say for igb driver:
>>     "if speed=1000 and duplex=FULL and media_type=COPPER  then  only
>> auto-negotiate enable is supported"
>>
>> i.e.
>>     with these settings (speed/duplex/media_type) then auto-negotiate can
>> _not_ be disabled.  Correct ?
>>
>> I say this for two reasons:
>> 1) The code in igb_set_spd_dplx() seems to indicate it:
>>
>>         case SPEED_1000 + DUPLEX_FULL:
>>                  mac->autoneg = 1;
>>                  adapter->hw.phy.autoneg_advertised = ADVERTISE_1000_FULL;
>>                  break;
>>
>> 2) Instrumenting the driver, I always see the autoneg code in
>> e1000_check_for_copper_link_generic()  get called after an igb_reset().
>>
>>
>> Have i understood correctly ?
>>
>> thanks in advance
>> dom
> If you are using copper then you are likely referring to 1000Base-T
> correct?  If so then autonegotation is a requirement.
>
> Here is the wikipedia URL that refers to this:
> https://en.wikipedia.org/wiki/Gigabit_Ethernet#1000BASE-T
>
> Hope this helps to clear it up.
>
> Thanks.
>
> - Alex

Thanks for reply.  I read the wiki link and a bunch of other links besides.

So I have a follow-up question:

You're right I am using copper and 1000Base-T, and as you say auto-neg 
is then requirement.

So why is it possible with the igb driver to set auto-neg to OFF ?

e.g.
# ethtool -a eth6
Pause parameters for eth6:
Autonegotiate:  on
RX:             on
TX:             on

Now turn it OFF:

# ethtool -A eth6 autoneg off

# ethtool -a eth6
Pause parameters for eth6:
Autonegotiate:  off
RX:             on
TX:             on

But added debug to the driver I _know_ that it is still 
auto-negotiating, and printing current settings indicates 
'Auto-negotiatiate' is on...

# ethtool  eth6
Settings for eth6:
         Supported ports: [ TP ]
         Supported link modes:   10baseT/Half 10baseT/Full
                                 100baseT/Half 100baseT/Full
                                 1000baseT/Full
         Supported pause frame use: No
         Supports auto-negotiation: Yes
         Advertised link modes:  10baseT/Half 10baseT/Full
                                 100baseT/Half 100baseT/Full
                                 1000baseT/Full
         Advertised pause frame use: No
         Advertised auto-negotiation: Yes
         Speed: 1000Mb/s
         Duplex: Full
         Port: Twisted Pair
         PHYAD: 1
         Transceiver: internal
         Auto-negotiation: on <<<<
         MDI-X: on
         Supports Wake-on: pumbg
         Wake-on: d
         Current message level: 0x00000007 (7)
                                drv probe link
         Link detected: yes

So I dont understand the difference between these two values ??
Can anyone help please ?

Thanks
dom


------------------------------------------------------------------------------
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit http://communities.intel.com/community/wired

  reply	other threads:[~2016-08-04 23:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-29 23:37 igb: question regarding auto-negotiation Dominic Curran
2016-07-30  4:35 ` Alexander Duyck
2016-08-04 23:01   ` Dominic Curran [this message]
2016-08-04 23:16     ` [E1000-devel] " Pieper, Jeffrey E

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57A3C953.6050403@citrix.com \
    --to=dominic.curran@citrix.com \
    --cc=alexander.duyck@gmail.com \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.