Рейтинг:1

Intel I219 испытывает ОГРОМНУЮ потерю пакетов

флаг ru

Есть некоторые обсуждения и кажется, что эта проблема была решена. Однако литературы мало. Поэтому я написал эту заметку и надеюсь, что она поможет другим.

Симптом

Intel Ethernet Connection серии I219, включая I219-V и I219-LM, не работает в Linux со скоростью около 1 Мбит/с на speedtest.net и потерей пинга в локальной сети на 30-50%. Это проблема ядра, поэтому и Ubuntu, и Fedora будут страдать от одной и той же проблемы. Все пользователи с 4.19 по 5.11 сообщали об этой проблеме. Обновление через apt не помогает.

Подробности

  • пинг с другой машины
$ ping -i 0.2 -W 0.2 -c 100 -s 1000 192.168.1.2
100 пакетов передано, 56 получено, потеря пакетов 44%, время 20195 мс
  • Информация об устройстве
# lspci -vvvnn -s 00:1f.6
00:1f.6 Контроллер Ethernet [0200]: Ethernet-соединение корпорации Intel (14) I219-V [8086:15fa] (версия 11)
    Подсистема: CLEVO/KAPOK Computer Ethernet Connection (14) I219-V [1558:50e1]
    Управление: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Статус: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Задержка: 0
    Прерывание: вывод A направлен на IRQ 129
    Регион 0: память 82380000 (32-разрядная, без предварительной выборки) [размер = 128 КБ]
    Возможности: [c8] Управление питанием версии 3
        Флаги: PMEClk- DSI+ D1- D2- AuxCurrent=0 мА PME(D0+,D1-,D2-,D3горячий+,D3холодный+)
        Статус: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
    Возможности: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Адрес: 00000000fee00338 Данные: 0000
    Используемый драйвер ядра: e1000e
    Модули ядра: e1000e
# ethtool -i enp0s31f6
драйвер: e1000e
версия: 5.11.0-40-универсальная
версия прошивки: 0.4-4
расширение-rom-версия: 
информация о шине: 0000:00:1f.6
поддержка-статистика: да
поддержка-тест: да
поддерживает доступ к eeprom: да
поддерживает регистрацию дампа: да
поддерживает-приват-флаги: да
Рейтинг:1
флаг ru

Причина

Управление питанием отключает кэш/память сетевого адаптера (дополнительную информацию см. в [7]).

Обходные пути

  • Поэтому мне нужно отключить управление питанием. Рабочие состояния для устройств Intel называются C-State. C-состояния варьируются от C0 до Cn. C0 указывает на активное состояние (см. Руководство пользователя Intel/C-состояние). Первый обходной путь — установить максимальное C-State не очень высоким [3,4].

    vi/и т.д./по умолчанию/жратва
    # добавить intel_idle.max_cstate=1 в GRUB_CMDLINE_LINUX_DEFAULT после 
    "совсем всплеск"
    # чтобы эта строка выглядела как
    GRUB_CMDLINE_LINUX_DEFAULT="тихий всплеск intel_idle.max_cstate=1"
    # затем сохраните и выполните
    обновление-личность
    # затем перезагрузитесь, вы можете подтвердить, что это применяется
    кошка /proc/cmdline|grep информация
    кот /sys/модуль/intel_idle/параметры/max_cstate
    

    Вы даже можете установить max_cstate до 0; кто то сделай это.

  • Измените флаг управления питанием сетевого адаптера [5].

    # на моей машине значение по умолчанию "авто"
    кошка /sys/bus/pci/devices/0000\:00\:16.0/питание/управление
    эхо на > /sys/bus/pci/devices/0000\:00\:16.0/power/control
    # проверяем, включено ли оно сейчас
    кошка /sys/bus/pci/devices/0000\:00\:16.0/питание/управление
    

Литература

  1. https://bugzilla.redhat.com/show_bug.cgi?id=1652865 Это отчет за январь 2019 года. Он использует ядро ​​​​4.29. Решение не было предоставлено.

  2. https://bugzilla.kernel.org/show_bug.cgi?id=213651 предлагает

    • выгрузить мэй* (не работает для меня)
    • Настройки BIOS -> Управление системой -> Возможности Intel AMT, переключите его с «Ограничить доступ к MEBx» на «Отключено» (не работает для меня -- в моем биосе такого выбора нет)
  3. https://bugzilla.kernel.org/show_bug.cgi?id=213377 примерно такая же проблема. Они предлагают

    • загрузка одного и того же ядра с параметром "intel_idle.max_cstate=1" (инструкции см. Как установить intel_idle.max_cstate=1) (почти работает -- скорость загрузки и потеря пакетов исправлены, но загрузка нулевая)
  4. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1927925

    • Они утверждают, что решение в [3] работает
    • Комментарий № 93 объясняет, почему возникает эта ошибка, но он слишком специфичен; Я не могу полностью понять.
  5. https://bugs.launchpad.net/ubuntu/+source/linux-oem-5.10/+bug/1930754

    • Хитрость заключается в том, чтобы установить параметр ядра загрузки «pcie_aspm=off» в «/etc/default/grub».
      Как это:
      GRUB_CMDLINE_LINUX_DEFAULT="заставка pcie_aspm=off"
      После этого пробега;
      обновление-личность
      
      (не работает для меня)
    • Они подтверждают, что решения в [2] не работают.
    • эхо на | sudo tee /sys/bus/pci/devices/0000\:00\:16.0/питание/управление (почти работает -- скорость загрузки и потеря пакетов исправлены, но загрузка нулевая)
  6. Проводная сеть очень медленная

    • Спрашивающий проделал большую работу, в том числе сообщил, что собрать драйвер самостоятельно невозможно
    • Ни один из ответов не работает для меня.
флаг in
Не уверен, что это считается ответом, поскольку вы заявляете, что некоторые предлагаемые исправления не работают, а другие позволяют загружать, но убивают ваши загрузки. Возможно, имеет смысл обобщить это как части вопроса в надежде, что у члена сообщества есть решение, которое позволит вам загружать * и * загружать с разумной скоростью передачи.
Youran avatar
флаг ru
@matigo Как насчет сейчас? Это больше похоже на ответ?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.