4

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?

4

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.

4

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 :)

  • 1
    Haha, always check the simple solution first ! I just had similar with what turned out to be a faulty cable – Mike Redrobe May 31 '18 at 12:46
0

It might have been disabled manually. The advertised media can be changed with mii-tool --advertise=... or ethtool -s eth0 advertise ....

  • 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. – bpaterni Dec 22 '12 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.