Não é possível configurar o NIC para estabelecer o link Gigabit no Linux

7

Tenho Ubuntu 11.10 64 bits com uma placa de rede Intel 82578 Gigabit (na verdade duas, mas apenas uma está conectada) que está trabalhando em 100 Mbps e quero que ela funcione em 1000 Mbps, mas não consigo. Como posso descobrir o que há de errado?

Veja o que acontece quando tento definir a velocidade com o ethtool:

# ethtool -s eth0 speed 1000
Cannot advertise speed 1000

Eu também tentei isso e perdi a conectividade de rede:

# ethtool -s eth0 speed 1000 duplex full

Estou ficando sem ideias sobre onde procurar.

Algumas informações:

O servidor está conectado a um roteador Cisco RVS4000 que possui todas as portas ativas configuradas para trabalhar @ 1000 Mbps Full Duplex com negociação automática. Na verdade, há outro servidor conectado a outra porta do roteador, que está funcionando bem a 1000 Mbps.

Informações sobre o servidor com o qual estou tendo problemas:

lshw:

# lshw -C network
  *-network               
       description: Ethernet interface
       product: 82578DM Gigabit Network Connection
       vendor: Intel Corporation
       physical id: 19
       bus info: pci@0000:00:19.0
       logical name: eth0
       version: 05
       serial: 00:1e:67:15:2b:f1
       size: 100Mbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=1.3.10-k2 duplex=full firmware=0.10-2 ip=192.168.1.12 latency=0 link=yes multicast=yes port=twisted pair speed=100Mbit/s
       resources: irq:45 memory:b1a00000-b1a1ffff memory:b1a24000-b1a24fff ioport:2020(size=32)
  *-network
       description: Ethernet interface
       product: 82574L Gigabit Network Connection
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: eth1
       version: 00
       serial: 00:1e:67:15:2b:f0
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=1.3.10-k2 firmware=1.9-0 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:16 memory:b1900000-b191ffff ioport:1000(size=32) memory:b1920000-b1923fff

ethtool

# 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/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 2
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: on
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000001 (1)
                   drv
    Link detected: yes

Informações do dmesg sobre o driver de rede:

# dmesg |grep e1000e
[    1.938726] e1000e: Intel(R) PRO/1000 Network Driver - 1.3.10-k2
[    1.938729] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    1.938764] e1000e 0000:00:19.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    1.938775] e1000e 0000:00:19.0: setting latency timer to 64
[    1.938878] e1000e 0000:00:19.0: irq 45 for MSI/MSI-X
[    2.181735] e1000e 0000:00:19.0: eth0: (PCI Express:2.5GT/s:Width x1) 00:1e:67:15:2b:f1
[    2.181737] e1000e 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection
[    2.181771] e1000e 0000:00:19.0: eth0: MAC: 9, PHY: 9, PBA No: 0310FF-0FF
[    2.181785] e1000e 0000:03:00.0: Disabling ASPM L0s 
[    2.181799] e1000e 0000:03:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.181816] e1000e 0000:03:00.0: setting latency timer to 64
[    2.182046] e1000e 0000:03:00.0: irq 46 for MSI/MSI-X
[    2.182050] e1000e 0000:03:00.0: irq 47 for MSI/MSI-X
[    2.182053] e1000e 0000:03:00.0: irq 48 for MSI/MSI-X
[    2.293669] e1000e 0000:03:00.0: eth1: (PCI Express:2.5GT/s:Width x1) 00:1e:67:15:2b:f0
[    2.293672] e1000e 0000:03:00.0: eth1: Intel(R) PRO/1000 Network Connection
[    2.293754] e1000e 0000:03:00.0: eth1: MAC: 3, PHY: 8, PBA No: 1010FF-0FF
[   15.316964] e1000e 0000:00:19.0: irq 45 for MSI/MSI-X
[   15.372707] e1000e 0000:00:19.0: irq 45 for MSI/MSI-X
[   19.897407] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx
[   19.897412] e1000e 0000:00:19.0: eth0: 10/100 speed: disabling TSO
    
por El Barto 09.03.2012 / 16:43

1 resposta

10

Parece que há algo errado com a porta do switch ou com a mídia física. Se o seu autonegotiate o coloca a 100Mb e você não pode forçar a 1Gb, então você provavelmente tem um problema físico.

Dito isto, se você for forçar 1Gb / s, certifique-se de fazer isso dos dois lados. Não tire a NIC de auto sem também tirar a porta do switch correspondente do auto.

    
por 09.03.2012 / 16:54