> For the complete documentation index, see [llms.txt](https://asus-isg-aidc.gitbook.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://asus-isg-aidc.gitbook.io/guide/latest/cli/commandreference/driver.md).

# Driver Installation

| Developer | Last modified |
| --------- | ------------- |
| AIDC Team | 2026/08/14    |

## Table of Contents

* [1. Overview](#overview)
* [2. Subcommands](#subcommands)
* [3. Quick Summary](#quick-summary)
* [4. Usage Examples](#usage-examples)

***

## 1. Overview <a href="#overview" id="overview"></a>

{% hint style="warning" %}
**⚠️ Prerequisite: `aidc-cli init` required first**

This command depends on settings saved by [`aidc-cli init`](/guide/latest/cli/commandreference/init.md). Before running it, make sure you have completed:

* [`aidc-cli init inventory`](/guide/latest/cli/commandreference/init.md#inventory) — render the node inventory from `aidc.csv`
* SSH access to the nodes — [`aidc-cli deploy install`](/guide/latest/cli/commandreference/deploy.md) sets this up during OS deployment; for nodes that already have an OS, run [`aidc-cli deploy access-key`](/guide/latest/cli/commandreference/deploy.md) or fill the `password` column in `aidc.csv`

For the full setup sequence, see the [Getting Started](/guide/latest/cli/gettingstarted.md) guide.
{% endhint %}

The `driver` command discovers, installs, and manages hardware drivers on target nodes — including Mellanox OFED, DOCA (NIC and DPU modes), and NVIDIA GPU drivers.

```bash
aidc-cli driver <subcommand> [flags]
```

{% hint style="warning" %}
Driver installation may require a system reboot. Plan maintenance windows accordingly.
{% endhint %}

***

## 2. Subcommands <a href="#subcommands" id="subcommands"></a>

### 2.1 `discover` — Discover Installed Drivers

Discovers the driver packages and versions currently installed on the target nodes and writes a discovery report. This is read-only and a useful first step before planning installs or upgrades.

```bash
aidc-cli driver discover [--limit-hosts node01,node02]
```

This subcommand takes no flags of its own; scope it with the global `--limit-hosts` / `--exclude-hosts` options.

***

### 2.2 `mlnx-ofed` — Mellanox OFED Driver

Installs or uninstalls the Mellanox OpenFabrics Enterprise Distribution (OFED) driver.

```bash
aidc-cli driver mlnx-ofed -f <driver-path> [--fwreset] [--uninstall]
```

| Flag          | Short | Required | Description                                    |
| ------------- | :---: | :------: | ---------------------------------------------- |
| `--file`      |  `-f` |    ❌\*   | Driver archive path (without `.tgz` extension) |
| `--fwreset`   |  `-r` |     ❌    | Reset firmware after installation              |
| `--uninstall` |   —   |     ❌    | Uninstall the driver instead of installing     |

> \* `--file` is required for installation but not needed when `--uninstall` is specified.

{% hint style="info" %}
Please ensure that the OFED tarball downloaded from the official website (do not rename the file) is placed into the `/driver/ofed` directory. For the `-f` parameter, specify only the driver filename without the extension.

Example: `MLNX_OFED_LINUX-24.10-2.1.8.0-rhel8.10-x86_64.tgz`
{% endhint %}

**Example:**

```bash
aidc-cli driver mlnx-ofed -f MLNX_OFED_LINUX-24.04-0.6.6.0
```

***

### 2.3 `doca-host-nic` — DOCA Host NIC Driver

Installs or uninstalls the NVIDIA DOCA SDK driver in NIC mode.

```bash
aidc-cli driver doca-host-nic -f <driver-path> -m <pkg-mgr> [--fwreset] [--uninstall]
```

| Flag          | Short | Required | Description                                      |
| ------------- | :---: | :------: | ------------------------------------------------ |
| `--file`      |  `-f` |    ❌\*   | DOCA driver file path                            |
| `--pkg-mgr`   |  `-m` |     ✅    | Package manager: `dnf` or `apt` (default: `dnf`) |
| `--fwreset`   |  `-r` |     ❌    | Reset firmware after installation (install only) |
| `--uninstall` |   —   |     ❌    | Uninstall the DOCA driver instead of installing  |

> \* `--file` is required for installation but not needed when `--uninstall` is specified.

{% hint style="info" %}
Please ensure that the DOCA deb or rpm file downloaded from the official website (do not rename the file) is placed into the `/driver/doca` directory. For the `-f` parameter, specify only the driver filename without the extension.

Example: `doca-host-2.9.1-018000_24.10_rhel89.x86_64.rpm`

**Package recommendations:**

* **BlueField devices**: Use `doca-all` (recommended), `doca-networking` (smallest networking-only), `doca-ofed` (MLNX\_OFED-like), or `doca-roce` (ROCE only)
* **ConnectX devices**: Use `doca-ofed` (recommended), `doca-all` (future-proof/mixed deployments), or `doca-roce` (ROCE only)
  {% endhint %}

***

### 2.4 `doca-host-dpu` — DOCA Host DPU Driver

Installs or uninstalls the NVIDIA DOCA SDK driver in DPU mode.

```bash
aidc-cli driver doca-host-dpu -f <driver-path> -m <pkg-mgr> [--fwreset] [--uninstall]
```

| Flag          | Short | Required | Description                                      |
| ------------- | :---: | :------: | ------------------------------------------------ |
| `--file`      |  `-f` |    ❌\*   | DOCA driver file path                            |
| `--pkg-mgr`   |  `-m` |     ✅    | Package manager: `dnf` or `apt` (default: `dnf`) |
| `--fwreset`   |  `-r` |     ❌    | Reset firmware after installation (install only) |
| `--uninstall` |   —   |     ❌    | Uninstall the DOCA driver instead of installing  |

> \* `--file` is required for installation but not needed when `--uninstall` is specified.

***

### 2.5 `nv-gpu` — NVIDIA GPU Driver

Installs or uninstalls the NVIDIA GPU driver. Supports the official `.run` installer as well as `.deb` and `.rpm` packages — the package type is detected automatically from the file extension.

```bash
aidc-cli driver nv-gpu -f <driver-file> [--uninstall]
```

| Flag          | Short | Required | Description                                             |
| ------------- | :---: | :------: | ------------------------------------------------------- |
| `--file`      |  `-f` |     ✅    | NVIDIA GPU driver file path (`.run`, `.deb`, or `.rpm`) |
| `--uninstall` |   —   |     ❌    | Uninstall the driver                                    |

{% hint style="info" %}
Please ensure that the GPU driver file downloaded from the official website (do not rename the file) is placed into the `/driver/gpu` directory. The full filename including its extension must be specified.

* `.run` — the standalone NVIDIA installer
* `.deb` — Debian/Ubuntu package
* `.rpm` — RHEL/dnf package

Example: `NVIDIA-Linux-x86_64-550.54.14.run`, `nvidia-driver-local-repo-ubuntu2604-610.57.04_1.0-1_arm64.deb`, `nvidia-driver-local-repo-rhel9-580.178.04-1.0-1.aarch64.rpm`
{% endhint %}

{% hint style="danger" %}
`nv-gpu` installation will **force a system reboot** upon completion. Ensure all workloads are stopped and users are notified before running this command.
{% endhint %}

***

## 3. Quick Summary <a href="#quick-summary" id="quick-summary"></a>

| Subcommand      | Driver          | Key Flags                                         |   Reboot  |
| --------------- | --------------- | ------------------------------------------------- | :-------: |
| `discover`      | (all installed) | —                                                 |     No    |
| `mlnx-ofed`     | Mellanox OFED   | `--file`, `--fwreset`, `--uninstall`              |  Optional |
| `doca-host-nic` | DOCA (NIC mode) | `--file`, `--pkg-mgr`, `--fwreset`, `--uninstall` |  Optional |
| `doca-host-dpu` | DOCA (DPU mode) | `--file`, `--pkg-mgr`, `--fwreset`, `--uninstall` |  Optional |
| `nv-gpu`        | NVIDIA GPU      | `--file`, `--uninstall`                           | ⚠️ Forced |

***

## 4. Usage Examples <a href="#usage-examples" id="usage-examples"></a>

```bash
# Discover installed drivers on specific nodes
aidc-cli driver discover -l node01,node02

# Install Mellanox OFED with firmware reset
aidc-cli driver mlnx-ofed -f MLNX_OFED_LINUX-24.04-0.6.6.0 --fwreset

# Install DOCA NIC driver (RHEL)
aidc-cli driver doca-host-nic -f doca-host-2.7.0 -m dnf

# Install DOCA DPU driver (Ubuntu)
aidc-cli driver doca-host-dpu -f doca-host-2.7.0 -m apt --fwreset

# Uninstall DOCA NIC driver
aidc-cli driver doca-host-nic -m dnf --uninstall

# Install NVIDIA GPU driver from the .run installer (triggers reboot!)
aidc-cli driver nv-gpu -f NVIDIA-Linux-x86_64-550.54.15.run

# Install NVIDIA GPU driver from a .deb package (Ubuntu, triggers reboot!)
aidc-cli driver nv-gpu -f nvidia-driver-local-repo-ubuntu2604-610.57.04_1.0-1_arm64.deb

# Install NVIDIA GPU driver from a .rpm package (RHEL, triggers reboot!)
aidc-cli driver nv-gpu -f nvidia-driver-local-repo-rhel9-580.178.04-1.0-1.aarch64.rpm

# Uninstall GPU driver
aidc-cli driver nv-gpu -f NVIDIA-Linux-x86_64-550.54.15.run --uninstall

# Install drivers on specific nodes
aidc-cli driver mlnx-ofed -f MLNX_OFED_LINUX-24.04-0.6.6.0 -l node01,node02
```
