I am having an issue where my link comes up as 10Mb/s if I plug in the
cable after the system has booted, no matter what I connect to. Tested with
kernel 4.7.8 and 4.14.73. If the cable is connected during boot the correct
speed of 1000Mb/s is observed. I have multiple instances of this hardware
setup and it happens with all of them reliably.

Here is some info:

driver: e1000e
version: 3.2.6-k
firmware-version: 0.8-4
expansion-rom-version:
bus-info: 0000:00:1f.6
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no


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


MAC Registers
-------------
0x00000: CTRL (Device control register)  0x40180240
      Endian mode (buffers):             little
      Link reset:                        normal
      Set link up:                       1
      Invert Loss-Of-Signal:             no
      Receive flow control:              disabled
      Transmit flow control:             disabled
      VLAN mode:                         enabled
      Auto speed detect:                 disabled
      Speed select:                      1000Mb/s
      Force speed:                       no
      Force duplex:                      no
0x00008: STATUS (Device status register) 0x40080000
      Duplex:                            half
      Link up:                           no link config
      TBI mode:                          disabled
      Link speed:                        10Mb/s
      Bus type:                          PCI
      Bus speed:                         33MHz
      Bus width:                         32-bit
0x00100: RCTL (Receive control register) 0x04008002
      Receiver:                          enabled
      Store bad packets:                 disabled
      Unicast promiscuous:               disabled
      Multicast promiscuous:             disabled
      Long packet:                       disabled
      Descriptor minimum threshold size: 1/2
      Broadcast accept mode:             accept
      VLAN filter:                       disabled
      Canonical form indicator:          disabled
      Discard pause frames:              filtered
      Pass MAC control frames:           don't pass
      Receive buffer size:               2048
0x02808: RDLEN (Receive desc length)     0x00001000
0x02810: RDH   (Receive desc head)       0x00000000
0x02818: RDT   (Receive desc tail)       0x000000F0
0x02820: RDTR  (Receive delay timer)     0x00000000
0x00400: TCTL (Transmit ctrl register)   0x3103F0F8
      Transmitter:                       disabled
      Pad short packets:                 enabled
      Software XOFF Transmission:        disabled
      Re-transmit on late collision:     enabled
0x03808: TDLEN (Transmit desc length)    0x00001000
0x03810: TDH   (Transmit desc head)      0x00000000
0x03818: TDT   (Transmit desc tail)      0x00000000
0x03820: TIDV  (Transmit delay timer)    0x00000008
PHY type:                                unknown


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

        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: 10Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: on (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes



Running a command like "ethtool -s eth5 advertise 20" or "ethtool -s eth5
advertise 2c" causes the link to go down and come back up with the right
speed.  If I then remove the cable for a few seconds and put it back in the
speed will go back to 10Mb/s. Quicker than that and it seems to stay at
1000Mb/s.


Here is a dmesg with the cable out at boot and then me plugging it in after:


[root@trx-r6 /]# grep -ri 1000e a
[   12.836934] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[   12.836936] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[   12.841135] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec)
set to dynamic conservative mode
[   13.029402] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered
PHC clock
[   13.107349] e1000e 0000:00:1f.6 eth5: (PCI Express:2.5GT/s:Width x1)
00:13:f2:a0:01:85
[   13.107352] e1000e 0000:00:1f.6 eth5: Intel(R) PRO/1000 Network
Connection
[   13.107408] e1000e 0000:00:1f.6 eth5: MAC: 12, PHY: 12, PBA No:
FFFFFF-0FF
[ 2957.722516] e1000e: eth5 NIC Link is Up 10 Mbps Full Duplex, Flow
Control: Rx/Tx
[ 2957.722521] e1000e 0000:00:1f.6 eth5: 10/100 speed: disabling TSO


Cable in the whole time during boot:

[   12.273114] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[   12.273116] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[   12.276161] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec)
set to dynamic conservative mode
[   12.375477] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered
PHC clock
[   12.458574] e1000e 0000:00:1f.6 eth5: (PCI Express:2.5GT/s:Width x1)
00:13:f2:a0:01:85
[   12.458578] e1000e 0000:00:1f.6 eth5: Intel(R) PRO/1000 Network
Connection
[   12.458631] e1000e 0000:00:1f.6 eth5: MAC: 12, PHY: 12, PBA No:
FFFFFF-0FF
[  133.384512] e1000e: eth5 NIC Link is Up 1000 Mbps Full Duplex, Flow
Control: Rx/Tx

Any ideas?

Regards,

--
Paul

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

Reply via email to