This section of the user manual describes installation and operation of NVIDIA® RShim drivers.
The Rshim drivers will be installed only on Windows Server 2016 and above or Windows Client 10 Operating Systems.
Verifying RShim Drivers Installation
- Open the Device Manager when no drivers are installed to make sure a new PCIe device is available as below.
- Run the installer to install all 3 drivers (MlxRshimBus.sys, MlxRshimCom.sys and MlxRshimEth.sys).
- Make sure the Bus driver created 2 child devices after the installation (Com port and the Ethernet adapter).
At this time, PuTTY application or any other network utility can be used to communicate with DPU via Virtual Com Port or Virtual Ethernet Adapter (ssh). The Com Port can be used using the 9600 baud-rate and default settings.
RShim drivers can be connect via PCIe (the drivers we are providing) or via USB (external connection) but not both at the same time. So when the bus driver detects that an external USB is already attached, it will not create the child virtual devices for data access. Access via PCIe is available once the USB connection is removed.
Accessing BlueField DPU From Host
The BlueField DPU can be accessed via PuTTY or any other network utility application to communicate via virtual COM or virtual Ethernet adapter. To use COM:
- Open Putty.
- Change connection type to Serial.
Run the following command in order to know what to set the "Serial line" field to:
C:\Users\username\Desktop> reg query HKLM\HARDWARE\DEVICEMAP\SERIALCOMM | findstr MlxRshim \MlxRshim\COM3 REG-SZ COM3
In this case use COM3. This name can also be found via Device Manager under "Ports (Com & LPT)".
Press Open and hit Enter.
To access via BlueField management network adapter, configure an IP address as shown in the example below and run a ping test to confirm configuration.
RShim Ethernet Driver
The device does not support any type of statefull or stateless offloads. This is indicated to the Operating System accordingly when the driver loads. The MAC address is a pre-defined MAC address (CA-FE-01-CA-FE-02). The following registry keys can be used to change basic settings such as MAC address.
The size, in bytes, of the largest supported
1514 (default) - 2048
Jumbo Packet (an Ethernet frame that is
greater than 1514 bytes) that the
hardware can support.
The network address of the device. The
format for a MAC address is: XX-XX-XX-XX-
The number of receive descriptors used by
16 – 64 (Default)
the miniport adapter.
For instructions on how to find interface index in registry <nn>, please refer to section Finding the Index Value of the Network Interface.
Support of Multiple Bluefield Cards
When the server contains several BlueField cards, several instances of Rshim bus driver will run and each one will create two virtual adapters for COM and network interface. In this case, a unique MAC and IP addresses must be set for the virtual network adapters.
MAC address can be set either using the above registry key or the RshimCmd tool's commands below, whereas the IP address should be set manually, and it should allow communication with DPU's
tmfifo_net0 interface. In this case, there is a need to set unique MAC and IP addresses also for the DPUs. The IP address is changed with the help of bf.cfg file.
Rshim Com Driver
To check the progress of the DPU reboot, use the COM interface by connecting to the DPU before pushing the new BFB image or resetting of DPU.
To change the way the driver boots, enter the UEFI or GRUB menus after the corresponding boot process prompts.
RShim Bus Driver
This driver does all the read/write work to the hardware registers. RShimCmd tool sends IOCTLs to the bus driver to restart the system on chip, to push a new BlueField boot stream image or to perform other actions.
RShimCmd is a command line tool that provides user with several possibilities.
|Device Enumeration||Prints the bus numbers of all BlueField device, found on the machine. All the next numbers contain the ‘bus number’ as a parameter.|
|Verbosity Level||Sets the verbosity level of the Rshim bus drivers replies.|
|Print of the Driver's and DPU's Variables|
Prints a few of the driver's and DPU's variables
|Change the MAC Address of the |
Sets new MAC address to
Reading the MAC address back with
Note: In both cases, DPU must be reset for it to accept the new MAC address.
|Restart the DPU|
Restarts the DPU.
Note: This command should be used after changing the MAC address of
|Push the BFB Image|
A BlueField Boot file (.bfb) is a generated BlueField boot stream file that contains Linux operating system image intended to be run on the DPU. BFB files can be downloaded from the NVIDIA DOCA SDK webpage
IP address of the RShim Ethernet component (called
Once the BFB file is downloaded, the tool starts to print the DPU Log file showing the process happening in the DPU. The prints are usually as follows:
|Tuning of BFB image before Pushing / BlueField UEFI System Boot Customizations during Installation||N/A|
The BFB file can be tuned with the help of the
To include the
Pay attention, that the
Also, the syntax should be as the accepting OS expects. For example, there should be no spaces in the middle of set statements:
|Printing of DPU Log||Prints the above DPU Log.|
EventLogs and Driver Logging
All driver logging is part of the Mellanox-WinOF2-Kernel trace session that comes with the network drivers installation. The default location to the trace is at
The following are the Event logs RShim drivers generate:
RShim Bus Driver
RShim Bus driver loaded successfully.
Device successfully stopped.
The SmartNic adapter card seems to be stuck as the boot fifo data is not being drained.
Driver startup failed due to failure in creation of the child device.
Smartnic is in a bad state. Please restart smartnic and reload bus drivers. Please refer to user manual on how to restart smartnic.
Smartnic is in LiveFish mode.
Failed creating child virtual devices as a backend USB device is attached and accessing RShim FIFO. Please refer to user manual for more details.
RShim Serial Driver
RShim Serial driver loaded successfully.
device successfully stopped.
RShim Ethernet Driver
MAC Address read from registry is not supported. Please set valid unicast address.
device is successfully stopped.
value read from registry is invalid. Therefore use the default value.
SmartNic seems stuck as transmit packets are not being drained.
RShim Ethernet driver loaded successfully.