Произошла устранимая аппаратная ошибка компонента корневого порта PCI Express

Обновлено: 21.11.2024

​Мы публикуем это исправление из любезности, надеемся, что оно избавит вас от многочасовых разочарований. Если это работает для вас, напишите нам по электронной почте, чтобы мы знали, что это помогло вам. Не стесняйтесь присылать сюда и других.

Оборудование в этом тесте:

Материнская плата Intel DX58SO, видеокарты ATI FireMV 2250 и FirePro 2450

Прежде чем начать:

  • ​Очень важно, чтобы у вас были загружены правильные драйверы ATI для вашей видеокарты, иначе это исправление не будет работать. Например, если вы разрешили Windows устанавливать драйверы по умолчанию (WDDM), это не сработает.
  • Перейдите к свойствам диспетчера устройств/видеоадаптера и убедитесь, что у вас загружены правильные драйверы, прежде чем продолжить.
  • Это исправление состоит из двух частей, убедитесь, что вы выполнили ОБЕ части.

Проблема:

  • ​WHEA LOGGER ERROR 17, 18,19 и т. д.) снова и снова в окнах/системных ЖУРНАЛАХ, иногда с разницей в несколько минут.
  • Вы также можете получить другие ошибки в диспетчере устройств в разделе СИСТЕМНЫЕ УСТРОЙСТВА в одном или НЕСКОЛЬКИХ элементах вашего корневого порта PCI Express.
  • Многие сообщения в Интернете сообщают об этой проблеме без решения. Обновил драйвера, биос ничего не помогает, кроме этого.
  • Это исправление состоит из двух частей. Вы будете ссылаться на журнал Windows с челками в диспетчере устройств.

Как определить:

​1. Начните с просмотра журналов Windows, чтобы получить более подробную информацию. Откройте «Журналы событий Windows/Система» и найдите ошибки регистратора WHEA. Идентификатор события может быть 17, 18, 19 и т. д. или любым другим числом.

<р>2. Дважды щелкните ошибку в журналах, затем перейдите на вкладку ПОДРОБНОСТИ. Разверните сведения о СИСТЕМЕ.

<р>3. Обратите особое внимание на номера BUS, DEVICE и FUNCTION. (Так вы определите, какой элемент в диспетчере устройств вызывает проблему.)

<р>4. Оставьте это открытым, теперь откройте Диспетчер устройств и прокрутите вниз до раздела «Системные устройства». Вы, вероятно, увидите там челку, которая будет выглядеть примерно так, но цифры в крайнем правом углу будут другими. У вас может быть один или несколько экземпляров. Повторите FIX для каждого

а. ‘Intel(r)5520/5500/x58 концентратор ввода/вывода PCI Express корневой порт 3-340a’

б. «Intel(r)5520/5500/x58 концентратор ввода-вывода PCI Express корневой порт 7-340e» и т. д.

Дважды щелкните каждый из этих элементов корневого порта PCI Express в диспетчере устройств и обратите внимание на РАСПОЛОЖЕНИЕ, которое будет примерно таким: шина PCI 0, устройство 3, функция 0. Найдите тот, который соответствует тому, что вы нашли в журналах Windows, затем продолжите. .

Исправление, часть 1:

  1. ​Теперь сопоставьте ошибку в системном журнале Windows с элементом в диспетчере устройств с тем же расположением BUS, DEVICE, FUNCTION.
  2. Дважды щелкните этот элемент, перейдите на вкладку драйвера и обновите драйвер, обновите его вручную, нажав «Обзор», «Позвольте мне выбрать…».
  3. Из списка драйверов совместимого оборудования выберите: Драйвер стандартного корневого порта PCI Express.
  4. Нажмите «Далее», чтобы завершить обновление драйвера.

Повторите для КАЖДОЙ ошибки, но только если они имеют другую ШИНУ, РАСПОЛОЖЕНИЕ УСТРОЙСТВА. Если они все одинаковые, в этом нет необходимости.

