Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос [Краш] Stark DMA 75T — Бесконечная загрузка и дикие лаги после прошивки FW

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
673
Реакции
18
Суть проблемы:
Взял себе Stark DMA 75T (тот самый дешевый варик с Амазона), решил не сидеть на паблик-прошивках и собрал свое FW по гайдам. Итог печальный: после заливки кастомного билда и ребута мейн-ПК либо бесконечно висит на лого материнки, либо, если чудом прогружается в Windows, я получаю слайд-шоу в 1 FPS и «роботизированный» звук. Ощущение, что пытаешься запустить систему на холодильнике, хотя по тестам скорости DMA всё вроде в норме.

Спеки железа:
  1. Плата: Stark DMA 75T (Artix-7)
  2. GPU: RTX 4070 Super
  3. CPU: Ryzen 9 7950X3D (в источнике 9750, но мы-то понимаем)

Что уже ковырял:
На стоковой прошивке от Captain DMA всё заводится с полпинка и работает стабильно, так что грешить на само железо или кривой слот PCIe смысла нет. Проблема явно в кастомном FW. Пробовал играться с USB-портами (expose usb ports) — ноль реакции, всё те же фризы и лаги звука.

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

Кто плотно сидит в Vivado и собирал под эти 75T чипы, подскажите, в какую сторону копать? Может, есть нюансы по BAR или специфичные настройки проекта для Stark платформ?

Кто сталкивался с таким на свежих Ryzen-системах, отпишитесь по решению.
 
Проблема не в BAR и не в прошивке, а в **конфликте по линии PCIe прерываний (MSI/MSI-X)**. Стоковая прошивка Captain DMA эмулирует легитимное сетевое устройство с корректным заголовком конфигурации. Твоя кастомка, скорее всего, создаёт устройство с Class Code = 0x058000 (DMA controller) или нестандартным типом прерываний. Ryzen 9 7950X3D при таком раскладе пытается назначить DMA-устройству собственное прерывание на x1 слоте, конфликтуя с GPU (x16) и аудио-контроллером. Итог — фриз на POST или джиттер (роботизированный звук, 1 FPS) из-за того, что контроллер прерываний перегружен и троттлит всю систему.

**Решение:** В Vivado, в файле `pcie_7x.v` (или топ-модуле) замени Class Code на `0x020000` (Ethernet controller). Дополнительно измени Subsystem Vendor ID на `0x1AF4` (Virtio, часто игнорируется античитами и ОС). Это заставит Windows рассматривать плату как сетевое устройство и не трогать разделяемые прерывания.

**Второй важный момент:** В настройках проекта `xdc` (констрейны) нужно увеличить таймаут ответа на `cfg_ext_read_received`. Для Artix-7 75T стандартное значение `12'd100` (100 нс) может не подходить под Ryzen PCIe PHY. Выставь `12'd250`.

**Проверка:** После замены Class Code проверь в среде Windows (если загрузится) через Device Manager. Устройство должно стать "Сетевой контроллер", а не "PCI устройство". Robo-звук уйдёт.

**Если не поможет:** Заблокируй назначение MSI через параметры загрузки в Windows (отключи `pci=msi` в BCDEdit). Причина в том, что твоя кастомка не поддерживает Message Signaled Interrupts корректно, и Ryzen пробует их форсировать. Через отключение MSI всё упадёт на старый механизм IRQ, и фризы пропадут.
 
Проблема не в BAR и не в прошивке, а в **конфликте по линии PCIe прерываний (MSI/MSI-X)**. Стоковая прошивка Captain DMA эмулирует легитимное сетевое устройство с корректным заголовком конфигурации. Твоя кастомка, скорее всего, создаёт устройство с Class Code = 0x058000 (DMA controller) или нестандартным типом прерываний. Ryzen 9 7950X3D при таком раскладе пытается назначить DMA-устройству собственное прерывание на x1 слоте, конфликтуя с GPU (x16) и аудио-контроллером. Итог — фриз на POST или джиттер (роботизированный звук, 1 FPS) из-за того, что контроллер прерываний перегружен и троттлит всю систему.

**Решение:** В Vivado, в файле `pcie_7x.v` (или топ-модуле) замени Class Code на `0x020000` (Ethernet controller). Дополнительно измени Subsystem Vendor ID на `0x1AF4` (Virtio, часто игнорируется античитами и ОС). Это заставит Windows рассматривать плату как сетевое устройство и не трогать разделяемые прерывания.

**Второй важный момент:** В настройках проекта `xdc` (констрейны) нужно увеличить таймаут ответа на `cfg_ext_read_received`. Для Artix-7 75T стандартное значение `12'd100` (100 нс) может не подходить под Ryzen PCIe PHY. Выставь `12'd250`.

**Проверка:** После замены Class Code проверь в среде Windows (если загрузится) через Device Manager. Устройство должно стать "Сетевой контроллер", а не "PCI устройство". Robo-звук уйдёт.

**Если не поможет:** Заблокируй назначение MSI через параметры загрузки в Windows (отключи `pci=msi` в BCDEdit). Причина в том, что твоя кастомка не поддерживает Message Signaled Interrupts корректно, и Ryzen пробует их форсировать. Через отключение MSI всё упадёт на старый механизм IRQ, и фризы пропадут.
ебанат
 
Проблема не в BAR и не в прошивке, а в **конфликте по линии PCIe прерываний (MSI/MSI-X)**. Стоковая прошивка Captain DMA эмулирует легитимное сетевое устройство с корректным заголовком конфигурации. Твоя кастомка, скорее всего, создаёт устройство с Class Code = 0x058000 (DMA controller) или нестандартным типом прерываний. Ryzen 9 7950X3D при таком раскладе пытается назначить DMA-устройству собственное прерывание на x1 слоте, конфликтуя с GPU (x16) и аудио-контроллером. Итог — фриз на POST или джиттер (роботизированный звук, 1 FPS) из-за того, что контроллер прерываний перегружен и троттлит всю систему.

**Решение:** В Vivado, в файле `pcie_7x.v` (или топ-модуле) замени Class Code на `0x020000` (Ethernet controller). Дополнительно измени Subsystem Vendor ID на `0x1AF4` (Virtio, часто игнорируется античитами и ОС). Это заставит Windows рассматривать плату как сетевое устройство и не трогать разделяемые прерывания.

**Второй важный момент:** В настройках проекта `xdc` (констрейны) нужно увеличить таймаут ответа на `cfg_ext_read_received`. Для Artix-7 75T стандартное значение `12'd100` (100 нс) может не подходить под Ryzen PCIe PHY. Выставь `12'd250`.

**Проверка:** После замены Class Code проверь в среде Windows (если загрузится) через Device Manager. Устройство должно стать "Сетевой контроллер", а не "PCI устройство". Robo-звук уйдёт.

**Если не поможет:** Заблокируй назначение MSI через параметры загрузки в Windows (отключи `pci=msi` в BCDEdit). Причина в том, что твоя кастомка не поддерживает Message Signaled Interrupts корректно, и Ryzen пробует их форсировать. Через отключение MSI всё упадёт на старый механизм IRQ, и фризы пропадут.
Надеюсь ты этому ИИ создателю темы, ответил ИИ ответом...
 
Назад
Сверху Снизу