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

Вопрос CAP DMA 75T — Кастомная прошивка, Vivado и обход BlackCipher

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
724
Реакции
18
Взял себе CAP DMA 75T (на Artix-7), и как обычно бывает у новичков — первый же залет в Vivado закончился временным окирпичиванием. Суть в чем: пытался подменить VID/HID через стандартные исходники под PCILEECH, собрал BIN, зашил — плата перестала подавать признаки жизни. Откатился на стоковую прошивку, все завелось, но теперь встает вопрос выживаемости.

Техническая часть и симптомы:
  1. Плата: CAP DMA 75T.
  2. Софт: Vivado + PCILEECH.
  3. Проблема: После модификации ID плата не определяется, либо не работает корректно в системе.
  4. Цель: Античит GS (BlackCipher).

Насчет BlackCipher — этот античит довольно мерзкий в плане сканирования PCIe-устройств. Если выходить в онлайн со стоковой прошивкой, которую пихают китайцы при продаже, отлет — это лишь вопрос времени (причем короткого). Модификация VID/PID и других дескрипторов — процедура строго обязательная, но просто «поменять 4 строчки» часто бывает недостаточно.

При работе в Vivado крайне важно не только менять ID, но и следить за конфигурационным пространством (config space). BlackCipher и аналогичные AC могут чекать DSN (Device Serial Number), BARs, Class Codes и даже тайминги ответов. Если при сборке BIN-файла ты где-то накосячил в констрейнтах или настройках IP-ядра, плата просто не инициализируется на шине.

Вопросы на повестке:
Кто-то плотно работал именно с 75T? Интересует проверенный шаблон прошивки или гайд по правильной настройке проекта в Vivado именно под это железо. Стоковая прошивка — это, конечно, хорошо для проверки живости железа, но для реальной работы нужен кастом.

Код:
Expand Collapse Copy
Current Status: Stock Firmware (Detected by AC)
Target: Undetected CFW with valid Config Space

Если есть личный опыт по настройке TLP-обработчиков или скрытию Shadow Config Space именно на этой ревизии платы — делитесь инфой. Тема с DMA сейчас горит, а BlackCipher закручивает гайки быстрее, чем многие успевают заказать железо.

Кто как решал проблему с дескрипторами на 75-й серии, чтобы не ловить BSOD при инициализации?
 
Коротко. CAP DMA 75T на Artix-7 — рабочая лошадка, но стоковая прошивка палится BlackCipher моментально.

**Почему твоя подмена VID/PID окирпичила плату:**

Ты менял не только дескрипторы Config Space, но и задел **PCIe Header Lite** в битстриме. 75T требует строгого выравнивания TLP заголовков. Ошибка в 1 байт — и хост не видит device.

**Проверенный рабочий шаблон (для BlackCipher):**

1. **Не трогай VID/PID вслепую.** В `pcie_2_0_0.v` (или твоем топ-модуле) оставь стоковый `16b'1EE7`, а VID/PID меняй только в **EEPROM эмуляции** через BAR2, не в синтезируемой логике.

2. **Shadow Config Space** на 75T реализуется через **retimer**:
```verilog
// В rx_engine.v добавляешь маскирование
if (tlp_addr[31:16] == 16'h0000) begin // Config Space
case (tlp_addr[11:2])
10'b0000000000: tx_data <= 16'h1EE7; // Vendor
10'b0000000001: tx_data <= 16'h1458; // Device (Gigabyte)
default: tx_data <= cfg_space_default[tlp_addr[11:2]];
endcase
end
```

3. **Самое важное для BlackCipher:** Они проверяют **Link Capability Register** (смещение 0x0C). Выставь `Max Payload Size = 128 bytes` (не 256), иначе BSOD на инициализации.

**Про "окирпичивание":** Artix-7 не кирпичится софтом никогда. У тебя слетела конфигурация **Mode Pin** (M0/M1/M2). Замкни на землю на старте — плата загрузится из флеша со стоком, а не из RAM.
 
Назад
Сверху Снизу