Linux

英特爾 e1000e 卡在 10Mbps

  • September 3, 2014

這是一個全新的 SuperMicro X9SCL-F,帶有 Intel 82579LM 適配器和全新安裝的 CentOS 6.2 和 cPanel。

我被困在10MBPS,我已經嘗試了一切。我也安裝了 Intel 最新的 1.95 驅動程序,這似乎已經為其他人解決了這個問題。

這些命令什麼都不做。

ethtool -s eth1 speed 100 duplex half
ethtool -s eth1 speed 1000 duplex half
ethtool -s eth1 speed 100 duplex full
ethtool -s eth1 speed 1000 duplex full

他們在 dmesg 中產生了這個結果:

[ 1081.662365] e1000e 0000:02:00.0: eth1: Reset adapter
[ 1084.298376] e1000e: eth1 NIC Link is Up 10 Mbps Half Duplex, Flow Control: None
[ 1084.298443] e1000e 0000:02:00.0: eth1: Autonegotiated half duplex but link partner cannot autoneg. Try forcing full duplex if link gets many collisions.
[ 1084.298446] e1000e 0000:02:00.0: eth1: 10/100 speed: disabling TSO

這個命令讓我斷網

ethtool -s eth1 speed ... autoneg off

輸出

ethtool eth1

Settings for eth1:
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: 10Mb/s
Duplex: Half
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes

ethtool -i eth1

driver: e1000e
version: 1.9.5-NAPI
firmware-version: 2.1-2
bus-info: 0000:02:00.0

完整的dmesg:

[    2.332156] e1000e: Intel(R) PRO/1000 Network Driver - 1.2.20-k2
[    2.332159] e1000e: Copyright (c) 1999 - 2010 Intel Corporation.
[    2.332209] e1000e 0000:00:19.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[    2.332225] e1000e 0000:00:19.0: setting latency timer to 64
[    2.332508] e1000e 0000:00:19.0: irq 31 for MSI/MSI-X
[    2.573664] e1000e 0000:00:19.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:25:90:57:38:e5
[    2.573668] e1000e 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection
[    2.573718] e1000e 0000:00:19.0: eth0: MAC: 10, PHY: 11, PBA No: FFFFFF-0FF
[    2.573777] e1000e 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.573802] e1000e 0000:02:00.0: setting latency timer to 64
[    2.574078] e1000e 0000:02:00.0: irq 32 for MSI/MSI-X
[    2.574083] e1000e 0000:02:00.0: irq 33 for MSI/MSI-X
[    2.574088] e1000e 0000:02:00.0: irq 34 for MSI/MSI-X
[    2.574297] e1000e 0000:02:00.0: Disabling ASPM L0s 
[    2.657292] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GB/s:Width x1) 00:25:90:57:38:e4
[    2.657296] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Connection
[    2.657380] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: FFFFFF-0FF
[   14.181499] e1000e: eth1 NIC Link is Up 10 Mbps Half Duplex, Flow Control: None
[   14.181565] e1000e 0000:02:00.0: eth1: Autonegotiated half duplex but link partner cannot autoneg.  Try forcing full duplex if link gets many collisions.
[   14.181567] e1000e 0000:02:00.0: eth1: 10/100 speed: disabling TSO
[  476.773721] e1000e 0000:02:00.0: PCI INT A disabled
[  476.789823] e1000e 0000:00:19.0: PCI INT A disabled
[  476.935605] e1000e: Intel(R) PRO/1000 Network Driver - 1.9.5-NAPI
[  476.935608] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[  476.935639] e1000e 0000:00:19.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[  476.935651] e1000e 0000:00:19.0: setting latency timer to 64
[  477.008135] e1000e 0000:00:19.0: irq 31 for MSI/MSI-X
[  477.184223] e1000e 0000:00:19.0: eth0: (PCI Express:2.5GT/s:Width x1) 00:25:90:57:38:e5
[  477.184227] e1000e 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection
[  477.184298] e1000e 0000:00:19.0: eth0: MAC: 11, PHY: 11, PBA No: FFFFFF-0FF
[  477.184309] e1000e 0000:02:00.0: Disabling ASPM L0s 
[  477.184393] e1000e 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[  477.184417] e1000e 0000:02:00.0: setting latency timer to 64
[  477.184836] e1000e 0000:02:00.0: irq 32 for MSI/MSI-X
[  477.184839] e1000e 0000:02:00.0: irq 33 for MSI/MSI-X
[  477.184841] e1000e 0000:02:00.0: irq 34 for MSI/MSI-X
[  477.334438] e1000e 0000:00:19.0: irq 31 for MSI/MSI-X
[  477.385281] e1000e 0000:00:19.0: irq 31 for MSI/MSI-X
[  477.386305] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) 00:25:90:57:38:e4
[  477.386308] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Connection
[  477.386458] e1000e 0000:02:00.0: eth1: MAC: 4, PHY: 8, PBA No: FFFFFF-0FF

卡是以下之一(不確定是哪個):

00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 05)
   Subsystem: Super Micro Computer Inc Device 1502
   Flags: bus master, fast devsel, latency 0, IRQ 31
   Memory at fba00000 (32-bit, non-prefetchable) [size=128K]
   Memory at fba24000 (32-bit, non-prefetchable) [size=4K]
   I/O ports at f020 [size=32]
   Capabilities: [c8] Power Management version 2
   Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
   Capabilities: [e0] PCI Advanced Features
   Kernel driver in use: e1000e
   Kernel modules: e1000e

02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
   Subsystem: Super Micro Computer Inc Device 0000
   Flags: bus master, fast devsel, latency 0, IRQ 16
   Memory at fb900000 (32-bit, non-prefetchable) [size=128K]
   I/O ports at e000 [size=32]
   Memory at fb920000 (32-bit, non-prefetchable) [size=16K]
   Capabilities: [c8] Power Management version 2
   Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
   Capabilities: [e0] Express Endpoint, MSI 00
   Capabilities: [a0] MSI-X: Enable+ Count=5 Masked-
   Capabilities: [100] Advanced Error Reporting
   Capabilities: [140] Device Serial Number 00-25-90-ff-ff-57-38-e4
   Kernel driver in use: e1000e
   Kernel modules: e1000e

由於您似乎已經花費了大量時間來驗證您的設備是否正常工作,因此可能是時候退後一步並執行其中一項非常基本的、應該是顯而易見的檢查。

仔細檢查您連接的交換機/集線器/設備是否實際上支持大於 10mb 的連結速度,並且它沒有任何配置將其限制為僅 10mb。

我看到您提到了自動協商,但是如果您關閉自動協商,則需要在雙方(伺服器端和交換機端)都這樣做。通常,如果卡在自動協商時遇到問題,可能是由於外部干擾來源。正如 Squidly 所說,您的電纜可能不好。所以,我給你的建議是,按以下順序:

  1. 嘗試在兩邊都關閉自動協商,手動將鏈路的兩邊提高到 1000/Full。
  2. 如果做不到這一點,請嘗試用新的或已知良好的電纜更換電纜。
  3. 您完全有可能只是有一個壞的 NIC,這是眾所周知的。

引用自:https://serverfault.com/questions/354071