Why wouldn't an ethernet interface advertise gigabit speed if it's capable?

12,026

Solution 1

In my case the reason was obvious but still I searched quite some time before figuring it out. The cable was not gigabit-capable (i.e. only 4 out of 8 wires actually exist in the cable). Replacing the cable fixed the issue.

Definitely something to check before investigating complicated software parameters :)

Solution 2

Well, I'm experiencing the same thing on one of my interfaces. The output of ethtool and mii-tool are a bit different, which is shown below.

mii-tool -v tells us:

eth0: negotiated 100baseTx-FD flow-control, link ok
  product info: vendor 00:07:32, model 17 rev 2
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

Which seems to be that we're not advertising 1000BaseT-HD/FD.

However if you look at the output from ethtool you'll get the following:

Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
        Link detected: yes

This actually tells us that it is the link partner which is not advertising the 1000BaseT-HD/FD modes. Which it is I have not figured out yet, but it might explain what you're seeing as well.

Share:
12,026
bpaterni
Author by

bpaterni

Updated on September 18, 2022

Comments

  • bpaterni
    bpaterni almost 2 years

    I have a laptop with a gigabit capable ethernet interface:

    # lspci -vvnn -s 08:02.0
    08:02.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
                Subsystem: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167]
                Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
                Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
                Latency: 64 (8000ns min, 16000ns max), Cache Line Size: 32 bytes
                Interrupt: pin A routed to IRQ 20
                Region 0: I/O ports at b800 [size=256]
                Region 1: Memory at feafe400 (32-bit, non-prefetchable) [size=256]
                Expansion ROM at feac0000 [disabled] [size=128K]
                Capabilities: [dc] Power Management version 2
                        Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
                        Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
                Kernel driver in use: r8169
    

    which I'm trying to connect to a gigabit capable router with Cat 6 (gigabit) cable for gigabit communication within the LAN. The problem is that the interface on my laptop is not advertising gigabit link speed that it used to:

    # mii-tool -v
    eth0: negotiated 100baseTx-FD flow-control, link ok
      product info: vendor 00:07:32, model 17 rev 2
      basic mode:   autonegotiation enabled
      basic status: autonegotiation complete, link ok
      capabilities: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
      advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
      link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
    

    What would be the cause of this?

  • bpaterni
    bpaterni over 11 years
    This doesn't seem to work. mii-tool -A 1000baseT-FD,100baseTx-FD eth0 brings down the link but doesn't add 1000baseT-FD to 'advertising' list. If it was disabled manually, I'm not sure how that would've happened. I've only used mii-tool to investigate this problem.
  • Mike Redrobe
    Mike Redrobe about 6 years
    Haha, always check the simple solution first ! I just had similar with what turned out to be a faulty cable