Вопрос или проблема
Прежде всего, этот вопрос не является дубликатом Почему journalctl сообщает об “ошибке шины PCIe” BadTLP и BadDLLP? потому что вместо того, чтобы спрашивать, что вызывает это предупреждение ядра, я напрямую спрашиваю, как его решить или обойти.
Через примерно час записи и затем чтения на/с моего новоподключенного USB дискового устройства Crucial P3 PCIe 3.0 x4 NVMe M.2 2280 SSD объемом 4ТБ с модельным номером CT4000P3SSD8, который я разместил внутри контейнера для дисков AXAGON EEM2-SG2 SuperSpeed+ USB-C M.2 и подключил его к Thunderbolt 3 на моем староватом ноутбуке Dell Inspiron 15 Gaming 7577.
Я сразу заметил такие предупреждения BadDLLP (исправляемая ошибка шины PCIe), как это (время было удалено для краткости):
kernel: pcieport 0000:00:1c.0: AER: Получено сообщение об исправляемой ошибке от 0000:02:00.0
kernel: pcieport 0000:02:00.0: Ошибка шины PCIe: уровень важности=исправляемая, тип=уровень канала передачи данных, (Receiver ID)
kernel: pcieport 0000:02:00.0: устройство [8086:15da] статус ошибки/маска=00000080/00002000
kernel: pcieport 0000:02:00.0: [ 7] BadDLLP
Примерно за час ядро сгенерировало почти 300 000 этих предупреждений/исправляемых ошибок:
# journalctl --boot -1 --no-pager --no-hostname | grep BadDLLP | wc --lines
292727
Есть ли что-то, что я могу сделать относительно безопасно, чтобы уменьшить количество этих предупреждений/исправляемых ошибок?
ОС: Linux Mint 22 (wilma) с версией ядра 6.8.0-51-generic.
Отключение ASPM (Active-State Power Management) (ссылка на Википедию) глобально через параметр ядра GRUB pcie_aspm=off (ссылка на документацию RedHat) похоже решает проблему.
Отказ от ответственности: Я подозреваю, что эта опция отключает все энергосбережения PCIe, поэтому размещаю её только до тех пор, пока не найду больше опций, например, если возможно отключить энергосбережение только для этого устройства…
Ответ или решение
Чтобы решить проблему с предупреждениями BadDLLP (Correctable PCIe Bus Error), которые заполняют ваши журналы, предпримем несколько шагов по устранению или минимизации этой проблемы. Ваша ситуация связана с использованием нового USB-диска Crucial P3 PCIe 3.0 x4 NVMe M.2 2280 SSD объемом 4 ТБ в корпусе AXAGON EEM2-SG2, подключенного к Thunderbolt 3 на ноутбуке Dell Inspiron 15 Gaming 7577. Вы используете Linux Mint 22 с ядром 6.8.0-51-generic.
1. Отключение ASPM:
Первое, что можно попробовать, это отключить ASPM (Active-State Power Management), используя параметр ядра pcie_aspm=off
, чтобы проверить, уменьшает ли это количество ошибок. Однако следует учитывать, что отключение ASPM может увеличить энергопотребление, поскольку оно отключает все возможности энергосбережения для PCIe.
Шаги:
- Откройте файл конфигурации GRUB:
sudo nano /etc/default/grub
- Найдите строку, начинающуюся с GRUB_CMDLINE_LINUX_DEFAULT и добавьте
pcie_aspm=off
в конец строки, например:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=off"
- Сохраните изменения и обновите конфигурацию GRUB:
sudo update-grub
- Перезагрузите систему.
2. Изоляция проблемы:
- Попробуйте подключить SSD к другому порту или используйте другое устройство для соединения, чтобы определить, не связана ли проблема с конкретным портом или устройством.
3. Обновление драйверов и BIOS:
- Убедитесь, что у вас установлены последние обновления BIOS и драйверов вашего ноутбука и подключенного устройства. Это может решить проблемы совместимости.
4. Уменьшение уровня журнала:
- Если проблема не решается и она безопасна для работы устройств, можно рассмотреть возможность урезания логов, используя параметры командной строки ядра для подавления конкретных предупреждений, но это следует делать только в случае, если вы уверены в безопасности устройства.
5. Контроль температуры:
- Убедитесь, что устройство не перегревается, так как это также может вызвать ошибки в работе PCIe.
Эти шаги должны помочь вам понять и, возможно, решить проблему с предупреждениями BadDLLP. Если основанное на этих шагах решение не помогает, возможно, потребуется более глубокая диагностика со стороны технического обслуживания или замена оборудования.