Исправить, часть 2:

  1. Откройте службы Windows (меню «Пуск» > «Компьютер» > щелкните правой кнопкой мыши > управление > службы)
  2. Найдите: AMD или утилита внешних событий ATI
  3. Щелкните правой кнопкой мыши > "Свойства" > "Остановить" > выберите "Тип запуска" > "ОТКЛЮЧИТЬ" и убедитесь, что на вкладке "ВОССТАНОВЛЕНИЕ" все указано "НЕ ПРИНИМАТЬ ДЕЙСТВИЙ".
  4. Перезагрузить.

Это должно позаботиться об этом. Следите за журналами событий Windows. Если возникают другие ошибки, повторите описанный выше процесс с номерами идентификаторов, чтобы устранить все ошибки по отдельности. Надеюсь, это помогло вам

Рекомендуется HP

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отправить сообщение другу

Я получил следующую ошибку, кто-нибудь может пролить свет на нее

Произошла исправленная аппаратная ошибка.

Компонент: корневой порт PCI Express

Источник ошибки: расширенные отчеты об ошибках (PCI Express)

Идентификатор поставщика:Идентификатор устройства: 0x8086:0xA115

Код класса: 0x30400

Подробная информация об этой записи содержит дополнительную информацию.

Блестки1

Рекомендуется HP

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отправить сообщение другу

Спасибо за ваш запрос.

Я понимаю, что вы получаете сообщение об ошибке "Произошла исправленная аппаратная ошибка".

Компонентный корневой порт PCI Express

