# Firmware Installation

{% embed url="<https://dexaimdma.com/products/akqmx9d>" %}
Shop our custom 1:1 fully emulated firmware for EAC, BE, ACE, VGK and more.
{% endembed %}

## Tier 1, 2, 3, & 5 Firmware

For Tier 1, 2, 3, & 5 firmware, follow the guide below. For Tier 4, see [#tier-4-firmware](#tier-4-firmware "mention")

## On the **GAMING PC**

{% stepper %}
{% step %}

### Power OFF the GAMING PC

* Perform a [#flea-power-drain-cold-boot](https://docs.dexa.im/dma/troubleshooting#flea-power-drain-cold-boot "mention")
  {% endstep %}

{% step %}

### Move the USB cable

* move the USB-C data cable to the `JTAG` port on the DMA card

{% hint style="info" %}
If the DMA card is not labeled, the `JTAG` port is the port closest to the PCB pins (bottom port).
{% endhint %}
{% endstep %}

{% step %}

### Power ON the GAMING PC

{% endstep %}
{% endstepper %}

## On the DMA PC

{% stepper %}
{% step %}

### Flash the firmware

* Download the [firmware .bin file from your order](https://account.dexaimdma.com/orders/)

{% hint style="info" %}
**Firmware is always delivered as a `.bin` file.** If Windows renames it to an audio file like `.mp3`, rename the file extension to `.bin` or re-download the firmware.
{% endhint %}

* Use Kilmu's [DMA Tool](https://github.com/kilmu1337/DMA-Tool/releases/) to flash firmware to the DMA card

{% hint style="warning" %}
**If you experience issues flashing firmware, note:** some DMA card manufacturers do not work well with Kilmu's DMA Tool. In this case, reach out to your DMA card's manufacturer and verify if you need to use their specific DMA flashing software/tool.
{% endhint %}

<figure><img src="https://3661827449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKDcbGlPDCQPYsgmPubxI%2Fuploads%2FyzOXkWdpfXfiIsqJQ5MH%2Fkilmu%201.png?alt=media&#x26;token=0c6c6e52-27a6-49e2-b85e-6ddfb3b1c8a4" alt="" width="563"><figcaption></figcaption></figure>

* click `Select File`
* choose your firmware `.bin` file
* from the drop-down, select your DMA card type (T-Rating):
  * for 35T cards: `XC7A35T`
  * for 75T cards: `XC7A75T`
  * for 100T cards: `XC7A100T`
* click `Flash`

<figure><img src="https://3661827449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKDcbGlPDCQPYsgmPubxI%2Fuploads%2FStUdW3SxzeEjHWOy7YAh%2F1745335858664.jpg?alt=media&#x26;token=4c3773d6-402f-465b-8163-7746aa2c8f40" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
Success! Your DMA card is flashed and ready to test.
{% endhint %}
{% endstep %}

{% step %}

### Perform a speed test

* Using Kilmu's Speed Test option within the tool or using Lone's DMA [test tool](https://github.com/lone-dma/Lone-DMA-Test/releases/download/v3.2.21/github.lonedma.dmatest-win-Setup.exe), perform a speed test on the DMA card

{% hint style="success" %}
Success! You've validated the DMA card is installed, configured, and flashed correctly.
{% endhint %}
{% endstep %}

{% step %}

### Move the USB cable

* Move the USB-C data cable to the `DATA` port on the DMA card

{% hint style="info" %}
If the DMA card is not labeled, the `DATA` port is the port furthest from the PCB pins (top port).
{% endhint %}

* Perform a [#flea-power-drain-cold-boot](https://docs.dexa.im/dma/troubleshooting#flea-power-drain-cold-boot "mention") on BOTH PCs
  * verify once more using a DMA test tool that the DMA card is connected and passes speed/throughput tests
    {% endstep %}
    {% endstepper %}

## On the **GAMING PC**

{% stepper %}
{% step %}

### Adjust power options

* Press the <kbd>Windows Key</kbd> -> type `power plan` -> click `edit power plan` -> click `Change advanced power settings` -> set Hard Disk, Turn off hard disk, `Setting (Minutes): 0`

<figure><img src="https://3661827449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKDcbGlPDCQPYsgmPubxI%2Fuploads%2FJIWpz9abj7IHvXqEbRT0%2Frundll32_z7xi51Bh4E.png?alt=media&#x26;token=c37783ac-2429-4002-bda0-dbda46bd86ed" alt="" width="303"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Install drivers

* If drivers are included in [your order](https://account.dexaimdma.com/orders/), download and install them.

<details>

<summary>Installing drivers using Windows Explorer</summary>

Some drivers do not have an executable to install them easily; we can use native Windows Explorer functionality to install.

#### Method to Install Drivers via Windows Exporer

1. **If your driver is in an archive (.zip), extract it:**
   * Right click on the `.zip` file and select **Extract All...**
2. **Find the driver file:**
   * Open the newly extracted folder.
   * Find the `.inf` file
     * If you are unsure about which file, in the Windows Explorer menu, click **View** and check the box for **File name extensions**.
   * Once you've located the `.inf`, right click on the file and select **Install**.

<figure><img src="https://3661827449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKDcbGlPDCQPYsgmPubxI%2Fuploads%2FXLYRxbC6J0gnT4MMc5bQ%2FCapture.PNG?alt=media&#x26;token=ca3284e8-37fb-4ecf-89ef-d64a623d2b5f" alt=""><figcaption><p>Right click on the .inf file and select Install</p></figcaption></figure>

</details>

<details>

<summary>Installing drivers using command prompt</summary>

Some drivers do not have an executable to install them easily; we can use command prompt or Windows PowerShell to install via commands.

#### Methods to Force Install Drivers via CMD

1. **Open Command Prompt as Administrator:**
   * Press **Win + S**, type `cmd`, right-click **Command Prompt**, and select **Run as administrator**.
2. **Using `pnputil` (Recommended):**
   * **Force Install/Update:** `pnputil /add-driver "C:\Path\To\Driver.inf" /install`.
   * **Force Override/Replace:** If a driver is already present, use: `pnputil /add-driver "C:\Path\To\Driver.inf" /install /force`.
   * **Install all drivers in a folder:** `pnputil /add-driver "C:\Path\To\Folder\*.inf" /subdirs /install`.
3. **Using `drvload` (For Windows Recovery/BMR):**
   * To load a driver during boot-time (BMR), use: `drvload C:\path\to\driver.inf`.
4. **Using PowerShell (Alternative to CMD):**
   * To force install all `.inf` files in a folder:powershell

     ```
     $Drivers = Get-ChildItem "C:\mydrivers\" -Recurse -Filter "*.inf"
     ForEach ($Driver in $Drivers) {
         PNPUtil.exe /add-driver $Driver.FullName /install
     }
     ```

</details>
{% endstep %}
{% endstepper %}

## Tier 4 Firmware

{% stepper %}
{% step %}

### Flash the firmware

* follow the normal flashing steps (as outlined above)
* reboot the GAMING PC, enter BIOS
  {% endstep %}

{% step %}

### Enable the VMD[^1] controller

Using the search feature, find and toggle the following: (some options may be named differently)

* **optional:** enable `VT-D` or `IOMMU`&#x20;
* disable `DMA Kernel Protection`
* disable `DMA Control Guarantee`
* enable  `VMD controller`&#x20;

<figure><img src="https://3661827449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKDcbGlPDCQPYsgmPubxI%2Fuploads%2FZNDWwGGq3smafdY4PFYh%2Ff0d1acc1-d0c9-4d8a-ac95-4b75a6cce6a5.png?alt=media&#x26;token=8d4969a5-0f1e-4c02-8901-82fcc56249e1" alt="Example of the VMD controller location in the ASUS BIOS." width="563"><figcaption><p>Example of the VMD controller location in the ASUS BIOS.</p></figcaption></figure>
{% endstep %}

{% step %}

### Map the VMD controller

* **disable all other mappings**
* enable `VMD mapping` to the **DMA card only**
  {% endstep %}

{% step %}

### Reinstall Windows

* Perform a clean Windows 10 22H2 install [clean-windows-install](https://docs.dexa.im/learn/resources/windows-10-and-11-guides/clean-windows-install "mention")
  * make sure to install VMD and the VMD controller drivers

{% hint style="info" %}
Windows 10 22H2 is recommended, however it is **not required.**
{% endhint %}
{% endstep %}

{% step %}

### Verify the VMD Controller

* once booted into Windows 10 22H2, check `device manager`
* click `view` -> `devices by connection`
  * you should see a device shown under `VMD controller`
    {% endstep %}
    {% endstepper %}

[^1]: Intel Volume Management Device
