e1000e Đặt lại bộ điều hợp bất ngờ / Phát hiện đơn vị phần cứng


36

Tôi có Máy chủ Dell 1U với CPU Intel (R) Xeon (R) L5420 @ 2.50GHz, 8 lõi chạy Ubuntu Server Kernel Phiên bản 3.13.0-32-generic trên x86_64. Nó có card mạng 1000baseT kép. Tôi có nó được thiết lập để chuyển tiếp các gói từ eth0 đến eth1.

Tôi đã nhận thấy rằng trong tập tin kern.log của tôi, nó cứ bị treo sau đó nghỉ ngơi. Điều này xảy ra thường xuyên. Điều này xảy ra cứ sau vài giây thì có lẽ sẽ ổn trong vài phút rồi quay lại sau vài giây.

Đây là kết xuất tệp nhật ký:

 [118943.768245] e1000e 0000:00:19.0 eth0: Detected Hardware Unit Hang:
 [118943.768245]   TDH                  <45>
 [118943.768245]   TDT                  <50>
 [118943.768245]   next_to_use          <50>
 [118943.768245]   next_to_clean        <43>
 [118943.768245] buffer_info[next_to_clean]:
 [118943.768245]   time_stamp           <101c48d04>
 [118943.768245]   next_to_watch        <45>
 [118943.768245]   jiffies              <101c4970f>
 [118943.768245]   next_to_watch.status <0>
 [118943.768245] MAC Status             <80283>
 [118943.768245] PHY Status             <792d>
 [118943.768245] PHY 1000BASE-T Status  <7800>
 [118943.768245] PHY Extended Status    <3000>
 [118943.768245] PCI Status             <10>
 [118944.780015] e1000e 0000:00:19.0 eth0: Reset adapter unexpectedly

Đây là thông tin từ ethtool:

Cài đặt:

Settings for eth0:

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

Thông tin tài xế:

ethtool -i eth0

driver: e1000e
version: 2.3.2-k
firmware-version: 1.4-0
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

Điều gì có thể gây ra điều này? Đây chỉ là một lỗi trong phần mềm hoặc một vấn đề phần cứng thực tế? Tôi đã thấy nhiều vấn đề khác tương tự nhưng không có giải pháp thực sự và điều này cũng khiến tôi tin rằng đó là vấn đề phần mềm?

Có lẽ ai đó có thể làm sáng tỏ điều này cho tôi?


Có vẻ như vấn đề đã được biết: bugzilla.kernel.org/show_orms.cgi?id=47331
victorpablosceruelo

Câu trả lời:


26

Ok vì vậy sau khi đăng câu hỏi này đêm qua tôi tiếp tục thực hiện một số nghiên cứu giải pháp thực sự duy nhất tôi gặp có vẻ như đã quan tâm đến vấn đề này.

Vô hiệu hóa TSO, GSO và GRO bằng ethtool:

ethtool -K eth0 gso off gro off tso off

Theo một bài đăng được tìm thấy ở đây: http://ehc.ac/p/e1000/bugs/378/

Từ những gì tôi hiểu điều này sẽ hoặc có thể làm giảm hiệu suất.

Tôi cũng nhận thấy một giải pháp khác là vô hiệu hóa Quản lý năng lượng trạng thái hoạt động

pcie_aspm=off

Theo bài đăng này trên serverfault: Linux e1000e (trình điều khiển mạng Intel) gặp sự cố, tôi phải bắt đầu từ đâu?

Tôi chưa thử giải pháp này. Tôi sẽ thử nó và xem nếu điều đó làm cho một sự khác biệt và gửi lại những phát hiện của tôi.

CHỈNH SỬA:

Ok vì vậy tôi đã thử tắt Quản lý năng lượng trạng thái hoạt động, pcie_aspm = tắt và điều này không có tác dụng. Tôi tiếp tục nhận thấy lỗi trong tệp nhật ký của tôi.

Điều này vẫn có thể hoạt động đối với một số người vì một số nics của Intel có vấn đề với các hạt khác nhau khi ngủ khi quản lý năng lượng được bật.


2
Cảm ơn! Tôi đã thử sửa lỗi ethtool và nó đã giải quyết được vấn đề của tôi. (cũng bị kẹt trong tập lệnh init)
Peter

Xin chào, bạn có biết nếu chạy ethtool -K eth0 gso off gro off tso offsẽ làm mất kết nối, thậm chí trong một thời gian ngắn?
godzillante

Thật vậy, vô hiệu hóa các tùy chọn với ethtool đã giúp, vô hiệu hóa các tùy chọn quản lý năng lượng đã không
Oleg Gryb

2
'Theo một bài đăng được tìm thấy ở đây: ehc.ac/p/e1000/bugs/378 ' ở trên bây giờ đi đến một domainquatter, nội dung ban đầu có thể được tìm thấy ở đây: web.archive.org/web/20160205153351/http://ehc. ac: 80 / p / e1000 / Lỗi
Mike McCabe

6

Vô hiệu hóa C1 (C1E) nâng cao trong BIOS đã sửa nó cho tôi.

Không chắc chắn nếu trạng thái năng lượng thấp hơn của C1E gây rối với trình điều khiển, hoặc có một lỗi trong trình điều khiển khi bộ xử lý ở trạng thái này.

Dù sao, vấn đề đã được giải quyết.


Đây chính xác là bản sửa lỗi làm việc cho tôi. Chạy Ubuntu 16.04 LTS trên bo mạch chủ ASRock H170M-ITX / DL. Cảm ơn SteveG. =)
Đuôi

lưu ý rằng điều này có thể làm tăng mức tiêu thụ năng lượng của máy chủ rất nhiều!
Flatron

0

Tôi đã gặp sự cố (kích hoạt lỗi kernel giống như bạn và lỗi không gian SSH như " Corrupted MAC on input").

Dung dịch

Điều làm việc cho tôi là vô hiệu hóa giảm tải tổng kiểm tra TCP:

# ethtool -K eth0 tx off rx off

Tích hợp sạch và lâu dài với giao diện debian-ish / etc / network / :

#!/bin/bash
#
# Disables TCP offloading on all ifaces
#
# Inspired by: @Michelunik https://serverfault.com/a/422554/62953

RUN=true
case "${IF_NO_TOE,,}" in
    no|off|false|disable|disabled)
        RUN=false
    ;;
esac


# Other offloading options that could be disabled (not TCP related):
#  sg tso ufo gso gro lro rxvlan txvlan rxhash
# see man ethtool

if [ "$MODE" = start -a "$RUN" = true ]; then
  TOE_OPTIONS="rx tx"
  for TOE_OPTION in $TOE_OPTIONS; do
    /sbin/ethtool --offload "$IFACE" "$TOE_OPTION" off &>/dev/null || true
  done
fi

nguồn , cảm hứng .

Bối cảnh

  • Debianie
  • Hạt nhân 4.7.0-0.bpo.1-amd64
  • lspci 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-V (rev 04)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.