Источник ошибки: расширенные отчеты об ошибках (PCI Express

Функция устройства шины: Ox:0:. 0x1c: 0x5

Идентификатор поставщика ID устройства 0x8086: 0xA115

Код класса 0x30400.

Подробная информация об этой записи содержит дополнительную информацию.

Я предлагаю вам запустить HP Support Assistant, чтобы проверить наличие обновлений HP, включая драйвер набора микросхем.

Вы выполнили все обновления Windows?

Вот ссылка на средство устранения неполадок Центра обновления Windows. Откройте средство устранения неполадок обновления Windows, так как оно может помочь найти дополнительные драйверы. Это должно привести к принудительному обновлению обновлений Windows, которые могут не применяться автоматически, что может помочь решить эту проблему.

Пожалуйста, сообщите мне результат.

Благодарим вас за участие в форумах HP! Мы хотим помочь вам, а также другим людям, которые могут столкнуться с такой же проблемой, как и вы. Пожалуйста, отметьте запись, решающую вашу проблему, как "Принять как решение", чтобы помочь другим участникам сообщества!

  • Сообщество
  • :
  • Английский
  • :
  • Дискуссионный форум
  • :
  • Компьютер/сеть
  • :
  • Игры ERAZER
  • :
  • Тысячи предупреждений журнала событий из источника WHEA-L.

Автопредложение помогает быстро сузить результаты поиска, предлагая возможные совпадения по мере ввода.

Тысячи предупреждений журнала событий из источника WHEA-Logger Event ID 17

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

в ‎09.12.2020 23:15

в ‎09.12.2020 23:15

Я получаю буквально тысячи таких предупреждений несколько раз в минуту.

Кто-нибудь может указать мне решение?

Ноутбук MEDION ERAZER P15805 (MD 61593) UK

Вот что находится в журнале событий:

Произошла исправленная аппаратная ошибка.

Компонент: корневой порт PCI Express

Источник ошибки: расширенные отчеты об ошибках (PCI Express)

Основная шина:Device:Function: 0x0:0x1D:0x0

Вторичная шина:Device:Function: 0x0:0x0:0x0

Имя основного устройства: PCI\VEN_8086&DEV_A336&SUBSYS_85501558&REV_F0

Имя дополнительного устройства:

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

в ‎14.12.2020 14:27

в ‎14.12.2020 14:27

Я установил последнюю версию драйвера с сайта Realtek, которая была новее той, что была установлена ​​этим обновлением Windows.

К сожалению, это не решило проблему даже после установки/перезагрузки и т. д. в предложенной вами последовательности.

Я снова откатился к драйверу Microsoft, и проблема снова исчезла.

На самом деле я получаю более высокую пропускную способность по локальной сети при использовании драйвера Microsoft, чем при использовании драйвера Realtek.

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

Это должно привести к сбою обновления Windows при попытке обновить драйвер, а затем я могу просто скрыть это обновление, когда и если это произойдет.

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

24.08.2021 11:52

24.08.2021 11:52

Просто добавлю здесь несколько более подробных шагов, так как я видел другие сообщения, связанные с похожими проблемами.

Моей проблемой была сетевая карта Realtek, а точнее драйвер Realtek для этой карты.

В этом руководстве описываются основы драйвера PCI Express Advanced Error Reporting (AER) и содержится информация о том, как его использовать, а также о том, как обеспечить соответствие драйверов конечных устройств драйверу PCI Express AER.

8.1.2. Что такое драйвер PCI Express AER?¶

Сигнализация ошибок PCI Express может происходить на самом канале PCI Express или от имени транзакций, инициированных на канале. PCI Express определяет две парадигмы отчетов об ошибках: базовые возможности и возможности расширенных отчетов об ошибках. Базовые возможности требуются для всех компонентов PCI Express, обеспечивающих минимальный определенный набор требований к сообщениям об ошибках. Функция расширенных отчетов об ошибках реализована с расширенной структурой расширенных возможностей отчетов об ошибках PCI Express, обеспечивающей более надежные отчеты об ошибках.

Драйвер PCI Express AER предоставляет инфраструктуру для поддержки расширенных отчетов об ошибках PCI Express. Драйвер PCI Express AER выполняет три основные функции:

  • Собирает полную информацию об ошибках, если они произошли.

  • Сообщает пользователям об ошибке.

  • Выполняет действия по устранению ошибок.

Драйвер AER подключает только корневые порты, поддерживающие возможности PCI-Express AER.

8.2. Руководство пользователя¶

8.2.1. Включите корневой драйвер PCI Express AER в ядро ​​Linux¶

Корневой драйвер PCI Express AER — это служебный драйвер корневого порта, подключенный к драйверу шины порта PCI Express. Если пользователь хочет его использовать, драйвер должен быть скомпилирован.Опция CONFIG_PCIEAER поддерживает эту возможность. Это зависит от CONFIG_PCIEPORTBUS, поэтому, пожалуйста. установите CONFIG_PCIEPORTBUS=y и CONFIG_PCIEAER = y.

8.2.2. Загрузите корневой драйвер PCI Express AER¶

Прошивка некоторых систем поддерживает AER. Включение поддержки Linux AER в то время, когда микропрограмма обрабатывает AER, может привести к непредсказуемому поведению. Таким образом, Linux не обрабатывает события AER, если прошивка не предоставляет управление AER операционной системе с помощью метода ACPI _OSC. Подробнее об использовании _OSC см. в спецификации PCI FW 3.0.

8.2.3. Вывод ошибки AER¶

При обнаружении ошибки PCIe AER на консоль будет выведено сообщение об ошибке. Если это исправимая ошибка, она выводится как предупреждение. В противном случае это печатается как ошибка. Таким образом, пользователи могли выбрать другой уровень журнала для фильтрации исправимых сообщений об ошибках.

Ниже показан пример:

В данном примере «Идентификатор запрашивающего» означает идентификатор устройства, которое отправляет сообщение об ошибке на корневой порт. Пожалуйста. для других полей обратитесь к спецификациям PCI Express.

8.2.4. Статистика / счетчики AER¶

При захвате ошибок PCIe AER счетчики/статистика также отображаются в виде атрибутов sysfs, которые задокументированы в Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats

8.3. Руководство для разработчиков¶

Для включения поддержки с учетом AER требуется программный драйвер для настройки структуры возможностей AER на своем устройстве и предоставления обратных вызовов.

Чтобы лучше поддерживать AER, разработчикам необходимо сначала понять, как работает AER.

Ошибки PCI Express подразделяются на два типа: исправимые ошибки и неисправимые ошибки. Эта классификация основана на влиянии этих ошибок, которые могут привести к снижению производительности или сбою функции.

Исправимые ошибки не влияют на функциональность интерфейса. Протокол PCI Express может восстанавливаться без какого-либо вмешательства программного обеспечения или потери данных. Эти ошибки обнаруживаются и исправляются аппаратно. В отличие от исправимых ошибок, неисправимые ошибки влияют на функциональность интерфейса. Неисправимые ошибки могут сделать конкретную транзакцию или конкретное соединение PCI Express ненадежными. В зависимости от этих условий ошибки неисправимые ошибки далее классифицируются как нефатальные ошибки и фатальные ошибки. Нефатальные ошибки делают конкретную транзакцию ненадежной, но сама связь PCI Express полностью функциональна. С другой стороны, фатальные ошибки делают ссылку ненадежной.

Если функция AER включена, устройство PCI Express автоматически отправит сообщение об ошибке на корневой порт PCIe над ним, когда устройство зафиксирует ошибку. Корневой порт, получив сообщение об ошибке, внутренне обрабатывает и регистрирует сообщение об ошибке в своей структуре возможностей PCI Express. Регистрируемая информация об ошибке включает в себя сохранение идентификатора запросчика агента сообщения об ошибке в регистрах идентификации источника ошибки и установку соответствующих битов ошибки в корневом регистре состояния ошибки. Если отчет об ошибках AER включен в корневом регистре команд ошибок, корневой порт генерирует прерывание при обнаружении ошибки.

Обратите внимание, что описанные выше ошибки связаны с иерархией и ссылками PCI Express. Эти ошибки не включают какие-либо ошибки, связанные с устройством, поскольку ошибки, связанные с устройством, по-прежнему будут отправляться непосредственно в драйвер устройства.

8.3.1. Настройте структуру возможностей AER¶

Драйверы компонента PCI Express, поддерживающие AER, должны изменить регистры управления устройством, чтобы включить AER. Они также могут изменять регистры AER, включая регистры маски и серьезности. Вспомогательная функция pci_enable_pcie_error_reporting может использоваться для включения AER. См. раздел 3.3.

8.3.2. Обеспечьте обратные вызовы¶

8.3.2.1. обратный вызов reset_link для сброса ссылки PCI Express¶

Этот обратный вызов используется для сброса физического канала PCI Express при возникновении фатальной ошибки. Драйвер службы корневого порта предоставляет функцию reset_link по умолчанию, но разные восходящие порты могут иметь разные спецификации для сброса PCI Express Link, поэтому все восходящие порты должны предоставлять свои собственные функции reset_link.

Раздел 3.2.2.2 содержит более подробную информацию о том, когда вызывать reset_link.

8.3.2.2. Обратные вызовы PCI для восстановления после ошибок¶

Корневой драйвер PCI Express AER использует обратные вызовы ошибок для координации с нижестоящими драйверами устройств, связанными с рассматриваемой иерархией, при выполнении действий по устранению ошибок.

Структура данных pci_driver имеет указатель err_handler, указывающий на pci_error_handlers, который состоит из пары указателей на функции обратного вызова. Драйвер AER следует правилам, определенным в PCI Error Recovery, за исключением конкретных частей PCI Express (например, reset_link). Пожалуйста. подробные определения обратных вызовов см. в разделе Восстановление после ошибок PCI.

В следующих разделах указано, когда вызывать функции обратного вызова ошибок.

8.3.2.3. Исправимые ошибки¶

Исправимые ошибки не влияют на функциональность интерфейса.Протокол PCI Express может восстанавливаться без какого-либо вмешательства программного обеспечения или потери данных. Эти ошибки не требуют никаких действий по восстановлению. Драйвер AER соответствующим образом очищает регистр состояний исправимых ошибок устройства и регистрирует эти ошибки.

8.3.2.4. Неисправимые (нефатальные и фатальные) ошибки¶

Если сообщение об ошибке указывает на некритическую ошибку, выполнение сброса канала в восходящем направлении не требуется. Драйвер AER вызывает error_detected(dev, pci_channel_io_normal) для всех драйверов, связанных с рассматриваемой иерархией. например:

Если восходящий порт A фиксирует ошибку AER, иерархия состоит из нисходящего порта B и EndPoint.

Драйвер может возвращать PCI_ERS_RESULT_CAN_RECOVER, PCI_ERS_RESULT_DISCONNECT или PCI_ERS_RESULT_NEED_RESET в зависимости от того, может ли он восстановиться или драйвер AER вызывает mmio_enabled следующим образом.

Если сообщение об ошибке указывает на фатальную ошибку, ядро ​​​​рассылает сообщение error_detected(dev, pci_channel_io_frozen) всем драйверам в рассматриваемой иерархии. Затем необходимо выполнить сброс канала в восходящем направлении. Поскольку разные типы устройств могут использовать разные подходы к сбросу канала, драйвер службы порта AER должен предоставлять функцию для сброса канала через параметр обратного вызова функции pcie_do_recovery(). Если reset_link не равен NULL, функция восстановления будет использовать его для сброса ссылки. Если error_detected возвращает PCI_ERS_RESULT_CAN_RECOVER, а reset_link возвращает PCI_ERS_RESULT_RECOVERED, обработка ошибок переходит к mmio_enabled.

8.3.3. вспомогательные функции¶

pci_enable_pcie_error_reporting позволяет устройству отправлять сообщения об ошибках на корневой порт при обнаружении ошибки. Обратите внимание, что устройства не включают отчеты об ошибках по умолчанию, поэтому драйверы устройств должны вызывать эту функцию, чтобы включить ее.

pci_disable_pcie_error_reporting запрещает устройству отправлять сообщения об ошибках на корневой порт при обнаружении ошибки.

pci_aer_clear_nonfatal_status очищает нефатальные ошибки в регистре состояния неисправимых ошибок.

8.3.4. Часто задаваемые вопросы¶

Что произойдет, если драйвер устройства PCI Express не предоставляет обработчик устранения ошибок (pci_driver->err_handler равен NULL)?

Устройства, подключенные с драйвером, не будут восстановлены. Если ошибка фатальная, ядро ​​распечатает предупреждающие сообщения. Дополнительную информацию см. в разделе 3.

Что произойдет, если драйвер службы вышестоящего порта не предоставит обратный вызов reset_link?

Восстановление неустранимых ошибок не удастся, если об ошибках сообщают восходящие порты, которые подключены драйвером службы.

Как эта инфраструктура справляется с драйвером, который не поддерживает PCI Express?

Эта инфраструктура вызывает функции обратного вызова ошибок драйвера при возникновении ошибки. Но если драйвер не знает о PCI Express, устройство может не сообщать о собственных ошибках на корневой порт.

Какие модификации потребуются этому драйверу, чтобы сделать его совместимым с корневым драйвером PCI Express AER?

Он может вызвать вспомогательные функции, чтобы включить AER на устройствах и очистить неисправимый регистр состояния. Пожалуйста. см. раздел 3.3.

8.4. Внедрение программных ошибок¶

Отладка кода восстановления после ошибок PCIe AER довольно сложна, потому что трудно вызвать реальные аппаратные ошибки. Внедрение ошибок на основе программного обеспечения может использоваться для имитации различных типов ошибок PCIe.

Сначала вы должны включить внедрение программных ошибок PCIe AER в конфигурацию ядра, то есть следующий пункт должен быть в вашем .config.

CONFIG_PCIEAER_INJECT=y или CONFIG_PCIEAER_INJECT=m

После перезагрузки с новым ядром или вставки модуля должен быть создан файл устройства с именем /dev/aer_inject.

Затем вам понадобится инструмент пользовательского пространства под названием aer-inject, который можно получить здесь:

Дополнительную информацию о aer-inject можно найти в документе, прилагаемом к его исходному коду.

Читайте также: