Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
mlx5_core: Command failed with status 0x... Linux / DevOps

mlx5_core: Command failed with status / firmware error — Решение ошибок Mellanox

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Сообщение «mlx5_core: Command failed with status 0x... / firmware error» регистрируется ядерным драйвером mlx5_core для высокопроизводительных адаптеров NVIDIA Mellanox ConnectX-4, ConnectX-5, ConnectX-6, ConnectX-7 (10G/25G/40G/100G/200G/400G Ethernet и InfiniBand). Ошибка указывает на то, что команда управления (Command Interface HCA), отправленная драйвером ядру сетевого процессора Mellanox (Firmware), завершилась аппаратным статусом ошибки (например, 0x01: Bad Parameter, 0x04: Internal Error, 0x05: Resource Busy) либо встроенная прошивка адаптера зависла (Firmware Syndromes).

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
mlx5_coreMellanox Core DriverУнифицированный ядерный драйвер для контроллеров ConnectX.
Status 0x04 (Internal Error)FW ExceptionВнутреннее фатальное исключение в микрокоде сетевого адаптера Mellanox.
Syndrome 0x...Hex Error CodeДетальный код аппаратного синдрома (ошибки валидации дескрипторов WQE/CQE).

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Проверка статуса контроллера через утилиты MFT (Mellanox Firmware Tools)

# Установка пакета инструментов диагностики Mellanox:
sudo apt-get install mstflint || sudo dnf install mstflint

# Проверка PCI-адреса и текущей версии FW:
sudo mstflint -d 0000:03:00.0 q

# Просмотр системного дампа ошибок прошивки адаптера (FW Tracer):
sudo dmesg | grep -i "mlx5"
sudo devlink health show pci/0000:03:00.0

Сценарий 2: Обновление прошивки адаптера Mellanox ConnectX

Устаревшие версии прошивок ConnectX-4/5 вызывают сбои команд при работе с RoCEv2 и SR-IOV:

# Загрузка актуального PSID бинарника с сайта NVIDIA Networking и прошивка:
sudo mstflint -d 0000:03:00.0 -i fw-ConnectX5-rel.bin burn

# Принудительный сброс прошивки без перезагрузки сервера:
sudo mstflint -d 0000:03:00.0 b

Сценарий 3: Восстановление работоспособности через devlink health recover

# Запуск автоматического самовосстановления подсистемы ядра devlink:
sudo devlink health recover pci/0000:03:00.0 reporter fw_fatal

# Отключение агрессивного PCI Relaxed Ordering при сбоях шины:
# Добавьте параметр в /etc/modprobe.d/mlx5.conf:
options mlx5_core pci_relaxed_ordering=0
Сбои в InfiniBand / RoCEv2 фабриках высокой плотности?
ITSTM проводит аудит высокоскоростных сетевых сред (25G-400G), оптимизацию RDMA/RoCEv2 под AI/ML кластеры и обновление прошивок Mellanox/NVIDIA.
Практический опыт инженера: При использовании ConnectX-5/6 в режиме RoCE v2 (Lossless Ethernet) всегда настраивайте Trust Layer (DSCP vs PCP) и PFC (Priority Flow Control) согласованно на коммутаторах и сетевых картах через утилиту mlxconfig (TRUST_STATE=2).

Частые вопросы (FAQ)

Что такое PSID в сетевых картах Mellanox?

PSID (Parameter Set ID) — это уникальный 16-символьный идентификатор аппаратной ревизии платы и ее конфигурации. Прошивать адаптер можно строго тем файлом FW, который соответствует его точному PSID.

Можно ли выполнить перезапуск прошивки Mellanox без перезагрузки всего сервера?

Да, утилита mlxfwreset из пакета MFT позволяет выполнить горячий сброс (PCI Level Reset) адаптера: sudo mlxfwreset -d 0000:03:00.0 -l 3 reset.

Почему ошибка mlx5 Command failed часто возникает при настройке Kubernetes/SR-IOV?

При создании большого числа Virtual Functions (VF) драйвер mlx5 может исчерпать внутренние аппаратные ресурсы контекстов ICM (Interface Context Memory). Требуется увеличить лимиты ресурсов через mlxconfig.

Как просмотреть аппаратные счетчики ошибок RoCE/InfiniBand?

Выполните команду: sudo perfquery или просмотрите счетчики напрямую в /sys/class/infiniband/mlx5_0/ports/1/counters/.